[GELÖST] WOL notify/event nach fhem Neustart (wegen state none)

Begonnen von popy, 19 Januar 2019, 17:19:54

Vorheriges Thema - Nächstes Thema

popy

Zitat von: CoolTux am 23 Januar 2019, 20:30:35
https://forum.fhem.de/index.php/topic,83149.msg753762.html#msg753762

Sofern Dietmar noch als Modulauthor in der Maintainer benannt ist wird sich hier jemand neues finden müssen.

Sorry, das Wusste ich nicht.
Dietmar63 - Ruhe in Frieden! Mein Herzliches Beilleid für die Angehörigen.

CoolTux

Deine Regex für das Notify würde ich ändern in


WOL_WZ.*:on {

Sofern es nur auf on vom state reagieren soll.
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

nils_


andere frage:
wie oft startest du denn fhem neu??
viele Wege in FHEM es gibt!

popy


Zitat von: CoolTux am 23 Januar 2019, 20:37:50
Deine Regex für das Notify würde ich ändern in


WOL_WZ.*:on {

Sofern es nur auf on vom state reagieren soll.

Habe ich bereits getestet, und keine Besserung.
Es liegt meiner Meinung nach nicht am Regex, das triggert korrekt auf on/off (habe noch ein zweites was auf off triggert).
Sondern dass sich er state von none auf on/off ändert.

Siehe: https://forum.fhem.de/index.php/topic,96150.msg891866.html#msg891866

Zitat von: nils_ am 24 Januar 2019, 08:50:29
andere frage:
wie oft startest du denn fhem neu??

Das ist eine berechtigte Frage.
Ich hatte vor kurzem ein Problem mit perl 5.24 was den Speicher vollaufen ließ.
Dies führte zu echt strange's Verhalten und außerdem wurden genau diese Notifys getriggert (ich glaube durch Neustart).
Habe schon alle Ursachen des Speicher volllaufen ausgemerzt (älteres Perl 5.20, kein apptime mehr usw.).
Das Ganze passierte natürlich um 03:00 Nachts und es wurden schön Lichter im Schlafzimmer ein/aus geschaltet  :o :o :o
Mir ist halt bei der Analyse der Logs dann aufgefallen dass das passiert ist und auch beim fhem start passiert.

Darum möchte ich es beheben damit das obige nicht mehr passieren kann.

Hat von euch jemand ein WOL laufen?
Wie ist bei euch der state kurz nach dem starten? (Bei mir auf none und danach erst on/off was das notify auslöst)


pOpY




Otto123

Moin,

ich kann das bestätigen, das WOL Modul liefert beim Systemstart einmalig einen Event mit dem vorhergehenden state.
Ich habe einfach ein FileLog definiert, das liefert diesen Eintrag beim Start:
2019-01-24_09:39:19 LSK2012 off
Der Zustand vor und nach dem Start hat sich nicht geändert.
Internals:
   CHANGED   
   DEF        78:24:AF:43:AC:E5 192.168.56.33 UDP
   FUUID      5c48bcb3-f33f-27f7-2ea4-579b415516afc076
   IP         192.168.56.33
   MAC        78:24:AF:43:AC:E5
   MODE       UDP
   NAME       LSK2012
   NR         125
   REPEAT     000
   STATE      off
   TYPE       WOL
   READINGS:
     2019-01-24 09:36:01   active          off
     2019-01-24 09:52:44   isRunning       false
     2019-01-24 09:36:01   packet_via_EW   none
     2019-01-24 09:36:01   packet_via_UDP  none
     2019-01-24 09:52:44   state           off
   TIMER:
     LSK2012_ping:
       HASH       LSK2012
       MODIFIER   ping
       NAME       LSK2012_ping
   helper:
Attributes:
   event-on-change-reading state
   interval   30
   room       Status
   shutdownCmd "net rpc shutdown -I 192.168.56.33 -U xxxxn%xxxx"
   useUdpBroadcast 192.168.56.255

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

popy

Zitat von: Otto123 am 24 Januar 2019, 09:54:46
Moin,

ich kann das bestätigen, das WOL Modul liefert beim Systemstart einmalig einen Event mit dem vorhergehenden state.
Ich habe einfach ein FileLog definiert, das liefert diesen Eintrag beim Start:
2019-01-24_09:39:19 LSK2012 off
Der Zustand vor und nach dem Start hat sich nicht geändert.
Internals:
   CHANGED   
   DEF        78:24:AF:43:AC:E5 192.168.56.33 UDP
   FUUID      5c48bcb3-f33f-27f7-2ea4-579b415516afc076
   IP         192.168.56.33
   MAC        78:24:AF:43:AC:E5
   MODE       UDP
   NAME       LSK2012
   NR         125
   REPEAT     000
   STATE      off
   TYPE       WOL
   READINGS:
     2019-01-24 09:36:01   active          off
     2019-01-24 09:52:44   isRunning       false
     2019-01-24 09:36:01   packet_via_EW   none
     2019-01-24 09:36:01   packet_via_UDP  none
     2019-01-24 09:52:44   state           off
   TIMER:
     LSK2012_ping:
       HASH       LSK2012
       MODIFIER   ping
       NAME       LSK2012_ping
   helper:
Attributes:
   event-on-change-reading state
   interval   30
   room       Status
   shutdownCmd "net rpc shutdown -I 192.168.56.33 -U xxxxn%xxxx"
   useUdpBroadcast 192.168.56.255

Gruß Otto

Danke für die Bestätigung.
Hast du eine Idee wie man den Code ändern kann das wenigstens state wieder den letzten Zustand hat (bzw. diesen speichert/lädt)?

Otto123

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

Frank_Huber

Hi,

Hast Du es schon mit dem Reading "isRunning" versucht?
Evtl wird dieses beim Start nicht durchgeschüttelt...

/Frank

Otto123

Hi,

gute Idee von Frank! Funktioniert auch, gerade getestet.
event-on-change-reading muss dann natürlich auf .* stehen.  ;D

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

popy

Danke Frank und Otto!

Was genau muss ich wie setzen?



Gesendet von meinem ONEPLUS A6013 mit Tapatalk


Otto123

#25
Vorschlag (nicht getestet):

attr WOL_WZ.* event-on-change-reading .*
und das regExp im notify:
WOL_WZ.*:isRunning:.true {...}
bzw:
WOL_WZ.*:isRunning:.false {...}
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

popy

Zitat von: Otto123 am 26 Januar 2019, 15:14:26
Vorschlag (nicht getestet):

attr WOL_WZ.* event-on-change-reading .*
und das regExp im notify:
WOL_WZ.*:isRunning:.true {...}
bzw:
WOL_WZ.*:isRunning:.false {...}

Danke funktioniert perfekt mit isRunning anstatt state!
Problem somit gelöst und ich kann meinen nich so schönen Workaround weggeben  ;)

pOpY

popy

Muss den wieder rauskramen.
Es haut noch nicht so ganz hin.
Irgendwie toggelt .isRunning manchmal während dem Niederfahren von Windows des WOL-Clients.
Das führt auch dann zu nicht gewollten Schaltzyklen (notify wird getriggert).

Ich bin nun auf den state und meinen Workaround von diesem Post zurück: https://forum.fhem.de/index.php/topic,96150.msg891920.html#msg891920
Hoffentlich läuft das besser.

Sonst noch jemand eine Idee?
pOpY

Otto123

Naja, dann musst du das quasi "entprellen", wirst Du wohl ein zweites Gerät brauchen.
als Stichworte:
Presence
notify disabledForIntervals
DOIF mit wait
watchdog
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

l2r

#29
hi,

ich habe da für ein ähnlichen Problem mal was mit deinem Userreading gebaut, welches ich abfrage:

status {if( ReadingsVal($name,"state",0) ne "none") {ReadingsVal($name,"state",0)} else {ReadingsVal($name,"status",0)}}

event-on-change-reading status,state muss dann gesetzt sein.

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.