State mit gleicher Value zyklisch überschreiben?

Begonnen von TeeVau, 13 März 2013, 19:48:30

Vorheriges Thema - Nächstes Thema

TeeVau

Hallo,

in meinem Panasonic Modul polle ich, über einen internen Timer, alle 30 Sekunden den Fernseher und frage 2 Values ab.
Bekomme ich eine Antwort, setzte ich das entsprechende Reading und setze zudem den state auf on, da ich bei empfangen Daten davon ausgehe, dass das Gerät an ist ;-)
Bekomme ich über das Socket keine Daten, update ich die Readings nicht und setzte das State auf off.

Durch das zyklische pollen setze ich also state alle 30 sekunden on oder off. Dabei wird, da ich DoTrigger auf 1 habe, auf immer ein Event getriggert. Für mich selber habe ich das mit on-event-change abgefangen.
Bei den Readings funktioniert das auch, außer bei dem Reading state.

Jetzt ist meine Frage: Sollte man das Reading state nur dann setzen, wenn es sich wirklich vom Momentanen Wert unterscheidet? Gibt es eine Regel dazu?
Oder kann ich das reading auch 300 mal mit "on" updaten, obwohl es schon "on" ist?

Grüße, Tobias
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

rudolfkoenig

Vmtl. ist die aktuelle Variante besser weil flexibler. Dafuer etwas unbequemer fuer den Anfaenger im Normalfall. Man kann es nie allen Recht machen :)

TeeVau

Danke für die Antwort. Dann belasse ich das ganze so und schreibe einen Hinweis in die commandref Doku.
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

justme1968

bei den hue lampen (die ich auch pollen muß) habe ich es einfach in meinem code gemacht und aktualisiere die jeweiligen readings nur wenn sich der wert auch geaendert hat. das sind zwei zeilen mehr code pro reading uns sehr sehr viele unnötige events und notifys weniger da ich bei jedem pollen sonst 10 readings neu setzen würde.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

TeeVau

Ja, du hast schon Recht. Das war auch meine Überlegung, selbst bei nur 3 Readings. Habe es jetzt doch so geändert, dass die Readings nur neu gesetzt werden, wenn die Werte wirklich unterschiedlich sind. Irgendwie ist das, zumindest in dieser Anwendung, sauberer. Bei dem Modul wird man vorr. eh immer das event-on-change setzen, das kann man sich sparen und es dem Anwender was leichter machen.
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen