JK JK02 Protokoll / Monitoring

Hallo,
ich denke über ein Projekt nach, bei dem ich über einen Raspberry und Bluetooth die Daten meiner JK-BMSse (JK-B2A8S20P) auslesen will.

Hat sowas schonmal einer von euch gemacht?
Gibt es irgendwo einen Parser für das JK02 Protokol oder eine Dokumentation hierfür?

Gruß, N.

guck mal auf github, da stehen mehrere Parser und auch was mit BT connection. Teilweise hilft auch ChatGPT oder andre AI’s

ich würde allerdings die RS485 Schnittstelle bevorzugen, das ist einfach weniger ‘trouble’

Grüsse!

Phil

und hier noch ne Modbus Register Map, die ich mal irgendwann irgendwo gefunden hatte. ich weiss allerdings nicht, zu welcher JK Generation die jetz gehört…

BMS RS485 Modbus V1.1.pdf (150,7 KB)

Grundsätzlich gibt es (zumin bei der PB Serie, aber wahrscheinlich bei P genauso) zwei Arten mit den Daten.

Eine ist man schickt da ein w Command hin und bekommt alles in einem Rutsch zurück und muss das auseinanderpflücken, und die andre ist eine Modbus Kommunikation mit read_register.

Zweiteres hab ich für die Cell Voltages mit nem Python Skript auf Raspi realisiert. Steht auf meinen github GitHub - philippoo66/jk-pb-cellvolts: Simple solution to read all the cell voltages via RS485 Modbus and publish them to MQTT

Hallo Phil,

erstmal vielen Dank für deine Antwort.

Leider kann ich dein Projekt nicht direkt umsetzen – jedenfalls nicht so einfach. Ich möchte auf jeden Fall über BLE mit dem JK BMS kommunizieren, aus Sicherheitsgründen (z. B. BT blocken).

Dein Python-Skript nutzt Modbus RTU über RS485/USB. Mein BMS per BLE spricht jedoch eine eigene BLE-Frame-Struktur (JK BMS BLE). Registeradressen, Befehle, Checksummen etc. passen daher nicht.
RS485 ist seriell, synchron, Master/Slave.
BLE ist paketbasiert, asynchron, über Notifications/Write/Read.

Übernehmen könnte ich z. B. den MQTT-Teil, der sollte unabhängig vom Transport funktionieren.

Bisher kann ich mich mit dem BMS verbinden und erhalte auch Werte – was mir aber fehlt, ist eine Zuordnungstabelle der Hex-Werte für mein BLE-BMS (JK-B2A8S20P). Ohne diese kann ich bisher nur die Zellspannungen auslesen, alles andere noch nicht. (abgesehen von den Type3 Daten, wie Modell, Version, Serial, Passwort, usw.)

Wenn du irgendwo so eine Tabelle hast oder Hinweise, wie man die BLE-Frames richtig dekodiert, wäre das extrem hilfreich.

Viele Grüße, Mik

Wenn du dir die Arbeit machen möchtest dann kann du hier reinschauen:

Ich würde allerdings hingehen und einfach diese ESP Home Komponente auf einen ESP32 flashen. deinen MQTT Server konfigurieren und dann hast du ja alle Möglichkeiten offen.

Ein ESP32 bekommst du für 2€ / Stück aus Fernost oder 5€ / Stück Amazon.

Mach ich selber so und ist dann direkt im HomeAssistant Dashboard verfügbar: