Forum: Haus & Smart Home Shelly 3em gekauft - und nun ?


von Rudi Ratlos (Gast)


Lesenswert?

Hallo zusammen,

ich habe mir heute früh günstig einen Shelly 3em gekauft.
Nun frage ich mich wie es damit weitergeht. Das er von Haus auf nicht 
saldierend ist, war mit klar. Das wäre mir aber wichtig, um den 
Überschuss aus einem Balkonkraftwerk zu überwachen.
So wie ich es gelesen habe, gibt es 3 Abhilfen:
1. clever-pv
2. ioBroker
3. z.B. ein ESP und selbst entwicklen

Erstmal geht es mir darum aufzuzeichnen wann wie viel Leistung vom BKW 
"verschenkt" wird. Später dann auch Verbraucher zu steuern.

Intuitiv scheint mir Lösung 2. am sympathischten: Hoffentlich relativ 
wenig Zeitaufwand und die Daten bleiben "im Haus". Hardware würde ich zu 
einem Banana Pi tendieren - hauptsächlich wegen dem SATA Anschluss.

Wie seht ihr das? Ist ioBroker zukunftsfähig und anfängerfreundlich, 
oder gibt es doch bessere Alternativen - die auch mit dem Shelly 3em 
funktionieren?

von Cyblord -. (cyblord)


Lesenswert?

Rudi Ratlos schrieb:
> ich habe mir heute früh günstig einen Shelly 3em gekauft.
> Nun frage ich mich wie es damit weitergeht. Das er von Haus auf nicht
> saldierend ist, war mit klar. Das wäre mir aber wichtig, um den
> Überschuss aus einem Balkonkraftwerk zu überwachen.

Dann kauft man einen Zähler der das einfach kann.
Außer man ist schon der SmartHome-Profi und kann ioBroker oder openHAB 
im schlaf. Kannst du aber offensichtlich nicht.
Warum dann etwas kaufen wenn man von vorn herein weiß dass es die 
eigenen Ansprüche nicht erfüllt?

von M. P. (matze7779)


Lesenswert?

Hier läuft ioBroker

von Oliver S. (phetty)


Lesenswert?

Am einfachsten wäre es doch, die Shelly-Cloud zu verwenden.

von M. P. (matze7779)


Lesenswert?

Oliver S. schrieb:
> Am einfachsten wäre es doch, die Shelly-Cloud zu verwenden.

Geht nicht. Der 3EM saldiert nicht in den Aufzeichnungen.
Lässt sich aber problemlos mit ioBroker realisieren. Kennt man sich 
damit aus ist das in 30 Minuten fertig. Als Anfänger so 3-4 Stunden zur 
Einarbeitung.

von Käferlein (Gast)


Lesenswert?

Cyblord -. schrieb:
> Außer man ist schon der SmartHome-Profi und kann ioBroker oder openHAB
> im schlaf. Kannst du aber offensichtlich nicht.

Ich kann das auch nicht. Ich bin aber immer wieder erstaunt
wie Laien, die noch nicht mal einen Einspeisewechselrichter
selbst bauen können, das scheinbar spielend hinbekommen.
Die Krönung des für mich Unvorstellbaren ist ja diese
"Volkszähler" Geschichte.

Rudi Ratlos schrieb:
> Später dann auch Verbraucher zu steuern.

Habe ich. Aber ganz analog mit Stromwandlern und dann arduino.
Zu mehr wird es in diesem Leben nicht mehr reichen.
Aber hallo, es funkioniert. :)

von Cyblord -. (cyblord)


Lesenswert?

Käferlein schrieb:
> Ich kann das auch nicht. Ich bin aber immer wieder erstaunt
> wie Laien, die noch nicht mal einen Einspeisewechselrichter
> selbst bauen können, das scheinbar spielend hinbekommen.

Bisher hat er es noch nicht mal hinbekommen sich für ein System zu 
entscheiden und dieses in Betrieb zu nehmen.
Und abgesehen davon würde ich trotzdem direkt einen Zähler nehmen der 
bereits intern saldiert. Dann muss man den nur noch auslesen. Das 
Problem ist ja nicht exotisch. Das stellt sich jedem der irgendwie PV 
einspeist. Deshalb ist es auch längst gelöst. Da würde ich sicher keine 
Skripte basteln wollen.

: Bearbeitet durch User
von Käferlein (Gast)


Lesenswert?

Cyblord -. schrieb:
> direkt einen Zähler nehmen der
> bereits intern saldiert.

Bekommt man ja vom Stadtwerk.

> Dann muss man den nur noch auslesen.

Ja, als Cyblord kann man das.
Das Käferlein schafft das nicht.

> Das
> Problem ist ja nicht exotisch. Das stellt sich jedem der irgendwie PV
> einspeist. Deshalb ist es auch längst gelöst. Da würde ich sicher keine
> Skripte basteln wollen.

Das geht auch analog. Ohne aus der Haut zu fahren.

von Käferlein (Gast)


Lesenswert?

Rudi Ratlos schrieb:
> Überschuss aus einem Balkonkraftwerk zu überwachen.

Du bekommst einen Zweirichtungszähler vom Stadtwerk.
Da lässt du dir die Pin geben und versuchst dich mit
der "Taschenlampe". Nach zahlreichen Versuchen und
Tassen Kaffee, hast du den Zähler so weit, dass er dir den
Überschuß in W momentan und KWh anzeigt.
Ist hilfreich, um den selbstbau zu kalibrieren.

von Alt G. (altgr)


Angehängte Dateien:

Lesenswert?

Wie meinst du das "nicht saldierend" ?
Das "total" und "total returned" reicht dir nicht?

: Bearbeitet durch User
von Heinz R. (heijz)


Lesenswert?

Alt G. schrieb:
> Wie meinst du das "nicht saldierend" ?

was zeigt dieses Diagramm?  Sind das W statt Wh?
Was bedeuten die 4 x "Returned"?
Die rosa Linie im Diagramm - was ist das?

von M. P. (matze7779)


Lesenswert?

Alt G. schrieb:
> Das "total" und "total returned" reicht dir nicht?

Das ist eben kein über die Phasen saldierter Wert.
Ist aber auch bekannt und vom Hersteller so gewollt.
Daher nützt dir dieser Wert nichts wenn Du wissen willst wie viel Strom 
du "verschenkt" hast.

von Walta S. (walta)


Lesenswert?

Rudi Ratlos schrieb:
>
>
> Erstmal geht es mir darum aufzuzeichnen wann wie viel Leistung vom BKW
> "verschenkt" wird. Später dann auch Verbraucher zu steuern.
>
Hast du dir mal ausgerechnet wie viel Überschuss du produzieren musst 
bis die 100€ von der Shelly herinnen sind?

Wenn man Geld sparen will dann schließt man ein Balkonkraftwerk an und 
freut sich darüber, dass ein Teil des Grundverbrauchs abgedeckt wird. 
Viel mehr liefert so ein Ding nicht.

Ich würde auch Geräte mittels Shelly optimieren - allerdings hab ich die 
Shellys schon lange in Betrieb und muss sie nicht erst extra kaufen.

Walta

von Rudi Ratlos (Gast)


Lesenswert?

M. P. schrieb:
> Lässt sich aber problemlos mit ioBroker realisieren. Kennt man sich
> damit aus ist das in 30 Minuten fertig. Als Anfänger so 3-4 Stunden zur
> Einarbeitung.

Danke. Dann werde ich mich wohl mal an einem Wochenende daran setzen.

Walta S. schrieb:
> Hast du dir mal ausgerechnet wie viel Überschuss du produzieren musst
> bis die 100€ von der Shelly herinnen sind?

Es waren 80€. Aber ja das es sich wohl nicht rentiert ist mir klar. Auch 
habe ich seit Ende April gerade mal 160kWh verschenkt.
Ich sehe den Shelly eher als nette "Spielerei" und vielleicht hilft er 
mir auch Lastspitzen zu erkennen und etwas besser zu verteilen. Mal 
sehen.

von Oliver S. (oliverso)


Lesenswert?

Cyblord -. schrieb:
> Dann kauft man einen Zähler der das einfach kann.

Jeder andere ja, aber nicht Rudi Ratlos. Der Name ist einfach Programm.

Oliver

von Alt G. (altgr)


Angehängte Dateien:

Lesenswert?

M. P. schrieb:
> Das ist eben kein über die Phasen saldierter Wert.

Du meinst sowas wie bild? Das rote sind shelly phase1 + phase2 + phese3.

Ist das "total returned" vom shelly nicht was OP will?

Rudi Ratlos schrieb:
> Dann werde ich mich wohl mal an einem Wochenende daran setzen.

Wenn du arduino code für einen esp8266 flashen kannst kann ich die den 
code für das bild oben geben. Das sind 12 stunden gesamtverbrauch vom 
shelly gemessen. Musst nur die IP deines shelly eintragen.

: Bearbeitet durch User
von M. P. (matze7779)


Lesenswert?

Alt G. schrieb:
> Ist das "total returned" vom shelly nicht was OP will?

Nein da dieser Wert vom Shelly nicht mit dem "normalen" Stromzähler 
übereinstimmen.

: Bearbeitet durch User
von Alt G. (altgr)


Lesenswert?

M. P. schrieb:
> Nein.

Du hast nicht lust dein nein zu erklären?

von Nelly (Gast)


Lesenswert?

Die Einspeisewerte des Shelly werden normalerweise mit - angezeigt und 
Bezug ohne Vorzeichen

von M. P. (matze7779)


Lesenswert?

Alt G. schrieb:
> Du hast nicht lust dein nein zu erklären?

Google einfach mal. Du wirst viele Beiträge dazu finden.

Beispiel Stunde 1:
Phase A = 1000W
Phase B = 1000W
Phase C = -2000W

Shelly wird die bei Total return 2kWh anzeigen.
Dein saldierender Stromzähler wird dir 0 kWh anzeigen (sowohl bei Bezug 
1.8.0 als auch bei Einspeisung 2.8.0).
Wenn Du jetzt noch bedenkst das die Werte sich in der Stunde ja ständig 
verändern wird es noch klarer.

Der einzige saldierte Wert beim Shelly ist der momentan Wert (Watt). Und 
dieser lässt sich bei ioBroker mit Sourceanalytix und einem kleinen 
Skript dann nutzen.

Mein Shelly sagt z.B. ich hätte 105kWh eingespeist.
Mein Stromzähler sagt 12kWh.

Daher kannste die Werte vom Shelly sobald eine PV Anlage ins spiel kommt 
vergessen.

Aber wenn man ehh auch steuern will ist ein übergeordnetes System wie 
ioBroker o.Ä. ehh einfacher.

: Bearbeitet durch User
von Alt G. (altgr)


Lesenswert?

M. P. schrieb:
> Beispiel Stunde 1:
> Phase A = 1000W
> Phase B = 1000W
> Phase C = -2000W
>
> Shelly wird die bei Total return 2kWh anzeigen.

Danke. Also return vom verbrauch abziehen dann sollte das hinkommen.

> Aber wenn man ehh auch steuern will ist ein übergeordnetes System wie
> ioBroker o.Ä. ehh einfacher.

Das macht bei mir ein esp8266 über http. Das ganze mosquitto und 
homeassistant zeugs hab ich probiert und als zu kompliziert empfunden.

: Bearbeitet durch User
von Der ewiche Baschtler (Gast)


Lesenswert?

Würde mich sehr interessieren. Gibts da einen Link wo man das Programm 
runterladen kann.

Alt G. schrieb:
> Das macht bei mir ein esp8266 über http.

Das ist mir nicht klar. Der Shelly Stromzähler hat keine ordentliche 
Schnittstelle (Modbus etc.) und Register sind auch nicht lesbar wie z.B. 
bei den meisten I2C Sensoren.

Alt G. schrieb:
> Das ganze mosquitto und
> homeassistant zeugs hab ich probiert und als zu kompliziert empfunden.

Habe mit so Zeugs noch nie was zu tun gehabt. Denke aber wenn man ein 
wenig Prog. Erfahrung mit ESP-Proz. hat ist man viel flexiebler und 
braucht sowas nicht.

Ja ich würde sogar behaupten, da brauch ich auch keinen Shelly. Einfach 
3 Stromtrafos an die ESP Analog Eingänge und ein bissel proggen.
Ca. 100 EUR Projektkosten gespart, die man mit einem Balkonkraftwerk 
600Wp ja nur sehr schwer wieder amortisiert kriegt.

Ist ja ein Mikrocontroller Forum hier, nicht wahr?

von Alt G. (altgr)


Lesenswert?

Der ewiche Baschtler schrieb:
> Das ist mir nicht klar. Der Shelly Stromzähler hat keine ordentliche
> Schnittstelle (Modbus etc.) und Register sind auch nicht lesbar wie z.B.
> bei den meisten I2C Sensoren.

Ersetz das 192.168.178.47 durch die IP deines shelly und probier mal
http://192.168.178.47/emeter/0
http://192.168.178.47/emeter/1
http://192.168.178.47/emeter/2

Oder:
http://192.168.178.47/emeter/0/em_data.csv

Vergiss einzelne I2C sensoren, das ist gebastel.

: Bearbeitet durch User
von Käferlein (Gast)


Lesenswert?

Alt G. schrieb:
> das ist gebastel.

Das Andere ist geschreibsel.

Alt G. schrieb:
> Vergiss einzelne I2C sensoren

Sowieso. Gar nicht dran zu denken I2C zu dekodieren.
Stromwandler --> Gebastel --> 0...5V und analogRead.
Der nano hat acht Analogeingänge. Schöööön. :)

von M. P. (matze7779)


Lesenswert?

Alt G. schrieb:
> Danke. Also return vom verbrauch abziehen dann sollte das hinkommen.

Nein natürlich nicht.

von Der ewiche Baschdler (Gast)


Lesenswert?

Alt G. schrieb:
> Ersetz das 192.168.178.47 durch die IP deines shelly und probier mal
> http://192.168.178.47/emeter/0
> http://192.168.178.47/emeter/1
> http://192.168.178.47/emeter/2
>
> Oder:
> http://192.168.178.47/emeter/0/em_data.csv

Danke für die Antwort.
Aber so ganz hab ich noch nicht kapiert.
Hab bisher nur HTTP/Web Server verwendet keinen Client.
Ein paar mehr Codezeilen währen gut.

Alt G. schrieb:
> Vergiss einzelne I2C sensoren, das ist gebastel.

Für I2C sensoren (Barometer, Temp., ...) gibts Librarys, das ist ruck 
zuck programmiert. Aber hier gehts um Analog-Sensoren.
Der Shelly ist doch auch Gebastel, was ordentliches währe ein 3-Phasiger 
Stromzähler mit Modbus.

Von denen hätt ich noch ein paar rumliegen.

https://www.aliexpress.com/item/1005001804687830.html?spm=a2g0o.productlist.0.0.45d464854mSt3v&algo_pvid=6e234ede-b989-4d03-8cb7-4a2c9807d206&algo_exp_id=6e234ede-b989-4d03-8cb7-4a2c9807d206-37&pdp_ext_f=%7B%22sku_id%22%3A%2212000017664747796%22%7D&pdp_npi=2%40dis%21NOK%2133.96%2132.26%21%21%21%21%21%400b0a119a16685120281615779e782d%2112000017664747796%21sea&curPageLogUid=CrrN90K70KRT

Also wenn schon basteln, dann aber richtig.

Käferlein schrieb:
> Sowieso. Gar nicht dran zu denken I2C zu dekodieren.
> Stromwandler --> Gebastel --> 0...5V und analogRead.
> Der nano hat acht Analogeingänge. Schöööön. :)

Die heutige Jugend kann halt nix mehr mit Analog.
Hier brauchts schon ein ESP32 weil 6 Analog-Inputs gebraucht werden.
3 inputs langen auch wenn man von 230V und rein ohmischer Belastung 
ausgeht.
Genau genug im realen Haushalt.

von Alt G. (altgr)


Angehängte Dateien:

Lesenswert?

Der ewiche Baschdler schrieb:
> Hab bisher nur HTTP/Web Server verwendet keinen Client.
> Ein paar mehr Codezeilen währen gut.

Siehe oben. Muttu deinen teil halt raussuchen.
Ist "int http_get(String getstr)" prozedur und ihr aufruf.
Das teil macht sowohl webserver wie auch client, synct mit NTP und kann 
OTA update.

Der ewiche Baschdler schrieb:
> 3-Phasiger
> Stromzähler mit Modbus.

Modbus RS485 zähler hatte ich mal. Fand ich oberwürg. Braucht kabel, 
braucht RS485 adapter, hat öfters störungen. Fazit unbrauchbar.

Edit: webstuff angehängt.

: Bearbeitet durch User
von Käferlein (Gast)


Lesenswert?

Der ewiche Baschdler schrieb:
> von 230V und rein ohmischer Belastung
> ausgeht.
> Genau genug im realen Haushalt.

Ja habe ich so gemacht.

von Der ewiche Baschdler (Gast)


Lesenswert?

Alt G. schrieb:
> Siehe oben. Muttu deinen teil halt raussuchen.
> Ist "int http_get(String getstr)" prozedur und ihr aufruf.
> Das teil macht sowohl webserver wie auch client, synct mit NTP und kann
> OTA update.

Danke für das Program.
Nach installation von ein paar Librarys kan ich es kompilieren.
Testen kann ich nicht da ich keinen Shelly EM3 habe.

Kann ich das Programm modifizieren und hier wieder reinstellen?
Wie gesagt mit integriertem Energy-Meter.
Hast hoffentlich keine komerziellen Interessen am Shelly EM3.
Immerhin war das eine gute Werbung hier.

Alt G. schrieb:
> Modbus RS485 zähler hatte ich mal. Fand ich oberwürg. Braucht kabel,
> braucht RS485 adapter, hat öfters störungen. Fazit unbrauchbar.

Dachte immer Kabel ist nicht so störanfällig. In der Industri macht 
keiner WiFi.

Käferlein schrieb:
>> von 230V und rein ohmischer Belastung
>> ausgeht.
>> Genau genug im realen Haushalt.
>
> Ja habe ich so gemacht.

Hast du da auch die Stromrichtung ermittelt. Also Einspeisung und 
Verbrauch gemessen?

von Alt G. (altgr)


Lesenswert?

Der ewiche Baschdler schrieb:
> Kann ich das Programm modifizieren und hier wieder reinstellen?

Dafür hab ich das reingestellt.

von Tom (toml)


Lesenswert?

M. P. schrieb:
> Beispiel Stunde 1:
> Phase A = 1000W
> Phase B = 1000W
> Phase C = -2000W
>
> Shelly wird die bei Total return 2kWh anzeigen.
> Dein saldierender Stromzähler wird dir 0 kWh anzeigen (sowohl bei Bezug
> 1.8.0 als auch bei Einspeisung 2.8.0).

Ich möchte bitte auf dieses Beispiel nochmal zurückkommen. Meinem 
Verständnis nach behandelt der Shelly alle 3 Phasen unabhängig 
voneinander. Es gibt per MQTT die Werte "total" für den Energiebezug auf 
dieser Phase sowie "total_returned" für die Energielieferung auf dieser 
Phase -- unabhängig von den anderen Phasen.

In Deinem Beispiel sollte also folgendes herauskommen nach einer Stunde:

Phase A: total = 1 kWh, total_returned = 0 kWh
Phase B: total = 1 kWh, total_returned = 0 kWh
Phase C: total = 0 kWh, total_returned = 2 kWh

Wenn man also die Gesamtenergie so berechnet:

phA_total - phA_total_returned + phB_total - phB_total_returned + 
phC_total - phC_total_returned

kommt in dem Beispiel heraus  1 - 0 + 1 - 0 + 0 - 2 = 0

Stimmt also ... wo ist nun das Problem oder der Denkfehler?

: Bearbeitet durch User
von Klaus (feelfree)


Lesenswert?

Tom schrieb:
> Stimmt also ... wo ist nun das Problem oder der Denkfehler?

Ich hab zwar keinen Shelly, aber ich versuch's trotzdem mal:

Deine obige Rechnung stimmt nur, wenn sowohl Erzeugung als auch der 
Verbrauch über den Zeitraum der Beobachtung komplett konstant waren.

Hast Du die je 1 kWh auf Phase A und B innerhalb von 10 Minuten beim 
Zubereiten des Mittagessens verbraucht, während gerade eine dicke Wolke 
vor dem BKW war, sieht die reale Rechnung im Extremfall so aus:
Du zahlst 2kWh (weil während des Verbrauchs keine Erzeugung)
und verschenkst 2kWh (weil während der Erzeugung kein Verbrauch).

von Tom (toml)


Lesenswert?

Klaus schrieb:
> Tom schrieb:
>> Stimmt also ... wo ist nun das Problem oder der Denkfehler?
>
> Ich hab zwar keinen Shelly, aber ich versuch's trotzdem mal:
>
> Deine obige Rechnung stimmt nur, wenn sowohl Erzeugung als auch der
> Verbrauch über den Zeitraum der Beobachtung komplett konstant waren.
>
> Hast Du die je 1 kWh auf Phase A und B innerhalb von 10 Minuten beim
> Zubereiten des Mittagessens verbraucht, während gerade eine dicke Wolke
> vor dem BKW war, sieht die reale Rechnung im Extremfall so aus:
> Du zahlst 2kWh (weil während des Verbrauchs keine Erzeugung)
> und verschenkst 2kWh (weil während der Erzeugung kein Verbrauch).

Danke, aber ich meine das total und total_returned ja solche Situationen 
auch reflektieren?  Also wenn ich das Original Beispiel hernehme und 
entsprechend erweitere:

Stunde 1:
Phase A = 1000W,   total=1, total_returned=0
Phase B = 1000W,   total=1, total_returned=0
Phase C = -2000W , total=0, total_returned=2

Dann noch eine Stunde ... die Zähler total und total_returned laufen 
weiter, danach sind sie:

Stunde 2:
Phase A = -4000W,  total=1, total_returned=4
Phase B = 1000W,   total=2, total_returned=0
Phase C = 1000W,   total=1, total_returned=2

Gesamtergebnis 1 - 4 + 2 - 0 + 1 - 2 = -2 kWh, also 2 kWh Einspeisung 
... das passt wieder.  Wenn ich das Spiel nun auf kleinere Zeiteinheiten 
herunterbreche sollte es ja immer noch passen....

Nicht?

von Klaus (feelfree)


Lesenswert?

Tom schrieb:
> Wenn ich das Spiel nun auf kleinere Zeiteinheiten
> herunterbreche sollte es ja immer noch passen....

Um was zu ermitteln?
Wenn Du wissen willst, wieviel kWh du mit der PV verschenkst, müssen die 
Zeiteinheiten vermutlich im Sekundenbereich erfasst werden.
So ein Kochfeld z.B. taktet in dem Zeitbereich.
Und dafür reicht wahrscheinlich die Auflösung der total und 
total_returned Werte nicht aus, das müssten dann mindestens Wh sein, 
besser 0.1Wh.

Deshalb vermutlich die Abfrage der Momentanleistung, die kann man 
genauer erfassen.

Aber vielleicht sollte das jemand beantworten, der so einen Shelly hat 
und nicht wie ich wie ein Blinder von der Farbe redet ;-)

: Bearbeitet durch User
von Tom (toml)


Lesenswert?

Klaus schrieb:

> Deshalb vermutlich die Abfrage der Momentanleistung, die kann man
> genauer erfassen.
>
> Aber vielleicht sollte das jemand beantworten, der so einen Shelly hat
> und nicht wie ich wie ein Blinder von der Farbe redet ;-)

Es wird schon stimmen ... ich versuche es nur zu verstehen und bisher 
hat es mir noch keiner schlüssig erklären können. Wenn es rein um die 
Abstastrate und ums Aufsummieren geht würden ja alle Programme welche im 
Minutentakt den Shelly 3EM auslesen und die Leistungswerte summieren 
ebenso falsch liegen weil es auch innerhalb einer Minute zu Lastspitzen 
kommen kann die dann nicht erfasst werden würden!

Danke für Deine Mühe!

von Tom (toml)


Lesenswert?

Klaus schrieb:

> Und dafür reicht wahrscheinlich die Auflösung der total und
> total_returned Werte nicht aus, das müssten dann mindestens Wh sein,
> besser 0.1Wh.

Die Auflösung dieser Werte ist übrigens Wh!

von Klaus (feelfree)


Lesenswert?

Tom schrieb:
> im Minutentakt

Eine Wh pro Minute entspricht einer Leistung von 60W. Das ist dann 
kleinstmögliche Auflösung, die man mit dem Summenzähler bekommen kann. 
Da schwankt ein reale Leistung z.B. der Grundlast von 180W also schon 
mal dauernd zwischen 120, 180 und 240W, alleine aufgrund der Auflösung.

von Tom (toml)


Lesenswert?

Klaus schrieb:
> Tom schrieb:
>> im Minutentakt
>
> Eine Wh pro Minute entspricht einer Leistung von 60W. Das ist dann
> kleinstmögliche Auflösung, die man mit dem Summenzähler bekommen kann.
> Da schwankt ein reale Leistung z.B. der Grundlast von 180W also schon
> mal dauernd zwischen 120, 180 und 240W, alleine aufgrund der Auflösung.

Das stimmt. Und wenn man den Fehler noch auf allen Phasen hat, hat man 
den Fehler im schlimmsten Fall drei mal.

Das wäre eine Erklärung… aber das ist ja eher ein Problem der Abtastung 
und Integration, sowie der Auflösung, weniger der Saldierung.

Ich sehe da Lösungen für Homeassistant wo kompliziert mit den Leistungen 
herumgerechnet wird und dann integriert wird. Die machen ja im Prinzip 
denselben Fehler weil dort die Auflösung auch nicht höher ist. Da kann 
ich gleich total und total_return vom Shelly nehmen …

von Balkonstrompirat (Gast)


Lesenswert?

Im Shelly 3em steck ja auch nur ein esp8266. Am besten wäre es der 
tasmota Software eine weitere Konfigurations-flag mitzugeben:
netting[*]=TRUE/FALES

https://templates.blakadder.com/shelly_3EM.html

* Oder wie auch immer man das im englischen nennt..

von Klaus (feelfree)


Lesenswert?

Tom schrieb:
> Die machen ja im Prinzip
> denselben Fehler weil dort die Auflösung auch nicht höher ist

Doch, ich denke schon dass die Momentanleistung eher in 1W-, auf jeden 
Fall nicht in 60W-Schritten angezeigt wird.
Und bestimmt kann man die Leistung auch öfter als einmal pro Minute 
abfragen.

: Bearbeitet durch User
von Tom (toml)


Lesenswert?

Klaus schrieb:
> Tom schrieb:
>> Die machen ja im Prinzip
>> denselben Fehler weil dort die Auflösung auch nicht höher ist
>
> Doch, ich denke schon dass die Momentanleistung eher in 1W-, auf jeden
> Fall nicht in 60W-Schritten angezeigt wird.
> Und bestimmt kann man die Leistung auch öfter als einmal pro Minute
> abfragen.

Ja richtig ... aber bisher hat noch niemand diese Erklärung genannt. Vor 
allem ist das Beispiel oben mit den 1000/1000/-2000W nicht so das es auf 
diese Erklärung hinweist.

Aber Danke für deine Mühe das hier mit mir zu diskutieren!

von Tom (toml)


Lesenswert?

Ok, nach reiflicher Überlegung bin ich zu folgendem Ergebnis gekommen:

a) Was will man überhaupt messen? Jene Energiewerte die das EVU zur 
Berechnung des Preises heranzieht. Das ist die vom EVU gelieferte 
Energie die vom Kunden eingespeiste Energie über eine bestimmte 
Zeitspanne.

b) Wie wurde das traditionell gemessen? Mit den alten Ferraris Zählern. 
Für diese Messung wurden zwei rücklaufgehemmte ( Rücklauf wurde 
mechanisch blockiert ) Zähler benutzt. Das Rad dreht sich nur dann wenn 
die Summenleistung in eine Richtung größer Null ist. Ein Zähler wurde 
für den Bezug und einer für die Lieferung benutzt.

c) das gilt es nun durch die Messung der Leistung auf den einzelnen 
Phasen abzubilden und kann nur erreicht werden indem man die Funktion 
der alten Ferraris Zähler quasi emuliert, d.h. Bezugsenergie wird nur 
summiert wenn die Gesamtleistung über alle Phasen größer Null ist. Wen 
die Gesamtleistung kleiner Null ist wird Einspeiseenergie summiert.
Beide Werte kann man nicht durch die Bezugs- und Einspeiseenergien auf 
den einzelnen Phasen ermitteln weil sich die bereits aufsummierten 
Energien später nicht wieder richtig trennen lassen.

d) für den Shelly 3EM habe ich nun ein kleines Bash Skript geschrieben 
das per HTTP die Leistungen vom Shelly holt, diese Berechnungen 
durchführt und das Ergebnis an einen MQTT Broker schickt. Läuft 
problemlos auf einem Raspberry Pi und ist, laut meiner Beobachtung sehr 
genau und kann an unterschiedlichste Bedürfnisse angepasst werden.

Schade das diese Funktionalität nicht schon im Shelly 3EM eingebaut ist.

Vielleicht hilft es ja dem einen oder anderen.

Frohe Weihnachten.

#!/bin/sh
shelly_ip=aa.bb.cc.dd
shelly_passwd=user:password
broker=127.0.0.1
tp=0
tl=0
et_from_grid=`timeout 3 mosquitto_sub -C 1 -h $broker -t 
shellyem3/et_from_grid`
et_to_grid=`timeout 3 mosquitto_sub -C 1 -h $broker -t 
shellyem3/et_to_grid`
et_from_grid_kwh=`timeout 3 mosquitto_sub -C 1 -h $broker -t 
shellyem3/et_from_grid_kwh`
et_to_grid_kwh=`timeout 3 mosquitto_sub -C 1 -h $broker -t 
shellyem3/et_to_grid_kwh`
if [ "$et_from_grid" = "" ]; then
    et_from_grid=0.0
    et_from_grid_kwh=0.0
fi
if [ "$et_to_grid" = "" ]; then
    et_to_grid=0.0
    et_to_grid_kwh=0.0
fi
echo $et_from_grid $et_from_grid_kwh $et_to_grid $et_to_grid_kwh
while true ; do
    s=`wget -q -O - http://$shelly_passwd@$shelly_ip/status`
    t=`echo "$s" | jq .unixtime`
    if [ $t -eq $tp ]; then continue ; fi
    d=`expr $t - $tp`
    dp=`expr $t - $tl`
    if [ $tp -ne 0 ]; then
        pt=`echo "$s" | jq ".total_power"`
        pti=`echo $pt | awk '{ print int($1) }'`
        if [ $pti -gt 0 ]; then
            et_from_grid=`echo $et_from_grid $pt $d | awk '{ printf 
"%.2f", $1 + ($2 * $3) }'`
            et_from_grid_kwh=`echo $et_from_grid    | awk '{ printf 
"%.2f", $1 / 3600000 }'`
        else
            et_to_grid=`echo $et_to_grid $pt $d | awk '{ printf "%.2f", 
$1 + ($2 * $3) }'`
            et_to_grid_kwh=`echo $et_to_grid    | awk '{ printf "%.2f", 
$1 / 3600000 }'`
        fi
        echo $dp $d $t $pt $et_from_grid $et_from_grid_kwh $et_to_grid 
$et_to_grid_kwh
    fi
    if [ $dp -ge 30 ]; then
        mosquitto_pub -r -h $broker -t shellyem3/et_from_grid -m 
$et_from_grid
        mosquitto_pub -r -h $broker -t shellyem3/et_to_grid -m 
$et_to_grid
        mosquitto_pub -r -h $broker -t shellyem3/et_from_grid_kwh -m 
$et_from_grid_kwh
        mosquitto_pub -r -h $broker -t shellyem3/et_to_grid_kwh -m 
$et_to_grid_kwh
        tl=$t
    fi
    tp=$t
    sleep 0.5
done

von Walta S. (walta)


Lesenswert?

Du hast nicht zufällig Lust deinen Post ins Shelly forum zu setzen? 
Denke es gibt dort einige die sich darüber freuen würden.

www.shelly-support.eu/forum

Oder direkt ins passende Unterforum.

https://www.shelly-support.eu/forum/board/55-shelly-3em/

Danke
Walta

von Tom (toml)


Lesenswert?

Walta S. schrieb:
> Du hast nicht zufällig Lust deinen Post ins Shelly forum zu setzen?
> Denke es gibt dort einige die sich darüber freuen würden.
>
> www.shelly-support.eu/forum
>
> Oder direkt ins passende Unterforum.
>
> https://www.shelly-support.eu/forum/board/55-shelly-3em/
>
> Danke
> Walta

Mach ich gerne ..

Liebe Grüße.

von Emanuel F. (sramx0000)


Lesenswert?

Tom schrieb:
> Walta S. schrieb:
>> Du hast nicht zufällig Lust deinen Post ins Shelly forum zu setzen?
>> Denke es gibt dort einige die sich darüber freuen würden.
>>
>> www.shelly-support.eu/forum
>>
>> Oder direkt ins passende Unterforum.
>>
>> https://www.shelly-support.eu/forum/board/55-shelly-3em/
>>
>> Danke
>> Walta
>
> Mach ich gerne ..
>
> Liebe Grüße.

Hallo,
kann jemand dieses Bash Skript nach Python übersetzen, ich habe es 
versucht und aufgegeben weil das Skript für mich schwer zu lesen ist.
Mit Tkinter habe ich bereits ein Programm das mir die Werte über die API 
vom Shelly ausliest und anzeigt, jetzt würde ich halt gerne auch die 
eingespeiste ges.Energie berechnet bekommen.

Vielen Dank Sram

Liebe Grüße aus Österreich

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.