Modul HourCounter - Betriebsstundenzähler mit einem Fensterkontakt

Begonnen von John, 08 April 2013, 22:11:55

Vorheriges Thema - Nächstes Thema

micmuec

Hallo und Frohe Weinachten.

Ich hab ein kleines problem mit meinem Counter.
In meinen Logfiles tauchen keine, oder besser gesagt nur ein "app" readings auf.
erzeugt wird nur appConsumptionPerDayTemp,  ist auch das einzige was aktualisiert wird.
vieleicht kann mir da einer helfen...

Meine Def:
define CN.gastest HourCounter MYSENSOR_30:tripped4:.on MYSENSOR_30:tripped4:.off
setuuid CN.gastest 5de56138-f33f-5c79-5fd3-a06036ccd5e9bb51
attr CN.gastest event-min-interval tick.*:0,.*:3600
attr CN.gastest event-on-change-reading .*
attr CN.gastest group Counter
attr CN.gastest room Central Heating
attr CN.gastest stateFormat Counter:countsOverall Cons.Day:appConsumptionPerDayTemp
attr CN.gastest userReadings appConsumptionPerDayTemp:countsPerDay.* {ReadingsNum($NAME,"countsPerDay",0)*0.01;;;;}

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

meine Filelog def schaut so aus.
define CN.gastest.File FileLog ./log/CN.gastest-%Y.log (CN\.gastest:.*)
und so
define CN.gastest.FileDay FileLog ./log/CN.gastest-Day-%Y.log CN.gastest:app\w+(Utilization|PerHour|PerDay|PerWeek|PerMonth|PerYear)(?!Temp).*
der zweite Filelog ist komplett leer.


MFG
Michael

hyper2910

Hallo,

Ich muss das nochmals vorholen.

Das ganze läuft bei mir jetzt seit bald6Jahren.  Kann man irgendwie den berechneten Tankinhalt in eine Datei schreiben???


Zitat von: pappn am 27 August 2014, 22:18:01
@hyper2910
Mit Johns HourCounter Modul und ein paar kleineren Ergänzungen des UtilsHourCounter Moduls (siehe Wiki) lässt sich soetwas leicht realisieren.
Bei mir sieht es zurzeit wie im Anhang aus.

Pappn
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Wzut

hast du ihn denn schon wie bereits vor 6 Jahren vorgeschlagen berechnet ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

hyper2910

Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

pappn

Hab die Berechnung des Tanklevels bis heute etwas umgestellt, aber im Prinzip ist das Ergebnis ja immer noch das Gleiche.
Es wird der verbleibende Tankinhalt berechnet und in das Reading "appTanklevel" des Devices "BrennerTest" geschrieben.
Dieses Reading lässt sich doch bequem per Filelog mitschreiben. z.B. in etwa so:
define Tanklevel.File FileLog ./log/Tanklevel-%Y.log BrennerTest:(appTanklevel).*
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

ch.eick

#590
Hallo zusammen,

bei mir scheint der Trigger fuer das Zaehlen nicht zu reagieren.

ON_Regexp  Pool_PV:Pool_Pumpe_Status:.*laeuft
diese Varianten habe ich ebenfalls bereits getestet

Pool_PV:Pool_Pumpe_Status:Pool_Pumpe_laeuft
Pool_PV:Pool_Pumpe_Status:.Pool_Pumpe_laeuft
Pool_PV:Pool_Pumpe_Status:Pool_Pumpe_laeuft.*
Pool_PV:Pool_Pumpe_Status:.*Pool_Pumpe_laeuft.*


Das device ist "Pool_PV"
Das reading im device ist "Pool_Pumpe_Status"
Die Werte des readings sind "Pool_Pumpe_laeuft" oder "Pool_Pumpe_aus"

Das reading ist ein userreading und wird wie folgt gesetzt

Pool_Pumpe_Status { ReadingsVal("shelly02","power_0",0)>10 ? "Pool_Pumpe_laeuft" : "Pool_Pumpe_aus"}



Internals:
   DEF        Pool_PV:Pool_Pumpe_Status:.*laeuft
   FUUID      5d389335-f33f-81e9-0d72-f45c2572002b0181
   FVERSION   98_HourCounter.pm:v1.0.0-s11307/2016-04-25
   NAME       Pool_Counter
   NR         343
   NTFY_ORDER 50-Pool_Counter
   STATE      0
   TYPE       HourCounter
   VERSION    1.0.1.2 - 24.12.2014
   READINGS:
     2020-02-03 13:26:11   clearDate       2020-02-03 13:26:11
     2020-02-03 14:18:07   countsOverall   0
     2020-02-03 14:18:07   countsPerDay    0
     2020-02-03 13:45:00   pauseTimeEdge   0
     2020-02-03 13:45:00   pauseTimeIncrement 0
     2020-02-03 13:45:00   pauseTimeOverall 0
     2020-02-03 13:45:00   pauseTimePerDay 0
     2020-02-03 13:45:00   pulseTimeEdge   0
     2020-02-03 13:45:00   pulseTimeIncrement 549
     2020-02-03 13:45:00   pulseTimeOverall 549
     2020-02-03 13:45:00   pulseTimePerDay 549
     2020-02-03 14:18:07   state           0
     2020-02-03 13:26:11   tickChanged     600
     2020-02-03 14:18:07   tickDay         0
     2020-02-03 14:18:07   tickHour        0
     2020-02-03 14:18:07   tickMonth       0
     2020-02-03 14:18:07   tickUpdated     966
     2020-02-03 14:18:07   tickWeek        0
     2020-02-03 14:18:07   tickYear        0
     2020-02-03 14:18:07   value           -1
   helper:
     OFF_Regexp
     ON_Regexp  Pool_PV:Pool_Pumpe_Status:.*laeuft
     calledByEvent
     changedTimestamp 2020-02-03 14:18:07
     forceClear
     forceDayChange
     forceHourChange
     forceMonthChange
     forceWeekChange
     forceYearChange
     isFirstRun
     sdRoundHourLast 1580734800
     value      -1
     cmdQueue:
Attributes:
   alias      Pool_Counter
   event-min-interval .*:600
   event-on-change-reading .*
   group      PV Eigenverbrauch-Steuerung
   icon       time_timer
   interval   5
   room       Strom->Photovoltaik
   sortby     13
   verbose    0


Wo liegt denn da bitte mein Denkfehler?

Viele Gruesse
     Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wzut

laut Wiki , da das Reading sowohl on als auch off Zustand haben kann :
Pool_PV:Pool_Pumpe_Status:.Pool_Pumpe_laeuft Pool_PV:Pool_Pumpe_Status:.Pool_Pumpe_aus

aber : kommt den auch ein Event Pool_Pumpe_x im Eventmonitor ? denn den brauch der Counter schon
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ch.eick

Zitat von: Wzut am 03 Februar 2020, 15:49:01
laut Wiki , da das Reading sowohl on als auch off Zustand haben kann :
Pool_PV:Pool_Pumpe_Status:.Pool_Pumpe_laeuft Pool_PV:Pool_Pumpe_Status:.Pool_Pumpe_aus

aber : kommt den auch ein Event Pool_Pumpe_x im Eventmonitor ? denn den brauch der Counter schon
Sehr merkwuerdig, das hatte ich auch bereits ausprobiert.....wenn ich mich nicht irre.

Jetzt habe ich es nochmals so eingetragen und es laeuft wieder.

Events kann ich auch sehen

2020-02-03 16:18:00.347 DOIF Pool_PV Pool_Pumpe_Status: Pool_Pumpe_laeuft
2020-02-03 16:18:00.347 DOIF Pool_PV e_Pool_Counter_pulseTimePerDay: 1445
2020-02-03 16:18:00.347 DOIF Pool_PV e_Pool_Counter_pulseTimeIncrement: 896
2020-02-03 16:18:00.347 DOIF Pool_PV Device: Pool_Counter

2020-02-03 16:20:40.576 DOIF Pool_PV Pool_Pumpe_Status: Pool_Pumpe_aus


Ich teste mal noch weiter.

Vielen Dank
     Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

hyper2910

Zitat von: pappn am 19 Januar 2020, 21:42:58
Hab die Berechnung des Tanklevels bis heute etwas umgestellt, aber im Prinzip ist das Ergebnis ja immer noch das Gleiche.
Es wird der verbleibende Tankinhalt berechnet und in das Reading "appTanklevel" des Devices "BrennerTest" geschrieben.
Dieses Reading lässt sich doch bequem per Filelog mitschreiben. z.B. in etwa so:
define Tanklevel.File FileLog ./log/Tanklevel-%Y.log BrennerTest:(appTanklevel).*

Also es wird alles ins Log geschrieben aber nicht der Tanklevel :(
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

pappn

Wie ist denn dein Filelog definiert?

Gesendet von meinem SM-T580 mit Tapatalk

"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

Loctite

Hallo.

Ich habe soeben gesehen, das heute ein Wochenwechsel stattgefunden hat.

Aus dem Log
2020-04-01_01:00:00 CN.Gaszaehler appCountsPerWeek: 0

Ist das ein Bug ?

R@Home

Hallo zusammen,
ja, mir ist Anfang der Woche auch aufgefallen, dass das Event für den Wochenwechsel täglich sogar 2x ausgeführt wird. Das 1. Mal um 00:00 Uhr und dann erneut noch mal um 01:00 Uhr.
Der 2. Aufruf hat zur Folge dass in den Readings "appCountsPerWeek" und "appOpHoursPerWeek" jeweils 0 steht.

Nachdem ich den Verbose Level für das Modul auf 4 gesetzt habe sind folgende Einträge im Log zu sehen.

2020.04.01 00:00:00 4: HourCounter Cn_Heizung Run.738 tickHour fired
2020.04.01 00:00:00 4: HourCounter Cn_Heizung Run.746 tickDay fired
2020.04.01 00:00:00 4: HourCounter Cn_Heizung Run.754 tickWeek fired
2020.04.01 00:00:00 4: HourCounter Cn_Heizung Run.762 tickMonth fired
...
...
2020.04.01 01:00:00 4: HourCounter Cn_Heizung Run.738 tickHour fired
2020.04.01 01:00:00 4: HourCounter Cn_Heizung Run.754 tickWeek fired


Loctite

Ich hatte so was ähnliches schon immer.
countsPerDay wurde immer erst um 01:00 Uhr auf Null gesetzt. Das habe ich für die Tagesanzeige benutzt, also hatte ich immer eine Linie von 00:00 Uhr zu 01:00 Uhr.
Aber daran hatte ich mich schon gewöhnt :)


Loctite

#598
appCountsPerWeek wird jetzt jeden Tag um 01:00 Uhr auf Null gesetzt.

Edit: Nein es war 00:00:01

Warum passiert das jetzt ?

EDIT2:
Ok, diese Nacht ist nichts passiert.

docb

Grüße Euch, kann es sein, dass der Wikieintrag nicht passt beim Einbinden der 99_UtilsHourCounter.pm?
Aktuell steht da:
define CN.EVENT notify CN\..*:tick.* { appHCNotify("$NAME","$EVTPART0","$EVTPART1");;}
Da triggert bei mir nichts und ich glaube auch die zwei ;; sind am Ende nicht mehr nötig. Und eben der eine Backslash samt Punkt dahinter muss / kann raus, kann das sein? So funktioniert es jedenfalls bei mir:
define CN.EVENT notify CN.*:tick.* { appHCNotify("$NAME","$EVTPART0","$EVTPART1");}

Viele Grüße
doc
I love FHEM!