Python-Skript aufrufen?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
gabonica
Beiträge: 14
Registriert: 18. Mär 2020 16:27
Answers: 0

Python-Skript aufrufen?

Beitrag 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

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Python-Skript aufrufen?

Beitrag 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?

gabonica
Beiträge: 14
Registriert: 18. Mär 2020 16:27
Answers: 0

Re: Python-Skript aufrufen?

Beitrag 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.

Pepe1907
Beiträge: 167
Registriert: 1. Jun 2020 17:29
Answers: 2

Re: Python-Skript aufrufen?

Beitrag 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

Antworten