PATCH [14_SD_WS07.pm] - Update flags ony if changed

Begonnen von bjoernh, 04 Dezember 2016, 12:36:56

Vorheriges Thema - Nächstes Thema

bjoernh

Hallo,

bei dem 14_SD_WD07 Modul werden die Batterie sowie Channel Flags bei jedem Empfang gesetzt.
Wenn nun eine Batterie leer ist und man sich z.B. via E-Mail notifizieren lässt, bekommt man ständig neue Mails.

Aus diesem Grund habe ich das Modul so angepasst, dass die Flags nur noch geschrieben werden, wenn sich diese ändern.
Wäre schön wenn der Patch aufgenommen werden würde.

Gruß
Björn

Sidey

Wozu benötigt man da den Patch?

Das kann der Anwender doch selbst über eventOnChange und eventonUpdate steuern, wann ein Event ausgewertet wird.

Dem Anwender das zu verbauen finde ich nicht gut.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

bjoernh

Zitat von: Sidey am 04 Dezember 2016, 14:03:08
Wozu benötigt man da den Patch?

Das kann der Anwender doch selbst über eventOnChange und eventonUpdate steuern, wann ein Event ausgewertet wird.

Dem Anwender das zu verbauen finde ich nicht gut.
Na ja, mag sein...
Aber warum soll unnötig ein Attribut geändert werden, wenn es sich doch nicht wirklich ändert.
Zum einen unnötiges IO (da denke ich an die kleinen Raspberry Devices) zum anderen kann man dann schön feststellen seit wann das Problem, z.B. Batterie leer besteht.

Markus Bloch

Zitat von: bjoernh am 04 Dezember 2016, 14:11:39
Zum einen unnötiges IO (da denke ich an die kleinen Raspberry Devices) zum anderen kann man dann schön feststellen seit wann das Problem, z.B. Batterie leer besteht.

Das kann der Anwender doch ebenfalls mit timestamp-on-changed erreichen:

Zitat von: http://fhem.de/commandref_DE.html#readingFnAttributestimestamp-on-change-reading
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, werden die Zeitstempel der gelisteten "readings" nicht aktualisiert wenn durch ein ebenfalls gesetztes event-on-change-reading für dieses "reading" kein Ereignis erzeugen würde.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Sidey

#4
So wie ich das sehe, lässt sich das gewünschte Verhalten bereits mit vorhandenen Standard FHEM Attributen  realisieren.

So hat auch jeder Anwender die Möglichkeit, es nach seinem Anwendungsfall einzurichten.
Ich z.B. sehe gerne, ob die Readings aktualisiert wurden und erzeuge mir Events, so wie ich es für z.B. Plots oder Nachrichten benötige.

Was das Thema IO angeht, ist der Effekt äußerst marginal. Da gibt es andere Stellen, wo mehr CPU Zeit eingespaart werden kann.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker