syssi/esphome-jk-bms

JK-B2A8S20P doesn't accept new settings (hw 11.XW, sw 11.26)

riker65 opened this issue · 51 comments

Hi
using jk-bms B2A8S20P

hardwware v11.XW
Software V11.26

Tried to change overvoltage recovery via MQTT

jk-bms/number/jk-bms_cell_voltage_overvoltage_recovery/command -m 3.9

looks like new number was recognized but not stored?
see log

when sending command, there is also a beep from BMS

[14:45:41][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[14:45:41][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[14:45:41][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.C6 (22)
**[14:45:41][D][number:054]: 'jk-bms cell voltage overvoltage recovery' - Setting number value**
**[14:45:41][D][number:113]:   New number value: 3.900000**
[14:45:41][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.05.04.3C.0F.00.00.00.00.00.00.00.00.00.00.00.CE (20)
[14:45:41][D][number:012]: 'jk-bms cell voltage overvoltage recovery': Sending state 4.180000
[14:45:41][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 4
[14:45:41][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=4 gattc_if=3
[14:45:41][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
syssi commented

Could you provide a ESPHome log? I'm interested in a cell info frame and a settings frame. The retrieval of the settings frame must be triggered using the retrieve_settings button or gets retrieved once on every BLE re-connect.

Hi

[14:45:43][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[14:45:43][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[14:45:43][VV][jk_bms_ble:220]: Notification received: E9.3B.00.00.00.00.00.00.00.00.00.00.C3.00.C2.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.7E.04.00.00.64.00.00.00.87.79.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FD.05.ED.1B.00.01.00.01.00.05.00.00.2F.50.18.00.00.00.00.00.EA.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[14:45:43][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[14:45:43][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[14:45:43][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.E5 (22)
[14:45:43][VV][jk_bms_ble:450]: Cell info frame (version 3, 300 bytes):
[14:45:43][VV][jk_bms_ble:451]:   55.AA.EB.90.02.77.FE.0E.FD.0E.06.0F.FA.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.FA.0E.0C.00.02.01.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EA.00.00.00.00.00 (150)
[14:45:43][VV][jk_bms_ble:452]:   E9.3B.00.00.00.00.00.00.00.00.00.00.C3.00.C2.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.7E.04.00.00.64.00.00.00.87.79.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FD.05.ED.1B.00.01.00.01.00.05.00.00.2F.50.18.00.00.00.00.00.EA.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.E5 (150)
syssi commented

Alright. It's the newest generation (frame version 3) of the BMS. It looks like the manufacturer has changed something (registers or instruction set) so you cannot and shouldn't control the BMS using this implementation at the moment.

Do you own an Android device? I would be happy about a capture of the BLE traffic between the Android App and your BMS. I would provide some guidance how to record such a capture.

I do not see anything liek settings frame in log

how do I monitor ble traffic in android for your support

syssi commented

Let's ignore the settings frame for now.

Could you try to follow this tutorial: https://medium.com/@charlie.d.anderson/how-to-get-the-bluetooth-host-controller-interface-logs-from-a-modern-android-phone-d23bde00b9fa

This is a short summary to get an idea about the progress:

  1. Enable the developer mode of your android phone
  2. Enable Bluetooth HCI snoop log at the developer settings
  3. Disable bluetooth, enable bluetooth
  4. Open the JK-BMS app go the settings page and change the overvoltage recovery voltage
  5. Close the app
  6. Use adb to create and download a bug report. This is a big ZIP archive which should include the btsnoop capture (if we are lucky and your android version supports this feature)

The btsnoop_hci.log can be opened in wireshark. I would be happy about a btsnoop_hci.log, so I can extract and implement the command support for your BMS version.

strangewise it looks like new values are stored but not published via mqtt
only after new reconnection of BLE new values are published

Does this make sense?

Working on the adb topic.... running android 10

found some working commands for overvoltage recovery

[15:41:46][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[15:41:46][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[15:41:46][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.61 (22)
[15:41:46][D][number:054]: 'jk-bms cell voltage overvoltage recovery' - Setting number value
[15:41:46][D][number:113]:   New number value: 3.900000
[15:41:46][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.05.04.3C.0F.00.00.00.00.00.00.00.00.00.00.00.CE (20)
[15:41:46][D][number:012]: 'jk-bms cell voltage overvoltage recovery': Sending state 3.900000
[15:41:46][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 4
[15:41:46][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=4 gattc_if=3
[15:41:46][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[15:41:46][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[15:41:46][VV][jk_bms_ble:220]: Notification received: AA.55.90.EB.C8.01.01.00.00.00.00.00.00.00.00.00.00.00.00.44 (20)
[15:41:47][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[15:41:47][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[15:41:47][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.C1.FD.0E.FB.0E.01.0F.FB.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.FD.0E.10.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[15:41:47][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10

similar to setting start balance.
new number value 3.88 but state send old value 4.1

[16:21:52][VV][jk_bms_ble:220]: Notification received: EA.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C3.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.A8.04.00.00.64.00.00.00.0F.90.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FD.05.08.1C.00.01.00.01.00.05.00.00.84.31.19.00.00.00.00.00.EB.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[16:21:52][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[16:21:52][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[16:21:52][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.24 (22)
[16:21:52][D][number:054]: 'jk-bms balance starting voltage' - Setting number value
[16:21:52][D][number:113]:   New number value: 3.880000
[16:21:52][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.26.04.28.0F.00.00.00.00.00.00.00.00.00.00.00.DB (20)
[16:21:52][D][number:012]: 'jk-bms balance starting voltage': Sending state 4.100000
[16:21:52][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 4
[16:21:52][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=4 gattc_if=3
[16:21:52][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[16:21:52][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[16:21:52][VV][jk_bms_ble:220]: Notification received: AA.55.90.EB.C8.01.02.00.00.00.00.00.00.00.00.00.00.00.00.45 (20)
[16:21:52][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[16:21:52][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[16:21:52][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.A3.FB.0E.F9.0E.FF.0E.F9.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.FB.0E.05.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[16:21:52][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[16:21:52][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[16:21:52][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EB.00.00.00.00.00 (22)
[16:21:52][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[16:21:53][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[16:21:53][VV][jk_bms_ble:220]: Notification received: EC.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C3.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.A8.04.00.00.64.00.00.00.10.90.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FE.05.E2.1B.00.01.00.01.00.05.00.00.8E.31.19.00.00.00.00.00.EB.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[16:21:53][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[16:21:53][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[16:21:53][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.03 (22)
[16:21:53][V][esp32_ble:178]: (BLE) gap_event_handler - 3
[16:21:53][VV][esp32_ble_tracker:361]: Parse Result:
[16:21:53][VV][esp32_ble_tracker:378]:   Address: 73:F3:FB:3B:BB:A0 (RANDOM)
[16:21:53][VV][esp32_ble_tracker:380]:   RSSI: -95
[16:21:53][VV][esp32_ble_tracker:381]:   Name: ''
[16:21:53][VV][esp32_ble_tracker:383]:   TX Power: 2
[16:21:53][VV][esp32_ble_tracker:389]:   Ad Flag: 26
[16:21:53][VV][esp32_ble_tracker:395]:   Manufacturer data: 10.07.4D.1F.68.BE.E0.BB.08 (9)
[16:21:53][VV][esp32_ble_tracker:411]: Adv data: 02.01.1A.02.0A.0C.0C.FF.4C.00.10.07.4D.1F.68.BE.E0.BB.08 (19)
[16:21:53][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
syssi commented

Good job! I did forget one important piece of the puzzle. :-) Sorry for the inconvenience.

The write instruction (Write register: AA.55.90.EB.26.04.28.0F.00.00.00.00.00.00.00.00.00.00.00.DB) updates a single register of the settings frame. The ESPHome entities (the published values via MQTT) get's updated only if the settings frame gets received. The default configuration doesn't request the settings frame. You have to press the retrieve_settings button (using mosquitto_pub in your case).

Alternatively you could add this interval to your YAML:

button:
  - platform: jk_bms_ble
    retrieve_settings:
      name: "${name} retrieve settings"
      id: retrieve_settings_button

interval:
  - interval: 1min
    then:
      - button.press: retrieve_settings_button

This will press the button periodically but it will also let the BMS beep once every minute but the settings entities will be updated every minute now.

let me check

do you still need the bug report? have a big one now

how does the full publish topic look like for

You have to press the retrieve_settings button (using mosquitto_pub in your case).

syssi commented

do you still need the bug report? have a big one now

I would be happy about it nevertheless. You could extract the ZIP archive and look for a btsnoop_hci.log. This file should be very big and should fit into an email (basti@linkt.de).

syssi commented

how does the full publish topic look like for

It should be:

mosquitto_pub -t 'jk-bms/button/jk-bms_retrieve_settings/command' -m 'PRESS'
syssi commented
# btsnoop_hci.log.last:

Value: aa5590eb9700956a8ad6f9cc3a67686441e1f1b5 # request device info
Value: aa5590eb960070fe7fcf8cc60598acb89305a45b # request cell info frame
Value: aa5590eb9600b4d917d6882d411404ba60bda110 # request cell info frame
Value: aa5590eb0504d80e00003ecb999b15774aae6f99 # Write register
               |  |^^^^^^^^ 0x0ed8 = 3800 = 3.8V
               |  |
               |  |
               |  data_len 4 bytes
               address 0x05 (Cell OVPR)

# btsnoop_hci.log:

Value: aa5590eb9700dd735eec76321ce7eaae3d450a7a # request device info
Value: aa5590eb9600cf5ab13a1e2ba998e65de111fadd # request cell info frame
Value: aa5590eb960065ae867abe65ed9cd1e3ceedcc0a # request cell info frame
Value: aa5590eb96003a1c0a7fa6d9595893f603bc8ff6 # request cell info frame
Value: aa5590eb9600691bf07a95562a1d506802be842c # request cell info frame
syssi commented

This frame format and register does match with the command from the log above:

[15:41:46][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.05.04.3C.0F.00.00.00.00.00.00.00.00.00.00.00.CE (20)
                                                            register 0x05, len 0x04, data 0x0F3C = 3900 = 3.9V

as mentioned earlier, working now for overvoltage recovery

tried blanace start voltage

not working I assume

no change after button press and refresh.
Having the automated 1 minute refresh in place.

17:18:05][VV][jk_bms_ble:220]: Notification received: DC.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.3D.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FC.05.FA.1B.00.01.00.01.00.05.00.00.4B.B5.19.00.00.00.00.00.EB.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:05][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:05][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
**[17:18:05][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.2B (22)
[17:18:05][D][number:054]: 'jk-bms balance starting voltage' - Setting number value
[17:18:05][D][number:113]:   New number value: 3.950000
[17:18:05][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.26.04.6E.0F.00.00.00.00.00.00.00.00.00.00.00.21 (20)
[17:18:05][D][number:012]: 'jk-bms balance starting voltage': Sending state 4.100000
[17:18:05][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 4**
[17:18:05][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=4 gattc_if=3
[17:18:06][D][button:013]: 'jk-bms retrieve settings' Pressed.
[17:18:06][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.96.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10 (20)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: AA.55.90.EB.C8.01.02.00.00.00.00.00.00.00.00.00.00.00.00.45 (20)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 4
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=4 gattc_if=3
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.01.45.58.02.00.00.24.0E.00.00.74.0E.00.00.68.10.00.00.D8.0E.00.00.0A.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.0E.00.00.D0.07.00.00.1E.00.00.00.3C.00.00.00.D0.07.00.00.2C.01.00.00.3C.00.00.00.3C.00.00.00.2C.01.00.00.BC.02.00.00.58.02.00.00.BC.02.00.00.58.02.00.00.38.FF.FF.FF.9C.FF.FF.FF.E8.03.00.00.20.03.00.00.04.00.00.00.01.00.00.00.00.00.00.00.01.00 (128)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: 00.00.C8.32.00.00.DC.05.00.00.04.10.00.00.00.00.00.00.00.00.00.00 (22)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: B0.71.0B.00.08.00.00.00.00.7C.F8.FF.FF.1F.0D.00.00.00.00.00.00.01 (22)
[17:18:06][I][jk_bms_ble:873]: Settings frame (300 bytes):
[17:18:06][VV][jk_bms_ble:874]:   55.AA.EB.90.01.45.58.02.00.00.24.0E.00.00.74.0E.00.00.68.10.00.00.D8.0E.00.00.0A.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.0E.00.00.D0.07.00.00.1E.00.00.00.3C.00.00.00.D0.07.00.00.2C.01.00.00.3C.00.00.00.3C.00.00.00.2C.01.00.00.BC.02.00.00.58.02.00.00.BC.02.00.00.58.02.00.00.38.FF.FF.FF.9C.FF.FF.FF.E8.03.00.00.20.03.00.00.04.00.00.00.01.00.00.00.00.00.00.00.01.00.00.00.C8.32.00.00.DC.05.00.00.04.10.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 
[17:18:06][VV][jk_bms_ble:875]:   00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.B0.71.0B.00.08.00.00.00.00.7C.F8.FF.FF.1F.0D.00.00.00.00.00.00.01 (140)
[17:18:06][D][jk_bms_ble:899]:   Unknown6: 0.600000
[17:18:06][I][jk_bms_ble:901]:   Cell UVP: 3.620000 V
syssi commented

Could you provide a full settings frame (including the decoded values):

[17:18:06][I][jk_bms_ble:873]: Settings frame (300 bytes):
[17:18:06][VV][jk_bms_ble:874]:   55.AA.EB.90.01.45.58.02.00.00.24.0E.00.00.74.0E.00.00.68.10.00.00.D8.0E.00.00.0A.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.0E.00.00.D0.07.00.00.1E.00.00.00.3C.00.00.00.D0.07.00.00.2C.01.00.00.3C.00.00.00.3C.00.00.00.2C.01.00.00.BC.02.00.00.58.02.00.00.BC.02.00.00.58.02.00.00.38.FF.FF.FF.9C.FF.FF.FF.E8.03.00.00.20.03.00.00.04.00.00.00.01.00.00.00.00.00.00.00.01.00.00.00.C8.32.00.00.DC.05.00.00.04.10.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 
[17:18:06][VV][jk_bms_ble:875]:   00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.B0.71.0B.00.08.00.00.00.00.7C.F8.FF.FF.1F.0D.00.00.00.00.00.00.01 (140)
[17:18:06][D][jk_bms_ble:899]:   Unknown6: 0.600000
[17:18:06][I][jk_bms_ble:901]:   Cell UVP: 3.620000 V
...
the following lines here would be nice
....
[17:18:06][D][button:013]: 'jk-bms retrieve settings' Pressed.
[17:18:06][D][jk_bms_ble:1225]: Write register: AA.55.90.EB.96.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10 (20)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: AA.55.90.EB.C8.01.02.00.00.00.00.00.00.00.00.00.00.00.00.45 (20)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 4
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=4 gattc_if=3
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.01.45.58.02.00.00.24.0E.00.00.74.0E.00.00.68.10.00.00.D8.0E.00.00.0A.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.0E.00.00.D0.07.00.00.1E.00.00.00.3C.00.00.00.D0.07.00.00.2C.01.00.00.3C.00.00.00.3C.00.00.00.2C.01.00.00.BC.02.00.00.58.02.00.00.BC.02.00.00.58.02.00.00.38.FF.FF.FF.9C.FF.FF.FF.E8.03.00.00.20.03.00.00.04.00.00.00.01.00.00.00.00.00.00.00.01.00 (128)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: 00.00.C8.32.00.00.DC.05.00.00.04.10.00.00.00.00.00.00.00.00.00.00 (22)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: B0.71.0B.00.08.00.00.00.00.7C.F8.FF.FF.1F.0D.00.00.00.00.00.00.01 (22)
[17:18:06][I][jk_bms_ble:873]: Settings frame (300 bytes):
[17:18:06][VV][jk_bms_ble:874]:   55.AA.EB.90.01.45.58.02.00.00.24.0E.00.00.74.0E.00.00.68.10.00.00.D8.0E.00.00.0A.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.10.0E.00.00.D0.07.00.00.1E.00.00.00.3C.00.00.00.D0.07.00.00.2C.01.00.00.3C.00.00.00.3C.00.00.00.2C.01.00.00.BC.02.00.00.58.02.00.00.BC.02.00.00.58.02.00.00.38.FF.FF.FF.9C.FF.FF.FF.E8.03.00.00.20.03.00.00.04.00.00.00.01.00.00.00.00.00.00.00.01.00.00.00.C8.32.00.00.DC.05.00.00.04.10.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 
[17:18:06][VV][jk_bms_ble:875]:   00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.B0.71.0B.00.08.00.00.00.00.7C.F8.FF.FF.1F.0D.00.00.00.00.00.00.01 (140)
[17:18:06][D][jk_bms_ble:899]:   Unknown6: 0.600000
[17:18:06][I][jk_bms_ble:901]:   Cell UVP: 3.620000 V
[17:18:06][D][number:012]: 'jk-bms cell voltage undervoltage protection': Sending state 3.620000
[17:18:06][I][jk_bms_ble:905]:   Cell UVPR: 3.700000 V
[17:18:06][D][number:012]: 'jk-bms cell voltage undervoltage recovery': Sending state 3.700000
[17:18:06][I][jk_bms_ble:909]:   Cell OVP: 4.200000 V
[17:18:06][D][number:012]: 'jk-bms cell voltage overvoltage protection': Sending state 4.200000
[17:18:06][I][jk_bms_ble:913]:   Cell OVPR: 3.800000 V
[17:18:06][D][number:012]: 'jk-bms cell voltage overvoltage recovery': Sending state 3.800000
[17:18:06][I][jk_bms_ble:917]:   Balance trigger voltage: 0.010000 V
[17:18:06][D][number:012]: 'jk-bms balance trigger voltage': Sending state 0.010000
[17:18:06][I][jk_bms_ble:925]:   Power off voltage: 3.600000 V
[17:18:06][D][number:012]: 'jk-bms power off voltage': Sending state 3.600000
[17:18:06][I][jk_bms_ble:929]:   Max. charge current: 2.000000 A
[17:18:06][D][number:012]: 'jk-bms max charge current': Sending state 2.000000
[17:18:06][I][jk_bms_ble:933]:   Charge OCP delay: 30.000000 s
[17:18:06][I][jk_bms_ble:935]:   Charge OCP recovery delay: 60.000000 s
[17:18:06][I][jk_bms_ble:937]:   Max. discharge current: 2.000000 A
[17:18:06][D][number:012]: 'jk-bms max discharge current': Sending state 2.000000
[17:18:06][I][jk_bms_ble:941]:   Discharge OCP recovery delay: 300.000000 s
[17:18:06][I][jk_bms_ble:943]:   Discharge OCP recovery delay: 60.000000 s
[17:18:06][I][jk_bms_ble:945]:   SCP recovery time: 60.000000 s
[17:18:06][I][jk_bms_ble:947]:   Max. balance current: 0.300000 A
[17:18:06][D][number:012]: 'jk-bms max balance current': Sending state 0.300000
[17:18:06][I][jk_bms_ble:951]:   Charge OTP: 70.000000 °C
[17:18:06][I][jk_bms_ble:953]:   Charge OTP recovery: 60.000000 °C
[17:18:06][I][jk_bms_ble:955]:   Discharge OTP: 70.000000 °C
[17:18:06][I][jk_bms_ble:957]:   Discharge OTP recovery: 60.000000 °C
[17:18:06][I][jk_bms_ble:959]:   Charge UTP: -20.000000 °C
[17:18:06][I][jk_bms_ble:961]:   Charge UTP recovery: -10.000000 °C
[17:18:06][I][jk_bms_ble:963]:   MOS OTP: 100.000000 °C
[17:18:06][I][jk_bms_ble:965]:   MOS OTP recovery: 80.000000 °C
[17:18:06][I][jk_bms_ble:967]:   Cell count: 4.000000
[17:18:06][D][number:012]: 'jk-bms cell count': Sending state 4.000000
[17:18:06][I][jk_bms_ble:971]:   Charge switch: on
[17:18:06][I][jk_bms_ble:975]:   Discharge switch: off
[17:18:06][I][jk_bms_ble:979]:   Balancer switch: on
[17:18:06][I][jk_bms_ble:983]:   Nominal battery capacity: 13.000001 Ah
[17:18:06][D][number:012]: 'jk-bms total battery capacity': Sending state 13.000001
[17:18:06][D][jk_bms_ble:987]:   Unknown134: 1.500000
[17:18:06][I][jk_bms_ble:989]:   Start balance voltage: 4.100000 V
[17:18:06][D][number:012]: 'jk-bms balance starting voltage': Sending state 4.100000
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 1: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 2: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 3: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 4: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 5: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 6: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 7: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 8: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 9: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 10: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 11: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 12: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 13: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 14: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 15: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 16: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 17: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 18: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 19: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 20: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 21: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 22: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 23: 0.000000 Ohm
[17:18:06][I][jk_bms_ble:1021]:   Con. wire resistance 24: 0.000000 Ohm
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:06][VV][jk_bms_ble:220]: Notification received: AA.55.90.EB.C8.01.01.00.00.00.00.00.00.00.00.00.00.00.00.44 (20)
[17:18:06][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:06][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.45.F8.0E.F6.0E.FD.0E.F6.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F8.0E.06.00.02.01.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EC.00.00.00.00.00 (22)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: E1.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.3E.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FC.05.F2.1B.00.01.00.01.00.05.00.00.57.B5.19.00.00.00.00.00.EC.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.3F (22)
[17:18:07][VV][jk_bms_ble:450]: Cell info frame (version 3, 300 bytes):
[17:18:07][VV][jk_bms_ble:451]:   55.AA.EB.90.02.45.F8.0E.F6.0E.FD.0E.F6.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F8.0E.06.00.02.01.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EC.00.00.00.00.00 (150)
[17:18:07][VV][jk_bms_ble:452]:   E1.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.3E.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FC.05.F2.1B.00.01.00.01.00.05.00.00.57.B5.19.00.00.00.00.00.EC.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.3F (150)
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 1': Sending state 3.83200 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 1': Sending state 0.14500 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 2': Sending state 3.83000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 2': Sending state 0.12500 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 3': Sending state 3.83700 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 3': Sending state 0.16900 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 4': Sending state 3.83000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 4': Sending state 0.11200 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 5': Sending state 0.00000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 5': Sending state 0.00000 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 6': Sending state 0.00000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 6': Sending state 0.00000 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 7': Sending state 0.00000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 7': Sending state 0.00000 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell voltage 8': Sending state 0.00000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms cell resistance 8': Sending state 0.00000 Ω with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms min cell voltage': Sending state 3.83000 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms max cell voltage': Sending state 3.83700 V with 3 decimals of accuracy
[17:18:07][V][jk_bms_ble:516]: Enabled cells bitmask: 0F 00 00 00
[17:18:07][D][sensor:127]: 'jk-bms average cell voltage': Sending state 3.83200 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms delta cell voltage': Sending state 0.00600 V with 3 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms max voltage cell': Sending state 3.00000  with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms min voltage cell': Sending state 2.00000  with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms power tube temperature': Sending state 23.60000 °C with 0 decimals of accuracy
[17:18:07][D][jk_bms_ble:545]: Wire resistance warning bitmask: 00 00 00 00
[17:18:07][D][sensor:127]: 'jk-bms total voltage': Sending state 15.32900 V with 2 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms current': Sending state 0.00000 A with 2 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms power': Sending state 0.00000 W with 2 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms charging power': Sending state 0.00000 W with 2 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms discharging power': Sending state 0.00000 W with 2 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms temperature sensor 1': Sending state 19.70000 °C with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms temperature sensor 2': Sending state 19.60000 °C with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms errors bitmask': Sending state 0.00000  with 0 decimals of accuracy
[17:18:07][V][text_sensor:016]: 'jk-bms errors': Received new state 
[17:18:07][D][text_sensor:067]: 'jk-bms errors': Sending state ''
[17:18:07][D][sensor:127]: 'jk-bms balancing current': Sending state 0.00000 A with 2 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms state of charge': Sending state 0.00000 % with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms capacity remaining': Sending state 0.00000 Ah with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms total battery capacity setting': Sending state 13.00000 Ah with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms charging cycles': Sending state 0.00000  with 0 decimals of accuracy
[17:18:07][D][sensor:127]: 'jk-bms total charging cycle capacity': Sending state 1.21600 Ah with 3 decimals of accuracy
[17:18:07][D][jk_bms_ble:630]: Unknown158: 64 00 (always 0x64 0x00?)
[17:18:07][D][jk_bms_ble:633]: Unknown160: 00 00 (always 0xC5 0x09?)
[17:18:07][D][sensor:127]: 'jk-bms total runtime': Sending state 171326.00000 s with 0 decimals of accuracy
[17:18:07][V][text_sensor:016]: 'jk-bms total runtime formatted': Received new state 1d 23h
[17:18:07][D][text_sensor:067]: 'jk-bms total runtime formatted': Sending state '1d 23h'
[17:18:07][D][jk_bms_ble:646]: Unknown168: 00.00.00.00.00.00.00.00.00.00.00.00.00.00 (14)
[17:18:07][D][jk_bms_ble:660]: Unknown189: 00 64
[17:18:07][D][jk_bms_ble:664]: Unknown192: 00
[17:18:07][D][jk_bms_ble:666]: Unknown193: 00 58 (0x00 0x8D)
[17:18:07][D][jk_bms_ble:668]: Unknown195: 72 3F (0x21 0x40)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.46.F6.0E.F6.0E.FB.0E.F8.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F8.0E.06.00.02.01.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EC.00.00.00.00.00 (22)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: E0.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.3E.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FC.05.F2.1B.00.01.00.01.00.05.00.00.5C.B5.19.00.00.00.00.00.EC.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.42 (22)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.47.F8.0E.F6.0E.FB.0E.F6.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F8.0E.06.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:07][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EC.00.00.00.00.00 (22)
[17:18:07][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:07][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: E0.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.3F.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FC.05.F2.1B.00.01.00.01.00.05.00.00.62.B5.19.00.00.00.00.00.EC.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.49 (22)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.48.F9.0E.F6.0E.FE.0E.F8.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F9.0E.06.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EC.00.00.00.00.00 (22)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: E4.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.3F.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FD.05.F2.1B.00.01.00.01.00.05.00.00.67.B5.19.00.00.00.00.00.EC.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.5B (22)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.49.F8.0E.F8.0E.FD.0E.F8.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F9.0E.06.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:08][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EB.00.00.00.00.00 (22)
[17:18:08][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:08][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:09][VV][jk_bms_ble:220]: Notification received: E4.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.40.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FD.05.F2.1B.00.01.00.01.00.05.00.00.6C.B5.19.00.00.00.00.00.EB.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:09][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:09][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:09][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.60 (22)
[17:18:09][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:09][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:09][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.4A.F5.0E.F5.0E.FD.0E.F8.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.F8.0E.06.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:09][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:09][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:09][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EB.00.00.00.00.00 (22)
[17:18:09][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:09][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:09][VV][jk_bms_ble:220]: Notification received: E0.3B.00.00.00.00.00.00.00.00.00.00.C5.00.C4.00.00.00.08.00.00.00.00.00.00.00.00.00.C8.32.00.00.00.00.00.00.C0.04.00.00.64.00.00.00.41.9D.02.00.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.AD.03.00.00.00.00.58.72.3F.40.00.00.00.00.FC.05.F2.1B.00.01.00.01.00.05.00.00.72.B5.19.00.00.00.00.00.EB.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:09][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:09][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:09][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.FE.FF.7F.DC.0F.01.00.00.00.00.00.00.5C (22)
[17:18:10][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:10][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:10][VV][jk_bms_ble:220]: Notification received: 55.AA.EB.90.02.4B.F9.0E.F8.0E.FF.0E.F9.0E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0F.00.00.00.FA.0E.06.00.02.00.91.00.7D.00.A9.00.70.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 (128)
[17:18:10][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:10][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:10][VV][jk_bms_ble:220]: Notification received: 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.EB.00.00.00.00.00 (22)
[17:18:10][V][esp32_ble:206]: (BLE) gattc_event [esp_gatt_if: 3] - 10
[17:18:10][V][esp32_ble_client:111]: [0] [C8:47:8C:EC:77:7D] gattc_event_handler: event=10 gattc_if=3
[17:18:10][VV][jk_bms_ble:220]: Notification re

will be away now for 1h

syssi commented

To get an idea why updating the Start balance voltage doesn't work another btsnoop capture would be nice. This is the payload the BMS doesn't want to accept:

# 3.88V
AA.55.90.EB.26.04.28.0F.00.00.00.00.00.00.00.00.00.00.00.DB

# 3.95V
AA.55.90.EB.26.04.6E.0F.00.00.00.00.00.00.00.00.00.00.00.21

ok let me check

syssi commented
aa5590eb220404100000bc5ba14a8f60e08f4559
        |  |^^^^^^^^0x1004 = 4100 = 4.1V
        |  |
        |  data_len 4
        address 0x22

It looks like 0x22 is the "start balance voltage" register of your BMS. Did you apply 4.1V here?

I think 4.1 was the setting before I changed it, have to check

I am unsure, it used to be 4.1 I thought I changed it , maybe I reverted it.
Can do another trace.

did you find another change of Balance start voltage change in the file?

syssi commented

This is the only command at the second capture. Do you like to provide another one?

I did sent already another with 2 changes - hopefully captured correct. for Balance Start Voltage. did you receive the mail?

syssi commented
aa5590eb2204280f0000c0bbb38a723196e73eed
            ^^^^ 0x0f28 = 3880 = 3.88V

aa5590eb2204a00f00009ec074687be46b634d03
            ^^^^ 0x0fa0 = 4000 = 4.00V
syssi commented

So we know for sure register 0x22 is the start balancing register in your case. I will verify it on my side asap. May be it has always been wrong.

syssi commented

Start balance voltage of a JK-BD6A17S6P: aa5590eb26049c090000d327863be2124db0b6ab

The registers has changed. :-(

ok thanks for checking

syssi commented

Unfortunately, the next challenge is to identify each registers of your BMS version. Do you want to provide a capture per setting? Naming the ZIP archive by setting name + value would be awesome.

Hi, can try,
which settings can be adjusted and need to be checked?

all which are available in the app I assume.

can try which are working and which not and capture those.
Any docu available for tracing changes?

will take some time, have to run now.

syssi commented

which settings can be adjusted and need to be checked?
all which are available in the app I assume.

Correct. We don't know which has changed and which not.

can try which are working and which not and capture those.

Please don't use this implementation to write registers as long we haven't checked all registers against captures. There is the risk to write to unknown/critical addresses or apply settings on foreign settings.

Any docu available for tracing changes?

Not yet or I don't understand your question.

will take some time, have to run now.

No rush! :-)

did send a file with controls, maybe it can help

syssi commented
Command: aa5590eb 1d 0400000000d2a8888b2a3cd4360098 # Charge OFF
Command: aa5590eb 1d 04010000000cc404c33747565e3da2 # Charge ON
# untouched, should work

Command: aa5590eb 1e 0401000000808685a3e9760be7c4e0 # Discharge ON
Command: aa5590eb 1e 0400000000b2430b4e95b4d6215e88 # Discharge OFF
# untouched, should work

Command: aa5590eb 1f 040000000093f6149382d818c59094 # Balance OFF
Command: aa5590eb 1f 0401000000de9bee1c9bf4a1be5e6d # Balance ON
# untouched, should work

Command: aa5590eb 6b 040100000019ca465d7d09e74c9ec7 # Emergency ON
Command: aa5590eb 6b 04000000001ca240f936b60fca39de # Emergency OFF
# new command, not implemented yet

Command: aa5590eb 28 0401000000ab3f0ae522bb935b024d # Disable temp. sensor ON
Command: aa5590eb 28 040000000026441e01ce8ea4ac2a05 # Disable temp. sensor OFF
# new command, not implemented yet

Command: aa5590eb 2a 0400000000373787c259dc922cbc0e # Port Switch CAN
Command: aa5590eb 2a 0401000000f4c37ea5ee3d2fd45f10 # Port Switch RS485?
# new command, not implemented yet

Command: aa5590eb 2b 0401000000ebe73aed0f7f8b10cd99 # Display Always On ON
Command: aa5590eb 2b 040000000099347bc4ea32cb2e8b55 # Display Always On OFF
# new command, not implemented yet

controls

jk-bms-11-RS485 protocol.pdf
Hi
does this help?

RS485 protocol reference? you probably have this already

syssi commented

This document describes the UART-TTL protocol. It's implemented already and it's different to the BLE communication.

syssi commented
Command: aa5590eb 1c 04 06000000 633f960e2ccc5479933e # Set cell count to 6
Command: aa5590eb 20 04 b0360000 4a65d2c9f1c023783953 # Set battery capacity to 14
Command: aa5590eb 06 04 64000000 6a2f0c9127caa41b5f2d # Set balance trigger voltage to 0.100
Command: aa5590eb 64 04 983a0000 c08d76093b9a5bd5ef74 # Set calibration voltage 15.00
Command: aa5590eb 67 04 c8000000 3e3eac7e26228f10528c # Set calibration current 2
Command: aa5590eb 67 04 e8030000 8419c0cbc119fd66396e # Set calibration current 10
Command: aa5590eb 67 04 64000000 2f8cc2e6d6291a5fb7db # Set calibration current 1
syssi commented
Command: aa5590eb 04 04 68100000 05aa400f6aa466909d99 # OVP 4200
Command: aa5590eb 05 04 a00f0000 14876e9f40e22802aad0 # OVPR 4000
Command: aa5590eb 03 04 100e0000 0eb48b0f6edf31c4a6e3 # UVPR 3600
Command: aa5590eb 02 04 ac0d0000 1da58b588e4fd90db95a # UVP 3500
Command: aa5590eb 0b 04 480d0000 c0d1aaa4906c3a33f016 # Power Off Vol. 3400
Command: aa5590eb 22 04 04100000 abd4dc520aa300253a6d # Start Balance Volt. 4100
syssi commented
Command: aa5590eb 13 04 2c010000 e577a998fab6c3b535b8 Max Balance Current 300 (0.3 A)
Command: aa5590eb 0c 04 b80b0000 4582fe93a41562eade88 Continued Charge Current 3000
Command: aa5590eb 0d 04 28000000 d3e1d60edce047a8140a Charge OCP Delay 40
Command: aa5590eb 0e 04 46000000 ed585e91333a0c8a1821 Charge OCPR Time 70
Command: aa5590eb 0f 04 e8030000 7b2a25b144905226c807 Continued Discharge Current 1000
Command: aa5590eb 10 04 2c010000 e8a617872fc4cbc6f964 Discharge OCP Delay 300
Command: aa5590eb 10 04 c8000000 be4c472710566be5e86c Discharge OCP Delay 200
Command: aa5590eb 11 04 3c000000 c4fb0290996c038c9c4c Discharge OCPR Time 60
Command: aa5590eb 11 04 46000000 b19a992622f78bcfae00 Discharge OCPR Time 70
Command: aa5590eb 21 04 d0070000 884ca9d793b551a5747c SCP Delay 2000
Command: aa5590eb 12 04 46000000 9431c6e7fdd89f62bfdd SCPR Time 70

Command: aa5590eb 14 04 94020000 67b6b6012690b4d0b5eb Charge OTP 660
Command: aa5590eb 15 04 62020000 283f85d2c8517da0644f Charge OTPR 610
Command: aa5590eb 16 04 02030000 1fc8321a48ca575626b1 Discharge OTP 770
Command: aa5590eb 17 04 8a020000 017c0893b33b1687b276 Discharge OTPR 650
Command: aa5590eb 18 04 24ffffff 77307fd8686f0227b66b Charge UTP -22
Command: aa5590eb 19 04 a6ffffff 15b39a96891db7da90f9 Charge UTPR -9
Command: aa5590eb 1a 04 de030000 c74eea81f7cf73b5e1c8 MOS OTP 990
Command: aa5590eb 1b 04 0c030000 21329850c768cf89d842 MOS OTPR 780
syssi commented
Command: aa5590eb 23 04 640000000 02c914c08024b41d175 # Con Wire Res 01: 100
Command: aa5590eb 23 04 c80000000 13f881a899fc07218bd # Con Wire Res 02: 200
Command: aa5590eb 23 04 2c0100000 2f9eea6d367348f3f99 # Con Wire Res 03: 300
Command: aa5590eb 23 04 900100000 32d35263e01e3830c6e # Con Wire Res 04: 400
Command: aa5590eb 23 04 f40100000 4fe7c79c2da55a9234a # Con Wire Res 05: 500
Command: aa5590eb 23 04 580200000 51c1729305a39d006f5 # Con Wire Res 06: 600
Command: aa5590eb 23 04 bc0200000 61ec3097a36e45277ac # Con Wire Res 07: 700
Command: aa5590eb 23 04 200300000 70fb3a82ff5d6125596 # Con Wire Res 08: 800
# All values are written to the same register. That's strange and may be a bug of the Android App
syssi commented

I've merged the new settings registers into main. All available number entities should work now if you reflash your ESP.

Hi
very fast development thanks a lot

so I just need to change protocol version JK02_32S right?

syssi commented

Correct!

the mac by the way is
mac_address: C8:47:8C:EC:77:7D
not sure if this same for all B2A8S20P

please check new sensors mqtt topics

jk-bms and sometime jk_bms . Underscore versus minus

image

maybe my error, having the wrong name set in yaml once

syssi commented
RS485/CAN
    -1  01 01 00 01 01
   282  08 08 00 08 08 <--- b00001000

Display always on
    -1  00 00 00 00 01 01 00 00
   282  08 08 08 08 18 18 08 08 <--- b00010000
   
Temperature sensors disabled
    -1  00 00 00 01 01 01 00 00
   282  08 08 08 0a 0a 0a 08 08 <-- b00000010
syssi commented

I've prepared a new release. Please give it a try! Many thanks for your great support!

thanks for fast implementing.
no errors found so far.

syssi commented

I thank you too! :-)