Hallo liebe Forenmitglieder,
ich habe mir einen Bewegungsmelder mit einem ESP8266 und einem HC-SR501 Bewegungsmelder zusammengebaut. Die Bewegung wird über die espbridge auch angezeigt. Ich habe mir über das entsprechende Event eine Filelog erstellt. Darin wird die Bewegung auch ohne Probleme geloggt.
Event: 2017-12-22 14:20:40 ESPEasy ESPEasy_ESP8266_HOF_ESP8266_Hof Bew: on
Eintrag in Filelog: 2017-12-22_14:05:22 ESPEasy_ESP8266_HOF_ESP8266_Hof Bew: on
Wenn ich jetzt aber über das Event ein notify erstelle:
define ESPEasy_ESP8266_HOF_ESP8266_Hof_notify_1 notify ESPEasy_ESP8266_HOF_ESP8266_Hof:Bew:.on {system"/opt/fhem/upcam_snapshot.sh"}
wird die Reaktionszeit von fhem extrem lang und der Befehl upcam_snapshot.sh wird nicht ausgeführt.
Ich habe ein notify über einen 433MHZ Bewegungsmelder laufen. Da funktioniert die Ausführung des Befehls.
Bewegungsmelder_Hof_IT_V3_18c68001:on {system "/opt/fhem/upcam_snapshot.sh"}
Über die snapshot.sh mache ich eine definierte Anzahl Fotos über meine IP-Kamera wenn der Bewegungsmelder eine Bewegung meldet.
Ich stehe hier irgendwie auf der Leitung. Wäre für Anregungen und Ideen dankbar.
Gruß
Norbert
Da keine Details (aka Log/list) vorhanden, könnte man nur raten.
Tipp: Log verbose level hoch drehen und schauen wo der/ein Unterschied ist. Wenn daran etwas unklar ist: fragen
Hallo dev0,
Danke für die schnelle Antwort. ich habe das notify etwas abgeändert so das keine Verzögerungen in fhem entstehen.
ESPEasy_ESP8266_HOF_ESP8266_Hof:Bew:.on {system"/opt/fhem/upcam_snapshot.sh &"} Durch das & wird der Befehl jetzt im Hintergrund ausgeführt.
Nach Umstellung des notify auf verbose 5 und auslösen einer Bewegung erscheint im Log:
2017.12.22 15:14:38 5: Triggering ESPEasy_ESP8266_HOF_ESP8266_Hof_notify_1
2017.12.22 15:14:38 4: ESPEasy_ESP8266_HOF_ESP8266_Hof_notify_1 exec {system"/opt/fhem/upcam_snapshot.sh &"}
2017.12.22 15:14:38 3: ESPEasy_ESP8266_HOF_ESP8266_Hof_notify_1 return value: -1
Gruß
Norbert
Hallo Norbert,
das geht auch einfacher anstatt {system"..."} -> "/opt/fhem/upcam_snapshot.sh" wird auch im Hintergrund ausgeführt. ;D
https://fhem.de/commandref_DE.html#command
Läuft jetzt damit - oder?
Gruß Otto
Hallo Otto,
nein, läuft leider nicht.
ESPEasy_ESP8266_HOF_ESP8266_Hof_notify_1 return value: -1
Das Script wird nicht ausgeführt.
Gruß
Norbert
So, Problem gelöst.
in die /etc/sudoers folgendes ergänzt:
fhem ALL=NOPASSWD: /opt/fhem/upcam_snapshot.sh
im notify: ESPEasy_ESP8266_HOF_ESP8266_Hof:Bew:.on {system 'sudo /opt/fhem/upcam_snapshot.sh&'}
jetzt funktioniert das Script.
Danke für eure Unterstützung.
Gruß
Norbert