Hallo community,
ich habe wahrscheinlich ein Verständnissproblem.
Ich möchte das das Reading E_PV_Total vom GoodWE device vom Statistic Modul hochgezählt wird. (Hour/Month/Day/Year)
Leider wird das statE_PV_Total um Mitternacht auf null gesetzt, Warum ?
List Statistics:
nternals:
DEF Gartenhaus|HZ.wu|SmartMeter|GoodWe
DEV_REGEXP Gartenhaus|HZ.wu|SmartMeter|GoodWe
FUUID 5ca45975-f33f-b6d9-79f8-5c51e93ce6ad844a
NAME Statistics
NOTIFYDEV global,Gartenhaus|HZ.wu|SmartMeter|GoodWe
NR 496
NTFY_ORDER 10-Statistics
PREFIX stat
STATE Updated stats for: HZ.wu
TYPE statistics
OLDREADINGS:
READINGS:
2024-12-15 12:29:36 monitoredDevicesMQTT_DEVICE Gartenhaus,HZ.wu,SmartMeter
2024-12-16 04:58:48 monitoredDevicesModbusAttr GoodWe
2024-12-18 05:59:55 nextPeriodChangeCalc 2024-12-18 06:59:55
2024-12-18 06:41:21 state Updated stats for: HZ.wu
fhem:
modulVersion $Date: 2024-05-18 09:37:34 +0200 (Sat, 18 May 2024) $
nextPeriodChangeTime 1734501595
Attributes:
deltaReadings H2Otoday,Einspeisung_Total,Bezug_Total,E_PV_Total
event-on-update-reading no
icon virtualbox-alt
ignoreDefaultAssignments 1
periodChangePreset 5
room FHEM,Garten,Heizraum,PV,Zählerschrank
singularReadings Gartenhaus:Pressure:Tendency:3h|HZ.wu:H2Otoday:Delta:Hour
tendencyReadings Pressure
So sehen die Statistikdaten aus:
2024-12-17_11:48:54 GoodWe statE_PV_Total: Hour: 0 Day: 0 Month: 0 Year: 0 (since: 2024-12-17_11:48:54 )
.
.
.
2024-12-17_16:39:56 GoodWe statE_PV_Total: Hour: 0.0 Day: 1.3 Month: 1.3 Year: 1.3 (since: 2024-12-17_11:48:54 )
2024-12-17_23:59:55 GoodWe statE_PV_Total: Hour: 0.0 Day: 0.0 Month: 0.0 Year: 0.0 (since: 2024-12-18 )
Die Frage ist also, warum bei der letzten Zeile 2024-12-17_23:59:55 alles wieder auf Null gesetzt wird ?
VG Klaus
Kann es sein, dass das GoodWe-Device gelöscht und wieder neu angelegt wird?
Dann gingen nämlich auch die alten Readings flöten, die statistics intern braucht.... (Symptom "since")
Das Device GoodWe wurde nicht gelöscht. (Habe ich mit viel Arbeit definiert)
Das Reading E_PV_Total existiert auch noch.
Ich hänge mal ein list von GoodWe ran (Vorsicht, sehr groß)
Internals:
DEF 247 60 192.168.1.20:502 TCP
DeviceName 192.168.1.20:502
EXPECT idle
FD 70
FUUID 6759b50a-f33f-b6d9-db76-ec8519f75d6459c4
IODev GoodWe
Interval 60
LASTOPEN 1734362150.49156
MODBUSID 247
MODE master
MODULEVERSION Modbus 4.5.6 - 7.11.2023
NAME GoodWe
NOTIFYDEV global
NR 709
NTFY_ORDER 50-GoodWe
PARTIAL
PROTOCOL TCP
STATE <div style="color:white ; text-align:left"><b>Leistung Zaehler:         -248 Watt </b>   ( - => Bezug + => Einspeisung )</div>
<div style="color:white ; text-align:left"><b>Leistung Haus:             284 Watt </b></div>
<div style="text-align:left">   </div>
<div style="color:yellow ; text-align:left"><b>Tägliche Werte:</b></div>
<div style="color:yellow ; text-align:left">==============================</div>
<div style="color:white ; text-align:left">Energie Verbrauch:                 2.9 kw/h</div>
<div style="color:white ; text-align:left">Energie Einspeisung:             0.0 kw/h</div>
<div style="color:white ; text-align:left">Energie Battery Entladung:     0.0 kw/h</div>
<div style="color:white ; text-align:left">Energie Battery Ladung:         0.0 kw/h</div>
<div style="color:white ; text-align:left">Energie PV Ertrag:                 0 kw/h</div>
<div style="color:yellow ; text-align:left">==============================</div>
<div style="text-align:left">   </div>
<div style="text-align:left">PV Strang 1:     19 Watt</div>
<div style="text-align:left">PV Strang 1:     192.8 Volt</div>
<div style="text-align:left">PV Strang 2:     17 Watt</div>
<div style="text-align:left">PV Strang 2:     210.4 Volt</div>
<div style="text-align:left">PV Total DC:     36 Watt</div>
<div style="text-align:left">   </div>
<div style="text-align:left">Akku-Power:     5 Watt   ( - => Laden + => Entladen)</div>
<div style="text-align:left">Akku-Level:       13 %</div>
<div style="text-align:left">Akku-Health:     100 %</div>
<div style="text-align:left">Akku-Status:     Standby</div>
<div style="text-align:left">Akku-Temp:       17.5 °C</div>
<div style="text-align:left">   </div>
<div style="text-align:left">BMS Version:     7</div>
<div style="text-align:left">DSP Version:     12. 197</div>
<div style="text-align:left">ARM Version:     29. 290</div>
<div style="text-align:left">   </div>
<div style="text-align:left">WR Temp:         32.7 °C</div>
<div style="text-align:left">   </div>
<div style="color:green ; text-align:left">Status: opened</div>
TCPConn 1
TYPE ModbusAttr
devioLoglevel 3
devioNoSTATE 1
eventCount 3383
nextOpenDelay 60
DICACHE:
3:
UNPACK
EXPRS:
EXTRAS:
FNAMES:
OLDREADINGS:
PICACHE:
h35103:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35105:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35107:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35109:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35121:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35126:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35140:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35174:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35183:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35184:
bswapRegs
decode
encode
expr
format
ignoreExpr
map 0:Akku disconnected, 1:Standby, 2:Discharging, 3:Charging, 4: Waiting for charge, 5: Waiting for discharge
mapDefault
revRegs
rmapDefault
h35191:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35193:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35202:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35205:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35208:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h35211:
bswapRegs
decode
encode
expr $val/10
format %.1f
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h37003:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h37007:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h37008:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
QUEUE:
READ:
BUFFER
READINGS:
2024-12-18 08:49:59 AC_ActivePower -248
2024-12-17 11:50:06 ARM_SVN_Version 290
2024-12-15 12:29:42 ARM_Software_Version 29
2024-12-18 08:50:00 Akku_Mode Standby
2024-12-14 20:58:19 BMS_Error_Code_H 0
2024-12-14 20:58:24 BMS_Error_Code_L 0
2024-12-18 08:43:02 BMS_Pack_Temperature 17.5
2024-12-16 20:25:01 BMS_Software_Version 7
2024-12-15 10:47:27 BMS_Warning_Code_H 0
2024-12-15 10:47:21 BMS_Warning_Code_L 0
2024-12-15 12:29:40 DSP_SVN_Version 197
2024-12-15 12:29:40 DSP_Software_Version 12
2024-12-18 08:49:01 E_Battery_Charge_Day 0.0
2024-12-18 08:43:01 E_Battery_Discharge_Day 0.0
2024-12-18 08:44:02 E_Day_Outbound 0.0
2024-12-18 08:46:01 E_Load_Day 2.9
2024-12-18 08:43:00 E_PV_Day 0
2024-12-18 08:27:00 E_PV_Total 6.9
2024-12-18 08:44:00 Inverter_Temperature 32.7
2024-12-18 08:12:58 L1_Voltage 223.2
2024-12-18 08:14:59 L2_Voltage 226.9
2024-12-15 12:29:50 L3_Voltage 225.5
2024-12-18 08:45:58 PV_1_Power 19
2024-12-18 08:49:58 PV_1_Voltage 192.8
2024-12-18 08:48:58 PV_2_Power 17
2024-12-18 08:47:58 PV_2_Voltage 210.4
2024-12-18 08:45:58 PV_Total_Power 36
2024-12-18 08:50:00 Power_Battery 5
2024-12-18 08:50:00 Power_House 284
2024-12-18 08:48:01 SOC 13
2024-12-18 07:51:01 SOH 100
2024-12-18 08:49:58 statE_PV_Total Hour: 0.0 Day: 0.0 Month: 0.0 Year: 0.0 (since: 2024-12-18 )
2024-12-18 07:59:55 statE_PV_TotalLast Hour: 0.0 Day: 1.3 Month: - Year: - (since: 2024-12-17_11:48:54 )
2024-12-16 16:15:50 state opened
REMEMBER:
lid 247
lname GoodWe
lrecv 1734508200.38973
lsend 1734508200.32722
UPDATECACHE:
h35103:
adr 35103
len 1
objCombi h35103
reading PV_1_Voltage
span 1
type h
h35140:
adr 35140
len 1
objCombi h35140
reading AC_ActivePower
span 1
type h
h35183:
adr 35183
combine h35183 len 1 Power_Battery with h35184 len 1 Akku_Mode
len 1
objCombi h35183
reading Power_Battery
span 2
type h
defptr:
GoodWe 247
gotReadings:
Akku_Mode Standby
Power_Battery 5
helper:
_98_statistics Statistics
lastRead:
h35016 1734262180.57975
h35018 1734262180.58314
h35019 1734262182.37971
h35020 1734432606.64914
h35103 1734508198.25862
h35105 1734507958.24767
h35107 1734508078.26494
h35109 1734508138.25424
h35121 1734505978.10517
h35126 1734506099.20132
h35131 1734262190.78394
h35138 1734281927.68886
h35140 1734508199.32652
h35174 1734507840.4147
h35183 1734508200.39553
h35184 1734508200.39943
h35191 1734506820.2821
h35193 1734507780.37233
h35199 1734280424.12539
h35202 1734507842.56579
h35205 1734507961.46107
h35208 1734508141.47739
h35209 1734278476.34477
h35211 1734507781.4465
h37003 1734507782.51471
h37007 1734508081.47345
h37008 1734504661.27341
h37014 1734377101.68653
Attributes:
comment Inbetriebname: 10.12.2024
dev-h-combine 3
dev-timing-commDelay 1
dev-timing-sendDelay 1
dev-timing-timeout 4
enableControlSet 1
event-min-interval PV_[1-2]_Power:1800,E_.*:1800,SOC:3600,Power_.*:3600,PV_Total_Power:1800,AC_ActivePower:1800
event-on-change-reading AC_ActivePower:40,PV_[1-2]_Power:40,Power_.*:40,Inverter_.*:0.5,PV_Total_Power:50,E_Load_Day:1,E_Battery_.*:0.2,.*
event-on-update-reading ARM_SVN_Version,ARM_Software_Version,BMS_Software_Version,DSP_SVN_Version,DSP_Software_Version,SOH
icon measure_power_meter
obj-h35016-poll once
obj-h35016-reading DSP_Software_Version
obj-h35016-showGet 1
obj-h35018-poll once
obj-h35018-reading DSP_SVN_Version
obj-h35018-showGet 1
obj-h35019-poll once
obj-h35019-reading ARM_Software_Version
obj-h35019-showGet 1
obj-h35020-poll once
obj-h35020-reading ARM_SVN_Version
obj-h35020-showGet 1
obj-h35103-expr $val/10
obj-h35103-format %.1f
obj-h35103-poll 1
obj-h35103-polldelay x10
obj-h35103-reading PV_1_Voltage
obj-h35105-len 2
obj-h35105-poll 1
obj-h35105-polldelay x4
obj-h35105-reading PV_1_Power
obj-h35105-unpack L>
obj-h35107-expr $val/10
obj-h35107-format %.1f
obj-h35107-poll 1
obj-h35107-polldelay x10
obj-h35107-reading PV_2_Voltage
obj-h35109-len 2
obj-h35109-poll 1
obj-h35109-polldelay x4
obj-h35109-reading PV_2_Power
obj-h35109-unpack L>
obj-h35121-expr $val/10
obj-h35121-format %.1f
obj-h35121-poll 1
obj-h35121-polldelay x60
obj-h35121-reading L1_Voltage
obj-h35121-showGet 1
obj-h35126-expr $val/10
obj-h35126-format %.1f
obj-h35126-poll 1
obj-h35126-polldelay x60
obj-h35126-reading L2_Voltage
obj-h35126-showGet 1
obj-h35131-expr $val/10
obj-h35131-format %.1f
obj-h35131-poll once
obj-h35131-polldelay x60
obj-h35131-reading L3_Voltage
obj-h35131-showGet 1
obj-h35140-poll 1
obj-h35140-polldelay x0
obj-h35140-reading AC_ActivePower
obj-h35140-unpack s>
obj-h35174-expr $val/10
obj-h35174-poll 1
obj-h35174-polldelay x15
obj-h35174-reading Inverter_Temperature
obj-h35183-poll 1
obj-h35183-polldelay x0
obj-h35183-reading Power_Battery
obj-h35183-unpack s>
obj-h35184-map 0:Akku disconnected, 1:Standby, 2:Discharging, 3:Charging, 4: Waiting for charge, 5: Waiting for discharge
obj-h35184-poll 1
obj-h35184-polldelay x0
obj-h35184-reading Akku_Mode
obj-h35191-expr $val/10
obj-h35191-len 2
obj-h35191-poll 1
obj-h35191-polldelay x30
obj-h35191-reading E_PV_Total
obj-h35191-showGet 1
obj-h35191-unpack L>
obj-h35193-expr $val/10
obj-h35193-len 2
obj-h35193-poll 1
obj-h35193-polldelay x10
obj-h35193-reading E_PV_Day
obj-h35193-showGet 1
obj-h35193-unpack L>
obj-h35202-expr $val/10
obj-h35202-format %.1f
obj-h35202-poll 1
obj-h35202-polldelay x10
obj-h35202-reading E_Day_Outbound
obj-h35205-expr $val/10
obj-h35205-poll 1
obj-h35205-polldelay x15
obj-h35205-reading E_Load_Day
obj-h35208-expr $val/10
obj-h35208-format %.1f
obj-h35208-poll 1
obj-h35208-polldelay x10
obj-h35208-reading E_Battery_Charge_Day
obj-h35211-expr $val/10
obj-h35211-format %.1f
obj-h35211-poll 1
obj-h35211-polldelay x10
obj-h35211-reading E_Battery_Discharge_Day
obj-h37003-expr $val/10
obj-h37003-poll 1
obj-h37003-polldelay x10
obj-h37003-reading BMS_Pack_Temperature
obj-h37003-showGet 1
obj-h37006-reading BMS_Error_Code_L
obj-h37006-showGet 1
obj-h37007-poll 1
obj-h37007-polldelay x5
obj-h37007-reading SOC
obj-h37007-showGet 1
obj-h37008-poll 1
obj-h37008-polldelay x60
obj-h37008-reading SOH
obj-h37008-showGet 1
obj-h37010-reading BMS_Warning_Code_L
obj-h37010-showGet 1
obj-h37012-reading BMS_Error_Code_H
obj-h37012-showGet 1
obj-h37013-reading BMS_Warning_Code_H
obj-h37013-showGet 1
obj-h37014-poll once
obj-h37014-reading BMS_Software_Version
obj-h37014-showGet 1
openTimeout 5
room PV
stateFormat <div style="color:white ; text-align:left"><b>Leistung Zaehler:         AC_ActivePower Watt </b>   ( - => Bezug + => Einspeisung )</div>
<div style="color:white ; text-align:left"><b>Leistung Haus:             Power_House Watt </b></div>
<div style="text-align:left">   </div>
<div style="color:yellow ; text-align:left"><b>Tägliche Werte:</b></div>
<div style="color:yellow ; text-align:left">==============================</div>
<div style="color:white ; text-align:left">Energie Verbrauch:                 E_Load_Day kw/h</div>
<div style="color:white ; text-align:left">Energie Einspeisung:             E_Day_Outbound kw/h</div>
<div style="color:white ; text-align:left">Energie Battery Entladung:     E_Battery_Discharge_Day kw/h</div>
<div style="color:white ; text-align:left">Energie Battery Ladung:         E_Battery_Charge_Day kw/h</div>
<div style="color:white ; text-align:left">Energie PV Ertrag:                 E_PV_Day kw/h</div>
<div style="color:yellow ; text-align:left">==============================</div>
<div style="text-align:left">   </div>
<div style="text-align:left">PV Strang 1:     PV_1_Power Watt</div>
<div style="text-align:left">PV Strang 1:     PV_1_Voltage Volt</div>
<div style="text-align:left">PV Strang 2:     PV_2_Power Watt</div>
<div style="text-align:left">PV Strang 2:     PV_2_Voltage Volt</div>
<div style="text-align:left">PV Total DC:     PV_Total_Power Watt</div>
<div style="text-align:left">   </div>
<div style="text-align:left">Akku-Power:     Power_Battery Watt   ( - => Laden + => Entladen)</div>
<div style="text-align:left">Akku-Level:       SOC %</div>
<div style="text-align:left">Akku-Health:     SOH %</div>
<div style="text-align:left">Akku-Status:     Akku_Mode</div>
<div style="text-align:left">Akku-Temp:       BMS_Pack_Temperature °C</div>
<div style="text-align:left">   </div>
<div style="text-align:left">BMS Version:     BMS_Software_Version</div>
<div style="text-align:left">DSP Version:     DSP_Software_Version. DSP_SVN_Version</div>
<div style="text-align:left">ARM Version:     ARM_Software_Version. ARM_SVN_Version</div>
<div style="text-align:left">   </div>
<div style="text-align:left">WR Temp:         Inverter_Temperature °C</div>
<div style="text-align:left">   </div>
<div style="color:green ; text-align:left">Status: state</div>
userReadings PV_Total_Power:PV_[1-2]_Power.*
{ReadingsVal("GoodWe","PV_1_Power",0) + ReadingsVal("GoodWe","PV_2_Power",0)} ,
Power_House
{if (ReadingsVal("GoodWe","Akku_Mode","") eq "Discharging")
{abs(ReadingsVal("GoodWe","AC_ActivePower",0)) + ReadingsVal("GoodWe","PV_Total_Power",0) + ReadingsVal("GoodWe","Power_Battery",0) }
elsif (ReadingsVal("GoodWe","Akku_Mode","") eq "Charging")
{abs(ReadingsVal("GoodWe","AC_ActivePower",0)) + ReadingsVal("GoodWe","PV_Total_Power",0) - abs(ReadingsVal("GoodWe","Power_Battery",0)) }
elsif (ReadingsVal("GoodWe","Akku_Mode","") eq "Standby")
{abs(ReadingsVal("GoodWe","AC_ActivePower",0)) + ReadingsVal("GoodWe","PV_Total_Power",0) }
}
verbose 0
Zitat von: Rampler am 18 Dezember 2024, 09:01:57Das Reading E_PV_Total existiert auch noch.
Hmm, "noch" oder "wieder"?
Das Device scheint in der Tat nicht gelöscht worden zu sein, aber wie schaut es mit den (statistics-) Readings aus? Kenne ModbusAttr (noch) nicht, aber HTTPMOD kennt z.B. auch die Funktion, veraltete Readings zu löschen, wenn nichts neues kommt...
Müßte in den Code von statistics schauen, aber vermutlich wird da nichts gelöscht, wenn keine updates von einem Reading kommen (oder das Reading gelöscht wird); kann es sein, dass du das stat-Reading (statE_PV_Total) mal (aus Versehen) gelöscht hattest und es deswegen kurz vor Mitternacht nicht mehr da war?
Zitat von: Beta-User am 18 Dezember 2024, 12:15:33Hmm, "noch" oder "wieder"?
Das Device scheint in der Tat nicht gelöscht worden zu sein, aber wie schaut es mit den (statistics-) Readings aus? Kenne ModbusAttr (noch) nicht, aber HTTPMOD kennt z.B. auch die Funktion, veraltete Readings zu löschen, wenn nichts neues kommt...
Müßte in den Code von statistics schauen, aber vermutlich wird da nichts gelöscht, wenn keine updates von einem Reading kommen (oder das Reading gelöscht wird); kann es sein, dass du das stat-Reading (statE_PV_Total) mal (aus Versehen) gelöscht hattest und es deswegen kurz vor Mitternacht nicht mehr da war?
Ich sage es mal so, nicht wissentlich. (Bin mir eigentlich sicher, dass ich es nicht gelöscht habe (traue aber mir selbst gerade nicht mehr))
Was ich allerdings gestern gemacht hatte, ich habe ein altes Reading (E_PV_Day) aus dem Statistikmodul entfernt und statt dessen das E_PV_Total hinzu gefügt. Im Zuge dessen natürlich auch die alten statE_PV_Day gelöscht. Vieleicht kam dadurch das Statiskmodul durcheinander.
Warten wir mal bis morgen früh ab, habe sicherheitshalber auch mal das FHEM restartet.
Ich werde berichten.
Tja, was soll ich sagen, entweder hat der FHEM restart geholfen, oder das Reading statE_PV_Total hatte gefehlt.
Seis drum jetzt funktioniert es wie gewollt:
2024-12-18_23:59:55 GoodWe statE_PV_Total: Hour: 0.0 Day: 0.0 Month: 3.8 Year: 3.8 (since: 2024-12-18 )
Danke nochmal für eure Hilfe
VG Klaus