HourCounter für verschiedene Status

Begonnen von dirkscheuble, 22 Dezember 2021, 09:08:12

Vorheriges Thema - Nächstes Thema

dirkscheuble

Hallo zusammen,

ich bin bei der Suche nicht fündig geworden. Vermutlich auch weil ich gar nicht sicher bin was ich suche... :-(

Ich habe ein Gerät welches mir per mqtt seinen Status mitteilt. (Idle, Circulating, Heating, JetsOnly, All)


Nun möchte ich auswerten wie lange ein Status pro Tag/Woche/etc. aktiv war.

Dazu habe ich für jeden Status einen HourCounter erstellt.
Beispiel:
define poolHeatingCounter HourCounter PoolState:heating

Aber: ich habe für die define des HourCounters nur das <pattern_for_ON> nicht das [<pattern_for_OFF>]

define <name> HourCounter <pattern_for_ON> [<pattern_for_OFF>]

Die Counters zählen zwar die ticks, aber das ergibt alles keinen Sinn. Also es lässt sich daraus nicht auf Zeit/Dauer schließen.

Jetzt meine Frage:
Gibt es ein [<pattern_for_OFF>] für den HourCounter dass der immer "aus" geht wenn das <pattern_for_ON> nicht gegeben ist bzw. der state sich ändert?
ODER:
Kann der HourCounter direkt mehrere Status zählen?

Danke schonmal.

Viele Grüße
Dirk

Cybers

Hallo Dirk,

hiermit Werte ich ich die tägliche Laufzeit meiner Poolheizung aus:
defmod Poolheizung_H HourCounter Poolheizung_Status:on Poolheizung_Status:off
attr Poolheizung_H alias heutige Betriebstunden Poolheizung
attr Poolheizung_H group Betriebsstunden
attr Poolheizung_H interval 1
attr Poolheizung_H room Pool
attr Poolheizung_H stateFormat Betriebsstunden
attr Poolheizung_H userReadings Betriebsstunden:pulseTimePerDay.* {my $hours=ReadingsNum($NAME,"pulseTimePerDay",0)/3600;; my $h=int($hours);; my $m=int(($hours - $h)*60);; $m="0".$m if ($m=~/^\d$/);; "$h:$m"}


Vielleicht hilft dir das.

Gruß, Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel