[gelöst] shelly Zähler nach reset auf 0

Begonnen von ch.eick, 23 Mai 2021, 10:31:18

Vorheriges Thema - Nächstes Thema

ch.eick

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
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Nobbynews

attr Shelly7 userReadings energyTotal:energy.* monotonic { ReadingsVal($name,"energy",0)/1000 }

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

ch.eick

Vielen Dank,
das schaue ich mir gleich mal an.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

GeZi3560

#4
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.

Raspberry Pi 4 4GB, MariaDB,2 Cul V3 868 ,1 Cul V3, 433, Zwave-USB, Conbee2, DeConz, MAX WT und Ventile,HM, Somfy, Fibaro, Shellys, Tradfri, Lidl Zigbee

ch.eick

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
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick