98_WOL.pm-Patch für State-Änderung

Begonnen von Risiko, 09 November 2014, 18:56:01

Vorheriges Thema - Nächstes Thema

Risiko

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.

Dietmar63

ich hatte zuletzt wenig Zeit. Ich werde sehen was ich machen kann.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Tommy82

Hi Risiko,
danke für den Hinweis, aber wie wende ich deinen Patch an?

Danke
MFG
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Dietmar63

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.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Dietmar63

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.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Tommy82

Hi Dietmar, werd es morgen gerne testen. Wie Wende ich den patch an?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Dietmar63

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.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Risiko

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.

Tommy82

So, hab den paatch auch mal aufgespielt und werde ihn testen
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Risiko

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

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Risiko

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.

Tommy82

Wahrscheinlich blöde frage, aber wie ändere ich das intervall?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Risiko