À propos de JK Preset Studio

JK Preset Studio est un outil gratuit et ouvert pour celles et ceux qui entretiennent des parcs de batteries équipés de cartes JK BMS (la série onduleur JK-PB, comme le JK-PB2A16S20P, et les cartes B2A sur le même protocole). Il se connecte au BMS en Bluetooth directement depuis le navigateur : vous pouvez ainsi consulter et modifier chaque réglage sur un ordinateur ou un téléphone Android sans l'application JK. Les fichiers exportés depuis l'application JK fonctionnent aussi.

Connexion directe en Bluetooth

Le navigateur dialogue avec le BMS via Web Bluetooth, avec le même protocole JK02 que l'application JK (service 0xFFE0, caractéristique 0xFFE1). La lecture demande au BMS sa trame de réglages et sa trame d'informations sur l'appareil ; ensemble, elles forment exactement le contenu d'un fichier .jkcfg.

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

Les modifications sont écrites un réglage à la fois. Le firmware contrôle chaque valeur par rapport à celles qu'il détient à cet instant : l'éditeur découpe donc vos modifications en étapes acceptées dans n'importe quel ordre et relit le BMS après chacune.

Le BMS répond à chaque écriture : acceptée, refusée parce que la valeur entre en conflit avec un autre réglage, ou refusée parce que le modèle n'a pas ce réglage. Juste après la connexion, l'éditeur réécrit la valeur actuelle de chaque réglage optionnel pour savoir lesquels votre BMS possède ; rien ne change. Le résultat est conservé dans ce navigateur pour ce BMS.

Web Bluetooth fonctionne dans Chrome et Edge sous Windows, macOS, ChromeOS et Android, en HTTPS. Fermez l'application JK avant de vous connecter : le BMS n'accepte qu'une seule connexion Bluetooth à la fois.

Le format .jkcfg

Un fichier .jkcfg fait 600 octets : deux trames de 300 octets du protocole Bluetooth JK02, enregistrées l'une après l'autre.

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

La trame 1 (type 0x01) contient les réglages : des valeurs 32 bits little-endian pour les tensions en mV, les courants en mA, les températures en 0,1 °C, suivies de la résistance des câbles de chaque cellule, de l'adresse de l'appareil et d'un champ de bits pour les interrupteurs.

La trame 2 (type 0x03) contient les informations de l'appareil : modèle, versions matérielle et firmware, numéro de série, mots de passe, protocoles de communication et minuteries de charge.

Le dernier octet de chaque trame est une somme de contrôle : la somme des 299 octets précédents modulo 256. L'éditeur la recalcule à l'export.

Confidentialité

Les réglages lus en Bluetooth et les fichiers que vous ouvrez restent dans votre navigateur : aucun envoi, aucun compte. La liste des réglages absents de votre BMS est stockée uniquement dans ce navigateur, associée au numéro de série du BMS. Le site utilise Google Analytics pour les statistiques de fréquentation. Sans votre consentement, il ne reçoit que des signaux anonymes sans cookie (ni cookie, ni identifiant) ; avec votre consentement, il utilise aussi des cookies de mesure d'audience pour compter les visites récurrentes. Ce qui est transmis : les pages vues, le modèle de BMS, la version du firmware et la chimie de la batterie d'une configuration chargée, sa provenance (Bluetooth ou fichier), les noms des paramètres modifiés, les codes des règles de validation, les codes d'erreur Bluetooth et les actions dans l'interface (préréglages, écritures, téléchargements, langue, thème). Jamais transmis : les noms de fichiers, leur contenu, les valeurs des réglages et les numéros de série. Vous pouvez changer d'avis à tout moment.

Avertissement

Remerciements

Les offsets des champs reposent sur le travail de rétro-ingénierie de syssi/esphome-jk-bms. Les recommandations proviennent des manuels JK, des fiches techniques des cellules, de Battery University et de la communauté DIY Solar ; chaque paramètre indique ses sources.