FHEM Forum

FHEM => Ankündigungen => Thema gestartet von: John am 23 Oktober 2014, 18:14:00

Titel: Modul HourCounter
Beitrag von: John am 23 Oktober 2014, 18:14:00
HourCounter bestimmt die Puls- und die Pausen-Zeit eines digitalen Signales und zählt dessen Auftreten.

Damit lässt sich unter anderem Folgendes realisieren:

Da es sehr viele Ideen gibt, die erfassten Inkremente weiterzuverarbeiten, habe ich mich dazu entschlossen
eine Art-API mit Referenz-Implementierung dazuzugeben (99_UtilsHourCounter.pm).

Damit erhält man

Im Forum .. finden sich hierzu viele Beispiele für Anwendungs-Szenarien.
http://forum.fhem.de/index.php/topic,12216.0.html (http://forum.fhem.de/index.php/topic,12216.0.html)

Wie das Modul einzusetzen ist, wird im WIKI erklärt:
http://www.fhemwiki.de/wiki/HourCounter (http://www.fhemwiki.de/wiki/HourCounter)

Viel Spass damit.

John
Titel: Modul HourCounter V1.0.1.0
Beitrag von: John am 16 Dezember 2014, 17:51:49
Mit Einführung der zyklischen Werte-Aktualisierung (Attribut interval) wurden erhebliche Änderungen notwendig,
die auch Anpassungen an der bestehenden Konfiguration der Anwender erfordern können.

Die operativen Readings werden nun regelmässig aktualisert.
(countsOverall, countsPerDay,pauseTimeIncrement..)

Um die Datenflut zu begrenzen muss man  mit event-min-interval und event-on-change-reading arbeiten:
event-min-interval             .*:3600
event-on-change-reading            .*     


Während der Puls-Phase wird nun pulseTimeIncrement, pulseTimePerDay, pulseTimeOverall stets neu berechnet.
Analog hierzu die Readings der Pause-Phase.

pauseTimeEdge nimmt den Wert von pauseTimeIncrement nach Ende der Pausen-Phase auf. Analog hierzu pulseTimeEdge.


Änderungen in 99_UtilsHourCounter

* value, countsOverall können nicht mehr als Trigger innerhalb von 99_UtilsHourCounter verwendet werden,
  da diese nun auch aktualisiert werden, wenn sich der Wert nicht ändert.
* die Steuerung in diesem Modul erfolgt nun ausschliesslich über die tick*-Readings
  (siehe aktualisierte 99_UtilsHourCounter über den Link der Wiki-Seite)

entsprechend muss sich auch der Notify ändern der 99_UtilsHourcounter aufruft

  define CN.EVENT notify CN\..*:tick.* { appHCNotify("%NAME","%EVTPART0","%EVTPART1");;}

John
Titel: Modul HourCounter V1.0.1.2
Beitrag von: John am 27 Dezember 2014, 20:08:15
Neuer Version 1.0.1.2

BugFix: Unter bestimmten Bedingungen wurde pulseTimeIncrement, pauseTimeIncrement nicht hochgezählt,
Dies war dann der Fall, wenn ein Ereignis kam, ohne daß sich der Zustand änderte.

John