Hallo zusammen,
nach einem Reset/Reboot fällt bei einem shelly der energy_* counter auf Null und begint wieder von neuem.
Hat von Euch jemand schon eine Lösung, wie man das abfangen kann und z.B. ein reading mit kontinuierlichem Zähler bekommt?
VG
Christian
attr Shelly7 userReadings energyTotal:energy.* monotonic { ReadingsVal($name,"energy",0)/1000 }
Hallo
oder auch gleich die Osten errechnen.
So mach ich es (danke der aktiven ForumHilfe...) und berechne gleich die Kosten
attr Softub userReadings relay_0_energy_kWh:relay_0_energy.* monotonic {\
ReadingsVal($NAME,"relay_0_energy",0)/60/1000.0},\
Kosten_Euro:relay_0_energy_kWh.* {\
sprintf("%.2f",ReadingsVal($NAME,"relay_0_energy_kWh",0)*.2);;;;}\
So berechne ich die Kosten unseres Whirlpools. Das .2 stehet für die Kosten je kWh - musst du an deine Kosten anpassen
Gruß
Helmut
Vielen Dank,
das schaue ich mir gleich mal an.
Ich klink mich mal hier ein.
Ich hab das gleiche Problem mit einen Shelly EM.
Nach reboot stehen die kWh auf 0.
Unter Readings steht "relay_0_energy_total" jedoch auf dem korrekten Wert.
Hab die Attribute aus den vorgesehen Templates.
Leider versteh ich nicht wie das alles zusammenhängt.
userReadings: relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
Hier ein List des Devices:
Internals:
CID shelly1pm_68C63AFAE2D2
DEF shelly1pm_68C63AFAE2D2
DEVICETOPIC MQTT2_shelly1pm_68C63AFAE2D2
FUUID 618a519d-f33f-783e-e1ce-77bfb0e11d2f3630
IODev myBroker
LASTInputDev myBroker
MSGCNT 56823
NAME MQTT2_shelly1pm_68C63AFAE2D2
NR 1123
STATE off
TYPE MQTT2_DEVICE
myBroker_MSGCNT 56823
myBroker_TIME 2021-11-16 13:38:31
READINGS:
2021-11-16 13:38:31 0_hwID 28229c76e0013cef
2021-11-16 13:38:31 0_tC 6.6
2021-11-16 13:38:31 0_tF 43.8
2021-11-16 13:38:31 1_hwID 28d2db76e0013c25
2021-11-16 13:38:31 1_tC 6.5
2021-11-16 13:38:31 1_tF 43.7
2021-11-16 13:38:31 2_hwID 287f0a76e0013ca0
2021-11-16 13:38:31 2_tC 6.4
2021-11-16 13:38:31 2_tF 43.6
2021-11-15 11:28:14 IODev myBroker
2021-11-16 01:40:12 actions_stats_skipped 0
2021-11-09 12:03:20 attrTemplateVersion 20200831
2021-11-16 01:40:12 cfg_changed_cnt 0
2021-11-16 01:40:12 cloud_connected false
2021-11-16 01:40:12 cloud_enabled false
2021-11-16 01:40:12 event
2021-11-16 01:40:12 event_cnt 0
2021-11-16 01:40:12 ext_sensors_temperature_unit C
2021-11-16 13:38:31 ext_temperature_0 6.6
2021-11-16 01:40:12 ext_temperature_0_hwID 28229c76e0013cef
2021-11-16 01:40:12 ext_temperature_0_tC 5.88
2021-11-16 01:40:12 ext_temperature_0_tF 42.58
2021-11-16 13:38:31 ext_temperature_1 6.5
2021-11-16 01:40:12 ext_temperature_1_hwID 28d2db76e0013c25
2021-11-16 01:40:12 ext_temperature_1_tC 6.12
2021-11-16 01:40:12 ext_temperature_1_tF 43.02
2021-11-16 13:38:31 ext_temperature_2 6.4
2021-11-16 01:40:12 ext_temperature_2_hwID 287f0a76e0013ca0
2021-11-16 01:40:12 ext_temperature_2_tC 5.44
2021-11-16 01:40:12 ext_temperature_2_tF 41.79
2021-11-16 13:38:31 ext_temperature_f_0 43.8
2021-11-16 13:38:31 ext_temperature_f_1 43.7
2021-11-16 13:38:31 ext_temperature_f_2 43.6
2021-11-16 01:40:12 fs_free 148843
2021-11-16 01:40:12 fs_size 233681
2021-11-16 01:40:12 fw_ver 20211109-130756/v1.11.7-g682a0db
2021-11-16 01:40:12 has_update false
2021-11-16 01:40:12 id shelly1pm-68C63AFAE2D2
2021-11-16 13:38:31 input0 0
2021-11-16 01:40:12 inputs_1_event
2021-11-16 01:40:12 inputs_1_event_cnt 0
2021-11-16 01:40:12 inputs_1_input 0
2021-11-16 01:40:12 ip 192.168.3.56
2021-11-13 01:42:52 loadState off
2021-11-16 01:40:12 mac 68C63AFAE2D2
2021-11-16 01:40:12 meters_1_counters_1 0.000
2021-11-16 01:40:12 meters_1_counters_2 0.000
2021-11-16 01:40:12 meters_1_counters_3 0.000
2021-11-16 01:40:12 meters_1_is_valid true
2021-11-16 01:40:12 meters_1_overpower 0.00
2021-11-16 01:40:12 meters_1_power 0.00
2021-11-16 01:40:12 meters_1_timestamp 1637026812
2021-11-16 01:40:12 meters_1_total 0
2021-11-16 01:40:12 model SHSW-PM
2021-11-16 01:40:12 mqtt_connected true
2021-11-16 01:40:12 new_fw false
2021-11-16 01:40:12 online true
2021-11-16 13:38:31 overtemperature 0
2021-11-16 01:40:12 ram_free 37700
2021-11-16 01:40:12 ram_total 50472
2021-11-16 13:38:31 relay0 off
2021-11-16 13:38:31 relay_0_energy 0
2021-11-13 17:19:28 relay_0_energy_total 332706
2021-11-16 13:38:31 relay_0_kWh 0.00
2021-11-16 13:38:31 relay_0_power 0.00
2021-11-16 01:40:12 relays_1_has_timer false
2021-11-16 01:40:12 relays_1_ison false
2021-11-16 01:40:12 relays_1_overpower false
2021-11-16 01:40:12 relays_1_source input
2021-11-16 01:40:12 relays_1_timer_duration 0
2021-11-16 01:40:12 relays_1_timer_remaining 0
2021-11-16 01:40:12 relays_1_timer_started 0
2021-11-16 01:40:12 serial 2100
2021-11-16 13:38:31 state off
2021-11-16 13:38:31 temperature 24.29
2021-11-16 13:38:31 temperature_f 75.72
2021-11-16 13:38:31 temperature_status Normal
2021-11-16 01:40:12 time 01:40
2021-11-16 01:40:12 tmp_is_valid true
2021-11-16 01:40:12 tmp_tC 23.20
2021-11-16 01:40:12 tmp_tF 73.76
2021-11-16 01:40:12 unixtime 1637023212
2021-11-09 12:03:20 update_beta_version 20211025-175038/v1.11.7-rc1-g239774e
2021-11-16 01:40:12 update_has_update false
2021-11-16 01:40:12 update_new_version 20211109-130756/v1.11.7-g682a0db
2021-11-16 01:40:12 update_old_version 20211109-130756/v1.11.7-g682a0db
2021-11-16 01:40:12 update_status idle
2021-11-16 01:40:12 uptime 202844
2021-11-16 01:40:12 wifi_sta_connected true
2021-11-16 01:40:12 wifi_sta_ip 192.168.3.56
2021-11-16 01:40:12 wifi_sta_rssi -70
2021-11-16 01:40:12 wifi_sta_ssid CarpenterWlan
2021-11-09 12:03:20 x_mqttcom set announce
Attributes:
alias Gewächshaus IP56
comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen"; my $light = ReadingsVal($name,"state","off"); my $cons = ReadingsVal($name,"relay_0_power","unknown"); my $total = ReadingsVal($name,"relay_0_kWh","unknown"); my $temp = ReadingsVal($name,"ext_temperature_0","unknown"); "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Watt: $cons / Verbrauch: $total kWh<b><br/> Temp.Grün: $temp °C</div>"}
event-on-change-reading state:,relay_0_kWh:,0_tC:,1_tC:,2_tC:,relay_0_power:,relay_0:,relay_0_energy
group Geräte
icon icoTempHeizung
model shelly1_w_energy_measuring
readingList shellies/shelly1pm-68C63AFAE2D2/relay/0:.* state
shellies/shelly1pm-68C63AFAE2D2/relay/0:.* relay0
shellies/shelly1pm-68C63AFAE2D2/input/0:.* input0
shellies/shelly1pm-68C63AFAE2D2/online:.* online
shellies/announce:.* { $EVENT =~ m,..id...shelly1pm-68C63AFAE2D2...mac.*, ? json2nameValue($EVENT) : return }
shellies/shelly1pm-68C63AFAE2D2/announce:.* { json2nameValue($EVENT) }
shellies/shelly1pm-68C63AFAE2D2/relay/0/power:.* relay_0_power
shellies/shelly1pm-68C63AFAE2D2/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
shellies/shelly1pm-68C63AFAE2D2/temperature:.* temperature
shellies/shelly1pm-68C63AFAE2D2/temperature_f:.* temperature_f
shellies/shelly1pm-68C63AFAE2D2/input_event/0:.* { json2nameValue($EVENT) }
shellies/shelly1pm-68C63AFAE2D2/overtemperature:.* overtemperature
shellies/shelly1pm-68C63AFAE2D2/relay/0/energy:.* relay_0_energy
shellies/shelly1pm-68C63AFAE2D2/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
shellies/shelly1pm-68C63AFAE2D2/longpush/0:.* longpush_0
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/info:.* { json2nameValue($EVENT) }
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/temperature_status:.* temperature_status
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperature/0:.* ext_temperature_0
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperature_f/0:.* ext_temperature_f_0
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperature/1:.* ext_temperature_1
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperature_f/1:.* ext_temperature_f_1
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperature/2:.* ext_temperature_2
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperature_f/2:.* ext_temperature_f_2
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperatures:.* { json2nameValue($EVENT) }
shelly1pm_68C63AFAE2D2:shellies/shelly1pm-68C63AFAE2D2/ext_temperatures_f:.* { json2nameValue($EVENT) }
room Gewächshaus,MQTT2_DEVICE
setList relay0:on,off,toggle shellies/shelly1pm-68C63AFAE2D2/relay/0/command $EVTPART1
toggle:noArg shellies/shelly1pm-68C63AFAE2D2/relay/0/command toggle
off:noArg shellies/shelly1pm-68C63AFAE2D2/relay/0/command off
on:noArg shellies/shelly1pm-68C63AFAE2D2/relay/0/command on
x_update:noArg shellies/shelly1pm-68C63AFAE2D2/command update_fw
x_mqttcom shellies/shelly1pm-68C63AFAE2D2/command $EVTPART1
setStateList on off toggle
userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
Danke für euer Feedback.
Zitat von: GeZi3560 am 16 November 2021, 13:31:06
Ich klink mich mal hier ein.
Ich hab das gleiche Problem mit einen Shelly EM.
Nach reboot stehen die kWh auf 0.
Unter Readings steht "relay_0_energy_total" jedoch auf dem korrekten Wert.
Hab die Attribute aus den vorgesehen Templates.
Leider versteh ich nicht wie das alles zusammenhängt.
Das reading relay_0_kWh wird aus dem Shelly ausgelesen und dort geht es leider bei manchen Aktivitäten verloren.
Durch die Funktion monotonic wird innerhalb von FHEM im Device ein weiteres reading erzeugt, das monoton einfach immer weiter Zählt.
Passiert es dann, das das quell reading relay_0_energy wieder bei Null beginnt, so werden die weiteren Werte auf das reading relay_0_energy_total addiert.
Somit ist das reading relay_0_energy nur der Wert nach dem letzten reboot.
VG
Christian