Frage Solarertrag Shelly 1PM und Shelly 3EM wird summiert?

Begonnen von enno, 14 April 2022, 08:34:08

Vorheriges Thema - Nächstes Thema

enno

Moin zusammen,

ich bin gerade dabei eine Balkonsolaranlage zu beschaffen. Die Idee ist den Ertrag mit einem Shelly 1 PM zu messen. Das wird am Gerät als Verbrauch wohl auch angezeigt.

Jetzt das eigentliche Problem. Ich messe den Hausverbrauch am Hauptverteiler mit einen Shelly 3EM. Funktioniert auch gut. Wenn jetzt Strom über Solar eingebracht wird, zählt der 3EM diesen dann auch als Verbrauch und summiert auf den normalen Verbrauch, oder zeigt der EM nur weniger an, weil der Verbrauch aus dem Netz geringer wird?

Wenn die Anlage steht, kann ich das selbst testen, dachte mir aber das es hier bestimmt schon jemand gibt, der das genauso betreibt und ich das vorher schon geklärt habe ;D

Besten Dank für Eure Erfahrungswerte.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

isy

#1
Moin Enno,
Ich denke, du brauchst einen 2-Richtungs-Zähler für dein Projekt. Lt. Shelly Homepage soll der 3EM das können.

VG Helmut

P.S: Korrektur nah Besuch Shelly Homepage.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

ch.eick

Zitat von: enno am 14 April 2022, 08:34:08
Moin zusammen,

ich bin gerade dabei eine Balkonsolaranlage zu beschaffen. Die Idee ist den Ertrag mit einem Shelly 1 PM zu messen. Das wird am Gerät als Verbrauch wohl auch angezeigt.

Jetzt das eigentliche Problem. Ich messe den Hausverbrauch am Hauptverteiler mit einen Shelly 3EM. Funktioniert auch gut. Wenn jetzt Strom über Solar eingebracht wird, zählt der 3EM diesen dann auch als Verbrauch und summiert auf den normalen Verbrauch, oder zeigt der EM nur weniger an, weil der Verbrauch aus dem Netz geringer wird?

Wenn die Anlage steht, kann ich das selbst testen, dachte mir aber das es hier bestimmt schon jemand gibt, der das genauso betreibt und ich das vorher schon geklärt habe ;D

Besten Dank für Eure Erfahrungswerte.

Gruss
  Enno
Hallo Enno,
über unseren Verein bestellen wir hier von die Messeinheiten mit. Da ist beim WLAN Anschluss auch ein Shelly drin, der dann im Shelly Portal auch Diagramme liefert.

Nun zurück zum FHEM :-)

Hier mal ein Muster für einen Shelly (2.5), wichtig hierbei ist das userreading mit dem monotonic, da bei einem Reset des Shelly die Zähler wieder bei Null beginnen.

defmod shelly02 Shelly 192.168.178.52
attr shelly02 DbLogExclude .*
attr shelly02 DbLogInclude relay.*,power.*,energy.*
attr shelly02 alias Pool
attr shelly02 comment Version 2020.10.19 18:28\
relais_0 => Pool limit 1000 W\
relail_1 => Terrasse Lichterkette limit 100 W
attr shelly02 event-on-change-reading relay.*,energy.*,state,network
attr shelly02 event-on-update-reading power.*
attr shelly02 group PV Eigenverbrauch-Steuerung
attr shelly02 icon taster_ch_1
attr shelly02 mode relay
attr shelly02 model shelly2.5
attr shelly02 room Shelly,Strom->Photovoltaik
attr shelly02 sortby 422
attr shelly02 stateFormat {sprintf("\
<TABLE>\
\
<TR>\
  <TD VALIGN=\"TOP\" ALIGN=\"LEFT\" WIDTH=\"50\">\
    Status: %s<br>\
    WebLink: %s\
  </TD>\
\
  <TD VALIGN=\"TOP\" ALIGN=\"RIGHT\" WIDTH=\"100\">\
    Pool Gesamt 0: %08.2f KWh<br>\
    JEL Gesamt 1: %08.2f KWh\
  </TD>\
\
  <TD VALIGN=\"TOP\" ALIGN=\"RIGHT\" WIDTH=\"70\">\
    Relais 0: %s %06.1f Watt<br>\
    Relais 1: %s %06.1f Watt<br>\
  </TD>\
</TR>\
\
</TABLE>\
" ,\
(ReadingsVal($name,"state","none") eq "OK") ? "<span style='color:#00FF00'>OK</span>":"<span style='color:#FF0000'>Error</span>",\
ReadingsVal($name,"WebLink","none") ,\
ReadingsVal($name,"energy_0_Total",0)/1000,\
ReadingsVal($name,"energy_1_Total",0)/1000,\
(ReadingsVal($name,"relay_0","") eq "off") ? "<span style='color:#FF0000'>off</span>":"<span style='color:#00FF00'>on</span>",\
    ReadingsVal($name,"power_0",0),\
(ReadingsVal($name,"relay_1","") eq "off") ? "<span style='color:#FF0000'>off</span>":"<span style='color:#00FF00'>on</span>",\
    ReadingsVal($name,"power_1",0)\
)}
attr shelly02 userReadings WebLink:network { my $ip=ReadingsVal($name,"network","");; $ip =~ s/connected to //gs;; $ip =~ s/<[^>]*>//gs;; return("<html><a href='http://".$ip."/'>WEB</a></html>") },\
\
energy_0_Total:energy_0.* monotonic { ReadingsVal($name,"energy_0",0) },\
energy_1_Total:energy_1.* monotonic { ReadingsVal($name,"energy_1",0) }\

attr shelly02 verbose 0
attr shelly02 webCmd |


Generell solltest Du Dir direkt zu Beginn gedanken darüber machen, wie die Vorzeichen der Messwerte sind.

+ sollte der Bezug aus dem Netz sein
- wäre dann der Verbrauch

Somit müsstest Du eventuell das Vorzeichen beim Messwert des Shelly korrigieren.

Zitat
Wenn jetzt Strom über Solar eingebracht wird, zählt der 3EM diesen dann auch als Verbrauch und summiert auf den normalen Verbrauch, oder zeigt der EM nur weniger an, weil der Verbrauch aus dem Netz geringer wird?
Beim 3EM musst Du überprüfen, ob er ein Register für den Netzbezug und ein separates für die Einspeisung hat, denn davor hängt dann die Art der Berechnung ab.
Sollte es nur ein Register für den Momentan Wert sein, kannst Du bei korrektem Vorzeichen die Werte addieren.

   EVU + PV-Einspeisung (power)= Hausverbrauch

370W + 300W = 670W
-120W + 300W = 180W

Somit musst Du Dir im FHEM ein Device für die korrigierten momentan Verbräuche erstellen, dass könnte dann wie im Bild aussehen.

Die Berechnung des Verbrauchs geht dann über die energy kWh Register, die beim Shelly mit monotonic kontinuierlich hoch zählen. Da könntest Du mal bei den SMA Threads nachschauen. Für SMA gibt es im Wiki auch schöne Statistiken, die mit Funktionen in der my_Utils berechnet werden. Die Tabellen im Anhang hatte ich auch dort als Muster gefunden und dann für meine Kostal Plenticore Anlage adaptiert.

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

ch.eick

#3
Zitat von: isy am 14 April 2022, 08:48:32
Moin Enno,
Ich denke, du brauchst einen 2-Richtungs-Zähler für dein Projekt.

Wenn die Leistung der  Photovoltaik geringer ist als dein Verbrauch, klappt die Anzeige. Beim Einspeisen wird es eine Fehlanzeige geben.

VG Helmut
Kann der 3EM nur in eine Richtung Messen? Mein SMA EM misst in beide Richtungen, wie gesagt eventuell über das Vorzeichen.

Da es eine Balkonanlage ist wird bei 300 W in den meisten Fällen noch keine Einspeisung erfolgen. Bei den zulässigen 600 W hängt das von den Verbrauchern ab. Ohne einen Pook, Klimaanlage oder einen Koi Teich empfehle ich im Normalfall keine 600W Anlage, da sich die zusätzlichen 300 W nicht amortisieren.

Nur einige EVUs installieren bei solchen Mini-Anlagen einen Zweirichtungszähler, bei dem könnte man dann aber mit einem Lesekopf und dem PIN, den man vom EVU bekommt, auch Momentanwerte erfassen.
Da hat man dann natürlich auch den Bezugs- und Einspeise Zähler.
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

isy

Schon korrigiert. Der 3EM ist ein Zweiwege-Zähler.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Nogga

Ich habe zwar keinen 3EM Zähler, aber einen Shelly 1 PM für meine Balkon-Solaranlage und einen digitalen Zähler, den ich auslese:

- Der 3EM wird den Verbrauch aus dem Netz zählen (also vom Versorger).
- Die Solaranlage wird direkt ins Haus einspeisen und damit die Werte vom 3EM um eben den Wert des Shelly 1 PM reduzieren (Eigenverbrauch)
- Wenn deine Balkonanlage mehr produziert als das Haus verbraucht, dann wird der 3EM einen negativen Wert anzeigen, ansonsten positiv
= (Hausverbrauch MINUS Balkon PV = Angezeigter Wert 3EM)

Alle Aussagen basierend auf der Summe der 3 Phasen. Jede Phase einzeln kann natürlich wieder etwas anders aussehen - je nachdem auf welcher Phase die Balkon-Anlage liegt.

Loctite

#6
Zitat von: ch.eick am 14 April 2022, 09:12:15Hier mal ein Muster für einen Shelly (2.5), wichtig hierbei ist das userreading mit dem monotonic, da bei einem Reset des Shelly die Zähler wieder bei Null beginnen.
attr shelly02 userReadings WebLink:network { my $ip=ReadingsVal($name,"network","");; $ip =~ s/connected to //gs;; $ip =~ s/<[^>]*>//gs;; return("<html><a href='http://".$ip."/'>WEB</a></html>") },\
\
energy_0_Total:energy_0.* monotonic { ReadingsVal($name,"energy_0",0) },\
energy_1_Total:energy_1.* monotonic { ReadingsVal($name,"energy_1",0) }\




Hallo.
Ich habe diesen Teil mal zum testen übernommen. Leider passiert aber nichts.
Dieses Userreading soll aus dem HTML Code den Wert bei Energy auslsen, oder ?
Brauche ich dafür noch was anderes oder was könnte mein Fehler sein ?

Ich habe einen Shelly 1pm und eine PV Anlage und möchte die Werte in FHEM haben.
Leider verstehe ich aber nicht warum hier der Wert Energy akkumuliert werden soll, das ist doch schon ein Zähler der immer größer wird.

In FHEM device hab ich aktuell "energy 73086.5"
Unter Shelly Cloud habe ich aber schon 96,79kWh
Also schon eine differenz.

Ach so, und wenn ich das state format einfüge erhalte ich eine Fehlermeldung:
2023.04.29 11:16:47 1: Error evaluating Sh_BKW01 stateFormat: syntax error at (eval 528293) line 30, near ")\"

RalfRog

Zitat von: enno am 14 April 2022, 08:34:08Jetzt das eigentliche Problem. Ich messe den Hausverbrauch am Hauptverteiler mit einen Shelly 3EM. Funktioniert auch gut. Wenn jetzt Strom über Solar eingebracht wird, zählt der 3EM diesen dann auch als Verbrauch und summiert auf den normalen Verbrauch, oder zeigt der EM nur weniger an, weil der Verbrauch aus dem Netz geringer wird?

Genau er zeigt weniger an (pro Phase auf der du einspeist, beim BKW vermutlich nur eine).
Wenn du auf der Phase mehr einspeist als du verbrauchst (negative Leistung) zählt der Energiezähler "total_returned" hoch und der Energiezähler "total" bleibt stehen.
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

#8
Hallo Enno hier die Readings dazu, kennst Du ja von deinem 3EM (hier mal nur Leistung und Energie die er pro Phase getrennt misst)

READINGS:
...
     2023-04-22 09:42:07   energyReturned_0 23228.4
     2023-01-02 21:55:31   energyReturned_1 0
     2023-01-02 21:55:31   energyReturned_2 0
     2023-04-22 09:37:02   energy_0        258463.2
     2023-04-22 09:42:07   energy_1        278323.6
     2023-04-22 09:40:07   energy_2        330833.7
     2023-04-22 09:42:59   power_0         -18.23
     2023-04-22 09:42:59   power_1         21.47
     2023-04-22 09:42:59   power_2         3.21
     2023-04-22 09:42:07   total_power     6.43

Wenn die Leistung/Powerwerte positiv sind (Bezug) zählen die Register energy_x über die Zeit hoch und
wenn Leistung/Powerwerte negativ sind (Einspeisung) zählen die entsprechenden Register energyReturned_x über die Zeit hoch.
=> Wie hier gerade für Phase 0.

Er saldiert nicht wie ein EVU-Zähler. Wenn du daraus den saldierten Bezug/Einspeisung korrekt berechnen willst musst etwas Gehirnschmalz hineinlegen - ist mir nicht wichtig beim BKW mit 220WPeak.

Es kann ja sein, dass auf Phase0 200 Watt eingespeist werden und auf Phase1&2 je 100 Watt gebraucht werden.
Der 3EM zeigt dann auf total_power zwar 0 Watt (auf power_x die entsprechenden Leistungen) an, zählt aber die Register energyReturned_0, energy_1, energy_2  über die Zeit hoch.
Der EVU Zähler zeigt auch 0 Watt und es bleiben am Ende aber ingesamt 0kWh in den Registern für Bezug 1.8.0 bzw. Einspeisung 2.8.0.


FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder