Hallo dietmar63,
beim aktuellem Stand des Moduls ändert sich der State nicht. Das ist doch sicherlich so nicht gewollt.
Anbei ein Patch, der das Problem löst. Der State wird entsprechend 'isRunning' geändert. So sieht man immer den aktuellen Status.
Wenn man selbst den Status ändert (On=Wake oder OFF=Shutdown), wechselt der State in einen dritten Zustand (changing). So sieht man, dass gerade ein Wechsel im Gange ist.
Changing ist dann bis zum nächsten Updateintervall aktiv.
Es wäre schön, wenn du dir das mal ansehen könntest. Ziel wäre eine Übernahme - zumindest der Funktionalität.
Risiko.
ich hatte zuletzt wenig Zeit. Ich werde sehen was ich machen kann.
Hi Risiko,
danke für den Hinweis, aber wie wende ich deinen Patch an?
Danke
MFG
Die Patchdatei läßt sich leider nicht anwenden:
patch 98_WOL.patch 98_WOL.pm
Zitatpatch unexpectedly ends in middle of line
Darüberhinaus berücksichtigt deine Änderung nicht sämtliche Funktionalitäten des Moduls.
Ich muss es anders machen und ausgiebig testen.
Zitat von: Dietmar63 am 17 November 2014, 20:21:27
Die Patchdatei läßt sich leider nicht anwenden:
patch 98_WOL.patch 98_WOL.pm
Darüberhinaus berücksichtigt deine Änderung nicht sämtliche Funktionalitäten des Moduls.
Ich muss es anders machen und ausgiebig testen.
Hallo Dietmar,
das heisst du bist dran, und ich /wir müssen nur ein wenig gedult haben?
Danke
MFG
hier ist der Patch.
Ich habe allerdings noch nicht viel getestet. Wenn ihr daran teilhaben wollt, dann los!
Es gibt ein neues Reading: active. Daran habe ich die alte Logik geknüpft.
Damit ist state nun frei und kann als Indikator für das zu weckende Gerät dienen.
Nachdem das Gerät aufgewecht wurde, wartet der Test isRunning 60 Sekunden, damit der erste Ping nicht ins Leere läuft. Wenn ich keinen Fehler feststelle, gebe ich die Erweiterung bald frei.
Hi Dietmar, werd es morgen gerne testen. Wie Wende ich den patch an?
Danke
Patch ins fhem Verzeichis kopieren und in telnet
patch 98_WOL.patch 98_WOL.pm
eingeben, dann ist der patch gepatchet.
In fhem dann reload 99_WOL eingeben oder neu starten und die neue Version ist aktiv.
Zitat von: Dietmar63 am 17 November 2014, 20:21:27
Die Patchdatei läßt sich leider nicht anwenden:
Hallo Dietmar63,
ich hatte keine Probleme mit dem Patch
patch -i 98_WOL.patch
,ist aber jetzt auch egal.
Zitat von: Dietmar63 am 17 November 2014, 20:21:27
Darüberhinaus berücksichtigt deine Änderung nicht sämtliche Funktionalitäten des Moduls.
Ich muss es anders machen und ausgiebig testen.
Ok. Trotzdem danke.
Ich werde mir deinen Patch ansehen mit testen. Melde mich dann wieder.
Risiko.
So, hab den paatch auch mal aufgespielt und werde ihn testen
So ich habe einiges getestet. Funktioniert soweit prima. Keine Fehler gefunden.
Danke Dietmar.
Nice to have wäre noch ein dritter Zustand, welcher einen Änderungsvorgang (Wake bzw. Shutdown) beschreibt.
Wake: isrunning = false und active=true Shutdown: active false und isrunning = true
Kleine Hinweise:
- WOL_GetUpdate ist vom Funktionsname etwas irreführend, da die Funktion eigentlich das Wake macht
- WOL_GetUpdate muss nicht in WOL_Define aufgerufen werden, da active off ist
- in WOL_UpdateReadings wird immer wieder ein neuer Timer gesetzt, fehlt da nicht zuvor ein RemoveInternalTimer?
- in WOL_UpdateReadings würde ich den state nur neu setzen, wenn er sich auch ändert
Risiko
Hi, also bei mir funktioniert es anscheint nicht, der Server ist nicht an (also nur Hibernate) und wird trotzdem on angezeigt
Internals:
DEF c8:60:00:36:bd:fd 192.168.188.22
INTERVAL 900
IP 192.168.188.22
MAC c8:60:00:36:bd:fd
MODE BOTH
NAME WHS_2011
NR 207
REPEAT 000
STATE on
TYPE WOL
Readings:
2014-11-18 21:36:09 isRunning true
2014-11-18 20:50:24 packet_via_EW c8:60:00:36:bd:fd
2014-11-18 20:50:24 packet_via_UDP 192.168.188.22
2014-11-17 20:07:56 state on
Attributes:
devStateIcon on:it_pc@green off:it_pc@red
fp_Server 376,436,0,
icon it_pc
Hallo Tommy82,
dein Interval ist mit 900s (Defaultwert) auch hoch. D.h. du musst auch so lange warten, bis sich der State ändert.
Setze das Interval mal runter oder du musst manuell ein Refresh auslösen.
Risiko.
Wahrscheinlich blöde frage, aber wie ändere ich das intervall?
Über das Attribut 'interval'. Siehe http://fhem.de/commandref.html#WOL
Meine Test haben keine Fehler mehr ergeben. Ich habe das Modul eingecheckt.
Der Server ist definitiv an(geweckt über ein anderes WOL Tool), aber in Fhem wird er immer noch als off angezeigt
Internals:
DEF c8:60:00:36:bd:fd 192.168.188.22
INTERVAL 900
IP 192.168.188.22
MAC c8:60:00:36:bd:fd
MODE BOTH
NAME WHS_2011
NR 207
REPEAT 000
STATE off
TYPE WOL
Readings:
2014-11-19 19:54:37 isRunning true
2014-11-19 19:54:22 packet_via_EW none
2014-11-19 19:54:22 packet_via_UDP none
2014-11-18 21:38:57 state off
Attributes:
devStateIcon on:it_pc@green off:it_pc@red
fp_Server 376,436,0,
icon it_pc
interval 90
interval 90 müsste doch dann 1Minute 30 sein? Hab ich auch abgewartet, aber keine aktualisierung.
Der Patch wurde vermutlich nicht richtig angewandt
Hallo Dietmar, hab beim anwenden keine Fehlermeldung bekommen!
Morgen müsste das Modul aber ja dann auch übers normale update eingespielt werden?
Dann guck ich dann einfach nochmal
Hallo,
hab das Update grade über fhem eingespielt und ein shutdown restart durchgeführe.
Trotzdem werden meine beiden Server als on angezeigt, obwohl nur einer an ist, der andere ist im Standbye.
Der WinServer ist definitiv im Standbye und nicht on
Internals:
DEF bc:5f:f4:fb:7f:de 192.168.188.26
INTERVAL 900
IP 192.168.188.26
MAC bc:5f:f4:fb:7f:de
MODE BOTH
NAME WinServer
NR 213
REPEAT 000
STATE on
TYPE WOL
Readings:
2014-11-20 18:50:58 active off
2014-11-20 18:50:58 isRunning true
2014-11-20 18:50:58 packet_via_EW none
2014-11-20 18:50:58 packet_via_UDP none
2014-11-20 18:50:58 state on
Attributes:
devStateIcon on:it_pc@green off:it_pc@red
fp_Home 399,1828,0,
fp_Server 391,1015,5,
icon it_pc
interval 90
webCmd on:off
Kann das am ACPI Modus (S4,S5 etc.) liegen?
Der STATE und auch state stehen immer auf on
Hab verbose jetzt mal auf 5 gestellt, mal sehn was der Log sagt
Internals:
DEF bc:5f:f4:fb:7f:de 192.168.188.26
INTERVAL 90
IP 192.168.188.26
MAC bc:5f:f4:fb:7f:de
MODE BOTH
NAME WinServer
NR 213
REPEAT 000
STATE on
TYPE WOL
Readings:
2014-11-20 20:21:20 active off
2014-11-20 20:25:20 isRunning true
2014-11-20 18:50:58 packet_via_EW none
2014-11-20 18:50:58 packet_via_UDP none
2014-11-20 20:25:20 state on
Attributes:
devStateIcon on:it_pc@green off:it_pc@red
fp_Home 399,1828,0,
fp_Server 391,1015,5,
icon it_pc
interval 90
verbose 5
webCmd on:off
Also wenn ich auf off stelle, dann kommt im Log
2014.11.20 20:28:01.559 3: [WinServer] set WinServer off
2014.11.20 20:28:01.603 3: [WinServer] no shutdown command given (see shutdownCmd attribute)!
die Readings
Readings:
2014-11-20 18:50:58 active off
2014-11-20 18:50:58 isRunning true
2014-11-20 18:50:58 packet_via_EW none
2014-11-20 18:50:58 packet_via_UDP none
sehen erst einmal gut aus.
der Wert
2014-11-20 18:50:58 isRunning true
und damit auch state, ist immer dann true, wenn ein Ping auf das Gerät eine Antwort liefert.
Prüf' mal, ob du auf telnet-Ebene auf einen Ping eine Antwort bekommt. Ich wette, dass das der Fall ist.
Der Server ist damit auf Netzwerkebene nicht vollständig heruntergefahren. WOL kann "vollständig Aus" von "fast Aus" nicht unterscheiden.
ZitatKann das am ACPI Modus (S4,S5 etc.) liegen?
Ja, es kann sein, dass WinServer auf bestimmte ACPI Modi auf ping nicht mehr reagieren. Das dürfte aber Serverabhängig sein.
Ja das kann durchaus sein, kann ich morgen mal testen. Aber vollkommen aus geht ja auch nicht wenn ich den Server per wol wecken will!?!
Ich denke das ist geräteabhängig. Mein NAS liefert immer eine Antwort auf einen Ping. Ist also immer "on".
Der BüroPC(WIN7) liefert im Zustand "aus"(Hibernate oder Standby) keine Antwort auf ping, läßt sich trotzdem wecken.
Viele Dinge können einen WOL verhindern - ist halt nicht wirklich Standard.
Habs grade mal getestet, der ping liefert keine Antwort, daran kanns also nicht liegen
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\Thomas>ping 192.168.188.26
Ping wird ausgeführt für 192.168.188.26 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Ping-Statistik für 192.168.188.26:
Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4
(100% Verlust),
Wenn ich im Wol Modul per set WinServer off den Server off schalte, müsste dann nicht zumindest kurzfristig der Status off gehen? Denn das passiert auch nicht
ZitatWenn ich im Wol Modul per set WinServer off den Server off schalte, müsste dann nicht zumindest kurzfristig der Status off gehen? Denn das passiert auch nicht
Nein, nicht unbedingt.
Der Status wird asynchron per ping alle INERVAL Sekunden ermittelt - ist also nur mit Zeitverzögerung aktuell.
Geht bei mir überhaupt nicht auf off, auch nicht verzögert.
Und wie oben zusehen reagiert der Server auch nicht auf den ping wenn er aus ist
Vieleicht hast du aus dem Prozess fhem keinen Zugriff auf ping und bekommst den Sachverhalt nicht mit.
Ich reichere das Modul mit Loggings an - teste ein wenig und gebe dann frei.
Morgen kannst du dann nach einem update vielleicht mit verbose 5 besser erkennen, was bei dir schief geht.
Ja das wäre super.
Muss ja einen grund geben.
Danke
schon eingecheckt
Zitat von: Dietmar63 am 21 November 2014, 23:00:16
schon eingecheckt
Hi,7
hab das update durchgeführt, und dann versucht den Server (der wieder als on angezeigt wird=) auf off zu setzen,
dann kommt im Log:
2014.11.22 13:37:18.405 5: [WinServer] ping succesful - state = on
2014.11.22 13:38:48.488 5: [WinServer] executing: ping -c 1 -w 2 192.168.188.26
2014.11.22 13:38:48.491 5: [WinServer] result of ping:PING 192.168.188.26 (192.168.188.26): 56 data bytes
2014.11.22 13:38:48.492 5: [WinServer] ping succesful - state = on
2014.11.22 13:39:21.727 3: [WinServer] set WinServer off
2014.11.22 13:39:21.772 3: [WinServer] no shutdown command given (see shutdownCmd attribute)!
2014.11.22 13:39:21.813 5: [WinServer] executing: ping -c 1 -w 2 192.168.188.26
2014.11.22 13:39:21.815 5: [WinServer] result of ping:PING 192.168.188.26 (192.168.188.26): 56 data bytes
2014.11.22 13:39:21.817 5: [WinServer] ping succesful - state = on
Das sieht ja aus alsob eine ping rückmeldung kommen würde!?
In der Win7 cmd bekommt ping diese meldung nicht
Wie kann das sein, das beim Win7 Laptop keine Ping Rückmeldung kommt, laut Fhem aber eine kommt?
Also ich hab jetzt am Server nochmal folgendes deaktiviert in den Netzwerkeinstellungen
ARP Reguests im Standby beantworten
Allerdings zeigt mir das list immer noch on an
Internals:
DEF bc:5f:f4:fb:7f:de 192.168.188.26
INTERVAL 90
IP 192.168.188.26
MAC bc:5f:f4:fb:7f:de
MODE BOTH
NAME WinServer
NR 211
REPEAT 000
STATE on
TYPE WOL
Readings:
2014-11-24 09:58:08 active off
2014-11-24 10:11:45 isRunning true
2014-11-24 09:58:08 packet_via_EW none
2014-11-24 09:58:08 packet_via_UDP none
2014-11-24 10:11:45 state on
Attributes:
devStateIcon on:it_pc@green off:it_pc@red
fp_Home 399,1828,0,
fp_Server 602,414,0,
icon it_pc
interval 90
verbose 5
webCmd on:off
und auch im Log kommt immer noch ein ping an........
2014.11.24 10:13:08.567 5: [WinServer] executing: ping -c 1 -w 2 192.168.188.26
2014.11.24 10:13:08.569 5: [WinServer] result of ping:PING 192.168.188.26 (192.168.188.26): 56 data bytes
2014.11.24 10:13:08.571 5: [WinServer] ping succesful - state = on
ping: permission denied (are you root?)
2014.11.24 10:13:16.058 5: [WinServer] executing: ping -c 1 -w 2 192.168.188.26
2014.11.24 10:13:16.061 5: [WinServer] result of ping:PING 192.168.188.26 (192.168.188.26): 56 data bytes
2014.11.24 10:13:16.062 5: [WinServer] ping succesful - state = on
Im Log gibts aber auch noch diese Meldung:
2014.11.24 09:35:19.087 5: [WinServer] ping succesful - state = on
2014.11.24 09:36:40.834 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8893) line 1.
2014.11.24 09:36:40.841 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8895) line 1.
2014.11.24 09:36:40.847 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8897) line 1.
2014.11.24 09:36:40.853 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8899) line 1.
2014.11.24 09:36:42.013 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8901) line 1.
2014.11.24 09:36:42.019 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8903) line 1.
2014.11.24 09:36:42.026 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8905) line 1.
2014.11.24 09:36:42.032 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8907) line 1.
2014.11.24 09:36:42.038 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8909) line 1.
2014.11.24 09:36:42.044 1: PERL WARNING: Possible unintended interpolation of @green in string at (eval 8911) line 1.
ping: permission denied (are you root?)
ping: permission denied (are you root?)
2014.11.24 09:36:49.174 5: [WinServer] executing: ping -c 1 -w 2 192.168.188.26
2014.11.24 09:36:49.177 5: [WinServer] result of ping:PING 192.168.188.26 (192.168.188.26): 56 data bytes
Hab aber auch noch ein neues WOL problem, beim versuchen den Server über das WOL Modul zustarten bekomme ich im Log diesen Fehler, und der Server läuft nicht
2014.11.24 20:05:17.986 3: [WinServer] set WinServer on
2014.11.24 20:05:18.023 3: [WinServer] waking WinServer with MAC bc:5f:f4:fb:7f:de IP 192.168.188.26
2014.11.24 20:05:18.068 5: [WinServer] executing: ping -c 1 -w 2 192.168.188.26
2014.11.24 20:05:18.071 5: [WinServer] result of ping:PING 192.168.188.26 (192.168.188.26): 56 data bytes
2014.11.24 20:05:18.072 5: [WinServer] ping succesful - state = on
2014.11.24 20:05:18.120 4: [WinServer] keeping WinServer with MAC bc:5f:f4:fb:7f:de IP 192.168.188.26 busy
2014.11.24 20:05:18.126 5: [WinServer] standard wol command: no WOL found - use '/usr/bin/ether-wake' or '/usr/bin/wakeonlan' or define Attribut sysCmd
2014.11.24 20:05:18.127 5: [WinServer] user wol command(sysCmd): ''
2014.11.24 20:05:18.128 1: [WinServer] system command 'no WOL found - use '/usr/bin/ether-wake' or '/usr/bin/wakeonlan' or define Attribut sysCmd' not found
Bei dir scheint ja gar nichts zu funktionieren.
Wenn die Meldung kommt, findet WOL das standardmäßig installierte Systemprogramm
'/usr/bin/ether-wake' or '/usr/bin/wakeonlan'
nicht.
Entweder suchen und auf deiner Maschine installieren, oder ein anderes Programm suchen und dem WOL über syscmd bekannt machen.
Da du eine Fritzbox hast, kann es sein, dass nur die UDP Variante im WOL funktioniert - siehe Dokumentation.
Hallo Dietmar, doch der WOL klappe immer, geht erst seit heute nicht mehr. Denke es liegt irgendwo an Perl, hab da heut was wegen einem anderen Module versucht, vieleicht hab ich da as durcheinander gebracht. Aber mit dem Status ist schon komisch.
Naja ich werd jetzt morgen oder übermorgen erstmal von der FB( ist zu ausgelastet) auf einen cubie umziehen und dann mal sehn ob sich das ein oder andere nicht von selbst löst.
Dann drück ich dir die Daumen
Hallo Dietmar,
so hab Fhem nun auf dem Cubie am laufen und migriert, und siehe da, nun aktualisiert sich das State.
Scheint also irgendwo an der FB gelegen zu haben, wieso auch immer. Jetzt sieht es super aus und funktioniert.
Danke für dein Hilfe
Hallo,
hab heute diese Meldung im Log, als ich den Server wecken will
2014.12.10 20:17:53.686 3: [WHS_2011] set WHS_2011 on
2014.12.10 20:17:53.702 3: [WHS_2011] waking WHS_2011 with MAC c8:61:50:36:bd:fd IP 192.168.188.22
Can't ignore signal CHLD, forcing to default.
Was bedeutet das?
Das wecken hat funktioniert
Danke
keine Ahnung - hast du mal gegoogelt?
Ja aber nichts was mir was sagt..
http://osdir.com/ml/linux.openwall.user/2003-01/msg00008.html
Hi,
hab immer noch wenn ich den WOL Button betätige diese Meldung im Log
2015.03.12 19:59:13.312 3: [WHS_2011] set WHS_2011 on
2015.03.12 19:59:13.332 3: [WHS_2011] waking WHS_2011 with MAC c8:70:00:36:bd:fd IP 192.168.188.22
Can't ignore signal CHLD, forcing to default.
2015.03.12 19:59:14.016 3: [WHS_2011] set WHS_2011 on
2015.03.12 19:59:14.041 3: [WHS_2011] waking WHS_2011 with MAC c8:70:00:36:bd:fd IP 192.168.188.22
Can't ignore signal CHLD, forcing to default.
Hat das sonst keiner? Woran könnte es liegen? Find bei google leider nichts
Danke
hier steht was dazu:
http://osdir.com/ml/linux.openwall.user/2003-01/msg00008.html
(http://osdir.com/ml/linux.openwall.user/2003-01/msg00008.html)
Ich denke das hängt irgendwie mit der Installation auf dem cubie zusammen.
Ja das hatte ich auch bei google gefunden, aber ohne das es mich richtig weiter bringt...