Hilfe beim statistics Modul... Laufzeit / Heizung Starts mit Energiemessung

Begonnen von ChrisW, 22 Januar 2019, 15:56:43

Vorheriges Thema - Nächstes Thema

ChrisW

Hallo,
also irgendwie komme ich beim statistics modul nicht weiter. Dazu gibt es auch fast keine Beispiele die ich finden kann. Nichtmal Youtube Videos :(

Ich würde es 1. gerne für Stromverbrauch nutzen Tag/Monat/Jahr. ( Gibt es dafür vielleicht ein extra Modul was einfacher ist ? )

2. Die Laufzeit meiner Heizung messen. Sobald der Stromverbrauch größer ist als 0W ist die Heizung an. Ich will also gerne die Tageslaufzeit erfasst jeweils um 0 uhr ? Absolut keine Idee wie ich hier anfangen kann.

3. Die Anzahl der Heizungsstarts pro Tag. Wie oft die Heizung also angegangen ist.
Raspberry PI3 mit allem möglichen.

sumsum

Ich würde ein dummy z.B. dHeizung anlegen. Den schreibst Du mit DOIF oder Notify auf on bzw off.
In der Definition von statistics gibts Du dein dummy an wie in der Wiki (https://wiki.fhem.de/wiki/Statistics) beschrieben.
define myStatDevice statistics  dHeizung|<andere Geräte>
Damit hättest Du Punkt 2 und 3 erledigt.
Für Punkt 1 bräuchtest Du ein device, das ein Reading energy hat. Dieses device gibts du im gleichen myStatDevice an.

ChrisW

Danke nur leider gibt es kein on / off aus wären 0W ;)
Also müsste ich erstmal ein Watchdog oder doif noch schreiben der bei größer 0 einen Dummy auf on schaltet ? Und diesen Dummy dann in Statistics rein richtig ?
Raspberry PI3 mit allem möglichen.

sumsum

Das habe ich so verstanden, mit dem Hinweis Du könntest ein DOIF bauen. Der ungefähr so aussieht:
define di_Heizung DOIF ([Leistung_Heizung] > 0)
(set dHeizung on)
DOELSE
(set dHeizung off)

ChrisW

Danke mal schauen ob es klappt. Also das Gerät wegen dem Stromverbrauch hat als Wert aber : ENERGY_Power
Raspberry PI3 mit allem möglichen.

sumsum

Das ist in der Wiki beschrieben. Den Link hatte ich bereits in der ersten Antwort gepostet.

ChrisW

hm ich bekomme es aber nicht hin. Hab mal mit diesem Delta rumgespielt ..


Internals:
   CFGFN     
   DEF        Sonoff_Pow_heizung_pumpen|dHeizung|Hausstrom
   DEV_REGEXP Sonoff_Pow_heizung_pumpen|dHeizung|Hausstrom
   FUUID      5c472db5-f33f-678b-2dc7-1d486120ba80f8d2
   NAME       myStatDevice
   NOTIFYDEV  global,Sonoff_Pow_heizung_pumpen|dHeizung|Hausstrom
   NR         36541
   NTFY_ORDER 10-myStatDevice
   PREFIX     stat
   STATE      Updated stats for: Hausstrom
   TYPE       statistics
   .attraggr:
   .attrminint:
   READINGS:
     2019-01-22 22:03:08   .Hausstrom:count LastValue: 45332 ShowDate: 6 DecPlaces: 0
     2019-01-22 22:03:08   .Hausstrom:energy LastValue: 33.648 ShowDate: 6 DecPlaces: 3
     2019-01-22 22:03:08   .Hausstrom:powerDay Sum: 32159.04 Time: 15642 LastValue: 0.96 LastTime: 1548190988 ShowDate: 1 DecPlaces: 2
     2019-01-22 22:03:08   .Hausstrom:powerMonth Sum: 32159.04 Time: 15642 LastValue: 0.96 LastTime: 1548190988 ShowDate: 1 DecPlaces: 2
     2019-01-22 22:03:08   .Hausstrom:powerYear Sum: 32159.04 Time: 15642 LastValue: 0.96 LastTime: 1548190988 ShowDate: 1 DecPlaces: 2
     2019-01-22 22:02:06   .Sonoff_Pow_heizung_pumpen:ENERGY_Power LastValue: 20 ShowDate: 6 DecPlaces: 0
     2019-01-22 21:59:55   .dHeizung:stateDay off: 10261 (since: 2019-01-22_17:42:27) off_Count: 8 lastState: off on_Count: 7 lastTime: 1548190795 on: 5187 showDate: 1
     2019-01-22 21:59:55   .dHeizung:stateMonth (since: 2019-01-22_17:42:27) off: 10261 showDate: 1 on: 5187 lastTime: 1548190795 on_Count: 7 off_Count: 8 lastState: off
     2019-01-22 21:59:55   .dHeizung:stateYear lastState: off off_Count: 8 lastTime: 1548190795 on_Count: 7 on: 5187 showDate: 1 off: 10261 (since: 2019-01-22_17:42:27)
     2019-01-22 17:42:26   monitoredDevicesEMX Hausstrom
     2019-01-22 15:50:40   monitoredDevicesMQTT_DEVICE Sonoff_Pow_heizung_pumpen
     2019-01-22 17:38:47   monitoredDevicesUnsupported dHeizung#dummy
     2019-01-22 17:39:02   monitoredDevicesdummy dHeizung
     2019-01-22 21:59:55   nextPeriodChangeCalc 2019-01-22 22:59:55
     2019-01-22 22:03:08   state           Updated stats for: Hausstrom
   fhem:
     modulVersion $Date: 2018-03-18 19:51:57 +0100 (Sun, 18 Mar 2018) $
     nextPeriodChangeTime 1548194395
Attributes:
   DbLogExclude .*
   deltaReadings ENERGY_Power
   room       Logging
   singularReadings Sonoff_Pow_heizung_pumpen:ENERGY_Power:Delta:Hour|Sonoff_Pow_heizung_pumpen:ENERGY_Power:Delta:Day|Sonoff_Pow_heizung_pumpen:ENERGY_Power:Delta:Month|Sonoff_Pow_heizung_pumpen:ENERGY_Power:Delta:Year
Raspberry PI3 mit allem möglichen.

sumsum


ChrisW

klar


Internals:
   .lastTimeENERGY_Current 1548230251.86629
   .lastTimeENERGY_Factor 1548230251.86629
   .lastTimeENERGY_Period 1548229951.63654
   .lastTimeENERGY_Power 1548229951.63654
   .lastTimeENERGY_Today 1548230251.86629
   .lastTimeENERGY_Total 1548230251.86629
   .lastTimeENERGY_Voltage 1548229951.63654
   .lastTimeENERGY_Yesterday 1548230251.86629
   .lastTimeTime 1548230251.86629
   .lastTimesensor 1548230251.83458
   .lastTimestatENERGY_Power 1548230395.4424
   .lastTimestatENERGY_PowerDay 1548229951.56603
   .lastTimestatENERGY_PowerDayLast 1548197995.5351
   .lastTimestatENERGY_PowerHour 1548230395.4424
   .lastTimestatENERGY_PowerHourLast 1548230395.4424
   .lastTimestatENERGY_PowerLast 1548230395.4424
   .lastTimestatENERGY_PowerMonth 1548229951.56603
   .lastTimestatENERGY_PowerYear 1548229951.56603
   .lastTimestate 1548216000.29689
   .lastTimetransmission-state 1548230251.80393
   FUUID      5c45bfca-f33f-678b-093f-caba32d7229ff8c3
   IODev      myBroker
   NAME       Sonoff_Pow_heizung_pumpen
   NR         854
   STATE      aktuell: 19.0 W Tag: 0.09 Kw/h Gestern: 0.340 Kw/h Gesamt: 2.7980 Kw/h
   TYPE       MQTT_DEVICE
   qos        *:1
   retain     *:1
   .attraggr:
   .attreocr:
     .*
   .attrminint:
     .*:600
   .qos:
     *          1
   .retain:
     *          1
   Helper:
     DBLOG:
       ENERGY_Power:
         myDbLog:
           TIME       1548229951.67355
           VALUE      19
       ENERGY_Today:
         myDbLog:
           TIME       1548230251.89567
           VALUE      0.092
       ENERGY_Total:
         myDbLog:
           TIME       1548230251.89567
           VALUE      2.798
       ENERGY_Yesterday:
         myDbLog:
           TIME       1548230251.89567
           VALUE      0.34
       state:
         myDbLog:
           TIME       1548216000.32072
           VALUE      ON
   READINGS:
     2019-01-23 08:57:31   ENERGY_Current  0.16
     2019-01-23 08:57:31   ENERGY_Factor   0.52
     2019-01-23 08:57:31   ENERGY_Period   2
     2019-01-23 08:57:31   ENERGY_Power    19
     2019-01-23 08:57:31   ENERGY_Today    0.092
     2019-01-23 08:57:31   ENERGY_Total    2.798
     2019-01-23 08:57:31   ENERGY_Voltage  229
     2019-01-23 08:57:31   ENERGY_Yesterday 0.34
     2019-01-23 08:57:31   Time            2019-01-23T08:57:31
     2019-01-23 08:57:31   sensor          {"Time":"2019-01-23T08:57:31","ENERGY":{"Total":2.798,"Yesterday":0.340,"Today":0.092,"Period":2,"Power":19,"Factor":0.52,"Voltage":229,"Current":0.160}}
     2019-01-23 08:59:55   statENERGY_Power Hour: 0 Day: 19 Month: 19 Year: 19 (since: 2019-01-23 )
     2019-01-23 08:59:55   statENERGY_PowerDay 19
     2019-01-22 23:59:55   statENERGY_PowerDayLast -17
     2019-01-23 08:59:55   statENERGY_PowerHour 0
     2019-01-23 08:59:55   statENERGY_PowerHourLast 2
     2019-01-23 08:59:55   statENERGY_PowerLast Hour: 2 Day: -17 Month: - Year: - (since: 2019-01-22_20:46:34 )
     2019-01-23 08:59:55   statENERGY_PowerMonth 19
     2019-01-23 08:59:55   statENERGY_PowerYear 19
     2019-01-22 20:32:01   statStateDay    ON: 04:41:21 ON_Count: 1 (since: 2019-01-22_15:50:40)
     2019-01-22 20:32:01   statStateMonth  ON: 04:41:21 ON_Count: 1 (since: 2019-01-22_15:50:40)
     2019-01-22 20:32:01   statStateYear   ON: 04:41:21 ON_Count: 1 (since: 2019-01-22_15:50:40)
     2019-01-23 05:00:00   state           ON
     2019-01-23 08:57:31   transmission-state incoming publish received
   helper:
     _98_statistics myStatDevice
   message_ids:
   publishSets:
     :
       topic      cmnd/sonoffpowheizungpumpen/POWER
       values:
         ON
         OFF
         toggle
   sets:
     OFF       
     ON         
     toggle     
   subscribe:
     tele/sonoffpowheizungpumpen/SENSOR
     stat/sonoffpowheizungpumpen/POWER
   subscribeExpr:
     ^tele\/sonoffpowheizungpumpen\/SENSOR$
     ^stat\/sonoffpowheizungpumpen\/POWER$
   subscribeQos:
     stat/sonoffpowheizungpumpen/POWER 0
     tele/sonoffpowheizungpumpen/SENSOR 0
   subscribeReadings:
     stat/sonoffpowheizungpumpen/POWER:
       cmd       
       name       state
     tele/sonoffpowheizungpumpen/SENSOR:
       cmd       
       name       sensor
Attributes:
   DbLogExclude .*
   DbLogInclude ENERGY_Power,ENERGY_Today,ENERGY_Total,ENERGY_Yesterday,state
   IODev      myBroker
   devStateIcon ON:on:OFF Off:off:ON
   event-min-interval .*:600
   event-on-change-reading .*
   publishSet ON OFF toggle cmnd/sonoffpowheizungpumpen/POWER
   qos        1
   retain     1
   room       Heizung,STROM
   stateFormat {sprintf("aktuell: %.1f W Tag: %.2f Kw/h Gestern: %.3f Kw/h Gesamt: %.4f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef), ReadingsVal($name,"ENERGY_Yesterday",undef), ReadingsVal($name,"ENERGY_Total",undef))}
   subscribeReading_sensor tele/sonoffpowheizungpumpen/SENSOR
   subscribeReading_state stat/sonoffpowheizungpumpen/POWER
   userattr   subscribeReading_state subscribeReading_status
   webCmd     on:off:toggle
Raspberry PI3 mit allem möglichen.

sumsum

Es funktioniert doch!!!
Die Readings statENERGY_Power* sind doch angelegt.
Ich glaube aber noch es gibt ein Verständnisproblem. Dein Device hat doch scheinbar schon ein Reading für den Verbrauch von gestern (ENERGY_Yesterday) und heute (ENERGY_Today).
In ENERGY_Power wird die Leistung abgelegt. Dies ist nicht der Verbrauch, den du suchst. Der ist in ENERGY_Total. Also im Statistikdevice musst ENERGY_Power mit ENERGY_Total ersetzen.

ENERGY_Power hilft dir in diesem Fall "nur", um zwischen Heizung an oder aus zu unterscheiden. Also in deinem "DoIF".

ChrisW

Hmmm okay dann ist das wohl echt ein verständnis Problem. Das hatte ich jetzt nur zum Test genommen. Wenn ich aber halt kein Gerät mit today werten habe und will den Strom erfassen. Darum ging es.
Hab quasi nur den Wert; power der in Watt angegeben ist. Da wollte ich dann Tag / Monat irgendwie auswerten.
Raspberry PI3 mit allem möglichen.

sumsum

Mit dem Statistik-Modul hast Du nun ja alles was Du suchst. Musst nur die Änderung in den Attributen machen von ENERGY_Power auf ENERGY_Total.

ChrisW

Danke ja in diesem Fall funktioniert das ja auch. Aber sagen wir mal das Gerät hat keine today möglichkeit also wirklich nur "Power: 1100" also 1100Watt
Das verstehe ich noch nicht so ganz.
Hab das Gerät aktuell nicht aktiv und glaube es hatte nur einen Power Anzeige keine Zählung Tag/Gesamt.
Wenn es soweit ist kann ich ja nochmal nachfragen. Die Heizungs ON / OFF Zeit habe ich ja nun. Danke.
Muss es nurnoch am besten in einer art Liste/Tabelle ausgeben.

Nun kann ich auch den Ölverbrauch so grob mal ausrechnen wenn ich in erfahrung bringe wievielÖl das teil pro Stunde frisst :D
Raspberry PI3 mit allem möglichen.