FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: TeeVau am 13 März 2013, 19:48:30

Titel: State mit gleicher Value zyklisch überschreiben?
Beitrag von: TeeVau am 13 März 2013, 19:48:30
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
Titel: Aw: State mit gleicher Value zyklisch überschreiben?
Beitrag von: rudolfkoenig am 13 März 2013, 20:17:51
Vmtl. ist die aktuelle Variante besser weil flexibler. Dafuer etwas unbequemer fuer den Anfaenger im Normalfall. Man kann es nie allen Recht machen :)
Titel: Aw: State mit gleicher Value zyklisch überschreiben?
Beitrag von: TeeVau am 14 März 2013, 17:26:06
Danke für die Antwort. Dann belasse ich das ganze so und schreibe einen Hinweis in die commandref Doku.
Titel: Aw: State mit gleicher Value zyklisch überschreiben?
Beitrag von: justme1968 am 14 März 2013, 17:42:32
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
Titel: Aw: State mit gleicher Value zyklisch überschreiben?
Beitrag von: TeeVau am 14 März 2013, 21:22:00
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.