Gelöst: fhem "setreading $NAME" löst ein event aus, schreibt keinen Logeintrag

Begonnen von Cyber1000, 04 Dezember 2018, 21:25:21

Vorheriges Thema - Nächstes Thema

Cyber1000

Ich habe ein seltsames Problem mit einem notify und einem Filelog.

Ich habe einen Dummy: runningState setzt sich abhängig von state, der Einfachheit halber hab ich das device hier aufs relevante zusammengekürzt:

defmod dev_Waschmaschine_neu dummy
attr dev_Waschmaschine_neu userattr device
attr dev_Waschmaschine_neu device Waschmaschine
attr dev_Waschmaschine_neu event-on-change-reading runningState
attr dev_Waschmaschine_neu event-on-update-reading energyLast
attr dev_Waschmaschine_neu userReadings runningState { return ReadingsVal("dev_Waschmaschine_neu", "state","") }, energyLast


Ändert sich der running-state auf done, so triggered ein notify und setzt energyLast (auch vereinfacht, aber genau so hab ichs auch probiert):

.*dev_.*runningState.*:.*done.* {
   fhem("setreading dev_Waschmaschine_neu energyLast 3.567");
}


Das Device innerhalb des notifies ist das oben angegebene (also das gleiche, das das notify auslöst, ich hätte hier auch "setreading $NAME ..." schreiben können)

energyLast ist anschließend richtig beschrieben, es wird sogar folgendes Event ausgelöst (eventmonitor):
2018-12-04 21:00:36 dummy dev_Waschmaschine_neu energyLast: 3.567

Aber im Log wird nur runningState erfasst. energyLast seh ich dort nicht.
Mach ich direkt im fhem in der Commandozeile das gleiche "setreading dev_Waschmaschine_neu energyLast 3.567" hab ichs auch im Log (egal wie oft ich es ausführe), also sollte das log eigentlich auch richtig gesetzt sein. Macht fhem("setreading dev_Waschmaschine_neu energyLast 3.567") innerhalb eines notifies irgendwas spezielles? Im allgemeinen Log seh ich auch keinen Fehler.

Mein Log File sieht folgendermaßen aus:

defmod l_FileLog_Waschmaschine FileLog ./log/exp_FileLog_Waschmaschine.log dev_Waschmaschine_neu
attr l_FileLog_Waschmaschine ignoreRegexp .*(onOffState|runningState).*


fhem Version ist relativ neu upgedatet (17846, fhem.pl vom 18.11.2018)

Danke!

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

Cyber1000

Ah Mist den Wald vor lauter Bäumen nicht gesehn, dabei hätt ich nur bei setreading nachsehn müssen, ich hab mich zu sehr aufs notify vergraben.

Und die 0.1s reichen vermutlich weil laut commandref
Zitatsleep gefolgt von weiteren Befehlen ist vergleichbar mit einem namenlosen at Kommando
, also vermutlich wird das Kommando dann aus dem aktuellen Ablauf/Thread des notifies rausgezogen.

Kann man das so sagen? Oder kanns auch mal sein, dass 0.1s zu wenig sind?

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

dev0


Cyber1000

Ok danke, dann ist das vermutlich nur da, um nicht unbewußt eine Art Endlosschleife einzubauen. Hab jetzt an allen gewünschten Stellen die 0.1s gesetzt und seither noch keine Probleme damit.

Danke!