FHEM Forum

FHEM => Automatisierung => Thema gestartet von: thomaso am 29 Dezember 2016, 20:34:33

Titel: FHEM bleibt hängen
Beitrag von: thomaso am 29 Dezember 2016, 20:34:33
Hallo zusammen,

ich habe folgendes Problem, dass mein FHEM Server hängen bleibt, wenn ein Homematic Bewegungsmelder auslöst, vom FHEM dann via eine Notification ein Skript am Raspberry abgerufen wird, welches ein paar Sachen prüft und dann gegebenfalls einen Befehl aus diesem aufgerufenen Skript an FHEM schickt, um die Homematic Sirene zu aktivieren.

Aufruf verkürzt ca so:
define n_FrontDoorMotionNotify notify HM_3618ED_Motion:motion { system("sudo /home/pi/Projects/HomeControl/sudowebscript.sh frontDoorMotionDetectedWeb") }
perl /opt/fhem/fhem.pl 7072 "set HM_4F59A5_Panic  on-for-timer 60"

Kann es sein, dass FHEM hier in eine Endlosschleife stolpert, wenn ich aus einer Notification ein Skript und danach ein FHEM Kommando sende?

Danke schon mal für einen Tipp!
Titel: Antw:FHEM bleibt hängen
Beitrag von: rudolfkoenig am 30 Dezember 2016, 11:06:50
Eine "Notify-Endlosschleife" ueber FHEM-Befehle oder Perl-Aufrufe sollte nur mit einem zwischengeschalteten at oder sleep moeglich sein.
Ueber externe Skripte ist es auch ohne sleep/at moeglich. Ich wuerde "attr global verbose" hochsetzen, und im Log nachschauen.
Titel: Antw:FHEM bleibt hängen
Beitrag von: thomaso am 31 Dezember 2016, 16:30:10
Sollte es eigentlich auch möglich sein, dass ich von dem Skript einen Status Wert zurück gebe und dieser bei der Definition vom Notify abfrage und dementsprechend die Sirene direkt von FHEM ausgelöse oder nicht?

Nur so ein Gedanke, der mir als Workaround eingefallen ist.
Titel: Antw:FHEM bleibt hängen
Beitrag von: rudolfkoenig am 31 Dezember 2016, 17:15:01
ZitatSollte es eigentlich auch möglich sein, dass ich von dem Skript einen Status Wert zurück gebe und dieser bei der Definition vom Notify abfrage und dementsprechend die Sirene direkt von FHEM ausgelöse oder nicht?

Moeglich waere es, aber nicht empfohlen, da dabei FHEM sich fuer die Zeit der Skript-Ausfuehrung blockiert.
Btw. das passiert auch mit der vorher gezeigten Version. Folgendes ist die nicht blockierende Variante:
define n_FrontDoorMotionNotify notify HM_3618ED_Motion:motion "sudo /home/pi/Projects/HomeControl/sudowebscript.sh frontDoorMotionDetectedWeb"
Titel: Antw:FHEM bleibt hängen
Beitrag von: thomaso am 31 Dezember 2016, 18:42:56
Vielen Dank für den Tipp. wusste nicht, dass es auch einen nicht blockierenden Aufruf gibt. Der könnte dann auch dieses Problem lösen.