hardware:batteries:marstek-b2500d
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| hardware:batteries:marstek-b2500d [2025/09/18 21:18] – tge | hardware:batteries:marstek-b2500d [2025/09/27 21:51] (aktuell) – gelöscht tge | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Der Marstek B2500D ist ein beliebter PV Speicher, der insbesondere aus Volkszählersicht den großen Vorteil hat, per MQTT recht einfach abfragbar und steuerbar zu sein. | ||
| - | Die im Folgenden beschriebene Installation läuft bei mir seit einigen Wochen problemlos und erzielt eine verbleibende Einspeisung von 20-30Wh pro Tag (unter der Annahme, der Akku ist noch nicht voll). | ||
| - | Es findet nur ein B2500D Verwendung - es können auch mehrere Geräte gekoppelt werden, dies wurde aber hier nicht berücksichtigt, | ||
| - | |||
| - | ==== Umgebung ==== | ||
| - | |||
| - | Es wird Folgendes benötigt: | ||
| - | * ein B2500D, zwischen Solarmodule und Wechselrichter geschaltet | ||
| - | * ein permanent laufender Computer (ein Raspberry Pi reicht völlig aus), auf diesem | ||
| - | * ein MQTT Broker | ||
| - | * eine hame-relay Instanz (s.u.) | ||
| - | * ein vzlogger, der u.a. per MQTT die Metriken vom Speicher abfragt | ||
| - | * Sensoren, die den Gesamtenergiefluß im Haus messen und als VZ channel verfügbar machen (ggf auch als errechneter channel in der VZ middleware) | ||
| - | |||
| - | ==== Architektur ==== | ||
| - | |||
| - | Normalerweise erfolgt die Steuerung der B2500D mittels einer App indirekt über eine "in der Cloud" befindliche MQTT Instanz - das heisst, der Speicher agiert als MQTT subscriber (wartend auf Befehle) und publisher (Antworten, so auch komplette Statuswerte inkl aller interessanten Metriken). Diese Kommandos sendet die App und empfängt die Antworten zur Anzeige im GUI. | ||
| - | Die Software hame-relay erlaubt es nun, einen lokalen MQTT Broker " | ||
| - | * Mode 1 - der Speicher wird umkonfiguriert, | ||
| - | * Mode 2 - das hame-relay agiert parallel zur App als Publisher und Subscriber beim Cloud-MQTT-Broker und empfängt dann ebenfalls alle Antwortpakete und kann Kommandos einspeisen. Alle Pakete werden zum lokalen MQTT Broker repliziert und sind dann für uns verwertbar. Funktioniert grundsätzlich auch - gut, um das Ganze erstmal auszuprobieren, | ||
| - | |||
| - | Der große Vorteil: Die App funktioniert immer noch. | ||
| - | |||
| - | Das Ganze wird nun in VZ integriert, indem der vzlogger ein Meter periodisch ausführt, was per " | ||
| - | |||
| - | Dazu kommt ein weiteres Script, welches als OS Service läuft, sich ebenfalls beim lokalen MQTT Broker als subscriber anmeldet und ebenfalls die vom vzlogger erbetenen status Antworten empfängt. Nach Empfang werden diese analysiert und die VZ middleware abgefragt, um den aktuellen Gesamtenergiefluß zu erhalten. | ||
| - | Der Gesamtenergiefluß entspricht dem aktuellen Bedarf (bzw bei negativen Werten Einspeisung), | ||
| - | |||
| - | ==== MQTT ==== | ||
| - | |||
| - | Als lokale MQTT Instanz kann mosquitto genutzt werden oder was auch immer sonst. Ein user/ | ||
| - | |||
| - | ==== hame-relay ==== | ||
| - | |||
| - | Diese Komponente ist sehr gut dokumentiert [[https:// | ||
| - | |||
| - | Um mode 1 zu verwenden, muss der B2500D umkonfiguriert werden (um den lokalen MQTT Broker zu nutzen). Auf der o.g. hame-relay Seite ist ein Config-Tool verlinkt, welches diese Aufgabe erfüllt. Dies war in meinem Fall etwas hakelig, aber nur weil: | ||
| - | * die Kommunikation mit dem Speicher läuft über BLE websockets, was nicht alle browser unterstützen | ||
| - | * die Hardware (ältere Modelle können dies u.U. nicht, evtl auch das OS) muss dies unterstützen, | ||
| - | |||
| - | Mit einem aktuellen OS/Browser lief das dann völlig problemlos. | ||
| - | |||
| - | ==== vzlogger ==== | ||
| - | |||
| - | Keine besonderen Herausforderungen. Meine Beispiel-Config: | ||
| - | |||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | [ | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | ... | ||
| - | |||
| - | Die Metrik w1 beispielsweise entspricht der am PV Eingang 1 anliegenden Leistung der Solarmodule. | ||
| - | Das MQTT Protokoll des B2500D und die Metriken sind [[https:// | ||
| - | Das o.g. Script b2500d_mqtt.pl ist [[https:// | ||
| - | |||
| - | ==== Steuerscript ==== | ||
| - | |||
| - | Wie oben beschrieben sorgt nun ein weiteres Script b2500d_ctrl.pl für das Regeln der Ausgabeleistung des Speichers je nach Bedarf. Dieses Script ist ebenfalls [[https:// | ||
| - | Die nötigen Config-Parameter befinden sich direkt im Script: | ||
| - | * Zugang lokaler MQTT Broker mit MAC des Speichers (für MQTT Topic) | ||
| - | * Zugang VZ Middleware | ||
| - | * welcher VZ Channel | ||
| - | * Steuerparameter wie Ein/ | ||
| - | |||
| - | Dieses Script muss kontinuierlich laufen und arbeitet wie oben beschrieben. Es wird versucht, die Ausgangsleistung des PV Speichers so zu regeln, dass ein Gesamtenergiefluß im Haus von Null erreicht wird. Da der B2500D mit der derzeitigen Firmware nicht erlaubt, Output < 40W einzustellen, | ||
| - | All dies wird über genau ein Zeitinterval 00:00-23:59 geregelt, welches kontinuierlich verändert wird (bzw dessen Ausgangsleistung). | ||
| - | |||
| - | Versuche, den Auto-Modus zu verwenden, waren einigermaßen erfolgreich, | ||
| - | |||
| - | ==== Praxis ==== | ||
| - | |||
| - | Bei mir sieht das nun (Beispiel heute, 18.Sept, vormittags sehr bewölkt, ab mittags sonnig) so aus: | ||
| - | |||
| - | {{: | ||
| - | |||
| - | Am Vortag auch bewölkt, daher morgens Speicher leer (10%). Hellblau der Gesamtenergiefluss, | ||
| - | |||
| - | ==== Tips und Tricks ==== | ||
| - | |||
| - | Ich habe eigentlich einen Hoymiles Wechselrichter - wenn man beim Speicher diesen korrekt konfiguriert, | ||
| - | Wenn man statt dessen einen Marstek WR mit gleicher Max-Leistung einstellt, ist eine Minimalleistung von 40W möglich. | ||
| - | Da z.B. nachts (nur Kühlschrank periodisch) meist nur in etwa 10-15W benötigt werden, schaltet in diesem Fall das Steuerscript die Leistungsabgabe komplett ab. | ||
hardware/batteries/marstek-b2500d.1758223095.txt.gz · Zuletzt geändert: von tge