zeroPV: Auslesen von JKBMS, DalyBMS und mehr mit RPi Zero2, fast Plug and Play

Hi zusammen,

ich baue demnächst aus meinem alten 24V System eine PV-Ladestation für den Mokka-E meiner Eltern. Ich benutze bei mir Home Assistant dafür welches auf meinem lokalen Server läuft. Ich hatte ursprünglich vor, das System für das neue alte Projekt einfach zu kopieren, jedoch hatte ich dabei das Thema Hardware-Anforderungen komplett übersehen. Da das neue System erstmal wirklich nur dem Laden dienen soll und Smarthome-Funktionalität garnicht vonnöten ist, werde ich eine leichtgewichtige Lösung basteln, die auf einem Pi Zero 2 W laufen soll.

Geplante Funktionalität nach Prio geordnet:

  • Mosquitto als MQTT Broker

  • Nodered als Dashboard und Datenschubser

  • Auslesen der BMS Werte per Bluetooth über batmon-ha (Geht auch Standalone)

  • Auslesen des Inverters per voltronic-mqtt

  • Datenlogging in eine InfluxDB

  • Schöne Graphen mit Grafana, evtl. gehe ich für das Dashboard auch komplett auf Grafana

Kompatibilität zu JKBMS/DalyBMS sowie alle Voltronic/MPPSolar Inverter die von voltronic-mqtt unterstützt werden

Anfangen werde ich mit dem BMS und dann auch ein Image rausgeben, mit welchem man auf die Schnelle ohne viele Ahnung und einem Zero2 das BMS auslesen kann, das scheint es so noch nicht zu geben (siehe aktueller Thread mit abenteuerlichen Problemlösungen)

Falls jemand etwas vergleichbares schon gebaut hat bitte melden, ich baue gerne etwas aber wenn es schon fertig verfügbar ist wäre es dumm es nicht zu nutzen :wink:

EDIT: Erste Version weiter unten im Thread verfügbar :wink:

3 „Gefällt mir“

Läuft :slight_smile: Jetzt isses nur noch Fleißarbeit, denke Ende nächster Woche bekommt ihr ein Weihnachtsgeschenk :wink:

1 „Gefällt mir“

Das BMS Dashboard ist jetzt schon in einer ersten Version fertig, setze mich heut eim Verlauf des Tages mal an das Paket :slight_smile:

1 „Gefällt mir“

Setze gerade noch die Influx+Grafana auf, damit direkt von Anfang historische Werte aufgezeichnet werden, Node-Red ist ja erstmal nur eine Momentaufnahme.

So, Influx und Grafana laufen jetzt auch :slight_smile:

Falls du dich über den mangelnden Input wunderst - ich beobachte und bin gespannt :wink: Ggf. würde ich verwendung dafür finden.

1 „Gefällt mir“

Das freut mich :slight_smile:

  • JK BMS / jikong (JK02 protocol)
  • Daly BMS
  • JBD / Jiabaida/ Xiaoxiang / Overkill Solar BMS
  • ANT BMS
  • Supervolt BMS
  • SOK BMS
  • Victron SmartShunt (make sure to update to the latest firmware and enable GATT in the VictronConnect app)
wäre theoretisch machbar, allerdings weiß ich nicht inwiefern sich die mqtt-topics je Gerät unterscheiden. Bisher hab ich mit meinem JKBMS gearbeitet, mache jetzt mal den anderen Akku fertig und dann kommt der Test mit Daly.
1 „Gefällt mir“

So, Pi Image von der BMS Only Variante ist soweit fertig, morgen teste ich dann meine kleine Anleitung für Nicht-Linuxer damit, wenn das bei JK und Daly klappt verlink ich es direkt, hochgeladen ist es schon :slight_smile:

Hallo zusammen,

hier die erste Version zum ausprobieren, bisher nur fürs BMS: Download zeroPV_BMS_only.img.gz | LimeWire (MD5SUM cdd72d93364cba145e5066f6cc458aeb)

Ich habe es eben von null an mit 8s Daly getestet, wenn man meiner Anleitung exakt folgt sollte es funktionieren :slight_smile:

(So siehts mit 8s Daly aus, wenn Werte nicht verfügbar sind wird halt nichts angezeigt (Temp2, Zellen 9-16))

ANLEITUNG

  • Image mit BalenaEtcher o.ä. flashen
  • Karte einbinden, wpa_supplicant.conf öffnen, WLAN-SSID und Passwort eintragen, Karte aushängen
  • Pi mit Karte booten
  • SSH Verbindung auf zeropv.local herstellen, Benutzer zeropv, Passwort zeropv
  • Sicherheitsvorkehrungen
    • WLAN Passwort verschlüsseln
      wpa_passphrase "Deine SSID" ## Ergebnis merken/kopieren
      sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ## Hier eintragen
Passwort auf das Ergebnis von eben ändern, ohne Anführungszeichen, Speichern mit Strg-X, gefolgt von y zum bestätigen.
Sinn der Übung: Ansonsten reicht physikalischer Zugang zu der Karte um das Passwort deines WLANs zu bekommen, das ist nämlich zunächst unverschlüsselt ;)
  • Batmon konfigurieren:
    cd batmon-ha
    ./venv/bin/python3 main.py 
  • Aussschau halten nach Bluetooth Adresse des BMS z.B. Daly: "20:41:37 INFO [bt] BT 40:18:05:01:3A:FD DL-401704013FFD")
    nano options.json
  • BT Adresse bei passendem BMS eintragen, Speichern mit Strg-X, gefolgt von y zum bestätigen.
  • Hinweis: Mehrere BMSse gleichzeitig gehen standardmäßig nicht, Aufwand ist aber überschaubar, setzt aber Node-Red Kenntnisse voraus
  • Neustart
    sudo reboot
  • Fertig. Du findest dann die Webseiten unter:
    • http://zeropv.local -> Dashboard
    • http://zeropv.local/admin/ -> Nodered Admin, Zugang zeropv, Passwort zeropvzeropv
    • http://zeropv.local:3000/d/e4632fd6-e8dd-4a6c-a83e-89b677e62465/bms?orgId=1 -> Grafana Dashboard, Zugang admin, Passwort zeropv
  • Hinweis: Ich habe bewusst keine Zeit verwendet um die Installation abzusichern! Ich habe selber vor, das ganze nur über VPN zugänglich zu machen. Macht das auf keinen Fall in dieser Konfiguration direkt aus dem Internet erreichbar.
Würde mich über Feedback freuen :)
1 „Gefällt mir“

Hallo,
ich hole den thread mal aus der Versenkung.
Gibt es das Image noch? Der link weiter oben führt ins leere. Ich würde es gerne mal an meinem setup testen.

1 „Gefällt mir“

Ich krame es gerne nochmal raus und lade es woanders hoch.

edit: Uploader geändert, siehe Originalpost :slight_smile:

Vielen Dank!