Seite 1 von 1

Fehlermeldung im openhab.log

Verfasst: 12. Mär 2024 20:00
von LutzTH
Hallo,

ich habe eine Fehlermeldung im openhap.log, welche ich nicht zuordnen kann, da es diese Rolle 2-8 nicht gibt.
2024-03-12 19:44:01.770 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '2-8' failed: Script interpreter couldn't be obtained in 2
Wie kann ich diesen Fehler zuordnen.

Re: Fehlermeldung im openhab.log

Verfasst: 13. Mär 2024 22:57
von udo1toni
openHAB numeriert alles mögliche... :) Hast Du Rules in Textdateien?

Re: Fehlermeldung im openhab.log

Verfasst: 16. Mär 2024 20:51
von LutzTH
Hallo,
danke für die Antwort.
Ich habe verschiedene Rollen und habe mit zwei Rollen in zwei Dateien jetzt Probleme.

In der ersten Rolle "2.4. Timers-Heating.rules" wird meine Heizung gesteuert über cron . Nachdem ich die Rollen ein wenig sortiert habe und die Rollen Name mit zusätzlich Zahlen versehen habe.
Weiterhin habe ich einige Items umbenannt, wegen einer neuen Struktur. Jetzt werden einige physische Items in einer anderen Rollen sporadisch geschaltet. An Hand der Uhrzeit und log Einträgen kann ich die ausführende Rolle zuordnen. Aber warum andere Items in anderen Dateien über Rollen ausgeführt werden, kann ich nicht nachvollziehen.

Ich werde jetzt noch mal die umbenannten Items (virtuell) untersuchten. Evt.ist hier ein Fehler vorhanden. Aber selbst wenn, warum Items geschaltet werden, welche in keiner Weise in Verbindung stehen, ist nicht nachvollziehbar.

Re: Fehlermeldung im openhab.log

Verfasst: 17. Mär 2024 17:02
von udo1toni
Es gibt im openHAB keine "Rollen".
Bitte achte darauf, die richtigen Begrifflichkeiten zu verwenden, ansonsten wird es extrem schwer, dahinter zu kommen, wo sich Fehler verstecken.

Wenn Du Regeln in Textdateien anlegst (Dateien im Ordner $OPENHAB_CONF/rules/ mit der Dateieindung .rules), achte darauf, dass die Dateinamen möglichst kurz sind und weder Sonderzeichen noch Umlaute oder gar Leerzeichen enthalten. Also keinesfalls "2.4. Timers-Heating.rules", sondern z.B. heating.rules. Einfacher ist besser.
Bitte in Dateinamen keine eigene Nummerierung einführen, das endet lediglich in absolutem Chaos. Dir hingegen bringt es keinerlei Vorteile.

openHAB erlaubt in den meisten Bereichen, beliebig viele Dateien anzulegen, mit ein paar Ausnahmen.
Alle Dateien, deren Endung auf eine Mehrzahl hinweist (.rules, .items, .things...) können potenziell beliebig viele Elemente des entsprechenden Typs enthalten, also z.B. mehrere Rules in einer .rules Datei, oder auch mehrere Things in einer .things Datei. Dabei gibt es keinen zwingenden Zusammenhang zwischen Dateiname und Addon, meine Herangehensweise ist aber tatsächlich, dass ich pro Addon eine separate .things Datei verwende (z.B. knx.things) und ebenfalls pro Addon eine separate .items Datei (z.B. mqtt.items) - Letzteres aber eher aus historischen Gründen.

Weiterhin müssen Rules, die über Textdateien erzeugt wurden, zwingend ein eindeutiges Label haben (jeweils der String nach dem Schlüsselwort rule in der .rules Datei). Es reicht hier nicht, dass das Label innerhalb der Datei eindeutig ist, es muss systemweit eindeutig sein.
UI Rules haben hingegen eine UID, das Label dient hier nur dem Komfort des Anwenders.

Es wäre hilfreich, wenn Du zumindest die Konfiguration der betroffenen Items zeigen könntest. Grundsätzlich funktioniert openHAB auch mit mehreren tausend Items ohne Auffälligkeiten über Monate stabil, wenn Du also ein Problem hast, dann handelt es sich fast sicher um einen Konfigurationsfehler. In seltenen Fällen kannst Du auch auf einen Bug gestoßen sein :) oder es gab einen Fehler im Dateisystem, das wäre dann ein Problem des darunter laufenden OS, ebenfalls nicht völlig auszuschließen, aber eben auch sehr unwahrscheinlich.

Re: Fehlermeldung im openhab.log

Verfasst: 20. Mär 2024 10:59
von peter-pan
Wie Udo schon gesagt hat, gibt es keine Rollen in dem von dir beschriebenen Kontext, höchstens im Zusammenhang mit Benutzer-Rollen. Aber das ist ein anderes Kapitel.

Wenn ich die Fehlermeldung richtig verstehe, hast du eine .rules-Datei mit dem Namen "2" angelegt. Und in dieser (Text-)Datei hast du mindestens acht Rules(Regeln) eingetragen.

Du musst halt nun schauen, was in dieser Regel falsch ist. Da du aber den Inhalt dieser Regel nicht gepostet hast, kann man dir auch keine genaue Aussage dazu machen. Vor allem dann, wenn auch noch globale Variablen eine "Rolle" ;) spielen.
Vielleicht schaust du dir mal diesen Thread an. Der hilft dir bestimmt auch weiter. Meistens ist es ein Syntax/Parameter-Problem

Re: Fehlermeldung im openhab.log

Verfasst: 25. Mär 2024 21:26
von LutzTH
Hallo Udo,
vielen Dank für deine schnelle und so ausführliche Antwort. Sorry das ich jetzt erst antworte. Ich wollte es in Ruhe testen. Ich habe meine X.rules wieder umbenannt und Sonderzeichen entfernt. Somit sind diese Probleme behoben, das aus einer x.rules in einer anderen y.rules eine oder mehre rule ausgeführt wurden sind. Im Normalfall habe ich auch ein einer x.rules bis zu 10 rule aufgeführt. Also DANKE nochmals