hi
hab folgendes Problem bekomme ein Reading von z.b. 9000 kwh nach 24 stunden hab ich 9020 kwh
wie bekomme ich das hin das ich nur die 20 kwh angezeigt werden und diese am nächten tag wieder auf 0 resetet wird
Sxhau dir mal das Modul ,,HourCounter" an.
MfG
Ja hab ich finde aber keine Lösung für mein Problem oder es funktioniert nicht wie ich es gemacht habe irgend ein tip
defmod Zeahler_WearmepumpeCounter HourCounter Zeahler_Wearmepumpe:Total_In.1 Zeahler_Wearmepumpe:Total_In.0
attr Zeahler_WearmepumpeCounter DbLogExclude .*
attr Zeahler_WearmepumpeCounter group Wearmepumpe
attr Zeahler_WearmepumpeCounter room 7.1_Energie
setstate Zeahler_WearmepumpeCounter 0
defmod Zeahler_Wearmepumpe MQTT_DEVICE
attr Zeahler_Wearmepumpe DbLogExclude .*
attr Zeahler_Wearmepumpe DbLogInclude Total_In,Power_curr
attr Zeahler_Wearmepumpe IODev Mosquitto
attr Zeahler_Wearmepumpe event-on-change-reading .*
attr Zeahler_Wearmepumpe group Wearmepumpe
attr Zeahler_Wearmepumpe room 7.1_Energie
attr Zeahler_Wearmepumpe stateFormat Verbraucht Total_In kW - Power_curr W
attr Zeahler_Wearmepumpe subscribeReading_Total_in /SmartHome/Keller/ZeahlerWearmepumpe/tele/SENSOR
attr Zeahler_Wearmepumpe subscribeReading_state /SmartHome/Keller/ZeahlerWearmepumpe/tele/LWT
attr Zeahler_Wearmepumpe userReadings Total_In { my @a = split '[:,]',ReadingsVal($name,'Total_in',"");;$a[6] },\
Total_Out { my @a = split '[:,]',ReadingsVal($name,'Total_in',"");;$a[8] },\
Power_curr { my @a = split '[:, ]',ReadingsVal($name,'Total_in',"");;$a[10] }
setstate Zeahler_Wearmepumpe Verbraucht 9789 kW - 2243 W
setstate Zeahler_Wearmepumpe 2019-11-01 19:10:46 Energie 0
setstate Zeahler_Wearmepumpe 2019-11-01 19:10:46 Power_curr 2243
setstate Zeahler_Wearmepumpe 2019-11-01 19:10:46 Total_In 9789
setstate Zeahler_Wearmepumpe 2019-11-01 19:10:46 Total_Out 9789
setstate Zeahler_Wearmepumpe 2019-11-01 15:40:46 Total_Out_24 7.8296
setstate Zeahler_Wearmepumpe 2019-11-01 19:10:46 Total_in {"Time":"2019-11-01T19:10:46","SML":{"Total_in":9789,"Total_out":9789,"Power_curr":2243 }}
setstate Zeahler_Wearmepumpe 2019-11-01 19:10:46 transmission-state incoming publish received
Im Modul gibt es Readings ,,AppCountsPerDay"
Das sollte dir helfen deinen Tagesverbrauch zu ermitteln. Das Reading beginnt täglich bei 0
Zitat von: DrNuke33 am 01 November 2019, 19:31:00
defmod Zeahler_WearmepumpeCounter HourCounter Zeahler_Wearmepumpe:Total_In.1 Zeahler_Wearmepumpe:Total_In.0
Versteh ich nicht, wie soll das funktionieren?
HourCounter reagiert eigentlich auf das Ein- und Ausschalten von Geräten. Für einen variierenden Zählerwert ist das nicht gedacht.
Ich nutze in solchen Fällen einen händischen Ansatz: Etwa gegen Mitternacht wird der Zählerwert in einem Reading gespeichert. Ein Userreading errechnet bei jeder Änderung des Zählerstands den Differenzwert aus aktuellem und mitternächtlichem Zählerstand. Damit kann man dann machen was man will.