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.
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 (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.
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 ?
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)
Danke mal schauen ob es klappt. Also das Gerät wegen dem Stromverbrauch hat als Wert aber : ENERGY_Power
Das ist in der Wiki beschrieben. Den Link hatte ich bereits in der ersten Antwort gepostet.
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
kannst Du bitte mal list Sonoff_Pow_heizung_pumpen
posten?
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
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".
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.
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.
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