Pythonskript wird von FHEM nicht ausgeführt

Begonnen von ChHerrm, 11 August 2015, 17:35:16

Vorheriges Thema - Nächstes Thema

ChHerrm

Hallo!!
Seit einigen Tagen probiere ich nun mehrere einigermaßen erfolgreich mit FHEM aus. Kurz zur Hardware: auf einem Raspberry Pi 2 mit Raspbian läuft FHEM und somit soll jetzt ein Bild gemacht werden. Nun stehe ich allerdings wie erwähnt vor dem ersten größeren Problem, dass ich ein Pythonskript nicht ausführen kann.
Nachdem ich mehrere Beiträge gelesen habe, bin ich schon mal so weit:

define Kamera dummy
attr Kamera devStateIcon .*:it_camera
attr Kamera group Kamerabefehle
attr Kamera room Wohnzimmer
attr Kamera webCmd Klick
define Klick_Kamera notify (Kamera:Klick_Kamera){ {fhem("set Kamera Klick_Kamera")} {system('sudo python2 /opt/fhem/log/SerielleBefehle/Klick.py&');;} }

Das Logfile sagt zum Drücken der Schaltfläche dann Folgendes:

2015.08.11 17:32:20 4: HTTP FHEMWEB:192.168.1.101:7609 GET /fhem?cmd.Kamera=set%20Kamera%20Klick&room=Wohnzimmer&XHR=1
2015.08.11 17:32:20 5: Cmd: >set Kamera Klick<
2015.08.11 17:32:20 4: dummy set Kamera Klick
2015.08.11 17:32:20 5: Triggering Kamera (1 changes)
2015.08.11 17:32:20 5: Notify loop for Kamera Klick
2015.08.11 17:32:20 4: 5348:FHEMWEB:192.168.1.101:7609: /fhem?cmd.Kamera=set%20Kamera%20Klick&room=Wohnzimmer&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip

Die Kamera löst jedoch nicht aus. Lasse ich die Datei nur mit dem Raspberry direkt ausführen, gibt es keine Probleme. Kann mir bitte jemand auf die Sprünge helfen? :-\


PS: Mein vorheriger Versuch schlug ebenfalls fehl mit: {system ('sudo /opt/fhem/log/SerielleBefehle/Klick.py&');;}. Da hing es scheinbar am sudo und zugehörigen Rechten.

Puschel74

#1
1. Bitte die Code-Tags benutzen damit wird das leserlicher.
2. define Klick_Kamera notify (Kamera:Klick_Kamera)
Der Dummy heisst Kamera aber das webCmd heisst nicht Klick_Kamera sondern Klick - steht auch so im Logfile
Zitat2015.08.11 17:32:20 5: Cmd: >set Kamera Klick<
d.h. dein notify sollte gar nicht erst triggern.
Kamera:Klick
ohne Klammern sollte besser passen.
3. Irgendwie passt das Logfile nicht zum gezeigten Code den wie gesagt, das notify dürfte nicht triggern da das regexp falsch ist.
Und es fehlt mir auch die Ausführung des Befehls
fhem("set Kamera Klick_Kamera")
im Logfile.

Lass deinen Skriptaufruf erstmal weg und schau das das notify richtig ausgeführt wird.
Kamera:Klick set Kamera Klick_Kamera
Wobei ich mich Frage was das set mit Klick_Kamera bewirken soll  ???
Also ich weiß was es bewirkt aber ich frage mich was du dir damit erhoffst.

Edith: ACHTUNG! Meine Codebeispiele sind für das DEF und NICHT für die fhem.cfg
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChHerrm

#2
Danke für die schnelle Antwort! Der Fehler war tatsächlich auch nur der Unterschied zwischen Klick und Klick_Kamera :-[ Hätte ich natürlich selbst drauf kommen müssen, aber das war inzwischen die Betriebsblindheit :( Die Meldung vom Logfile war tatsächlich so und auch wieder reproduzierbar. Warum weiß ich nicht, aber das hat sich ja erledigt. Hier zwecks Vollständigkeit nochmal der funktionierende Code:

define Kamera dummy
attr Kamera devStateIcon .*:it_camera
attr Kamera group Kamerabefehle
attr Kamera room Wohnzimmer
attr Kamera webCmd Klick
define Klick_Kamera notify Kamera:Klick {fhem("set Kamera Klick")} {system('sudo python2 /opt/fhem/log/SerielleBefehle/Klick.py&');;}


Also danke für die schnelle Hilfe!


Edit: Ja das set ist überflüssig, war ein übernommener Versuch aus einem anderen Beitrag.  Also reicht:
define Klick_Kamera notify Kamera:Klick {  {system('sudo python2 /opt/fhem/log/SerielleBefehle/Klick.py&');;} }

Puschel74

Das
{fhem("set Kamera Klick")}
kannst du weglassen da im Dummy sowieso Klick steht wenn du auf Klick klickst.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.