Hallo an alle,
ich stehe schon wieder auf dem Schlauch.
Ich habe 3 Werte:
emeter_0_power
emeter_1_power
emeter_3_power
Diese möchte ich addieren und als userreading emeter_ges_power anzeigen lassen.
Kann mir jemand das Brett vorm Kopf entfernen? Ich suche schon 2 Stunden......
Dankeschön
Weißt Du zufällig ob immer alle 3 Readings zur selben Zeit aktualisiert werden? Oder kann es auch Mal sein das nur emeter_0_power aktualisiert wird und 5 Minuten später vielleicht emeter_1_power oder so.
Na ja, unabhängig von einer gleichzeitigen Änderung der einzelnen Readings und unter der Annahme das die Readings von einem device kommen wohl ungetestet soetwas:
emeter_ges_power:emeter:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_3_power",0)}
Den Trigger emeter:.* musst Du natürlich anpassen. Weitere Info fehlt halt.
Hallo,
die Werte kommen von einem Device. Das ist jeweils der Verbrauch pro Phase. Das hätte ich gerne zum Anschauen addiert, um den jetzigen Gesamtverbrauch zu sehen.
Zitat von: Nobbynews am 20 März 2022, 09:41:09
Na ja, unabhängig von einer gleichzeitigen Änderung der einzelnen Readings und unter der Annahme das die Readings von einem device kommen wohl ungetestet soetwas:
emeter_ges_power:emeter:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_3_power",0)}
Den Trigger emeter:.* musst Du natürlich anpassen. Weitere Info fehlt halt.
Welche Info kann ich noch liefern?
Zitat von: NewbieNew am 20 März 2022, 09:49:22
Welche Info kann ich noch liefern?
Ein list vom device wäre ganz hilfreich.
Da aber alle Readings von einem device kommen, sollte mein Vorschlag funktionieren.
Ausprobiert?
Ausprobiert ja, aber Das userreading erscheint noch nicht.
list:
Internals:
CID shellyem3_BCFF4DFD1577
DEF shellyem3_BCFF4DFD1577
DEVICETOPIC Leu_Stromverbrauch
FUUID 6235f771-f33f-2a92-1a30-ebd45e9dec440f11
IODev mqtt2s
LASTInputDev mqtt2s
MSGCNT 80334
NAME Leu_Stromverbrauch
NR 95
STATE Relay: off,<br>P1: 27.80 W / Total P1: unknown kWh<br>P2: 24.52 W / Total P2: unknown kWh<br>P3: 17.01 W / Total P3: unknown kWh
TYPE MQTT2_DEVICE
mqtt2c_MSGCNT 1
mqtt2c_TIME 2022-03-20 02:55:37
mqtt2s_CONN mqtt2s_192.168.1.15_12137
mqtt2s_MSGCNT 80333
mqtt2s_TIME 2022-03-20 09:54:43
Helper:
DBLOG:
emeter_0_power:
LogDB:
TIME 1647766482.82764
VALUE 27.80
emeter_1_power:
LogDB:
TIME 1647766483.01989
VALUE 24.52
OLDREADINGS:
READINGS:
2022-03-20 02:55:23 IODev mqtt2s
2022-03-20 08:36:39 attrTemplateVersion 20210126
2022-03-20 09:54:42 emeter_0_current 0.14
2022-03-20 09:53:59 emeter_0_energy 28
2022-03-20 09:53:59 emeter_0_energy_total 69
2022-03-20 09:54:42 emeter_0_pf 1.00
2022-03-20 09:54:42 emeter_0_power 27.80
2022-03-20 09:53:59 emeter_0_returned_energy 0
2022-03-20 09:54:42 emeter_0_total 880.0
2022-03-20 09:54:42 emeter_0_total_returned 2.4
2022-03-20 09:54:42 emeter_0_voltage 234.86
2022-03-20 09:54:43 emeter_1_current 0.27
2022-03-20 09:53:59 emeter_1_energy 27
2022-03-20 09:53:59 emeter_1_energy_total 275
2022-03-20 09:54:43 emeter_1_pf 1.00
2022-03-20 09:54:43 emeter_1_power 24.52
2022-03-20 09:53:59 emeter_1_returned_energy 0
2022-03-20 09:54:43 emeter_1_total 3945.0
2022-03-20 09:54:43 emeter_1_total_returned 24.0
2022-03-20 09:54:43 emeter_1_voltage 234.86
2022-03-20 09:54:43 emeter_2_current 0.32
2022-03-20 09:53:59 emeter_2_energy 17
2022-03-20 09:53:59 emeter_2_energy_total 17
2022-03-20 09:54:43 emeter_2_pf 1.00
2022-03-20 09:54:43 emeter_2_power 17.01
2022-03-20 09:54:00 emeter_2_returned_energy 0
2022-03-20 09:54:43 emeter_2_total 1726.2
2022-03-20 09:54:43 emeter_2_total_returned 1.8
2022-03-20 09:54:43 emeter_2_voltage 234.65
2022-03-20 09:54:42 relay_0 off
2022-03-20 09:54:43 total_0_kWh 0.880
2022-03-20 09:54:43 total_1_kWh 3.945
2022-03-20 09:54:43 total_2_kWh 1.726
2022-03-20 08:36:39 x_mqttcom set announce
helper:
_98_statistics myStatDevice
Attributes:
DbLogInclude emeter_0_power,emeter_1_power,emeter_3_power
alias Stromverbrauch
comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot"; 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,"total_0_kWh","unknown"); my $total2 = ReadingsVal($name,"total_1_kWh","unknown"); my $total3 = ReadingsVal($name,"total_2_kWh","unknown"); my $total_sum = $total1+$total2+$total3; "<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>P1: $cons1 W / Total P1: $total1 kWh<br>P2: $cons2 W / Total P2: $total2 kWh<br>P3: $cons3 W / Total P3: $total3 kWh<br>3 Phases total: $total_sum kWh</div>"}
group 00
model shelly3em
readingList shellies/fhem3/online:.* online
shellies/fhem3/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...fhem3...mac.*, ? json2nameValue($EVENT) : return }
shellies/fhem3/relay/0:.* state
shellies/fhem3/input_event/0:.* { json2nameValue($EVENT) }
shellies/fhem3/input/0:.* input0
shellies/fhem3/online:.* online
shellies/fhem3/emeter/0/power:.* emeter_0_power
shellies/fhem3/emeter/0/pf:.* emeter_0_pf
shellies/fhem3/emeter/0/current:.* emeter_0_current
shellies/fhem3/emeter/0/voltage:.* emeter_0_voltage
shellies/fhem3/emeter/1/power:.* emeter_1_power
shellies/fhem3/emeter/1/pf:.* emeter_1_pf
shellies/fhem3/emeter/1/current:.* emeter_1_current
shellies/fhem3/emeter/1/voltage:.* emeter_1_voltage
shellies/fhem3/emeter/2/power:.* emeter_2_power
shellies/fhem3/emeter/2/pf:.* emeter_2_pf
shellies/fhem3/emeter/2/current:.* emeter_2_current
shellies/fhem3/emeter/2/voltage:.* emeter_2_voltage
shellies/fhem3/emeter/0/energy:.* emeter_0_energy
shellies/fhem3/emeter/0/returned_energy:.* emeter_0_returned_energy
shellies/fhem3/emeter/0/total:.* emeter_0_total
shellies/fhem3/emeter/0/total:.* {'emeter_0_kWh' => sprintf("%.2f",$EVENT/1000)}
shellies/fhem3/emeter/0/total_returned:.* emeter_0_total_returned
shellies/fhem3/emeter/1/energy:.* emeter_1_energy
shellies/fhem3/emeter/1/returned_energy:.* emeter_1_returned_energy
shellies/fhem3/emeter/1/total:.* emeter_1_total
shellies/fhem3/emeter/1/total:.* {'emeter_1_kWh' => sprintf("%.2f",$EVENT/1000)}
shellies/fhem3/emeter/1/total_returned:.* emeter_1_total_returned
shellies/fhem3/emeter/2/energy:.* emeter_2_energy
shellies/fhem3/emeter/2/returned_energy:.* emeter_2_returned_energy
shellies/fhem3/emeter/2/total:.* emeter_2_total
shellies/fhem3/emeter/2/total:.* {'emeter_2_kWh' => sprintf("%.2f",$EVENT/1000)}
shellies/fhem3/emeter/2/total_returned:.* emeter_2_total_returned
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/relay/0:.* relay_0
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/power:.* emeter_0_power
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/pf:.* emeter_0_pf
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/current:.* emeter_0_current
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/voltage:.* emeter_0_voltage
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/total:.* emeter_0_total
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/total_returned:.* emeter_0_total_returned
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/power:.* emeter_1_power
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/pf:.* emeter_1_pf
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/current:.* emeter_1_current
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/voltage:.* emeter_1_voltage
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/total:.* emeter_1_total
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/total_returned:.* emeter_1_total_returned
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/power:.* emeter_2_power
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/pf:.* emeter_2_pf
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/current:.* emeter_2_current
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/voltage:.* emeter_2_voltage
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/total:.* emeter_2_total
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/total_returned:.* emeter_2_total_returned
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/energy:.* emeter_0_energy
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/0/returned_energy:.* emeter_0_returned_energy
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/energy:.* emeter_1_energy
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/1/returned_energy:.* emeter_1_returned_energy
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/energy:.* emeter_2_energy
shellyem3_BCFF4DFD1577:shellies/fhem3/gartenstrom/emeter/2/returned_energy:.* emeter_2_returned_energy
room 1.0_Garten,MQTT2_DEVICE
setList relay0:on,off,toggle shellies/fhem3/relay/0/command $EVTPART1
toggle:noArg shellies/fhem3/relay/0/command toggle
off:noArg shellies/fhem3/relay/0/command off
on:noArg shellies/fhem3/relay/0/command on
x_update:noArg shellies/fhem3/command update_fw
x_mqttcom shellies/fhem3/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 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)},
total_0_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_0_total",0)/1000)},
total_1_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_1_total",0)/1000)},
total_2_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_2_total",0)/1000)},
emeter_ges_power:emeter:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_3_power",0)}
webCmd :
emeter_ges_power:emeter_3_power:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_3_power",0)}
Sofern alle zur selben Zeit aktuallisiert werden.
emeter_ges_power:emeter_[0-3]_power:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_3_power",0)}
Wenn unterschiedlich aktuallisiert wird.
Sieht so aus als wenn alles zur selben Zeit aktuallisiert wird. Also dann Variante 1 nehmen.
Habs probiert, leider erscheint das userreading nicht.
Mein Userreading sieht jetzt so aus:
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)},
total_0_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_0_total",0)/1000)},
total_1_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_1_total",0)/1000)},
total_2_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_2_total",0)/1000)},
emeter_ges_power:emeter_3_power:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_3_power",0)}
Wieso sieht dein Userreading nicht so aus wie meines welches ich nachweislich getestet habe? Was soll das monotonic da drin. Nimm das raus.
Entferne mal im gesamten Userreading hinter den jeweiligen Kommas die führenden Leerzeichen.
Zitat von: NewbieNew am 20 März 2022, 10:04:37
Habs probiert, leider erscheint das userreading nicht.
Kann auch nicht funktionieren.
Es gibt nur die readings "emeter_(0|1|2)_power".
Das reading "emeter_3_power" existiert nicht.
Zitat von: Nobbynews am 20 März 2022, 10:18:32
Kann auch nicht funktionieren.
Es gibt nur die readings "emeter_(0|1|2)_power".
Das reading "emeter_3_power" existiert nicht.
Stimmt hast Recht. Hatte mich da zu sehr auf die erste Angabe verlassen.
emeter_ges_power:emeter_2_power:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_2_power",0)}
So sollte es aber gehen
Zitat von: CoolTux am 20 März 2022, 10:28:58
Stimmt hast Recht. Hatte mich da zu sehr auf die erste Angabe verlassen.
Hätte der TE mit der Methode des scharfen Hinsehens auch selbst drauf kommen können.... ::)
Ja,
sorry, die 3 ist mein blöder Fehler.
jetzt sieht es so aus:
total_0_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_0_total",0)/1000)},
total_1_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_1_total",0)/1000)},
total_2_kWh {sprintf("%.3f",ReadingsVal($name,"emeter_2_total",0)/1000)},
emeter_ges_power:emeter_3_power:.* {ReadingsNum($name,"emeter_0_power",0)+ReadingsNum($name,"emeter_1_power",0)+ReadingsNum($name,"emeter_2_power",0)}
Die ersten 3 Readings wollte ich zum Formatieren der Anzeige. Stören die hier?
und
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)},
diese Zeile war im ShellyEM3 Template. Hinter den Sinn bin ich noch nicht gekommen. Jetzt, wo es raus ist, werden plötzlich viel mehr Readings angezeigt.
aber emeter_ges_power fehlt immer noch
Wenn schon korrigieren, dann bitte auch konsequent.....
emeter_ges_power:emeter_3_power:.* {ReadingsNum($name,"emeter_0_
Das muss heißen:
Zitatemeter_ges_power:emeter_2_power:.* {ReadingsNum($name,"emeter_0_
Oh Mann....
ich könnte mich verkriechen.......
Kaum macht man es richtig, schon geht es. Großes Dankeschön und einen schönen Sonntag.
PS: was sollte das ....monotonic.... aus dem Temlate?
Da mal im Shelly Thread oder Forumbereich fragen.
Das "monotonic" sichert Dir die letzten Werte bei z.B. einem Stromausfall.
Die Shellies fangen dann nämlich wieder bei 0 an.
Und das will ja keiner.
Ok, danke,
also sollte die Zeile doch wieder rein?
Ja.
Danke und einen schönen Sonntag