Seite 3 von 3
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 12. Mär 2021 16:44
von udo1toni
Hast Du openHAB schon mal neu gestartet? Oftmals verschwinden damit seltsame Fehler "wie von Zauberhand". In älteren Versionen von openHAB waren teilweise bis zu fünf Neustarts nötig (jeweils mit mehreren Minuten Wartezeit zwischen den einzelnen Neustarts), bis sich nach einem größeren Update das Log beruhigt hatte und alle Services wieder ohne Einschränkung zur Verfügung standen. es kommt natürlich auch immer auf die genaue Zusammensetzung an, also welche Bindings verwendet werden usw.
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 12. Mär 2021 17:51
von Quautiputzli
Ich hab nur einmal einen reboot ohne Wartezeit gemacht. Ich versuche es dann nochmal mit Wartezeit.
Aber trotzdem: Wo finde ich die logfiles?
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 12. Mär 2021 20:11
von udo1toni
Die Logfiles liegen gewöhnlich unter /var/log/openhab/
Wenn Du openHAB mit openHABian eingerichtet hast, kannst Du auch den Viewer frontail verwenden, den openHABian standardmäßig einrichtet.
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 13. Mär 2021 11:27
von Quautiputzli
Hallo,
Mit dem viewer hab ich mal in die logs geschaut. Ich sehe da nur:
Code: Alles auswählen
2021-03-13 10:55:46.838 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'http:url:Volkszaehler' changed from UNINITIALIZED (HANDLER_CONFIGURATION_PENDING) to UNINITIALIZED
2021-03-13 10:55:46.860 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'http:url:Volkszaehler' changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
2021-03-13 10:55:48.531 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'http:url:Volkszaehler' changed from UNINITIALIZED (DISABLED) to UNINITIALIZED (HANDLER_CONFIGURATION_PENDING)
Ich denke, ich mach es mir einfach, erstelle das thing neu, und kopiere die channels via "code" rüber.
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 13. Mär 2021 11:32
von Quautiputzli
Zurück zum eigentlichen Thema.
Ich habe das GPIO Binding konfiguriert, das geht ja recht einfach. Die Ausgänge funktionieren auch einwandfrei, aber die Eingänge scheinen immer als Ausgänge konfiguriert zu werden. Wenn ich die dann direkt auf dem anderen Raspberry als Eingänge konfiguriere läuft es. Wenn man dann aber im openhab den GPIO-Dienst pausiert, und wieder startet (bzw. wenn man den Raspi mit openhab kommplett neu startet) werden die GPIOs scheinbar wieder als Ausgang konfiguriert, weil sie auf low gezogen werden. Mann kann sie dann auf dem anderen Raspberry wieder auf Eingang konfigurieren, dann läuft es wieder.
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 16. Mär 2021 06:25
von Quautiputzli
Hi,
das http Binding habe ich neu gemacht, und das alte gelöscht. Das passt erst erstmal. Mal sehen, was beim nächsten Update passiert.
Bei dem GPIO-Binding ist das Problem wohl bekannt. Dort
https://community.openhab.org/t/gpio-ne ... /113943/26 ist ein Workaround beschrieben. Dort wird per bash-script er GPIO-Pin als Eingang gesetzt. So ähnlich hab ich es erstmal gelöst.
Re: Python Skript über openHAB3 triggern (rollershutter item)
Verfasst: 17. Mär 2021 16:06
von tobi_openHAB_newbie
udo1toni hat geschrieben: ↑4. Mär 2021 19:01
Es ist jetzt halt die Frage, ob Du hier forschen willst, bis Du herausgefunden hast, warum das mit dem Aufruf des Scripts nicht funktioniert, oder ob Du lieber einen der anderen Wege ausprobieren willst (smart liefe es sicherlich über das GPIO Binding, aber auch die Variante über mqtt ist viel eleganter als ein zusammengestoppeltes Script).
Lieber Quautiputzli, lieber udo1toni,
durch Deine Anschlussfrage und udo1toni's Hinweis auf die openhab Logfiles konnte ich jetzt den Fehler finden, der das Aufrufen des Skripts verhindert hat: "ReferenceError: “executeCommandLine” is not defined in <eval>"
Über den Beitrag
https://community.openhab.org/t/oh3-1-2 ... l/112591/1 habe ich dann die Lösung gefunden. So muss der Aufruf von executeCommandLine aussehen:
Code: Alles auswählen
var Exec = Java.type("org.openhab.core.model.script.actions.Exec")
Exec.executeCommandLine("/home/openhab/scripte/test.py")
Jetzt mache ich mich mal an die Arbeit...
VIELEN DANK!!!
