Modul HourCounter - Betriebsstundenzähler mit einem Fensterkontakt

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

Vorheriges Thema - Nächstes Thema

bert

Gibt es schon eine Möglichkeit wie man mit einem Attribut das aktualisieren der Readings in einem festen Zeitintervall (bsp 300 Sekunden) quasi "erzwingen" könnte. Die Plot´s in einem SVG sehen nicht so gut aus, bei einem Aktor der nur ein paar mal pro Tag schaltet.

fhainz


Zitat von: bert am 17 November 2014, 11:06:42Die Plot´s in einem SVG sehen nicht so gut aus, bei einem Aktor der nur ein paar mal pro Tag schaltet.
Schau dir mal das logProxy Modul an das Andre gestern/heute geleast hat. Da gibts ein paar options mit denen möglich ist auch bei nur ein paar messwerte halbwegs gut aussehende Plots zu haben.

Grüße

bert

Das wird nichts helfen, da das Reading erst bei negativer Flanke im "HourCounter" erfolgt. Wenn dann ein Gerät morgens einschaltet und erst Abends aus, sieht man die Stunden erst nach dem ausschalten. Bis zu diesem Zeitpunkt hat man eine Nulllinie. Bei einem Heizungsbrenner mag das ja eine geringe Rolle spielen. Aber so ein "erzwungener Zeitintervall" würde das Teil universell einsetzbar machen (Öffnungszeiten Fenster, alle Geräte die nur sporadisch eingeschaltet werden). Triggern bei positiver Flanke und (nur dann) alle 5 Min. zwangsaktualisieren.

Grüße

fhainz

es gibt jetzt die option predict. damit wird der letzte wert bis zum ende eines plots verlängert oder um wert sekunden. aber jeweils maximal bis zum aktuellen zeitpunkt.

Hilft dir das nicht? Dann hab ich dein problem falsch verstanden.

Grüße

Bartimaus

Moin,

ich setze einen FS20KSE als Kontaktgeber für den HourCounter ein. Das funktionierte bislang nicht 100%ig, da ab und an der "off-Befehl" vom KSE zum Raspi verlorenging oder schlicht nicht abgesendet wurde. Hourcounter hat dann munter bis zum nächsten Einschaltbefehl, dem immer ein "off-Befehl" vorangestellt wurde, weitergezählt.

Erst habe ich versucht an anderen Positionen vom KSE (Heizungskeller), die Funkstrecke zum Raspi(EG) zu optimieren. Leider ohne Erfolg.

Dann habe ich einen Tip vom Kumpel bekommen, und zwar an den Anschlüssen vom KSE einen Widerstand, in meinem Fall ein 3,9k-Ohm Widerstand mit einzuschrauben. Und voila, seit dem ging kein Off-Befehl mehr verloren.

Nur mal so als Tip, falls jemand ähnliche Probleme mit dem KSE hat.
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

bert

Das hilft tatsächlich nicht. Beispiel: Pumpe schaltet um 03:00 Uhr ein und um 09:00 Uhr aus sehe ich die 6 Betriebsstunden erst um 09:00 Uhr vorher bleibt das Reading 0, wenn dann die Pumpe um 15:00 wieder einschaltet und um 21:00 Uhr ausschaltet. Bleibt der Zähler bis 21:00 Uhr auf 6 Std stehen, erst nach der negativen Flanke um 21:00 Uhr werden dann die 12 Betriebsstunden angezeigt.
Daher der Wunsch nach einer positiven Flanke und der Zwangsaktualisierung.  Bei einem Gerät, das stetig den Status wechselt fällt das gar nicht auf.

Gruß

justme1968

wenn es dir nur darum geht den wert zu plotten hilft logProxy tatsächlich.

wenn du mit dem bis dahin aufsummierten wert noch irgendetwas anderes tun möchtest statt ihn nur darzustellen hilft logProxy nicht. bis es die 'zwangsaktualisierung' die du dazu brauchst gibt kannst du dir aber selber mit einer routine in anlehnung an addLog etwas selber bauen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

John

@bert und alle die permanente Aktualisierung benötigen.

anbei eine Test-Version vom HourCounter:

neues Attribut "interval" in Minuten, wenn nicht angegeben wird alle 60 Minuten aktualisiert.

neuer set Befehl "calc": die pulse/pause-Time wird je nach Zustand aktualisiert.

Bitte testen und rückmelden.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

bert

Vielen Dank. Das sieht sehr gut aus. Plot wird im 5 min. Takt aktualisiert.

Hab´s auf momentan auf 2 Std. eingestellt, damit man was sieht.

Gruß

bert

Nach dem Update und Restart heute morgen hat er wieder bei 0 angefangen. Die Stunden von heute Nacht hat er vergessen. Ist das richtig so?

Gruß

John

Nein, ich finde das nicht OK.

Seh mir das nochmal genauer an.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

Hab noch einiges nachgebessert bezüglich des Neustarts.

Die Werte sollten jetzt nicht mehr zurückgesetzt werden.

Bitte um Rückmeldung.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

bert

die Stunden bleiben erhalten. Leider aber nicht der Schaltzustand. Ich habe den Schalter 22:42 Uhr auf ein gesetzt, nach Restart ist der Schaltzustand im HourCounter auf aus, obwohl immer noch physisch ein war.


2014.11.20 22:43:18 0: Server shutdown
2014.11.20 22:43:22 3: [UtilsHourCounter] Init Done with Version 1.02 - 17.03.2014 (john)
2014.11.20 22:43:22 2: MaxCounter is starting
2014.11.20 22:43:22 1: reload: Error:Modul 99_myUtils deactivated                                                          <- die Formatierung aus dem Wiki
2014.11.20 22:43:28 3: HourCounter HourCounter Initialize.207 Init Done with Version 1.0.0.6 - 20.11.2014
2014.11.20 22:43:28 0: HourCounter BS Define.215 parameters: BS HourCounter Licht1:an Licht1:aus
2014.11.20 22:43:29 1: configfile: MaxCounterAT already defined, delete it first                                         <- Diese Meldung ist von Anfang an       


Schalter aus und wieder eingeschaltet.

2014.11.20 23:03:32 3: HourCounter BS Undef.255 Done
2014.11.20 23:03:32 1: PERL WARNING: Subroutine UtilsHourCounter_Initialize redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 45.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnYear redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 55.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnMonth redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 80.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnWeek redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 104.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnDay redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 128.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnHour redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 167.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnCount redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 184.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnValueChanged redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 219.
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHCNotify redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 249.
2014.11.20 23:03:32 1: Including fhem.cfg
2014.11.20 23:03:32 1: PERL WARNING: Subroutine UtilsHourCounter_Initialize redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 45, <$fh> line 4.      <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnYear redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 55, <$fh> line 4.                         <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnMonth redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 80, <$fh> line 4.                       <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnWeek redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 104, <$fh> line 4.                      <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnDay redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 128, <$fh> line 4.                         <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnHour redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 167, <$fh> line 4.                        <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnCount redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 184, <$fh> line 4.                      <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHC_OnValueChanged redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 219, <$fh> line 4.         <- diese Meldungen sind neu
2014.11.20 23:03:32 1: PERL WARNING: Subroutine appHCNotify redefined at ./FHEM/99_UtilsHourCounter_CE.pm line 249, <$fh> line 4.                              <- diese Meldungen sind neu


Das steht um 00:00 Uhr im Logfile

2014.11.21 00:00:00 2: MaxCounterAtDo
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $mm in subtraction (-) at ./FHEM/99_UtilsMaxCounter.pm line 37.
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $yyyy in subtraction (-) at ./FHEM/99_UtilsMaxCounter.pm line 37.
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $mday in addition (+) at fhem.pl line 3772.
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $hour in addition (+) at fhem.pl line 3772.
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $min in addition (+) at fhem.pl line 3772.
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $sec in addition (+) at fhem.pl line 3772.
2014.11.21 00:00:00 2: Tageswechsel
2014.11.21 00:00:00 2: diff:0 numCountOnTimePerDayHours:0
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at fhem.pl line 3631.
2014.11.21 00:00:00 1: readingsUpdate(,cntPerDay,0) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: readingsUpdate(,cntPerDayLast,0) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: readingsUpdate(,cntOntimeIncrement,0) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: readingsUpdate(,cntOntimePerDaySeconds,0) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: readingsUpdate(,cntOntimePerDay,00:00) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: readingsUpdate(,cntOntimePerDayHours,0) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: readingsUpdate(,cntOntimeHoursLast,  0.0000) missed to call readingsBeginUpdate first.
2014.11.21 00:00:00 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 2811.



Ich hoffe das hilft

Gruß

John

Ich hoffe wir kommen langsam zum Ende. Value sollte jetzt auch passen.

Das scheint noch aus der Zeit zu sein, als das ganze nur ein Skript und kein Modul war.
Zitat
MaxCounterAtDo


das ist was uraltes und sollte entfernt werden (das definiert auch den MaxCounterAT)
/FHEM/99_UtilsMaxCounter.pm




John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

bert

Sieht alles gut aus. Keine Warnings mehr im Log, Stunde zählen weiter und der Schaltzustand nach Restart bleibt erhalten.

Vielen Dank