[gelöst] 98_WOL blockiert FHEM!?

Begonnen von Omega, 10 April 2017, 22:25:01

Vorheriges Thema - Nächstes Thema

Omega

Ich wollte das Modul nutzen, um auf meinem ESXi ein Shutdown-Script auszuführen. Funktioniert auch soweit, allerdings benötigt das Script viel Zeit (bei meinem Test mehr als 12 Minuten).

Während dieser Zeit passiert aber nichts anderes in FHEM, was dazu geführt hat, dass meine Watchdog-Datei nicht upgedatet und somit FHEM mittendrin neu gestartet wurde. Auch mein HMLGW hat sich beschwert (HMLGW:keepAlive KeepAlive sent 624.708s too late).

Anscheinend blockiert das Modul alles andere.

Ein list, wie ich das Modul angelegt habe:

Internals:
   DEF        BC:5F:F4:E2:A1:6F 192.168.0.202 EW
   IP         192.168.0.202
   MAC        BC:5F:F4:E2:A1:6F
   MODE       EW
   NAME       ESXi_Shutdown
   NR         880
   REPEAT     000
   STATE      on
   TYPE       WOL
   Readings:
     2017-04-10 22:11:26   active          off
     2017-04-10 22:14:32   isRunning       true
     2017-04-10 21:43:22   packet_via_EW   none
     2017-04-10 21:43:22   packet_via_UDP  none
     2017-04-10 22:14:32   state           on
   Timer:
     Esxi_shutdown_ping:
       HASH       ESXi_Shutdown
       MODIFIER   ping
       NAME       ESXi_Shutdown_ping
   Helper:
Attributes:
   shutdownCmd { system("ssh root\@192.168.0.202 sh /vmfs/volumes/VM_Store_4/Patches/esxidown.sh") };;{Log 1, "Shutdown: alarm" }


Gibt es hierzu Lösungen? Welches Modul lässt Shellbefehle nicht-blockierend zu?

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Otto123

#1
Hallo Holger,

ändere Deinen Befehl bitte in shutdownCmd "ssh root@192.168.0.202 'sh /vmfs/volumes/VM_Store_4/Patches/esxidown.sh'";;{Log 1, "Shutdown: alarm" }oder
shutdownCmd { system("ssh root\@192.168.0.202 sh /vmfs/volumes/VM_Store_4/Patches/esxidown.sh&") };;{Log 1, "Shutdown: alarm" }

Dann läuft er im Hintergrund.
Also nicht WOL blockiert sondern Dein Befehl.  ;)

Kein Modul verhindert dies, um nicht blockierende Shell Befehle musst Du Dich kümmern. Aber richtig geschrieben kümmert sich FHEM (Variante 1) -> https://fhem.de/commandref_DE.html#command

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

Omega

Hallo Otto,

ich nehme alles zurück und behaupte das Gegenteil! 98_WOL läuft super  ;D

Was so ein kleines Zeichen doch ausmacht. Ich danke dir.

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

rudolfkoenig

Zitat"ssh root@192.168.0.202 'sh /vmfs/volumes/VM_Store_4/Patches/esxidown.sh'";;{Log 1, "Shutdown: alarm" }

Will nicht die gute Laune stoeren, aber ein FHEM "..." Befehl laeuft prinzipiell im Hintergrund, und das schon "seit immer",
damit man in einem aus FHEM gestarteten Shellscript FHEM-Befehle absetzen kann. Laeuft bei mir seit 10 Jahren problemlos.

Habs gerade mit einem aus dem FHEM-telnet-Verbindung abgesetzten "ssh myserver sleep 100" getestet: der FHEM-Prompt kam sofort wieder,
und auf myserver schlief ein sleep froehlich vor sich hin.

Otto123

Sag ich doch  8) hab ich von Dir gelernt.
Aber irgendwie scheuen sich alle immer den Shell Befehl einfach in " " abzusetzen. Dem system Befehl wird offenbar mehr vertraut.  ;)

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

CoolTux

Zitat von: Otto123 am 11 April 2017, 13:49:39
Aber irgendwie scheuen sich alle immer den Shell Befehl einfach in " " abzusetzen. Dem system Befehl wird offenbar mehr vertraut.  ;)

Warum auch immer. Persönlich finde ich ja "" auch viel einfacher. Es sei denn ich mache komplexe Dinge damit, dann nehme ich gerne Blocking.pm
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net