Multiplus2 nulleinspeisung ohne cerbo, ohne mk3, ohne raspi, alles mit esp32 und shelly

Grundlage ist dieses github projekt: GitHub - pv-baxi/esp32ess

Ich habe mir das auf shelly 3EM umgeschrieben, habe das BMS zeugs rausgenommen und die hardware etwas vereinfacht.

Hat wer interesse am testen?

3 „Gefällt mir“

Man muss dabei unbedingt auf porentialtrennung achten. Den esp32 gleichzeitig am multiplus und am usb der PC anhängen sollte man nicht. Das kann und wird katastrophale schäden geben. Das system ist den esp32 über usb zu flashen, dann usb trennen und eine powerbank zur speisung verwenden. Erst dann mit dem multiplus verbinden.

Vor dem kompilieren folgendes af die eigenen daten ändern:

//Wifi password
const char* SSID = "xxx";
const char* PASSWORD = "yyy";
String Shelly_IP = "192.168.178.49";

Beim ersten flashen auch gleich notieren welche IP der esp32 hat. Das sieht man mit "tools" und "serial monitor" kurz nach dem reset.

Das re-flashen des esp32 macht man dann über OTA. In arduino unter "sketch" das "export compiled binary" clicken. Dann auf der esp32-webseite auf "upload" clicken und den "compiled binary" filename wählen. So kann man flashen ohne den esp32 über usb mit dem PC zu verbinden.

Die 5V speisung des esp32 kann man auch über einen step-down am 12V pin "ve in" am rj45 connector machen. Das spart die power-bank.

1 „Gefällt mir“

So sieht das aus wenn die kommunikation zu multiplus NICHT klappt:

Nur wenn das "no sync" nicht zu sehen ist funktioniert es. Die seite muss man mit "Refresh" neu laden um neue daten zu sehen.

Anfang ist das im "manual mode" und man kann mit den tasten "charge" oder "invert" den akku laden oder einspeisen. Refresh nicht vergessen und schauen was "ESSPower" anzeigt.

Wenn der "powermeter" daten anzeigt steht die verbindung zum shelly. Dann kann man auf "auto" drücken und nulleinspeisung machen.

Die tasten "read var" und "read info" sind experimentell zum lesen der multiplus werte. Nicht verwenden.

So sieht das bei nulleinspeisung aus:

Hier einspeiseleistung 49W, stromzähler 26W (target ist 25W). Das funktioniert auch zum akku laden. Falls man nur laden will taste "charge only" drücken.

Hier die arduino source:

esp32ess.zip (5.5 KB)

AUF EIGENE GEFAHR ! Ich übernehme keinerlei haftung !

Wenn ihr die potentialtrennung nicht beachtet wird das irgendwann den multiplus, den esp32 und den PC beschädigen.

1 „Gefällt mir“

Hier die grafik.

Rot der haus-verbrauch vom shelly, blau die einspeisung vom multiplus2. Die regelung versucht den haus-verbrauch auf 25W zu bringen. Die beiden buckel sind von meiner oelheizung die beim feuern 250W braucht.

Danke fürs Teilen deines Codes!

Veröffentliche es doch gleich bei github?

Wo wird die erzeugt? Bitte immer die Skalen mit anzeigen!

MP2 ohne Victron-Fesseln finde ich sehr spannend! Es gab hier im Forum irgendwo schon einmal Code zu dem Thema!

Interessanter Ansatz. Aber wo hast du die Daten vom Akku? Oder entlädst du bis das BMS trennt???

Und was habe ich davon wenn ich auf die pefekte Victronwelt verzichte und auf die primitive Lösung umsteige?

Die grafik wird im esp32 gemacht. File webstuff.ino -> drawgraph().

Von dir würde mich die regelstrategie interessieren. Wo beschreibst du das in deiner doku?

Bis das BMS uns trennt !

Hab erst heute rausgefunden wir ich batteriespannung und strom auslesen kann.

Verkürzung des ROI ?

Zu vernachlässigen.. als Zähler habe ich den Hauszähler via IR Lesekopf eingebunden, Kosten 10-15€..

Als Raspi läuft ein RPI2, der hier schon seit gut 5 Jahren rumlag.. das teuerste war glaube das vebus-Kabel vom MP2 zum RPI.. wenn man sich die Gesamtkosten betrachtet, geht das im Rauschen unter..bin da nicht mal bei 100€..

Dennoch ein interessantes Projekt..

Denke mit "die pefekte Victronwelt" meint der "stromsparer" was anderes, er meint das Cerbo und ein Victron leistungsmessgerät.

Welche messfrequenz hat dein zählerkopf denn? Geht das jede sekunde?

Ja, Auslesefrequenz ist 1Hz, was für mich ausreichend schnell ist.

Ich hab 5 sekunden intervall. Einstellbar.

Weil das über WiFi geht langsam. Muss mir gelegentlich einen "wired repeater" reinmachen.

Seit ich werte vom MP2 auslesen kann ist die regelung einiges besser geworden. Ich muss nicht mehr vermuten was der MP2 gerade einspeist, ich kann ihn fragen :slight_smile:

@surolac Das mit einem Lesekopf wäre echt Klasse oder ein MQTT Datenpunkt, wo er die Vorgabe her bekommen kann. Der Liefert die Daten pro Sekunde, wie auch der 3EM. Nur muss man ja beim 3EM die einzelnen Phasen noch zusammenrechnen.

Genau das macht das projekt vom PV-Baxi das im ersten post verlinkt ist.

Heute flutscht das mit der sonne :o)

Skala 1000W bis -1000W.

Rot netzleistung. Grün vom multiplus2 erbrachte leistung.

Der buckel in der mitte war hamburgerbraten.

Hab mir eine SOC anzeige gebastelt. Ohne BMS anbindung. Einfach die amp-werte vom MP2 aufsummieren.

Was ich noch brauche ist eine logik "wenn soc über 90% wirf die brauchwasser-WP an".

Die Lösung hat seinen Charme, da minimalistisch :slightly_smiling_face:

Ich mache mir Gedanken zu den Regelverlusten im Vergleich zur "Volllösung" mit Venus OS. Ich kenne mich mit Shellys nicht aus, daher die Frage: Wie häufig aktualisiert ein Shelly seine Messwerte? Und wie häufig fragt der ESP diese ab?

Wie schnell der shelly das intern macht weiss ich nicht. Ich frage ihn alle 5 sek ab weil wifi. Da gehen bei lastwechsel halt mal 5 sek lang 2kw in netz, mir egal.

Der 3EM-pro hat rj45 kabel, den würde ich mit 1sek abfragen.