Benachrichtigungen
Alles löschen

JKBMS auslesen über BLE (Bluetooth) oder RS485 Adapter mittels EPS, ioBroker

758 Beiträge
169 Benutzer
17 Reactions
145.9 K Ansichten
(@indigo)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 11
 

weil weiter oben das stichwort logging gefallen ist, ich hatte bisher debug log und full dubug log enabled, jetzt den sketch nochmal mit beiden flags false kompiliert und mal sehen ob besserung eintritt. evtl. hat sich der gute ESP32 ja doch zu tode geloggt...


   
AntwortZitat
(@indigo)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 11
 

kurzes fazit: nach kompletter deaktivierung des debuggings keinerlei verbindungsprobleme mehr, also sollte jemand noch dieses problem haben dann diese beiden flags beim kompilieren auf false stellen:

bool debug_flg = false;
bool debug_flg_full_log = false;

 


   
AntwortZitat
 Mark
(@mark)
Vorsichtiger Stromfühler
Beigetreten: Vor 5 Jahren
Beiträge: 129
 

Hallo Scotty89,

lich habe ganz oben die Version Ble_Client 3.6 ausprobiert und leider zeigt diese nur die Zellspannungen an. Dann dachte ich ich nehme das Script von Scotty 9256=2313-BLE_client.rar.

Leider funktioniert dieses nicht.

- Ich finde dort nicht die eingabe des MQTT Passworts und User.

- bei Wifi finde ich keinen Eintrag, wo man ssid und Password eingeben kann, so wie bei der 1. Version Ble_client 3.6

- wo trage ich den genauen Namen vom BMS ein für den Ble connect?

 

Könnte mir hier jemand auf die Sprünge helfen, damit ich alle daten über Ble bekomme`?

Danke und Gruß


   
AntwortZitat
(@waltsteinchen1)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 6
 

Das Ganze funktioniert wirklich astrein!

Hier mal ein Bild von allen Zellen von dem "Schlechtesten" meiner 6 Akkupacks, man sieht wie bei der eingestellten Diff Spannung von >=10mV der interne Balancer mit 2A anspringt. 

der Weg der Daten: JK-BMS -> BLE -> ESP32 -> MQTT (in HomeAssistant) -> InfluxDb ->Grafana

 

Servus!

Waltsteinchen


   
AntwortZitat
(@kaanrevan)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 1
 

Hallo. Zunächst einmal entschuldige ich mich für mein schlechtes Deutsch. Ich besitze ein JK BMS. Wir haben auch ein RS485-Modul. Um es in einem Projekt zu verwenden, müssen wir den Gesamtspannungswert in der Batterie mit Serial.Print drucken. Ich habe das an das BMS angeschlossene RS485-Modul wie folgt mit dem Arduino RS485-zu-TTL-Konverter verbunden. Wie soll ich also die Verbindung zum Arduino Mega herstellen? Welche Stifte soll ich verwenden? Können Sie auch ein kleines Stück Code teilen? Ich habe mehrere Inos ausprobiert, aber irgendwie konnte ich die gewünschten Daten nicht anzeigen. Ich will sehen, wo ich falsch liege. Ich danke Ihnen für Ihre Hilfe. 

 

Schaltplan --  Ich konnte kein Bild hochladen. Es gibt ein Problem.

Die 3 Drähte im RS485-Modul vom BMS werden wie folgt mit dem TTL-Modul verbunden.

 

B --> Weiss

A --> Gelb

GND --> Schwarz

 

Die Verbindung vom TTL-Modul zum Arduino MEGA ist wie folgt.

R0 --> 19 (RX1)

RE  --> 2

DE  --> 2

DI  --> 18 (TX1)

 

Wenn ich die Datei 11686=2649-RS485_JKBMS_Working.ino_.rar am Anfang des Themas nach diesem Schaltplan bearbeite, kann ich dann die BMS-Werte sehen?

Link entfernt

[url= Link entfernt [/img][/url]
Diese r Beitrag wurde geändert Vor 2 Jahren 10 mal von kaanrevan

   
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 163
 

Ich bin dabei das JK-BMS in den BSC zu implementieren. Der BSC soll dann mit bis zu 7 JK-BMS kommunizieren können. Wenn jemand mehrere JK-BMS im Einsatz hat und Interesse hat dies zu testen, kann er sich gerne bei mir melden.

 

BSC auf github: https://github.com/shining-man/bsc_fw

Discord-Server: https://discord.gg/bPK2HeYhEv

BSC Thread: https://www.akkudoktor.net/forum/bms-batterie-management-monitoring-system/projektvorstellung-battery-safety-controller/

BSC auf github
Discord-Server zum BSC


   
AntwortZitat
(@sprutz)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 2
 

Hallo, ich habe immer noch das Problem, dass das Programm nicht auf einem ESP32 S3 Modul läuft. Auf dem Seriellen Monitor ist folgendes zu sehen:

BLE Advertised Device found: Name: JK-BD6A17S6P, Address: c8:47:8c:e5:69:e9, manufacturer data: 650b88a0c8478ce569e9, serviceUUID: 0000ffe0-0000-1000-8000-00805f9b34fb, serviceUUID: 0000fee7-0000-1000-8000-00805f9b34fb, rssi: -59
Forming a connection to c8:47:8c:e5:69:e9
[ 15279][I][BLEDevice.cpp:622] addPeerDevice(): add conn_id: 0, GATT role: client
- Connected to server
Guru Meditation Error: Core 0 panic'ed (Unhandled debug exception).
Debug exception reason: Stack canary watchpoint triggered (BTU_TASK)
Core 0 register dump:
PC : 0x4038463a PS : 0x00060736 A0 : 0x803846e4 A1 : 0x3fca7b60
A2 : 0x3fcac1b4 A3 : 0x00000000 A4 : 0x3fc9c560 A5 : 0x00000000
A6 : 0x3fcf7fe0 A7 : 0x00000000 A8 : 0x3fcac420 A9 : 0xbaad5678
A10 : 0x3fca1ee8 A11 : 0x3fcac1ac A12 : 0xfffffffe A13 : 0xfffffffd
A14 : 0x00060720 A15 : 0x00000001 SAR : 0x00000002 EXCCAUSE: 0x00000001
EXCVADDR: 0x00000000 LBEG : 0x40056fc5 LEND : 0x40056fe7 LCOUNT : 0x00000000

Backtrace: 0x40384637:0x3fca7b60 0x403846e1:0x3fca7b90 0x40377665:0x3fca7bb0 0x403776bc:0x3fca7be0 0x40384a9d:0x3fca7c00 0x420495b1:0x3fca7c20 0x42025b54:0x3fca7c50 0x4204dcf1:0x3fca7c80 0x4206e3df:0x3fca7f10 0x4204ebe6:0x3fca81a0 0x4206e022:0x3fca81c0 0x4204ebe6:0x3fca8230 0x4206dcd9:0x3fca8250 0x4204e045:0x3fca8270 0x4204e071:0x3fca8500 0x4204e126:0x3fca8520 0x4203df31:0x3fca8540 0x42038ad2:0x3fca87f0 0x42038f8e:0x3fca8a80 0x42039aa1:0x3fca8ae0 0x4203b2d8:0x3fca8b30 0x4203b37d:0x3fca8b50 0x42045821:0x3fca8b70 0x42036618:0x3fca8bb0 0x4204b817:0x3fca8bd0

ELF file SHA256: acc6918328c920d4

Rebooting...

 

Es scheint ein Speicherproblem zu sein. hat jemand eine Idee?  

 

 

   
AntwortZitat
(@cyrano330)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 15
 

Hi,

besteht die Möglichkeit irgendwie die mqtt-Konfig anzupassen? Ich habe zum einen meinen mqtt auf 1885 laufen. Ich sehe auf der Konsole, das der ESP alles ausließt. Kommt nur nicht im mqtt an... Außer einem "Alive" ist da nix....

Aber trotzdem super Arbeit! Vielen Dank!

 

Best Henry


   
AntwortZitat
(@bastelator)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 3
 

Hallo zusammen,

danke für das tolle Projekt, vor allem an @Scotty89, habe es heute kurz ausprobiert und alles läuft wunderbar. Eine Frage wegen der Anbindung an Influx/Grafana: Wäre es möglich, die MQTT-Daten in Form eines JSON-Objekts zu übermitteln? Das wäre m.E. schöner bzw. einfacher bei der Übertragung in eine InfluxDB. Ich kann mich gerne mal dransetzen an die MQTT.ino, bei meinen beschränkten Programmierfähigkeiten müsste sich allerdings noch jemand finden, der das nachher in "schön" übersetzt. Oder liegt das schon bei jemandem griffbereit herum?

Beste Grüße

Dirk


   
AntwortZitat
(@bastelator)
Newbie
Beigetreten: Vor 2 Jahren
Beiträge: 3
 

Edit: Habe die Lösung für die neue Version gefunden: https://www.akkudoktor.net/forum/postid/87482/

Soll ich die korrigierte Version mal hochladen, damit nicht jede*r die Arbeit selbst machen muss?

 

Hallo zusammen,

JSON klappt jetzt einigermaßen, muss allerdings noch ein bisschen mit den Nachkommazahlen spielen - leider ist das BMS im Gartenhaus verbaut und ich komme nicht täglich dort hin.

Habe jetzt einen zweiten Akku zu Hause aufgebaut und ein zweites JK-BMS installiert - der Typ scheint allerdings neuer zu sein (s. Devicename, Unterstrich statt Bindestrich) und über MQTT kommen nur die Zellen korrekt, der Rest ist nicht vorhanden bzw. falsch (Laufzeitdatum, Cycle Count, Charge ist "on"). In der App werden alle Werte korrekt angezeigt. Hat da jemand einen Tipp oder schon eine neuere Datenanalyse fertig?

const char* Geraetename = "JK_BD6A24S10P";

MQTT:

BMS_Orig/Data/Zelle_01 3.189
BMS_Orig/Data/Zelle_02 3.194
BMS_Orig/Data/Zelle_03 3.197
BMS_Orig/Data/Zelle_04 3.189
BMS_Orig/Data/Zelle_05 3.202
BMS_Orig/Data/Zelle_06 3.221
BMS_Orig/Data/Zelle_07 3.106
BMS_Orig/Data/Zelle_08 3.225
BMS_Orig/Data/Zelle_09 3.221
BMS_Orig/Data/Zelle_10 3.211
BMS_Orig/Data/Zelle_11 3.190
BMS_Orig/Data/Zelle_12 3.195
BMS_Orig/Data/Zelle_13 3.202
BMS_Orig/Data/Zelle_14 3.225
BMS_Orig/Data/Zelle_15 3.204
BMS_Orig/Data/Zelle_16 3.208
BMS_Orig/Data/Battery_Voltage 0.000
BMS_Orig/Data/Delta_Cell_Voltage 0.000
BMS_Orig/Data/MOS_Temp 0.000
BMS_Orig/Data/Battery_T1 0.000
BMS_Orig/Data/Battery_T2 0.000
BMS_Orig/Data/Battery_Power 0.000
BMS_Orig/Data/Charge_Current 0.000
BMS_Orig/Data/Percent_Remain 0
BMS_Orig/Data/Cycle_Count 434
BMS_Orig/Data/Balance_Current 0.000
BMS_Orig/Uptime/Sekunde 34
BMS_Orig/Uptime/Minuten 16
BMS_Orig/Uptime/Stunden 11
BMS_Orig/Uptime/Tage 108
BMS_Orig/Data/Charge off
BMS_Orig/Data/Discharge off
BMS_Orig/BLEconnection connected
BMS_Orig/status online
Diese r Beitrag wurde geändert Vor 2 Jahren 3 mal von bastelator

   
AntwortZitat
(@mr-moose)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 54
 

Veröffentlicht von: @bastelator

Edit: Habe die Lösung für die neue Version gefunden: https://www.akkudoktor.net/forum/postid/87482/

Soll ich die korrigierte Version mal hochladen, damit nicht jede*r die Arbeit selbst machen muss?

Auf Seite 30 gibt es eine Version, die die 32 Zellenspannungen verarbeiten kann: https://www.akkudoktor.net/forum/postid/73203/
Leider ist das hier mit den Versionen eine Katastrophe. Es gibt zig, die sich irgendwo in den 41 Seiten verteilen. Auf eine mehr oder weniger kommt es dann auch nicht an. Wink  

 


   
AntwortZitat
(@sralus)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 13
 
 
Hallo
Habe mein ESP32 geflasht und wird im Rasperry auch erkannt:
#include "BLEDevice.h"
#include <WiFi.h>
#include <PubSubClient.h>
#include <ESPmDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include "driver/gpio.h"
#include "driver/can.h"
#define SW_Version "3.6"

bool debug_flg = true;
bool debug_flg_full_log = false;

//########### Settings beginnen #########

//OTA Setting
#define OTA_Hostname "JKBMS"  // -> hier ändern wenn OTA Name anders sein soll
#define OTA_Passwort ""     // -> hier ändern wenn OTA Passwort anders sein soll

// MQTT Setting
const char* mqtt_server = "192.168.0.69";     // -> hier die IP des MQTT Server eingeben  
const int mqtt_port = 1883;                     // -> hier den Port einstellen für den MQTT Server 
const char* mqtt_username = "";            // -> hier MQTT Benutzername eintragen
const char* mqtt_passwort = "";  // -> hier MQTT Passwort eingeben       
String mqttname = "BMS_16P";          // -> hier wird der MQTT Gerätename festgelegt
const int mqttpublishtime_offset = 10000;        //-> hier einstellen wie oft Danten gesnedet werden sollen 1000 = jede Sekunde 

// CAN Settings
bool CAN_use = false;             // -> true wenn ein CAN MOdul vorhanden und verwendet wird für die Paylontech simulation
const int CAN_Cylcetime = 1000;

//W-LAN Setting
const char* ssid = "xxxxxx";
const char* password = "xxxxxx";

//BMS-BLE Settings
const char* Geraetename = "JK-B2A20S20P";  //JK-B2A24S20P JK-B2A24S15P

//########### Ende der "User" Settings #########
mosquitto_sub -v -h 192.168.0.69 -p 1883 -t '#'
tele/Boiler/LWT Offline
tele/boiler/LWT Online
tasmota/discovery/48551946F0B0/config {"ip":"192.168.0.121","dn":"boiler","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"boiler","mac":"48551946F0B0","md":"Sonoff Basic","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"12.4.0","t":"boiler","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0,"117":0},"lk":0,"lt_st":0,"sho":[0,0,0,0],"sht":[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],"ver":1}
tasmota/discovery/48551946F0B0/sensors {"sn":{"Time":"2023-04-20T01:16:37"},"ver":1}
wasser/LWT Offline
boiler/LWT Offline
sonoff/LWT Offline
BMS_Watchdog/status offline
BMS_16P/status offline
BMS_16P/Data/Zelle_01 3.284
BMS_16P/Data/Zelle_02 3.283
BMS_16P/Data/Zelle_03 3.283
BMS_16P/Data/Zelle_04 3.284
BMS_16P/Data/Zelle_05 3.286
BMS_16P/Data/Zelle_06 3.284
BMS_16P/Data/Zelle_07 3.282
BMS_16P/Data/Zelle_08 3.283
BMS_16P/Data/Zelle_09 3.283
BMS_16P/Data/Zelle_10 3.284
BMS_16P/Data/Zelle_11 3.284
BMS_16P/Data/Zelle_12 3.286
BMS_16P/Data/Zelle_13 3.284
BMS_16P/Data/Zelle_14 3.284
BMS_16P/Data/Zelle_15 3.283
BMS_16P/Data/Zelle_16 3.286
BMS_16P/Data/Battery_Voltage 52.546
BMS_16P/Data/Delta_Cell_Voltage 0.004
BMS_16P/Data/MOS_Temp 20.500
BMS_16P/Data/Battery_T1 21.100
BMS_16P/Data/Battery_T2 21.100
BMS_16P/Data/Battery_Power 527.350
BMS_16P/Data/Charge_Current -10.036
BMS_16P/Data/Percent_Remain 73
BMS_16P/Data/Cycle_Count 30
BMS_16P/Data/Balance_Current 0.000
BMS_16P/Uptime/Sekunde 8
BMS_16P/Uptime/Minuten 46
BMS_16P/Uptime/Stunden 20
BMS_16P/Uptime/Tage 152
BMS_16P/Data/Charge on
BMS_16P/Data/Discharge on
BMS_16P/BLEconnection connected
BMS_16P/status online
 
Soweit so gut ..

Jetzt möchte ich diese daten gerne in InfluxDB schreiben...

Ich nutze Solaranzeige multiregler Version,,,

Was muss ich machen damit ich die Daten vom ESP32 in Influx schreiben kann damit ich diese dann in Grafana nutzen kann und für die automatisierung von Solaranzeige den SOC Wert aus den Daten des ESP32/JK-BMS nutzen kann...

Danke vorab
Sralus

 
 

   
AntwortZitat
(@steffenle)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 6
 

warum kann ich hier nicht posten? kommt immer firewall fehler


   
AntwortZitat
(@steffenle)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 6
 

Leute ich sehe überhaupt nicht mehr durch...habe alle 40 Seiten gelesen. Welche Version muss ich nun woher nehmen? Ich habe HW 11.XW Software V11.25. in meiner BLE_Client steht Version 3.6...hier reden Leute aber von  Version 1.1 ??!!! Ich bekomme keine ble Verbindung hin...er probiert es scheinbar gar nicht. trotz debug flg full bekomme ich nur folgendes im monitor:

Hatte bisher ein ANT BMS im Einsatz mit einem rasp. und habe da problemlos deutlich >1 Jahre wunderbar per BT alle Daten erhalten und per MQTT weitergeschickt. Wollte jetzt auf jk bms wechseln...bekomme es aber zum Verrecken nicht zum laufen 🙁


   
AntwortZitat
(@steffenle)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 6
 

MalCare Firewall

Blocked because of Malicious Activities

Reference ID: 172620772464417aa186516


   
AntwortZitat
Seite 41 / 51
Teilen: