Hi!
Ich hatte bisher nur Shelly 3EM im Einsatz. Dafür gibt es ein Template. Nun habe ich mehrere Shelly EM's verbaut. Jedoch finde ich hierzu kein passendes Template? Ich habe auch schon im Forum gesucht und keinen anderen passenden Beitrag gefunden. Jedoch habe ich einen Revision Eintrag gefunden:
Revision 23391: 36_Shelly.pm: Version erlaubt Nutzung von ShellyEM
36_Shelly.pm: Version erlaubt Nutzung von ShellyEM
Source: Revision 23391: 36_Shelly.pm: Version erlaubt Nutzung von ShellyEM
Ich habe daraufhin einfach mal testweiße "shelly1_w_energy_measuring" als Template genommen. Erst einmal kommt ein Fehler Userreading Nachfrage. Habe hier bereits beide Optionen getestet (Wobei nur eine Option mit Userreading eigentlich Sinn macht). Aber bei beiden bekomme ich keinerlei Werte angezeigt.
Verbrauch: unknown / Total: unknown/ Temp: -100 °C
Die Installation ist Uptodate.
Übersehe ich das passende Template etwa?
Wie hast du eingebunden?
Per Shelly-Modul? (zumindest schreibst du davon) Da gibt es mWn kein Template, sondern Attrubute: model und gegebenenfalls mode.
Und da gibt es model 1PM...
Oder mqtt besser mqtt2?
Mqtt2_Server in fhem und mqtt beim Shelly aktivieren -> mqtt2_Device und da dann attrTemplate.
Ob es da eines für 1PM gibt weiß ich grad nicht.
Poste doch wenigstens ein list vom Device (in code-Tags, das '#' im "Menü")...
Gruß, Joachim
Ahoj,
eingebunden mit MQTT2. Und genau das passende attrTemplate bin ich am suchen. 1PM wäre ja auch wieder nicht korrekt, habe ja die EM's. Also nur Verbraucherzähler mit Messzange.
Internals:
CID shellyem_98CDAC1EA52F
DEF shellyem_98CDAC1EA52F
DEVICETOPIC MQTT2_shellyem_98CDAC1EA52F
FUUID 6184d776-f33f-53f2-7758-d5c3ffdc62f0bae5
IODev myBroker
LASTInputDev myBroker
MSGCNT 1480
NAME MQTT2_shellyem_98CDAC1EA52F
NR 599
STATE Relay: off,<br>P1: 2.37 W / Total P1: unknown kWh<br>P2: 7.10 W / Total P2: unknown kWh<br>P3: unknown W / Total P3: unknown kWh
TYPE MQTT2_DEVICE
myBroker_MSGCNT 1480
myBroker_TIME 2021-11-05 08:57:33
READINGS:
2021-11-05 08:04:25 IODev myBroker
2021-11-05 08:56:53 emeter_0_energy 0
2021-11-05 08:57:33 emeter_0_power 2.37
2021-11-05 08:57:33 emeter_0_reactive_power 0.00
2021-11-05 08:56:53 emeter_0_returned_energy 0
2021-11-05 08:57:33 emeter_0_total 23.5
2021-11-05 08:57:33 emeter_0_total_returned 0.0
2021-11-05 08:57:33 emeter_0_voltage 235.74
2021-11-05 08:56:53 emeter_1_energy 7
2021-11-05 08:56:53 emeter_1_energy_total 1654
2021-11-05 08:57:33 emeter_1_power 7.10
2021-11-05 08:57:33 emeter_1_reactive_power 12.20
2021-11-05 08:56:53 emeter_1_returned_energy 0
2021-11-05 08:57:33 emeter_1_total 470.8
2021-11-05 08:57:33 emeter_1_total_returned 0.0
2021-11-05 08:57:33 emeter_1_voltage 235.74
2021-11-05 08:04:32 fw_ver 20210909-150325/v1.11.4-DNSfix-ge6b2f6d
2021-11-05 08:04:32 id shellyem-98CDAC1EA52F
2021-11-05 08:04:32 ip 192.168.1.76
2021-11-05 08:04:32 mac 98CDAC1EA52F
2021-11-05 08:04:32 model SHEM
2021-11-05 08:04:32 new_fw false
2021-11-05 08:04:32 online true
2021-11-05 08:57:33 relay0 off
2021-11-05 08:57:33 state off
Attributes:
alias shelly-em-uv-og-p1-1
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,"temperature","-100"); "<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>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
model shelly1_w_energy_measuring
readingList shellies/shellyem-98CDAC1EA52F/relay/0:.* state
shellies/shellyem-98CDAC1EA52F/relay/0:.* relay0
shellies/shellyem-98CDAC1EA52F/input/0:.* input0
shellies/shellyem-98CDAC1EA52F/online:.* online
shellies/announce:.* { $EVENT =~ m,..id...shellyem-98CDAC1EA52F...mac.*, ? json2nameValue($EVENT) : return }
shellies/shellyem-98CDAC1EA52F/announce:.* { json2nameValue($EVENT) }
shellies/shellyem-98CDAC1EA52F/relay/0/power:.* relay_0_power
shellies/shellyem-98CDAC1EA52F/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
shellies/shellyem-98CDAC1EA52F/temperature:.* temperature
shellies/shellyem-98CDAC1EA52F/temperature_f:.* temperature_f
shellies/shellyem-98CDAC1EA52F/input_event/0:.* { json2nameValue($EVENT) }
shellies/shellyem-98CDAC1EA52F/overtemperature:.* overtemperature
shellies/shellyem-98CDAC1EA52F/relay/0/energy:.* relay_0_energy
shellies/shellyem-98CDAC1EA52F/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
shellies/shellyem-98CDAC1EA52F/longpush/0:.* longpush_0
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/info:.* { json2nameValue($EVENT) }
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/power:.* emeter_0_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/reactive_power:.* emeter_0_reactive_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/voltage:.* emeter_0_voltage
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/total:.* emeter_0_total
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/total_returned:.* emeter_0_total_returned
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/power:.* emeter_1_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/reactive_power:.* emeter_1_reactive_power
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/voltage:.* emeter_1_voltage
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/total:.* emeter_1_total
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/total_returned:.* emeter_1_total_returned
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/energy:.* emeter_0_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/0/returned_energy:.* emeter_0_returned_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/energy:.* emeter_1_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/emeter/1/returned_energy:.* emeter_1_returned_energy
shellyem_98CDAC1EA52F:shellies/shellyem-98CDAC1EA52F/online:.* online
room Unwichtig->Zähler
setList relay0:on,off,toggle shellies/shellyem-98CDAC1EA52F/relay/0/command $EVTPART1
toggle:noArg shellies/shellyem-98CDAC1EA52F/relay/0/command toggle
off:noArg shellies/shellyem-98CDAC1EA52F/relay/0/command off
on:noArg shellies/shellyem-98CDAC1EA52F/relay/0/command on
x_update:noArg shellies/shellyem-98CDAC1EA52F/command update_fw
x_mqttcom shellies/shellyem-98CDAC1EA52F/command $EVTPART1
setStateList on off toggle
stateFormat { my $light = ReadingsVal($name,"state","off"); my $cons1 = ReadingsVal($name,"emeter_0_power","unknown"); my $cons2 = ReadingsVal($name,"emeter_1_power","unknown"); my $cons3 = ReadingsVal($name,"emeter_2_power","unknown"); my $total1 = ReadingsVal($name,"emeter_0_kWh","unknown"); my $total2 = ReadingsVal($name,"emeter_1_kWh","unknown"); my $total3 = ReadingsVal($name,"emeter_2_kWh","unknown"); return qq(Relay: $light,<br>P1: $cons1 W / Total P1: $total1 kWh<br>P2: $cons2 W / Total P2: $total2 kWh<br>P3: $cons3 W / Total P3: $total3 kWh) }
userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)} emeter_0_energy_total:emeter_0_energy:.* monotonic {ReadingsNum("$name","emeter_0_energy",0)}, emeter_1_energy_total:emeter_1_energy:.* monotonic {ReadingsNum("$name","emeter_1_energy",0)}, emeter_2_energy_total:emeter_2_energy:.* monotonic {ReadingsNum("$name","emeter_2_energy",0)}
webCmd :
Da zeigt er ja sogar nen paar Sachen an... nur in der Übersicht ist nach wie vor "Verbrauch: unknown / Total: unknown/ Temp: -100 °C"
Grüße,
Sascha
Jetzt wo klar ist, dass es sich um MQTT und nicht um Shelly handelt -> verschieben ins MQTT-Unterforum...
Kannst du selbst machen...
Gruß, Joachim
Es gibt für den em3 mWn. ein noch verbesserungsfähiges attrTemplate, das sollte eigentlich eine akzeptable Basis sein.
Da (im attrTemplate sollte ein Link stehen) sollten auch die Bausteine zu finden sein, wie man die Anzeige verbessern kann. Bitte erst mal selbst Einarbeiten, will grade nicht nochmal bei den Basics anfangen.
Zitat von: Beta-User am 05 November 2021, 10:48:02
Es gibt für den em3 mWn. ein noch verbesserungsfähiges attrTemplate, das sollte eigentlich eine akzeptable Basis sein.
Da (im attrTemplate sollte ein Link stehen) sollten auch die Bausteine zu finden sein, wie man die Anzeige verbessern kann. Bitte erst mal selbst Einarbeiten, will grade nicht nochmal bei den Basics anfangen.
HI!
VIelen Dank für die Info. Ich dachte nur, da für nahezu alles ein Template da wäre, dass es hierfür auch sicher eines geben müsste. Ich habe nun etwas rumgespielt und für alle bisher verbaute Shellys (Shellies?) mal andere Optionen bzw. andere Templates versucht. Am Besten passt schon das 3em und nicht 1 with power consumpting... beim 3er müsste man eigentlich nur die dritte Phase raushauen und noch einen Weg ermöglichen, die beiden Kanäle umbenennen zu können. Dann ist das glaube ich schon ausreichend.
Aber einen Link für Infos habe ich nicht gefunden?
Zitat von: deathworm am 08 November 2021, 08:18:46
VIelen Dank für die Info. Ich dachte nur, da für nahezu alles ein Template da wäre, dass es hierfür auch sicher eines geben müsste.
Vorab mal Danke für die Rückmeldung :) .
Es gibt für "alles" ein attrTemplate, bei dem jemand sich die Mühe gemacht hat, das irgendwie "allgemeinverträglich" fertig zu entwickeln oder von dem ich dachte, es ist soweit "ok", aber eben noch experimentell - was beim 3-er der Fall zu sein scheint.
Zitat
Aber einen Link für Infos habe ich nicht gefunden?
Es gibt dazu zwei Threads, einer (der spätere) ist https://forum.fhem.de/index.php/topic,111905.0.html. Leider ist der etwas speziell, so dass ich das abweichend zu meinen sonstigen Gewohnheiten vermutlich aus diesem Grund unterlassen habe, in der Beschreibung auf den Thread zu verweisen (im ersten Fall wollte der User das auch irgendwie anders haben, soweit ich mich entsinne).
Wie dem auch sei: wir können gerne ein "em2" basteln, ich bräuchte dann aber ggf. noch "input", was genau mit dem hier gemeint ist:
Zitatdie beiden Kanäle umbenennen zu können
Für mich ist in der Regel ein "raw-listing" ein guter Ausgangspunkt, manchmal braucht es dann noch den MQTT-Verkehr (siehe auch https://forum.fhem.de/index.php/topic,94494.msg872200.html#msg872200).
Sicher. Sofern ich hier iwie helfen kann immer gerne.
War mir schon klar, dass sich auch deswegen jemand hingesetzt haben musste. Ich dachte nur, da die EM's nicht so neu sind, dass es da ja eigentlich was geben müsste.
Ich habe insgesamt 4 von den normalen EM's derzeit im Einsatz. Einen habe ich nun wieder gelöscht und ihn komplett unangefasst im MQTT2 Device Raum gelassen.
Hier nun ein List im "raw" Zustand:
Internals:
CFGFN
CID shellyem_C45BBE5FFF34
DEF shellyem_C45BBE5FFF34
DEVICETOPIC MQTT2_shellyem_C45BBE5FFF34
FUUID 6188f557-f33f-53f2-1057-a64b95090da0a404
IODev myBroker
LASTInputDev myBroker
MSGCNT 516
NAME MQTT2_shellyem_C45BBE5FFF34
NR 14118
STATE ???
TYPE MQTT2_DEVICE
myBroker_MSGCNT 516
myBroker_TIME 2021-11-08 11:20:56
READINGS:
2021-11-08 11:00:55 IODev myBroker
2021-11-08 11:19:55 emeter_0_energy 24
2021-11-08 11:20:56 emeter_0_power 24.06
2021-11-08 11:20:56 emeter_0_reactive_power -39.39
2021-11-08 11:19:55 emeter_0_returned_energy 0
2021-11-08 11:20:56 emeter_0_total 2924.1
2021-11-08 11:20:56 emeter_0_total_returned 0.0
2021-11-08 11:20:56 emeter_0_voltage 235.91
2021-11-08 11:19:55 emeter_1_energy 0
2021-11-08 11:20:56 emeter_1_power 0.00
2021-11-08 11:20:56 emeter_1_reactive_power 0.00
2021-11-08 11:19:55 emeter_1_returned_energy 0
2021-11-08 11:20:56 emeter_1_total 0.0
2021-11-08 11:20:56 emeter_1_total_returned 0.0
2021-11-08 11:20:56 emeter_1_voltage 235.91
2021-11-08 11:20:56 fw_ver 20210909-150325/v1.11.4-DNSfix-ge6b2f6d
2021-11-08 11:20:56 id shelly-em-uv-og-p1-2
2021-11-08 11:20:56 ip 192.168.1.77
2021-11-08 11:20:56 mac C45BBE5FFF34
2021-11-08 11:20:56 model SHEM
2021-11-08 11:20:56 new_fw false
2021-11-08 11:20:56 online true
2021-11-08 11:20:56 relay_0 off
Attributes:
readingList shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/energy:.* emeter_0_energy
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/returned_energy:.* emeter_0_returned_energy
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/energy:.* emeter_1_energy
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/returned_energy:.* emeter_1_returned_energy
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/relay/0:.* relay_0
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/power:.* emeter_0_power
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/reactive_power:.* emeter_0_reactive_power
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/voltage:.* emeter_0_voltage
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/total:.* emeter_0_total
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/0/total_returned:.* emeter_0_total_returned
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/power:.* emeter_1_power
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/reactive_power:.* emeter_1_reactive_power
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/voltage:.* emeter_1_voltage
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/total:.* emeter_1_total
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/emeter/1/total_returned:.* emeter_1_total_returned
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/online:.* online
shellyem_C45BBE5FFF34:shellies/shelly-em-uv-og-p1-2/announce:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
ACHTUNG: Ich habe dem Shelly ein custom MQTT Prefix verpasst. Darum steht dort der Name erneut drin. Falls gewünscht, kann ich das gerne auch erneut rauslöschen. Hier habe ich auch extra den genommen, bei dem nur EIN Kanal in Betrieb ist. Meine anderen sind alle bereits mit beiden Kanälen belastet.
ALso zum Unterschied zum 3EM Template:
- "die beiden Kanäle umbenennen zu können": Der 3EM hat ja direkt Phase1, Phase2, Phase3. Da braucht man nicht mehr wissen, denn das is ja klar und fertig. Der normale EM wird ja vorrangig zur Erfassung der Daten von einzelnen Verbrauchern genutzt. In meinem Fall möchte ich jeden einzelnen Raum erfassen. Darum würde es Sinn machen, wenn ich die jeweilige Kanäle umbenennen könnte. Zum Beispiel "linkes Zimmer", "rechtes Zimmer", "Badezimmer" etc.
- "P1: 4.97 W / Total P1: 0.82 kWh": Anzeige mit Total passt ja auch soweit.
- "3 Phases total: 1.21 kWh": In dem Fall ja 2 Phases total. Bräuchte man nun meines Erachtens nicht unbedingt. Aber das ist ja nur mein Fall. Mir fällt nun aber auch kein Fall ein, in dem es interessant wäre, die beiden zusammen zu zählen. Aber "haben ist besser als brauchen", oder?
Via update kommt jetzt auch eine erste Fassung eines attrTemplate für den em2.
Zitat von: deathworm am 08 November 2021, 11:17:24
Hier nun ein List im "raw" Zustand:
Gemeint war was anderes: https://wiki.fhem.de/wiki/Import_von_Code_Snippets
Zitat- "die beiden Kanäle umbenennen zu können": Der 3EM hat ja direkt Phase1, Phase2, Phase3. Da braucht man nicht mehr wissen, denn das is ja klar und fertig. Der normale EM wird ja vorrangig zur Erfassung der Daten von einzelnen Verbrauchern genutzt. In meinem Fall möchte ich jeden einzelnen Raum erfassen. Darum würde es Sinn machen, wenn ich die jeweilige Kanäle umbenennen könnte. Zum Beispiel "linkes Zimmer", "rechtes Zimmer", "Badezimmer" etc.
Das geht nicht allgemeingültig via attrTemplate, aber du kannst ohne weiteres search+replace in einem RAW-listing machen und das Ergebnis wieder in dein FHEM einfügen, wenn du andere Reading-Namen haben willst. Sollte kein Problem sein.
Zitat
Mir fällt nun aber auch kein Fall ein, in dem es interessant wäre, die beiden zusammen zu zählen. Aber "haben ist besser als brauchen", oder?
Na ja, da wegwerfen leichter ist wie dazufügen, habe ich die Addition mal drin gelassen.
Bitte um Rückmeldung, wenn irgendwas "allgemeingültiges" an dem attrTemplate nicht passen sollte.
Wahnsinn. Dankeschön!
Also.. gleich mal rangemacht:
2021.11.12 11:17:25 1 : UPD FHEM/lib/AttrTemplate/mqtt2.template
Habe dann einen von Shelly3em auf Shelly2em umgeändert. Bekam dann aber folgende Fehler:
attr MQTT2_shellyem_98CDAC1EA643 devStateIcon: No such class my at (eval 2059) line 1, near "; my my"
Global symbol "$total1" requires explicit package name (did you forget to declare "my $total1"?) at (eval 2059) line 1.
Global symbol "$total1" requires explicit package name (did you forget to declare "my $total1"?) at (eval 2059) line 1.
Global symbol "$total1" requires explicit package name (did you forget to declare "my $total1"?) at (eval 2059) line 1.
No such class my at (eval 2060) line 1, near "; my my"
Global symbol "$total1" requires explicit package name (did you forget to declare "my $total1"?) at (eval 2060) line 1.
Global symbol "$total1" requires explicit package name (did you forget to declare "my $total1"?) at (eval 2060) line 1.
Bei dem einen ohne Template habe ich das selbe Problem.
Autsch, da sind mir zwei doppelte "my" reingerutscht. Kannst du das in Zeile 2550 und 2551 von mqtt2.template (bzw. einfach in devStateIcon und stateFormat deines Devices) mal testweise auf eines ändern, dann sollte das klappen...
EInen wunderschönen guten Abend,
sry, aber das bwk wollte mich dann doch ohne vorankündigung etwas bei sich behalten...
also.. ich hab devstateicon und stateformat geöffnet, aber beides war in der auswahl leer. somit konnte ich es per handy nicht regeln.
habe es eben nun per nano gemacht und tada, schaut einwandfrei nun aus:
shelly-em-uv-og-p3-1
10px-kreis-gruen
Schlafzimmer | P1: 11.52 W / Total P1: 3.09 kWh
Technikraum & Bad | P2: 74.54 W / Total P2: 25.17 kWh
2 Phases total: 28.26 kWh
P1: 24.21 W / Total P1: 6.25 kWh
P2: 0.00 W / Total P2: 0.00 kWh
2 Phases total: 6.25 kWh
Ich denke, damit ist das ganze schon abgeschlossen und fertig. Nun muss ich als nächstes mir ne Tabelle machen und alle einzelnen Zähler zusammenzählen um einerseits damit dann den Haupteingang zu vergleichen und andererseits mir eine monatliche Kontrolle einzubauen.
Vielen liebsten Dank!
Hallo,
da ich immer unzufrieden mit dem ELV ESA2000WZ war bin ich nun auch auf den Shelly EM umgestiegen.
Dank des Templates war das Einrichten ein Kinderspiel. Vielen Dank an der Stelle. :)
Ich habe versucht irgendwie auch den Zählerstand abzubilden. Den "realen" Zählerstand konnte man über das ESA2000WZ Modul als spezielles Attribut eingeben.
Nach meinem Verständnis müsste man hier ein userattribut anlegen. Z.B. "Zaehlerstand" und dem dann manuell den aktuellen Zählerstand zuordnen.
Ungefähr so:
attr ShellyEM userattr Zaehlerstand:34200
Anschließend dieses Attribut über AttrVal() für die Berechnung nutzen.
Soweit die Theorie.
Da ich aber bei den userReadings und stateFormat nicht mehr durchblicke und ich kein Programmierer bin wollte ich mal fragen ob mir hier jemand auf die Sprünge helfen kann. ::)
Gruß
Riverghost
Falls du die userReadings vom attrTemplate hast anlegen lassen, müßte eigentlich ein "setreading" auf den aktuellen Wert genügen, um den monotonic-Zähler mit dem aktualisierten Stand weiterlaufen zu lassen.
Zu dem ESA2000WZ habe ich entfernt im Ohr, dass der immer wieder von vorne angefangen hat, wenn er einmal beim Höchststand angekommen war. Dazu gab es dann ggf. dieses spezielle Attribut, das hier aber wegen des anderen Mechanismus nicht erforderlich ist.
Zitat von: Beta-User am 21 November 2021, 09:26:59
Falls du die userReadings vom attrTemplate hast anlegen lassen, müßte eigentlich ein "setreading" auf den aktuellen Wert genügen, um den monotonic-Zähler mit dem aktualisierten Stand weiterlaufen zu lassen.
Warum sind die einfachen Lösungen nur immer so schwer zu finden? ::)
Vielen Dank für die Hilfe!
Ja, ich habe einfach das attrTemplate angewandt und nix verändert.
Aufgrund deines Hinweises habe ich jetzt ein neues userReading erstellt, da ich ja die kWh benötige.
attr ShellyEM userReadings emeter_0_kWh_total:emeter_0_kWh:.* monotonic {ReadingsNum($name,'emeter_0_kWh',0)}
Und mit Hilfe von
setreading ShellyEM emeter_0_kWh_total xxx
habe ich den gleichen Wert wie im Original Stromzähler.