Autor Thema: State mit gleicher Value zyklisch überschreiben?  (Gelesen 2438 mal)

Offline TeeVau

  • Developer
  • Full Member
  • ****
  • Beiträge: 452
State mit gleicher Value zyklisch überschreiben?
« 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
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

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24513
Aw: State mit gleicher Value zyklisch überschreiben?
« Antwort #1 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 :)

Offline TeeVau

  • Developer
  • Full Member
  • ****
  • Beiträge: 452
Aw: State mit gleicher Value zyklisch überschreiben?
« Antwort #2 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.
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20836
Aw: State mit gleicher Value zyklisch überschreiben?
« Antwort #3 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
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline TeeVau

  • Developer
  • Full Member
  • ****
  • Beiträge: 452
Aw: State mit gleicher Value zyklisch überschreiben?
« Antwort #4 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.
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

 

decade-submarginal