Replies: 5 comments 3 replies
-
Byte 10 upto 18 are random bytes. The content of the first 5 bytes is important to request the cell info frame or the device info frame https://github.com/syssi/esphome-jk-bms/blob/main/components/jk_bms_ble/jk_bms_ble.cpp#L20-L21 You have to make sure the last byte (pos. 19) is a valid checksum of the payload. Did you subscribe to the BLE notification stream? https://github.com/syssi/esphome-jk-bms/blob/main/components/jk_bms_ble/jk_bms_ble.cpp#L205-L206 |
Beta Was this translation helpful? Give feedback.
-
Thank you for your quick feedback! In the Arduino versions, a previously known variant is simply used and so the CRC fits and you calculate it. In the Arduino, the reaction for a BLE notification is slightly different, but is implemented.
But somehow it is not triggered. The LED has 3 types, |
Beta Was this translation helpful? Give feedback.
-
Could you show your complete implementation and provide the debug output? |
Beta Was this translation helpful? Give feedback.
-
of cousre, it is a smal one from the akkudoctor-forum. debug output
I have tried to compile it with different core versions. |
Beta Was this translation helpful? Give feedback.
-
I have now converted the whole thing to NimBLE Arduino. The question that remains unanswered is why the BD4A20S4P version of the JK-BMS does not work with the standard BLE library from Arduino, but many other JK-BMS versions apparently do. Maybe it is due to specific IDE or core versions? |
Beta Was this translation helpful? Give feedback.
-
I have the problem that the ESP Home version does not run stably with 2 BMS.
That's why I'm trying an Android version, but I can't get any data for the life of me.
BLE connects and when I send the two arrays, the BMS beeps.
However, no data is received and the LED does not flicker quickly, as it does when transmitting
The Arduino sketches that are available always contain the same arrays
Is it possible that these do not work for all BMS?

I want to use this one.
Then I saw that you generate the arrays completely differently.
the first bytes are identical but then you have many zero values.
The BMS works with your version, can you perhaps explain what has changed?
Because I don't really like the idea of taking everything apart first with btsnoop or something, and on the other hand I don't understand your code 100% :-)
Beta Was this translation helpful? Give feedback.
All reactions