Seite 1 von 1

Python-Skript aufrufen?

Verfasst: 28. Aug 2020 13:19
von gabonica
Hallo zusammen

Ich habe ein Python-Skript, welches unter Nutzung von openCV auf die Cam zugreift, registriert wer da steht und den Namen der erkannten Person in eine Textfile schreibt.
Das funktioniert wunderbar, sowohl über Doppelklick als auch über die Konsole startet das Skript (ohne sudo).
Im nächsten Schritt möchte ich nun dieses Skript über eine rule aus openHab2 heraus aufrufen.

Ich habe es entsprechend vieler Anleitungen über

Code: Alles auswählen

executeCommandLine(Pfad/zum/Skript)
versucht, aber ohne Erfolg. Im OH2-Log steht zwar "executet commandLine meinBefehl", aber es passiert nichts.

Ich habe es auch mit einem deutlich primitiveren Skript versucht, welches nur einen Snapshot macht und diesen auf den Desktop legt.
Die Berechtigungen für das Skript stehen testweise auf maximal weich, jeder darf alles.
Ich habe versucht es vom Desktop aus zu starten und habe es auch in OH2 bzw dessen Skriptordner geschoben (natürlich mit Anpassung der Rule). Nichts. Laut Logfile ausgeführt, aber nichts passiert.

Das EXEC-Binding ist installiert.

Ich würde aber gerne einfach über einen Aufruf in der Rule arbeiten. Das hat vor einigen Monaten in einem Projekt (mit Shell-Skripten) funktioniert.
Laut der Anleitungen im Internet müsste es auch über meinen genutzen Befehl funktionieren. Die Leute die Probleme hatten, bei denen standen immer auch Hinweise im Log. Bei mir behauptet der Log aber es habe alles funktioniert.

Was kann ich tun? Wie kann ich ein ganz einfaches Python-Skript aus OH2 heraus aufrufen? Es soll wirklich nur plump aufgerufen werden, keine übergebenen Parameter, keine Rückgabewerte.

Vielen Dank schonmal

Re: Python-Skript aufrufen?

Verfasst: 28. Aug 2020 13:30
von Pepe1907
Schönen guten Tag,
Ich hoffe ich dir auch als nicht Profi wie Udo oder viele Andere hier helfen kann.
Ich habe einen Python skript laufen, welcher regelmäßig über das zugehörige Switch Item geschaltet wird.
Hier meine Konfigurationen
exec.whitlist

Code: Alles auswählen

# For security reasons all commands that are used by the exec binding or transformation need to be whitelisted.
# Every command needs to be listed on a separate line belo
sudo /usr/bin/python /etc/openhab2/scripts/hc.py
teichstand.things

Code: Alles auswählen

Thing exec:command:teichstand [command="sudo /usr/bin/python /etc/openhab2/scripts/hc.py", interval=15, timeout=5, autorun=false]
teichstand.items

Code: Alles auswählen

String 	teichstring  						{channel="exec:command:teichstand:output"}
Switch 	teichmessung 						{channel="exec:command:teichstand:run"}
Number 	teichstand2	"Wasserstand [%.1f cm]" <flow>
Number    teichchart
Du bräuchtest ja laut deinen Beschreibungen nur das Switch item, wollte dir aber dennoch mal alles zeigen :)

Die Thing Einstellungen über PaperUI
Bild

Ich hoffe du kannst hiermit was anfangen :)
Wie sieht deine whitelist und deine Thing Konfiguration denn aus?

Re: Python-Skript aufrufen?

Verfasst: 31. Aug 2020 09:23
von gabonica
Hallo und guten Morgen,

vielen Dank für deine Antwort. Ich kam übers Wochenende leider nicht dazu am Projekt weiterzuarbeiten. Ich werde aber heute versuchen, deinen Input umzusetzen. Danke.

Re: Python-Skript aufrufen?

Verfasst: 1. Sep 2020 00:03
von Pepe1907
gabonica hat geschrieben: 31. Aug 2020 09:23 Hallo und guten Morgen,

vielen Dank für deine Antwort. Ich kam übers Wochenende leider nicht dazu am Projekt weiterzuarbeiten. Ich werde aber heute versuchen, deinen Input umzusetzen. Danke.
Alles klar wünsche viel Erfolg und wenn es nicht klappt poste mal deine Konfigurationen damit man besser helfen kann :D