Über JK Preset Studio

JK Preset Studio ist ein kostenloses, offenes Tool für alle, die Akkuspeicher mit JK BMS Boards betreiben (die JK-PB Wechselrichter-Serie wie JK-PB2A16S20P und B2A-Boards mit demselben Protokoll). Es verbindet sich direkt aus dem Browser per Bluetooth mit dem BMS, sodass du jede Einstellung am Computer oder Android-Handy ohne die JK App prüfen und ändern kannst. Aus der JK App exportierte Dateien funktionieren auch.

Direkte Verbindung per Bluetooth

Der Browser spricht über Web Bluetooth mit dem BMS, mit demselben JK02-Protokoll wie die JK App (Service 0xFFE0, Characteristic 0xFFE1). Beim Lesen fragt er das BMS nach seinem Einstellungs-Frame und seinem Geräteinfo-Frame; zusammen ergeben sie genau den Inhalt einer .jkcfg-Datei.

AA 55 90 EB reg len  value (u32 LE)  00 × 9  CS   write, 20 bytes
AA 55 90 EB C8 01 01 | 00 | 02  ……            accepted | refused | no such setting

Änderungen werden Einstellung für Einstellung geschrieben. Die Firmware prüft jeden Wert gegen das, was sie in diesem Moment gespeichert hat. Deshalb teilt der Editor deine Änderungen in Schritte auf, die in jeder Reihenfolge akzeptiert werden, und liest das BMS nach jedem Schritt zurück.

Das BMS beantwortet jeden Schreibvorgang: angenommen, abgelehnt, weil der Wert mit einer anderen Einstellung kollidiert, oder abgelehnt, weil das Modell diese Einstellung nicht hat. Direkt nach dem Verbinden schreibt der Editor den aktuellen Wert jeder optionalen Einstellung zurück, um herauszufinden, welche dein BMS hat; dabei ändert sich nichts. Das Ergebnis wird für dieses BMS in diesem Browser gespeichert.

Web Bluetooth funktioniert in Chrome und Edge unter Windows, macOS, ChromeOS und Android über HTTPS. Schließe die JK App vor dem Verbinden: Das BMS akzeptiert nur eine Bluetooth-Verbindung gleichzeitig.

Das .jkcfg-Format

Eine .jkcfg-Datei ist 600 Byte groß: zwei 300-Byte-Frames des JK02-Bluetooth-Protokolls direkt hintereinander.

55 AA EB 90 01 xx  ……  settings  ……  CS   bytes 0–299
55 AA EB 90 03 xx  ……  device info …  CS   bytes 300–599

Frame 1 (Typ 0x01) enthält die Einstellungen: Little-Endian-32-Bit-Werte für Spannungen in mV, Ströme in mA, Temperaturen in 0,1 °C, gefolgt vom Leitungswiderstand pro Zelle, der Geräteadresse und einem Bitfeld mit Schaltern.

Frame 2 (Typ 0x03) enthält die Geräteinformationen: Modell, Hardware- und Firmware-Version, Seriennummer, Passwörter, Kommunikationsprotokolle und Lade-Timer.

Das letzte Byte jedes Frames ist eine Prüfsumme: die Summe der vorherigen 299 Bytes modulo 256. Der Editor berechnet sie beim Export neu.

Datenschutz

Per Bluetooth gelesene Einstellungen und geöffnete Dateien bleiben in deinem Browser: kein Upload, kein Konto. Die Liste der Einstellungen, die dein BMS nicht hat, wird nur in diesem Browser gespeichert, zugeordnet zur Seriennummer des BMS. Die Seite nutzt Google Analytics für Nutzungsstatistiken. Ohne deine Einwilligung erhält es nur anonyme Pings ohne Cookies (keine Cookies, keine Kennung); mit Einwilligung nutzt es zusätzlich Analyse-Cookies, um wiederkehrende Besuche zu zählen. Gesendet werden: Seitenaufrufe, BMS-Modell, Firmware-Version und Zellchemie einer geladenen Konfiguration, ob sie per Bluetooth oder aus einer Datei kam, die Namen geänderter Parameter, Codes von Prüfregeln, Bluetooth-Fehlercodes und Bedienaktionen (Presets, Schreibvorgänge, Downloads, Sprache, Design). Nie gesendet werden: Dateinamen, Dateiinhalte, Einstellungswerte und Seriennummern. Du kannst deine Wahl jederzeit ändern.

Haftungsausschluss

Danksagung

Die Feld-Offsets beruhen auf dem Reverse Engineering in syssi/esphome-jk-bms. Die Empfehlungen stammen aus JK-Handbüchern, Zelldatenblättern, Battery University und der DIY-Solar-Community; jeder Parameter nennt seine Quellen.