notify Problem mit ESP8266 ESPEasy Mega HC-SR501

Begonnen von nofhem, 22 Dezember 2017, 14:39:21

Vorheriges Thema - Nächstes Thema

nofhem

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

dev0

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

nofhem

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

nofhem

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

nofhem

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