FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: misux am 26 März 2021, 12:01:53

Titel: (ERLEDIGT) Nach DOIF Ausführung FHEM nicht erreichbar eine Zeit lang...
Beitrag von: misux am 26 März 2021, 12:01:53
HI!

Ich habe folgendes DOIF
([DisplayCameras] eq "Restart") ({system('sudo systemctl restart displaycameras.service');;;;})
DOELSEIF
([DisplayCameras] eq "Stop") ({system('sudo systemctl stop displaycameras.service');;;;})


Führe ich den Befehl: "sudo systemctl stop displaycameras.service" in der Kommandozeile oben im Fhem aus, ist das kein Problem...

Wenn eins von den beiden SET Befehlen durchgeführt ist, ist FHEM solange displaycameras startet nicht erreichbar.... Kann man das irgendwie verhindern?
Titel: Antw:Nach DOIF Ausführung FHEM nicht erreichbar eine Zeit lang...
Beitrag von: MadMax-FHEM am 26 März 2021, 12:13:27
Wenn du einen System-Befehl in Anführungszeichen in FhemWeb eingibst, dann wird er NON-Blocking ausgeführt.

Wenn du GENAU den Befehl, den du auch im DOIF verwendest in FHEMWeb eingibst, also:


{system('sudo systemctl stop displaycameras.service')}


Die Strichpunkte sind (mMn) unnötig ;)

Dann wird fhem auch "stehen bleiben", weil eben der Perl-Befehl "system" blockierend ist...

Du kannst auch folgendes tun:


fhem("\"sudo systemctl stop displaycameras.service\"")

Im DOIF nehmen.
Oder vielleicht gibt es in DOIF auch andere Möglichkeiten (nutze kein DOIF ;) )...

Gruß, Joachim
Titel: Antw:Nach DOIF Ausführung FHEM nicht erreichbar eine Zeit lang...
Beitrag von: misux am 26 März 2021, 12:28:16
Danke! Leider heut er mir nen Error raus:

Zitatfhem("\"sudo systemctl stop displaycameras.service\""): Unknown command fhem("\"sudo, try help.


HA! Kaum macht an es richtig schon klappts!

Vielen Dank!

So geht es nun:

([DisplayCameras] eq "Restart") {fhem("\"sudo systemctl restart displaycameras.service\"")}
DOELSEIF
([DisplayCameras] eq "Stop") {fhem("\"sudo systemctl stop displaycameras.service\"")}