Modul HourCounter - Betriebsstundenzähler mit einem Fensterkontakt

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

Vorheriges Thema - Nächstes Thema

John

Hallo Blueberry63,

Syntax von DbLog

define <name> DbLog <configfilename> <regexp>

Syntax von FileLog

define <name> FileLog <filename> <regexp>


Wo siehst du hier ein Problem ? Du musst einfach <regexp> für deine DbLog Definition übernehmen.

Das hat mit dem HourCounter im Grund nichts mehr zu tun.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

blueberry63

 ???
hat sich erledigt. Das war ein Gedankenfehler von mir: die aggregierten Werte sind ja schon in der DB
:-[

Jetzt habe ich aber doch noch eine Frage: mir ist aufgefallen, daß die Readings "appCountsPerMonth" und "appCountsPerWeek" fehle, alle anderen Readings sind da. Werden die Readings erst beim Wochen- bzw. Monatswechsel erzeugt?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

John

Zitaterst beim Wochen- bzw. Monatswechsel erzeugt?
richtig
John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

fhemjörg

Hallo John,

ich habe dein HourCounter eingesetzt um mein Gaszähler abzufragen. Ich nutze dazu ein Reedcontact und ein Max Fensterkontakt.
Der Gaszähler hat eine Vorrichtung bei der ich bei 0,01m³ von 9auf 0 ein on Signal bekomme und von 0 auf 1 ein Off Signal von Fensterkontakt bekomme. Somit zähle ich nur die countsper...., die Zeit zwischen den On und off interessieren mich in diesem Fall nicht.
mein fhem.cfg sieht so aus
define GasZaehler MAX ShutterContact 073272
attr GasZaehler room Gas
#attr GasZaehler userReadings onoff {(ReadingsVal("GasZaehler","state",0) eq "on")?0:1;; }
define CounterNeu HourCounter GasZaehler:onoff:.1  GasZaehler:onoff:.0
attr CounterNeu room Gas
attr CounterNeu userReadings verbrTagkWh {sprintf("%.1f", ReadingsVal("CounterNeu","countsPerDay",0)*0.01*10.6407) . " kWh";;;; }, verbrTagEuro {sprintf("%.2f", ReadingsVal("CounterNeu","countsPerDay",0)*0.01*10.6407*0.054) . " €";;;; }, verbrTag {sprintf("%.1f", ReadingsVal("CounterNeu","countsPerDay",0)*0.01) . " m³";;;; }, Zaehlerstand {sprintf("%.2f", ReadingsVal("CounterNeu","countsOverall",0)*0.01) . " m³";;;; }

define SVG_FileLog_CounterNeu_1 SVG FileLog_CounterNeu:SVG_FileLog_CounterNeu_1:CURRENT
attr SVG_FileLog_CounterNeu_1 room Plots

define FileLog_CounterNeu FileLog ./log/CounterNeu-%Y-%m.log CounterNeu
attr FileLog_CounterNeu logtype text
attr FileLog_CounterNeu room Logs

Das Problem ist jetzt, dass nicht jeder count erfasst wird, ein Fehler vom Fensterkontakt erhalte ich auch nicht.
Mei Logfile sieht so aus

2014.02.18 16:13:10 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:16:11 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:19:12 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:22:13 3: [CounterNeu] HourCounter_Run.606 falling edge pulseTimeIncrement:6114
2014.02.18 16:22:13 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:25:14 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:28:15 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:31:16 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:34:17 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:37:18 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:40:19 3: [CounterNeu] HourCounter_Run.591 rising edge; countPerDay:10
2014.02.18 16:40:19 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:42:50 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:42:55 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:43:00 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:43:05 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:43:10 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:46:11 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:49:12 3: [CounterNeu] HourCounter_Run.606 falling edge pulseTimeIncrement:533
2014.02.18 16:49:12 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:52:13 3: [CounterNeu] HourCounter_Run.591 rising edge; countPerDay:11
2014.02.18 16:52:13 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:55:14 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 16:58:15 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 17:00:00 3: [CounterNeu] HourCounter_Run.674 tickHour fired
2014.02.18 17:00:00 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 17:01:16 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1
2014.02.18 17:04:17 2: [CounterNeu] HourCounter_ExecQueue.111 cnt: -1

habe ich was falsch gemacht oder meldet der Max Fensterkontakt nicht immer sofort zurück? Ich nutze ein MaxLan zur Kommunikation.
Die Erweiterung von Dir mit Wochen und monatsdaten nutze ich noch nicht, oder ist das schon der Fehler? Ich wollte erst einmal klein anfangen.....

Gruß
Jörg

strauch

Sitzt denn der Reedkontakt gut. Ich fand das schon eine ganz ordentliche Fummelei bis der richtig saß und immer zählte.

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

John

@jörg

sehe ich genauso wie Strauch.
Du solltest erst mal das Log-des Fensterkontaktes studieren, bevor du den den Fehler beim HourCounter suchst.

Wenn der Fensterkontakt "Aussetzer" hat, kann Hourcounter nicht besser sein.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

fhemjörg


Der Fenster Kontakt meldet oft
2014-02-18_20:59:07 GasZaehler opened (rf error)


Hat das mit den 1% zu tun?
Ich habe fünf Thermostate am laufen mit dem Temp. Scan....

Kann das zu viel sein oder was sagt der Fehler aus?

John

Hallo Jörg,

in 10_MAX.pm findet sich
my $rferror = vec($bits2, 6, 1); #communication with link partner (what does that mean?)

also ist sich Matthias auch nicht ganz klar drüber was das bedeutet.

Ich vermute mal, dass der Fensterkontakt gepaired ist und vergeblich versucht hat seine Information loszuwerden.
Möglicherweise ist der Cube/CUL zu weit entfernt.

In jedem Fall ist das ein Hinweis darauf, dass Informationen verloren gehen.

Wann jedoch rfError wieder zurückgesetzt wird ist noch unklar.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

JoeALLb

Verständnisfrage:

Warum bekomme ich in meinem Log einen Eintrag eines Temperatursensors?
[CN.Waschmaschine] HourCounter_Notify.412 devName:temp.bz.AussenthermometerLaCrosse; CHANGED:temperature: 3.4; isOnReading:; isOffReading:;

Meine Definition ist:
PCA301_03:power:\s[0-9]{2,}(\.[0-9]{1,3})*$  PCA301_03:power:\s[0-9]{1}(\.[0-9]{1,3})*$

Demnach sollten meinem Verständnis nach nur PCA301-Power daten geloggt werden?
Was verstehe ich hier korrekt?
Danke, und vielen Dank für das Modul!
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

John

Hi  JoeALLb,
du hast verbose level 5 eingestellt, da wird jedes Detail geliefert.

Der Hourcounter erhällt ALLE events von ALLEN Devices.

Der Log-Eintrag zeigt genau dies an.
Aber das Event wird nicht verwendet, da "isOnReading" leer ist.

Mit verbose 4 sollten die Einträge verschwinden.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

JoeALLb

Danke. Ich nachhinein hätte ich es gleich verstehen sollen ;-)
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

fhainz

#161
Hallo!

Ich bekommme beim starten von fhem in der konsole diverse Fehlermeldungen von hourcounter.

Subroutine HourCounter_Log redefined at ./FHEM/98_HourCounter.pm line 52, <> line 22.
Subroutine HourCounter_AddLog redefined at ./FHEM/98_HourCounter.pm line 65, <> line 22.
Subroutine HourCounter_Exec redefined at ./FHEM/98_HourCounter.pm line 85, <> line 22.
Subroutine HourCounter_cmdQueueAdd redefined at ./FHEM/98_HourCounter.pm line 95, <> line 22.
Subroutine HourCounter_ExecQueue redefined at ./FHEM/98_HourCounter.pm line 103, <> line 22.
Subroutine HourCounter_RoundHour redefined at ./FHEM/98_HourCounter.pm line 150, <> line 22.
Subroutine HourCounter_RoundDay redefined at ./FHEM/98_HourCounter.pm line 158, <> line 22.
Subroutine HourCounter_RoundWeek redefined at ./FHEM/98_HourCounter.pm line 166, <> line 22.
Subroutine HourCounter_SecondsOfDay redefined at ./FHEM/98_HourCounter.pm line 177, <> line 22.
Subroutine HourCounter_RoundMonth redefined at ./FHEM/98_HourCounter.pm line 185, <> line 22.
Subroutine HourCounter_Initialize redefined at ./FHEM/98_HourCounter.pm line 193, <> line 22.
Subroutine HourCounter_Define redefined at ./FHEM/98_HourCounter.pm line 208, <> line 22.
Subroutine HourCounter_Undef redefined at ./FHEM/98_HourCounter.pm line 260, <> line 22.
Subroutine HourCounter_Get redefined at ./FHEM/98_HourCounter.pm line 268, <> line 22.
Subroutine HourCounter_Set redefined at ./FHEM/98_HourCounter.pm line 285, <> line 22.
Subroutine HourCounter_Notify redefined at ./FHEM/98_HourCounter.pm line 390, <> line 22.
Subroutine HourCounter_Seconds2HMS redefined at ./FHEM/98_HourCounter.pm line 426, <> line 22.
Subroutine HourCounter_weekBase redefined at ./FHEM/98_HourCounter.pm line 436, <> line 22.
Subroutine HourCounter_Run redefined at ./FHEM/98_HourCounter.pm line 449, <> line 22.


Meine HourCounter defines:
define hourCounterAllgemein HourCounter arduino_pin_45:reading:.off
attr hourCounterAllgemein room Arduino
attr hourCounterAllgemein verbose 0


define hourCounterBoiler HourCounter arduino_pin_46:reading:.off
attr hourCounterBoiler room Arduino
attr hourCounterBoiler verbose 0


FHEM ist auf dem stand von gestern. Jemand eine Idee?

Grüße

strauch

Ich hab so was auch, aber mich noch nicht weiter damit befasst. Ich kann mal schauen das ich die logs auslese und hier poste.

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

John

@fhainz
ich konnte das Problem lösen indem ich in 99_UtilsHourCounter die Zeile

require "98_HourCounter.pm";
auskommentierte mit
#require "98_HourCounter.pm";

Das Laden der Module hat unter FHEM offensichtlich eigene Regeln.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

wolfi1104

Hallo
Ich habe eine FS 20
2-/4-Kanal-Sendemodul S4M
übrig und wollte es dazu her nehmen externe Ereignisse wie Bewegungsmelder, Dämmerungsschalter die bereits vorhanden sin in die Fhem einzubinden
Meine Frage nun kann ich damit auch einen Betriebsstundenzähler für meine Heizung umsetzen ähnlich wie mit einem Fenstercontact ?
kann mir jemand helfen
Gruß

pi / V 1.61e CUL433 / V 1.44 CUL868 /