Wir wechseln das Forum am 14.11.24 auf die Forensoftware Discourse. Zwischen Montag Abend und Dienstag Nachmittag wird das Forum deaktiviert. Danach sind wir hoffentlich mit neuem Forum inkl. der vorhandenen Beiträge wieder am Start! Hier zum Forenbeitrag!
Brauche ich ein Shelly EM3, um da was zu basteln, oder sind die von der Software alle gleich und ich kann auch etwas billigeren verwenden?
Gruß Trucki
Kommt drauf an wie du den anbindest. Das einfachste mit den Std-Shellys wäre über Rest. Da sind die 3EM als Gen.1 ansich alle relativ gleich anzusprechen:
https://shelly-api-docs.shelly.cloud/gen1/#shelly-3em
Das funktioniert dann aber auch mit anderen wie dem 1-phasigen EM...
Ich bin auch gerade am recherchieren. Die Shelly kann man auch mit Tasmota bzw ESPHome flashen. Dann könnte man auch ein summierten Wert bekommen. Da wäre dann gleich das Homeassistant API auch mit dabei... Einzig auf die Kalibrierungsdaten muss man da scheinbar aufpassen bzw die sichern.
Wäre da nicht eine Anbindung einfacher?
-Klaus
Ja direkte Anbindung klingt gut. Geht auch ein Shelly 1PM?
Meinst du per ESPHome, soweit ich das sehe gehen da alle Gen.1. Rest wäre sonst auch relativ gleich wenn man sich die Status-Meldung ansieht.
Ich meine: Wemos auf meine Platine aufstecken und so programmieren, dass er z.B. via Rest API den aktuellen Verbrauch vom Shelly holt und and die Platine weiter gibt.
Ein Beispiel für den 3em:
http://192.168.1.100/status
{"wifi_sta":{"connected":true,"ssid":"XXXXXXX","ip":"192.168.1.100","rssi":-80},"cloud":{"enabled":true,"connected":false},"mqtt":{"connected":false},"time":"21:47","unixtime":1664999262,"serial":XXXXXXx,"has_update":true,"mac":"XXXX","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":false,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"is_valid":true,"source":"input"}],
"emeters":[{"power":17.20,"pf":0.64,"current":0.11,"voltage":240.40,"is_valid":true,"total":120524.8,"total_returned":63641.6},{"power":101.07,"pf":0.92,"current":0.45,"voltage":239.65,"is_valid":true,"total":127658.9,"total_returned":30974.8},{"power":8.98,"pf":0.46,"current":0.08,"voltage":240.15,"is_valid":true,"total":57719.1,"total_returned":0.0}],
"total_power":127.25,"fs_mounted":true,
"update":{"status":"pending","has_update":true,"new_version":"20220830-080542/v1.12-3EM-gcf4f7c2","old_version":"20220415-105853/v1.11.7-25-gb3b096857-v1.11.7-3em"},"ram_total":49288,"ram_free":28880,"fs_size":233681,"fs_free":157126,"uptime":2482848}
Bei einem 1-phasigen wäre es entsprechend weniger. Info darüber gibt
http://192.168.1.100/shelly
{"type":"SHEM-3","mac":"XXXXXX","auth":false,"fw":"20220415-105853/v1.11.7-25-gb3b096857-v1.11.7-3em","longid":1,"num_outputs":1,"num_meters":0,"num_emeters":3,"report_period":1}
Es gäbe noch die Möglichkeit das der User ein Passwort eingegeben hat… das würde über Basic HTTP authentication laufen.
Beim 1pm wäre es ein „meter“ statt „emeter“:
https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-status
da wären wir dann immer noch da, wo ich gefragt habe, wie man diesen abgefragten Wert dann in der yaml als ac output setzen kann.
Die selbstgebastelte Lösung bei einem wemos (tasmota) mit ir diode am digitalen Stromzähler sieht bei mir (nach vielen und langen Versuchen) zumindest in der Abfrage so aus
(Daten werden abgefragt und kommen auch an und ich kann sie anzeigen lassen aber die Umsetzung von da an als ac output fehlt mir...
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ich frage über den explorer z. B. mit
http://192.168.178.91/cm?cmnd=Status%208
den Wert "Leistung gesamt" ab und als Antwort kommt dann :
{"StatusSNS":{"Time":"2022-10-05T22:48:36","":{"Zählerstand":2550787.65742000,"Leistung gesamt":259.89,"Leistung L1":9.38,"Leistung L2":109.44,"Leistung L3":141.07,"Spannung L1":237.1,"Spannung L2":234.7,"Spannung L3":234.7,"0_0_0":"1EBZ0123456789"}}}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
in der yaml kann ich das ganze auch abfragen und als string bekommen:
interval:
- interval: 5sec
then:
- http_request.get:
url: http://192.168.178.123/cm?cmnd=Status%208
headers:
Content-Type: application/json
verify_ssl: false
on_response:
then:
- lambda: |-
json::parse_json(id(http_request_test).get_string(),[](JsonObject root){id(zaehler).publish_state(root["StatusSNS"][""]["Leistung gesamt"]);});
Die Antwort ist dann: 259.89
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Die Frage lautet nun, wie kann ich das in der yaml als ac output setzen? ist ja mit dem shelly das gleiche (Abfrage nach "total_power") oder übersehe ich da etwas?
PS den weg über iobroker gehe ich ja aktuell auch aber die direkte Kommunikation hängt nur an der Einstellung in der yaml
Ich hätte gesagt über publish_state... https://esphome.io/components/sensor/custom.html
Den Ansatz kann man für alle Interfaces mit Rest anpassen, danke!
Hallo Maxim,
super! Funktioniert der ESP(Home) zum loggen auch? Vielleicht hast Du Lust noch ein paar Bilder zu posten?
Danke
Viele Grüße,
Trucki
Hallo Trucki,
ja gerne.
Die Anlage läuft jetzt bereits 8 Tage tadellos.
Mein IoBroker ist in der Zeit schon zwei-drei mal hängen geblieben daher ist für mich die SDM630 Mode Lösung optimal.
Ein Raspberry PI 3 ist zu schwach für den IoBroker.
Zu meiner Anlage:
Ich habe jeweils 1,1kWp Ost und West. Diese Panele laden die LiFePo4 (16x CALB 230Ah von Shengzen Basen mit JK BMS) über zwei Victron MPPT 100/20 48V. Der Sun2000 ist an die 48V Schiene angeschlossen.
Es wird immer ca 30-100W aus dem Netz genommen.
Hier sieht man mein Verbrauch und die Batterieladung.
Auch ist gut zuerkennen das ein Sun2000 Spitzenlasten nicht ausgleichen kann. 1850W sind etwas zu wenig.
Meine Wünsche für ein Update:
- Schnelleres Regel des Sun2000 um die aus dem Netz kommende Leistung zu reduzieren
- genauer regeln um noch weniger aus dem Netz zu nehmen (ist vermutlich aufgrund des DAC nicht möglich oder ?)
- ein parallel Betrieb für zwei bis drei Sun1000/2000 um im SDM630 Mode die Spitzenlasten abdecken zu können (oder eine Warmwasserwärmepumpe zu betreiben)
Danke
Gruß Maxim
Hallo Maxim,
toll, vielen Dank für die schönen Bilder. Es ist jedes Mal spannend in andere Keller gucken zu können 😉
Schneller und genauer Regeln:
Nein, das liegt nicht am DAC. Der ist schnell und genau. Es liegt an meinen sehr konservativen Regelparametern, die ich für den SMD630 Modus verwende:
- Immer zwischen 25-75W aus dem Netz beziehen
- Inverter-Output langsam hochfahren (über ca. 60s) und schnell runterfahren (ca.1-2s)
Die Motivation dahinter ist, so wenig wie möglich ins Netz einzuspeisen.
Mit einem eigenen Arduino könntest Du die Parameter so anpassen, wie es für Dich am besten passt. Aus diesem Grund habe ich den SDM630 Regler als eigenes Projekt hier veröffentlicht:
https://github.com/trucki-eu/SDM630-zero-export-controller-Arduino-
Der Code ist nicht ganz aktuell. Z.B. fehlt das Status-Telegramm für den ESP8266 oder die Begrenzung auf 850/1850W. Wenn ich die ganzen Platinen-Anfragen bewältigt habe, dann mache ich mal ein Update.
Damit könnte man auch mehrere SUNs/Platinen ansprechen und kaskadieren. Hier wird es auch so individuell, dass es keinen Sinn macht das in die Firmware meiner Platine zu integrieren.
Viele Grüße,
Trucki
Gibt es hier jemanden der mich bei der Umsetzung Steuerung via Iobroker/Shelly 3EM unterstützen könnte? Zahle auch gern dafür.
Vielen Dank vorab.
Hallo Maxim,
toll, vielen Dank für die schönen Bilder. Es ist jedes Mal spannend in andere Keller gucken zu können 😉
Schneller und genauer Regeln:
Nein, das liegt nicht am DAC. Der ist schnell und genau. Es liegt an meinen sehr konservativen Regelparametern, die ich für den SMD630 Modus verwende:
- Immer zwischen 25-75W aus dem Netz beziehen
- Inverter-Output langsam hochfahren (über ca. 60s) und schnell runterfahren (ca.1-2s)
Die Motivation dahinter ist, so wenig wie möglich ins Netz einzuspeisen.Mit einem eigenen Arduino könntest Du die Parameter so anpassen, wie es für Dich am besten passt. Aus diesem Grund habe ich den SDM630 Regler als eigenes Projekt hier veröffentlicht:
https://github.com/trucki-eu/SDM630-zero-export-controller-Arduino-Der Code ist nicht ganz aktuell. Z.B. fehlt das Status-Telegramm für den ESP8266 oder die Begrenzung auf 850/1850W. Wenn ich die ganzen Platinen-Anfragen bewältigt habe, dann mache ich mal ein Update.
Damit könnte man auch mehrere SUNs/Platinen ansprechen und kaskadieren. Hier wird es auch so individuell, dass es keinen Sinn macht das in die Firmware meiner Platine zu integrieren.
Viele Grüße,
Trucki
Hallo Trucki,
das ist ja genau was ich alles gesucht habe! Danke.
So wäre es mir möglich:
1. Mehr Werte aus dem SDM630 zu lesen und zum Iobroker zu senden (mit einem ESP8266 und Erweiterung des Codes)
2. Regel-Parameter anpassen (Ob das "besser" als deine Voreinstellung ist muss sich erst zeigen oder es saugt unnötig meine Batterie leer :?)
3. Kaskadieren von mehreren SUN Grid Tie
Zu Punkt 3 habe ich noch eine Frage. Hier wird im Projekt SDM630-zero-export-controller-Arduino explizit von Modbus ID4 gesprochen.
Jedoch müsste ich doch den SUNs verschiedene IDs vergeben oder?
Reagiert das RS485 Interface in allen IDs gleich (ausser in der ID16 - SDM630 Mode)?
Gruß Maxim
Hallo Maxim,
ja alles richtig.Du gibst jedem SUN eine eigene ID und sprichst die an. Ja, jede ID verhält sich gleich. Bei ID16 wird nach dem Start kurz geguckt, ob ein SDM630 erreicht werden kann. Wenn nicht, dann arbeitet auch die ID16 so wie alle anderen IDs.
Gruß,
Trucki
Gibt es hier jemanden der mich bei der Umsetzung Steuerung via Iobroker/Shelly 3EM unterstützen könnte? Zahle auch gern dafür.
Vielen Dank vorab.
Hallo Daniel,
worin liegt denn genau das Problem?
Mit einem Shelly 3EM ist es eigentlich ganz einfach.
Wie ist dein Setup aktuell aufgebaut? Welcher Hard-/Software benutzt du?
Was klappt aktuell noch nicht?
Gern auch per PN,
Gruß Sven
Gibt es hier jemanden der mich bei der Umsetzung Steuerung via Iobroker/Shelly 3EM unterstützen könnte? Zahle auch gern dafür.
Vielen Dank vorab.
Hallo Daniel,
worin liegt denn genau das Problem?
Mit einem Shelly 3EM ist es eigentlich ganz einfach.Wie ist dein Setup aktuell aufgebaut? Welcher Hard-/Software benutzt du?
Was klappt aktuell noch nicht?Gern auch per PN,
Gruß Sven
Hast PN