Openhab2 ein Python Script vom Raspberry Pi starten lassen

Moderatoren: seppy, udo1toni

Antworten
SimpleRasp
Beiträge: 1
Registriert: 13. Feb 2018 00:53

Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von SimpleRasp »

Guten Tag liebes Forum,

ich bin bereits seit mehreren Tagen auf der Suche nach einer Möglichkeit, ein bereits geschriebenes und voll funktionsfähiges Python Script von Openhab2 über einen Switch oder Button ausführen zu lassen. Ich bin bereits über das Exec binding gestoßen, wurde jedoch nicht wirklich schlau darüber. Ich hoffe das es eine einfache und schöne Lösung gibt ein Script auszuführen und dafür nicht unbedingt Items, Things und Rules erstellen zu müssen. Zu guter Letzt erwähne ich wohl lieber noch das ich ein kompletter Openhab2 Neuling bin und auch mit dem Raspberry Pi nicht all zu viel Erfahrung habe.

Mit freundlichem Gruß

hr3
Beiträge: 210
Registriert: 23. Mai 2017 21:41

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von hr3 »

Du brauchst das Exec-Binding und entweder ein Item und ein Thing oder eine Rule.
Was hast du probiert und wo liegt dein Problem konkret?
Erwartest du einen Return-Wert?

https://docs.openhab.org/addons/binding ... eadme.html

fanavity
Beiträge: 21
Registriert: 21. Jul 2017 19:11

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von fanavity »

Kann mir das nochmal jemand genauer erklären? Ich habe einen RM mini 3 und würde damit gern meinen Fernseher steuern. Dazu gibts ein Python-Script welches direkt von der Konsole aus funktioniert. Leider aber nicht aus openhab heraus!
Ich bekomme immer die Meldung Datei nicht gefunden. Sie liegt im Openhab Verzeichnis und gehört dem Benutzer openhab.

Folgende Aufrufe habe ich bereits getestet:

Code: Alles auswählen

executeCommandLine("sudo python /etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py -c TV_POWER", 100)
executeCommandLine("sudo python /etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 100)
executeCommandLine("python /etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py -c TV_POWER", 100)
executeCommandLine("python /etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 100)
Im Anhang ein Screenshot der Berechtigungen.

Ohne "@@" klappt es gar nicht.

Eventuell könnt ihr mir ja weiterhelfen :)

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von udo1toni »

Im Zweifel gehört das Verzeichnis vorne beim python-Aufruf ebenfalls dazu, und vermutlich auch die @@:

Code: Alles auswählen

executeCommandLine("/bin/python@@/etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 100)
Die 100 ist wohl eher ein erster Test... vielleicht reduzierst Du den Timeout auf 5 oder meinetwegen 10 Sekunden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

fanavity
Beiträge: 21
Registriert: 21. Jul 2017 19:11

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von fanavity »

Mit folgendem Aufruf bekomme ich weder einen Fehler, noch passiert etwas :/

Code: Alles auswählen

executeCommandLine("python@@/etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 2)
Mit /bin/ bekomme ich folgenden Fehler:

Code: Alles auswählen

executeCommandLine("/bin/python@@/etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 2)
Execution failed (Exit value: -559038737. Caused by java.io.IOException: Cannot run program "/bin/python" (in directory "."): error=2, No such file or directory)

Leider weiß ich echt nicht weiter. Wenn noch jemand eine Idee hat, immer her damit!

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von sihui »

fanavity hat geschrieben: 26. Sep 2018 20:36 Leider weiß ich echt nicht weiter. Wenn noch jemand eine Idee hat, immer her damit!
Die Lösung für dieses Problem im englischen Forum wird immer wie folgt dargestellt:

https://community.openhab.org/t/openhab ... ding/34988

Man muss also den openHAB User (normalerweise openhab) dazu bringen ohne Passwort ein sudo Kommando auszuführen.

Edit: Never mind, du nutzt ja gar kein sudo. Ist also auch nicht der korrekte Weg ... :roll:
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

fanavity
Beiträge: 21
Registriert: 21. Jul 2017 19:11

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von fanavity »

Schade, habe mich schon gefreut. Klappt aber leider auch nicht.

matze_bln
Beiträge: 49
Registriert: 24. Aug 2018 21:07

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von matze_bln »

Bist du dir mit /bin/python sicher? Bei mir liegt es unter /usr/bin/python und die Meldung sagt ja auch, dass die Datei nicht gefunden wird

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von udo1toni »

/bin/python...

Oh, shit, ja... natürlich sollte es /usr/bin/python heißen...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

fanavity
Beiträge: 21
Registriert: 21. Jul 2017 19:11

Re: Openhab2 ein Python Script vom Raspberry Pi starten lassen

Beitrag von fanavity »

Ändert nichts

Code: Alles auswählen

executeCommandLine("/usr/bin/python@@/etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 5)
Ist genauso wie

Code: Alles auswählen

executeCommandLine("python@@/etc/openhab2/scripts/BlackBeanControl/BlackBeanControl.py@@-c@@TV_POWER", 5)
Es passiert einfach nichts.

Führe ich eines der beiden ohne @, dafür mit " " direkt aus, klappts ohne Probleme.


Edit:

Es läuft :)

Falls mal jemand das gleiche Problem hat.. Hier habe ich die Lösung gefunden

https://community.openhab.org/t/python- ... ne/13175/5

Wieso es so funktioniert verstehe ich zwar nicht, aber ist mir nun auch egal :P Vielen Dank für euche Unterstützung!!

Antworten