TopBand BMS Gateway - ESP32-S3 Firmware für RS485 zu CAN/MQTT (Victron/Pylontech/SMA + Home Assistant)

Moin Forum,

ich habe nach einer Lösung gesucht, die recht günstigen EET 1,44kWh 48V Batterien aus diesem Thread an ein OpenDTU-onBattery System anzuschließen. Von @atomi23 gab es eine erste Version der Software für Arduino, welche ich als Inspiration für eine von Grund auf neu geschriebene Lösung für die ESP32 IDF genutzt habe. Dabei rausgekommen ist eine BMS-Gateway-Lösung für TopBand-basierte Batterien, die ich hier gerne separat vorstellen möchte. Es gibt ein paar Details in dem recht langen Thread zu den EET-Akkus, aber ich wollte es hier mal kompakt zusammenfassen.


Was es ist

Open-Source-Firmware für ESP32-S3, die TopBand-LiFePO4-Batterien (via RS485) mit Wechselrichtern (CAN, Victron/Pylontech/SMA-Protokoll) und Home Assistant (MQTT) verbindet. Läuft auf einem Waveshare ESP32-S3-RS485-CAN-Board (16MB Flash, 8MB PSRAM). Kompatibel mit (wahrscheinlich) allen Batterien, die das TopBand-RS485-Protokoll nutzen – u.a. EET, Power Queen.

Aktueller Stand

V3.3.1 (stabil), wird aktiv weiterentwickelt. Quelloffen (MIT-Lizenz), GitHub: :backhand_index_pointing_right: Link

Funktionsumfang

  • Bis zu 16 BMS-Packs an einem RS485-Bus werden ausgelesen, Details pro Pack und pro Zelle
  • CAN-Ausgang: Victron, Pylontech, SMA - zur Laufzeit umschaltbar
  • Web-Dashboard, responsive, hell/dunkel
  • MQTT mit Home-Assistant-Autodiscovery, Diverse Detailstufen
  • Bluetooth: Victron-MPPT- und SmartShunt-Anbindung (Solarleistung, Shunt für präziseren Batteriestrom auch bei kleinen Strömen)
  • Sicherheitslogik: Zellspannung/Drift/Temperatur, richtungsbewusste Sperre (z.B. Überspannung sperrt nur Laden, nicht Entladen)
  • Per-Zell-Drift-Ansicht über 5 Tage, ausgewertet an den Ladeextremen (oben/unten), nicht im flachen Mittelbereich der LiFePO4-Kurve
  • Diagnostics-Seite: RS485-Bus-Statistik, WLAN, CAN, BMS-Systemparameter etc.
  • OTA-Updates mit Selbsttest und automatischem Rollback
  • Automatisches Einstellungs-Backup per MQTT (ohne Zugangsdaten), manuelle Wiederherstellung via Webgui
  • Telegram-Benachrichtigungen für diverse Alerts
  • Auto-Konfiguration aus den BMS-Systemparametern (Auto/Auto+Margin/Manuell)

Hardware

Waveshare ESP32-S3-RS485-CAN (SKU 32154), N16R8-Variante. Custom-Boards über manuelle Pin-Konfiguration möglich. Entwickelt wird auf dem Waveshare Board.

Screenshots

Demo

Auf Github läuft eine Demo Seite, welche die Funktionen zu 99% nachbildet. Link: :backhand_index_pointing_right: TopBand Gateway Demo

Feedback, Bug-Reports und Pull Requests willkommen - speziell zu anderen Wechselrichter-Kombinationen, da ich selbst nur begrenzt testen kann. Issues gerne direkt auf GitHub.

Mittlerweile laufen 3 von den EET Akkus via CAN Bus (Pylontech Protokoll) an meiner OpenDTU.

Hallo Waterkant,
vielen Dank für die Weiterentwicklung der Software. Inzwischen ist bei mir die Software erfolgreich auf die Waveshare Hardeware-Variante aufgespielt. Leider scheitere ich aber noch an der WLAN-Einrichtung. Das Passwort-Eingabefenster schließt sich immer, bevor ich das Passwort eingeben kann. Könntest Du vielleicht noch eine manuelle WLAN-Einrichtung ergänzen, ohne WLAN-Scan?

Grüße

Mache ich gern, und Du hast recht das PW Eingabefeld schließt recht schnell. Das wollte ich noch beheben.

@W-PV Ich habe einen Patch Release (v 3.3.1) veröffentlich.

1 „Gefällt mir“

Vielen Dank! Kaum angefragt , schon geliefert. Jetzt läuft das System.