Modul HourCounter - Betriebsstundenzähler mit einem Fensterkontakt

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

Vorheriges Thema - Nächstes Thema

John

@JoeAlb - Betriebssstunden über Stromverbrauch

Ich habe die passenden regExps entworfen.
Bei mir funktioniert die Simulation über die angegebenen Trigger.


define CN.Test HourCounter XXX:power:\s[0-9]{2,}(\.[0-9]{1,3})*$  XXX:power:\s[0-9]{1}(\.[0-9]{1,3})*$


Test für ON-Ereignis

Zitattrigger XXX power: 27
trigger XXX power: 27.1

Test für OFF Ereignis
Zitattrigger XXX power: 2
trigger XXX power: 2.1

Kontrolle über LOG-Datei mit verbose 3.

Bitte testen und rückmelden.

Wenn es funktioniert, werde ich das Thema ins Wiki stellen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

ollir

Hallo John,

erstmal Vielen Dank für den Counter.

Habe noch zwei Fragen.

1.: Die Readings tickDay; tickHour; tickWeek stehen alle auf "1" und werden nicht erhöht?

2.: Ich benutze einen Zähler für die Heizungspumpe. Wenn die Pumpe "an" ist wird die PulseTime nicht kontinuierlich erhöht, sondern erst mit dem nächsten "aus" berechnet?

Vielen Dank
Olaf



John

Hallo Olav,
Zitat1.: Die Readings tickDay; tickHour; tickWeek stehen alle auf "1" und werden nicht erhöht?

Bei den ganzen tick*-Readings wird immer nur die 1 geschrieben. Es dient dazu dass man ein notify drauf setzen kann.
Damit lassen sich dann stündlich,täglich, wöchentlich und monatlich Ereignisse auslösen.
Welchen Wert ich dafür verwende ist unerheblich.


Zitat2.: Ich benutze einen Zähler für die Heizungspumpe. Wenn die Pumpe "an" ist wird die PulseTime nicht kontinuierlich erhöht, sondern erst mit dem nächsten "aus" berechnet?
Stimmt und auch noch am Ende des Tages.


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

bluesky

Hallo John. Ich bin neu hier im Forum und den Betriebsstundenzähler, der eine tolle Sache ist, hat mir ein Bekannter eingebaut. Bei der Inbetriebnahme ist mir im Wiki aber aufgefallen, dass bei der Definition "Betriebsstunden" und "Kurven" im Wiki fld[3]/=3600 und fld[3]/=60 steht, obwohl es doch $fld[3]/=3600 und $fld[3]/=60 heissen müsste oder? Im abgebildeten Screenshot sind die Daten korrekt mit einem $ angegeben. Bei mir hat es ohne $ nicht funktioniert. Vielen Dank nochmals an John und alle, die bei der Entwicklung von fhem helfen. Gruss bluesky
Raspberry Pi, CUL_HM, HM-LC-SW4-SM, HM-LC-SW1-FM, WEBIO_12DIGITAL,

John

Hallo bluesky
danke für den Hinweis, ich habs korrigiert.
John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

John

JoeAlb hat sich bei mir gemeldet.

Die angebotene Lösung zur Frage:

Wie kann man aus  einem Messwert das Start/Stop-Kriterium für den Betriebsstundenzähler ableiten ?

funktioniert wie hier

http://forum.fhem.de/index.php/topic,12216.msg112757.html#msg112757


vorgeschlagen.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

JoeALLb

Ja, vielen Dank für die großartige Unterstützung! Ich bin gerade dabei, das Modul intensiv zu testen und in mehreren verschiedenen Varianten
im Einsatz zu bringen.!
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Vladi2010

Hallo,  ich versuche  seid zwei Tagen den Betriebsstundenzähler bei mir einzubinden.

Zu meiner ,, Hardware"


Ich betreibe meine Heizkanone bis erfolgreich mit dem THRESHOLD-Modul und einem FS20 Aktor (fs20ws1 )
Wie gesagt es ist ein Empfänger und kein Sender, aber es tut sich was, SVG zeigt ,,etwas" an, es ist aber kurios für mich, es ist zB. Nach unten verschoben und es sieht meistens Platt aus:

Meine Config:

define Heizung_Brenner FS20 1b1b 00
attr Heizung_Brenner icon icoHEIZUNG
attr Heizung_Brenner model fs20ws1
attr Heizung_Brenner room Schalter_Taster
attr Heizung_Brenner userReadings onoff {(ReadingsVal("Heizung_Brenner","state",0) eq "on")?1:0;; }

define Heizung_Brenner.event notify Heizung_Brenner:(onoff).* { CounterNotify("%NAME","%EVTPART0","%EVTPART1");;}

define FileLog_Heizung_Brenner FileLog ./log/Heizung_Brenner-%m.log Heizung_Brenner:(onoff|cntOntimePerDayHours|cntPerDay|cntOntimeIncrement|cntPerDayLast|cntOntimeHours).*

define CN.Test HourCounter Heizung_Brenner:onoff:.1 Heizung_Brenner:onoff:.0
attr CN.Test room Schalter_Taster

define CN.Test.File FileLog ./log/CN.Test-%Y.log (CN\.Test:.*)
attr CN.Test.File room Schalter_Taster

define SVG_CN.Test.File_1 SVG CN.Test.File:SVG_CN.Test.File_1:CURRENT
attr SVG_CN.Test.File_1 room Schalter_Taster


Bemerkung:
Variante A
{(ReadingsVal("Heizung_Brenner","state",0) eq "on")?1:0;; }
Variante B
{(ReadingsVal("Heizung_Brenner","state",0) eq "on")?0:1;; }

Ich glaube aber A uder B  kein Unterschied macht.

CN.Test-2013.log:
2013-12-20_21:24:58 CN.Test countsPerDay: 0
2013-12-20_21:24:58 CN.Test countsOverall: 0
2013-12-20_21:24:58 CN.Test pulseTimeIncrement: 0
2013-12-20_21:24:58 CN.Test pulseTimePerDay: 0
2013-12-20_21:24:58 CN.Test pulseTimeOverall: 0
2013-12-20_21:24:58 CN.Test pauseTimeIncrement: 0
2013-12-20_21:24:58 CN.Test pauseTimePerDay: 0
2013-12-20_21:24:58 CN.Test pauseTimeOverall: 0
2013-12-20_21:24:58 CN.Test 0
2013-12-20_21:24:58 CN.Test clearDate: 2013-12-20 21:24:58
2013-12-20_21:30:00 CN.Test countsPerDay: 1
2013-12-20_21:30:00 CN.Test countsOverall: 1
2013-12-20_21:30:00 CN.Test pauseTimeIncrement: 900
2013-12-20_21:30:00 CN.Test pauseTimePerDay: 900
2013-12-20_21:30:00 CN.Test pauseTimeOverall: 900
2013-12-20_21:30:00 CN.Test value: 1
2013-12-20_21:30:00 CN.Test 1
2013-12-20_22:00:00 CN.Test tickHour: 1
2013-12-20_22:10:01 CN.Test pulseTimeIncrement: 2401
2013-12-20_22:10:01 CN.Test pulseTimePerDay: 2401
2013-12-20_22:10:01 CN.Test pulseTimeOverall: 2401
2013-12-20_22:10:01 CN.Test value: 0

anbei unten noch zwei Bilder,






kann mir jemand helfen ?

Danke im Voraus

Andreas


John

Hallo Andreas


das ist eigentlich nicht notwendig, da der HourCounter nicht zwingend "onoff" benötigt
attr Heizung_Brenner userReadings onoff {(ReadingsVal("Heizung_Brenner","state",0) eq "on")?1:0;; }

das hingegen ist einfach überflüssig:

define Heizung_Brenner.event notify Heizung_Brenner:(onoff).* { CounterNotify("%NAME","%EVTPART0","%EVTPART1");;}
Du solltest das alte Skript 99_UtilsMaxCounter.pm löschen.
Der neue HourCounter braucht diesen Mechanismus nicht mehr.

Das solltest du ändern, so dass die Events der Quelle verwendet werden:

define CN.Test HourCounter Heizung_Brenner:onoff:.1 Heizung_Brenner:onoff:.0

Vorgabe laut Wiki:
define <name> HourCounter <regexp_for_ON> [<regexp_for_Off>]

Schick doch einfach mal einen Auszug vom Monitor zum Device Heizung_Brenner, dann kann ich dir den passenden Regexp konstruieren.
(funktioniert wie bei den Notify's)


Den Chart hast du nicht ganz korrekt definiert: "Betriebsstunden" und "Dauer" verwenden Spalte 3 statt 4.


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Vladi2010

#84
super das du da bist,  hier das Bild:-)

define CN.Test HourCounter Heizung_Brenner:onoff:.1 Heizung_Brenner:onoff:.0

ich komme leider nicht drauf was ich ändern muss,....   das hier ist "frei schnauze" :-(

Bin noch hier drüber am Rätseln: "Den Chart hast du nicht ganz korrekt definiert: "Betriebsstunden" und "Dauer" verwenden Spalte 3 statt 4."   hmmmmm  ist doch richtig  genau so wie Bild im Wiki ???

John

Hallo Andreas,
ich brauch einen Auszug vom Event Monitor, zu den Events deines Brenners.
siehe Web-Interface "Event Monitor".
Mut diesen Infos kann ich die Trigger Bedingungen ableiten.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Vladi2010

Events:
2013-12-21 00:01:48 FS20 Heizung_Brenner off
2013-12-21 00:01:48 FS20 Heizung_Brenner onoff: 0
2013-12-21 00:01:49 FS20 Heizung_Brenner on
2013-12-21 00:01:49 FS20 Heizung_Brenner onoff: 1
2013-12-21 00:01:50 FS20 Heizung_Brenner off
2013-12-21 00:01:50 FS20 Heizung_Brenner onoff: 0
2013-12-21 00:01:51 FS20 Heizung_Brenner on
2013-12-21 00:01:51 FS20 Heizung_Brenner onoff: 1
2013-12-21 00:01:52 FS20 Heizung_Brenner off
2013-12-21 00:01:52 FS20 Heizung_Brenner onoff: 0
2013-12-21 00:01:53 FS20 Heizung_Brenner on
2013-12-21 00:01:53 FS20 Heizung_Brenner onoff: 1
2013-12-21 00:01:54 FS20 Heizung_Brenner off
2013-12-21 00:01:54 FS20 Heizung_Brenner onoff: 0
2013-12-21 00:01:55 FS20 Heizung_Brenner on
2013-12-21 00:01:55 FS20 Heizung_Brenner onoff: 1

John

ein Schnellschuss

define CN.Test HourCounter Heizung_Brenner:on Heizung_Brenner:off

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Vladi2010

OK hab ich gemacht :-)

define CN.Test HourCounter Heizung_Brenner:on Heizung_Brenner:off

jetzt Testlauf ?

John

ja doch.

geht auch via
trigger Heizung_Brenner off
bzw
trigger Heizung_Brenner on

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP