syssi / esphome-jk-bms

ESPHome component to monitor and control a Jikong Battery Management System (JK-BMS) via UART-TTL or BLE
Apache License 2.0
483 stars 164 forks source link

Support for new range of JK BMS (JK-PBx) #390

Open PMPoulsen opened 1 year ago

PMPoulsen commented 1 year ago

Hi,

Do you have plans for supporting the new range of BMS's from JK e.g. JK-PB1A16S10P?

syssi commented 1 year ago

Could you provide or ask the seller about some details about the supported protocols?

PMPoulsen commented 1 year ago

I will contact them on Aliexpress to see what they can provide. I have ordered but not yet received. There are new features in this BMS hence I expect that they have updated the protocol. I would guess still modbus over RS-232 and the JKBMS app do also support these new BMS's

syssi commented 1 year ago

The hardware looks like a Seplos BMS.

PMPoulsen commented 1 year ago

yes and the protocols for the RS485 / CAN busses should support multiple inverters as well

PMPoulsen commented 1 year ago

I have received an example on the protocol from JKBMS, how ever I don't know how useful this is as the new parameters for e.g. the communication settings do not seems to be described Jikong-BMS-RS485-Communication example.pdf

testpaul999 commented 12 months ago

Hi, If I can help I have one of this new BMS an can send RAW protocol if needed. Regards

syssi commented 12 months ago

I'm happy about every detail about the new models. Please provide as much input as you can.

testpaul999 commented 11 months ago

Hi, Now I have had time and here some files. Hopefully the names are self explanatory. sending 1.4A charge.txt resive 1_4A charge.txt sending_site_no load.txt sendig 1_3A load.txt resive_site_no load.txt resive 1_3A load.txt jk new jk new charge 1_4A jk new 1_3A load Collected via rs485 adapter Regards

syssi commented 11 months ago

Cool! Could you provide some more screenshots (of the different tabs) of the JK-BMS-MONITOR app? It's the first time I see this application.

syssi commented 11 months ago

I've extracted all Modbus requests from the capture above:

01 10 10 70 00 02 04 00 01 00 00 68 8B
01 10 10 74 00 02 04 00 01 00 00 69 78
01 10 10 84 00 02 04 0D DE 00 00 55 6A
01 10 16 0C 00 01 02 00 00 D1 5D
01 10 16 1C 00 01 02 00 00 D3 CD
01 10 16 1E 00 01 02 00 00 D2 2F
01 10 16 20 00 01 02 00 00 D6 F1
01 10 16 22 00 01 02 00 00 D7 13
01 10 16 24 00 01 02 00 00 D7 75
 |  |  |  |  |  |  |  |  |  |  |
 |  |  |  |  |  |  |  |  |  |  CRC
 |  |  |  |  |  |  |  |  |  CRC
 |  |  |  |  |  |  |  |  Data
 |  |  |  |  |  |  |  Data
 |  |  |  |  |  |  Data length
 |  |  |  |  |  Number of registers low
 |  |  |  |  Number of registers high
 |  |  |  Start address low
 |  |  Start address high
 |  Function code
 Device address

Conclusion: The request frames look like valid Modbus frames now.

testpaul999 commented 11 months ago

Hi, screenshots from PC software new jk fw update screen new jk about screen new jk control screen new jk fault screen new jk comm protocol screen new jk main screen new jk logging screen new jk settings2 screen new jk settings1 screen

regards

jrventer commented 11 months ago

I just got two JK_PB2A16S20P BMS so busy getting them ready to test. Managed to get the JK Modbus protocol document however in Chinese but most of the important parts are english as well. JK_BMS RS485 Modbus v1_0.pdf Will be testing these soon might save time reverse engineering using the JK BMS monitor. At least with modbus should be straight forward integration now.

testpaul999 commented 11 months ago

I‘m to be anxious to get the esp32 run with this new bms. Are the BT integration available as well?

regards

jrventer commented 11 months ago

I‘m to be anxious to get the esp32 run with this new bms. Are the BT integration available as well?

regards

I have not tested the BT integration but it works through the same mobile app via BT. Not sure if the BT protocol is a different version but I assume most would work the same as the other BMSs. There is obviously a couple of extra features and values that will have to be added. I have done some initial testing with the RS485 using standard ESPHOME modbus components and it seems to work without any issues.

jrventer commented 11 months ago

Small sample of collecting SoC% via modbus

# Configure uart that will be used
uart:
  id: mod_bus
  rx_pin: GPIO21
  tx_pin: GPIO22
  baud_rate: 115200
  rx_buffer_size: 384

modbus:
  id: jk_modbus

modbus_controller:
  - id: jk_modbus_bat1pack1
    address: 0x01   ## address of the ModBUS slave device on the bus
    modbus_id: jk_modbus
    setup_priority: -10
    update_interval: "5s"
    command_throttle: "50ms"
sensor:
  - platform: modbus_controller # 0x1200 index 0x90 Battery Voltage
    modbus_controller_id: jk_modbus_bat1pack1
    name: "Bat 1 Pack 1 Battery Voltage"
    id: battery_voltage
    register_type: holding
    address: 0x1290
    unit_of_measurement: "V"
    accuracy_decimals: 3
    device_class: voltage
    state_class: measurement
    filters:
      - multiply: 0.001
    value_type: U_DWORD_R
testpaul999 commented 11 months ago

Hello,

have build esp32-ble for this new jk bms. It run without problem and display all parameters accept the new one‘s. Is there any beta decode for maximize to all parameters?

regards.

testpaul999 commented 10 months ago

Happy new year 🎇 Is there any progress within implement the newer jk inverter BMS?

regards

silviudc commented 10 months ago

I have a jk-pb2a16s20p bms on v14.17, and would like to connect via an esp32 and ble and home assistant, have people managed to get it to work? Which yaml file to use?

syssi commented 10 months ago

If you want to use BLE please try this one: https://github.com/syssi/esphome-jk-bms/blob/main/esp32-ble-example.yaml

If you want to talk to your BMS using RS485 this is a first draft: https://github.com/syssi/esphome-jk-bms/blob/add-jk-pbx-support/esp32-jk-pb-modbus-example.yaml

silviudc commented 10 months ago

Thank you. And use protocol JK02_32S in the config?

testpaul999 commented 10 months ago

@silviudc see here have build this https://github.com/syssi/esphome-jk-bms/issues/390#issuecomment-1855716298 yes this will work with this protocol. you will see all informations accept the new parameter like RCV and RFV. hopefully Syssi will improve the BT protocol as well.

regards

silviudc commented 10 months ago

Yes I got it to work, it is great. The only thing missing, those two values, a toggle for float mode on/off and temperature sensor 3 and 4, only see 1 and 2

syssi commented 10 months ago

@testpaul999 @silviudc Could one of you increase the log level to VERY_VERBOSE and provide a ESPHome log which includes some RAW data?

silviudc commented 10 months ago

logs_esp32-jkbms-bt_logs.txt

logs_esp32-jkbms-bt_logs (1).txt

syssi commented 10 months ago

The (for me) important parts of the logs for analysis later on:

# logs_esp32-jkbms-bt_logs.txt
# The device info frame isn't part of the log

# Cell info frame (version 3, 300 bytes) received
55.AA.EB.90.02.2B.C8.0C.CA.0C.CD.0C.CD.0C.CF.0C.D0.0C.D0.0C.CC.0C.C7.0C.CB.0C.CB.0C.CC.0C.CD.0C.D1.0C.D1.0C.CF.0C.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.FF.00.00.CD.0C.0A.00.0E.0C.5B.00.3C.00.3E.00.3B.00.3F.00.3C.00.3F.00.3C.00.40.00.3D.00.40.00.3D.00.40.00.3E.00.40.00.3E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.7C.00.00.00.00.00. CD.CC.00.00.38.DF.35.00.2C.F3.FE.FF.71.00.68.00.00.00.08.00.00.00.00.51.A4.75.07.00.C0.27.09.00.02.00.00.00.37.6E.17.00.64.00.00.00.7C.0E.08.00.01.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.9D.03.00.00.BA.00.8E.8A.40.40.00.00.00.00.7A.14.00.00.00.01.01.01.00.06.00.00.62.88.06.00.00.00.00.00.7C.00.71.00.74.00.A1.03.77.D0.9C.07.3D.00.00.00.80.51.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.FF.7F.DD.2F.01.01.B0.07.00.00.00.59

# Cell info frame (version 3, 300 bytes) received
55.AA.EB.90.02.37.C8.0C.CA.0C.CD.0C.CD.0C.CF.0C.D1.0C.D0.0C.CC.0C.C7.0C.CB.0C.CB.0C.CC.0C.C6.0C.CF.0C.D1.0C.CF.0C.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.FF.00.00.CD.0C.0B.00.0E.0C.5B.00.3C.00.3E.00.3B.00.3F.00.3C.00.3F.00.3C.00.40.00.3D.00.40.00.3D.00.40.00.3E.00.40.00.3E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.7C.00.00.00.00.00. CF.CC.00.00.17.94.35.00.F4.F8.FE.FF.71.00.68.00.00.00.08.00.00.00.00.51.2A.75.07.00.C0.27.09.00.02.00.00.00.B1.6E.17.00.64.00.00.00.82.0E.08.00.01.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.9D.03.00.00.B6.00.8E.8A.40.40.00.00.00.00.7B.14.00.00.00.01.01.01.00.06.00.00.A4.88.06.00.00.00.00.00.7C.00.71.00.74.00.A1.03.7D.D0.9C.07.3D.00.00.00.80.51.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.FF.7F.DD.2F.01.01.B0.07.00.00.00.0C

# logs_esp32-jkbms-bt_logs (1).txt
# Cell info frame (version 3, 300 bytes) received
55.AA.EB.90.02.45.CB.0C.CA.0C.CC.0C.C8.0C.C8.0C.CD.0C.CF.0C.CC.0C.C6.0C.CB.0C.CC.0C.CF.0C.CD.0C.D0.0C.D0.0C.CB.0C.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.FF.00.00.CB.0C.0A.00.0D.08.5B.00.3C.00.3E.00.3B.00.3F.00.3C.00.3F.00.3C.00.40.00.3D.00.40.00.3D.00.40.00.3E.00.40.00.3E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.7D.00.00.00.00.00. B5.CC.00.00.8A.70.36.00.10.F6.FE.FF.71.00.68.00.00.00.08.00.00.00.00.51.2E.60.07.00.C0.27.09.00.02.00.00.00.AE.83.17.00.64.00.00.00.A1.0F.08.00.01.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.9D.03.00.00.B8.00.8E.8A.40.40.00.00.00.00.78.14.00.00.00.01.01.01.00.06.00.00.D7.93.06.00.00.00.00.00.7D.00.72.00.74.00.A1.03.9C.D1.9C.07.3D.00.00.00.80.51.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.FF.7F.DD.2F.01.01.B0.07.00.00.00.DA

# Cell info frame (version 3, 300 bytes) received
55.AA.EB.90.02.5B.CA.0C.CA.0C.CB.0C.CA.0C.CA.0C.CF.0C.D0.0C.CD.0C.CC.0C.CD.0C.CC.0C.CB.0C.C6.0C.CC.0C.D0.0C.CC.0C.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.FF.00.00.CB.0C.0B.00.0E.08.5B.00.3C.00.3E.00.3B.00.3F.00.3C.00.3F.00.3C.00.40.00.3D.00.40.00.3D.00.40.00.3E.00.40.00.3E.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.7E.00.00.00.00.00. B5.CC.00.00.8A.70.36.00.10.F6.FE.FF.71.00.68.00.00.00.08.00.00.00.00.51.4C.5F.07.00.C0.27.09.00.02.00.00.00.8F.84.17.00.64.00.00.00.AD.0F.08.00.01.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FF.00.01.00.00.00.9D.03.00.00.B8.00.8E.8A.40.40.00.00.00.00.78.14.00.00.00.01.01.01.00.06.00.00.4F.94.06.00.00.00.00.00.7E.00.72.00.74.00.A1.03.A8.D1.9C.07.3D.00.00.00.80.51.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.FF.7F.DD.2F.01.01.B0.07.00.00.00.84
syssi commented 10 months ago

@silviudc Could you provide another log including the device info frame and settings frame you can request this data using the button entities:

button:
  - platform: jk_bms_ble
    retrieve_settings:
      name: "${name} retrieve settings"
    retrieve_device_info:
      name: "${name} retrieve device info"
testpaul999 commented 10 months ago

How do I Catch the log file? I don’t use homeassistant only the web-ui

syssi commented 10 months ago

If you have to command line tool (pip3 install esphome) installed you can look into the logs using:

esphome logs yournode.yaml
testpaul999 commented 10 months ago

Ok here they are. Have push the both buttons twice jk bms_2.log

syssi commented 10 months ago

Good job!

# jk bms_2.log

# Device info frame (300 bytes) received
55.AA.EB.90.03.6B.4A.4B.5F.50.42.32.41.31.36.53.31.35.50.00.00.00.31.34.2E.58.41.00.00.00.31.34.2E.32.30.00.00.00.88.A3.01.00.94.00.00.00.4A.4B.5F.50.42.32.41.31.36.53.31.35.50.00.00.00.31.32.33.34.00.00.00.00.00.00.00.00.00.00.00.00.32.33.31.31.31.38.00.00.33.30.39.32.35.37.32.31.33.34.00.30.30.30.30.00.49.6E.70.75.74.20.55.73.65.72.64.61.74.61.00.00.31.32.33.34.35.37.00.00.00.00.00.00.00.00.00.00.49.6E.70.75.74.20.55.73.65.72.64.61.74.61.00.00.FE.FF.FF.FF.AF.E9.01.02.00.00.00.00.90.1F.00.00.00.00.C0.D8.E7.FE.1F.00.00.01.00.00.00.00.00.00.00.00.01.04.CF.03.00.00.00.00.00.00.00.00.00.00.00.00.00.00.DF.07.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0B.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0B.00.01.00.00.00.00.00.00.00.00.09.00.00.00.0B.00.00.00.00.00.00.00.00.00.00.00.80.51.00.00.0A.50.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.FE.9F.E9.FE.03.00.00.00.00.00.00.00.DE

# Vendor ID: JK_PB2A16S15P
# Hardware version: 14.XA
# Software version: 14.20
# Uptime: 107400 s
# Power on count: 148
# Device name: JK_PB2A16S15P
# Device passcode: 1234
# Manufacturing date: 231118
# Serial number: 3092572134
# Passcode: 0000
# User data: Input Userdata
# Setup passcode: 123457

# Settings frame (300 bytes) received
55.AA.EB.90.01.9B.AC.0D.00.00.F0.0A.00.00.B7.0B.00.00.41.0E.00.00.79.0D.00.00.03.00.00.00.7A.0D.00.00.F1.0A.00.00.7E.0D.00.00.48.0D.00.00.C4.09.00.00.20.CB.00.00.03.00.00.00.3C.00.00.00.20.CB.00.00.2C.01.00.00.3C.00.00.00.05.00.00.00.D0.07.00.00.BC.02.00.00.58.02.00.00.BC.02.00.00.58.02.00.00.32.00.00.00.64.00.00.00.E8.03.00.00.20.03.00.00.10.00.00.00.01.00.00.00.01.00.00.00.01.00.00.00.D0.07.00.00.DC.05.00.00.7A.0D.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.05.00.00.00.60.E3.16.00.00.02.3C.32.18.FE.FF.FF.FF.BF.E9.01.02.00.00.00.00.9E
testpaul999 commented 10 months ago

You are welcome 🙂

testpaul999 commented 10 months ago

@syssi have a question. after OTA flashing this will run

INFO Successfully compiled program.
Found multiple options for uploading, please choose one:
  [1] /dev/ttyUSB0 (FT230X Basic UART - FT230X Basic UART)
  [2] /dev/ttyUSB1 (CP2102 USB to UART Bridge Controller - CP2102 USB to UART Bridge Controller)
  [3] Over The Air (192.168.2.219)
(number): 3
INFO Connecting to 192.168.2.219
INFO Uploading .esphome/build/jk-bms-ble/.pioenvs/jk-bms-ble/firmware.bin (1368528 bytes)
Uploading: [============================================================] 100% Done...

INFO Upload took 4.39 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
Found multiple options for logging, please choose one:
  [1] /dev/ttyUSB0 (FT230X Basic UART - FT230X Basic UART)
  [2] /dev/ttyUSB1 (CP2102 USB to UART Bridge Controller - CP2102 USB to UART Bridge Controller)
  [3] MQTT (192.168.2.247)
(number): 3
INFO Starting log output from jk-bms-ble/debug
INFO Connected to MQTT broker!
[17:09:45][I][esp-idf:000]: I (390650) MQTT_CLIENT: Client asked to disconnect

[17:10:01][I][mqtt:274]: MQTT Connected!
[17:10:01][I][app:062]: setup() finished successfully!
[17:10:01][I][app:102]: ESPHome version 2023.12.0 compiled on Jan 18 2024, 17:07:50
[17:10:01][I][app:104]: Project syssi.esphome-jk-bms version 1.5.0.1
[17:10:01][W][jk_bms_ble:365]: [C8:47:80:07:A0:CC] Not connected
[17:10:02][I][esp32_ble_client:201]: [0] [C8:47:80:07:A0:CC] Connected
[17:10:02][I][jk_bms_ble:210]: Request device info
[17:10:03][I][jk_bms_ble:1158]: Device info frame (300 bytes) received
[17:10:03][I][jk_bms_ble:1210]:   Vendor ID: JK_PB2A16S15P
[17:10:03][I][jk_bms_ble:1211]:   Hardware version: 14.XA
[17:10:03][I][jk_bms_ble:1212]:   Software version: 14.20
[17:10:03][I][jk_bms_ble:1213]:   Uptime: 108900 s
[17:10:03][I][jk_bms_ble:1214]:   Power on count: 150
[17:10:03][I][jk_bms_ble:1215]:   Device name: JK_PB2A16S15P
[17:10:03][I][jk_bms_ble:1216]:   Device passcode: 1234
[17:10:03][I][jk_bms_ble:1217]:   Manufacturing date: 231118
[17:10:03][I][jk_bms_ble:1218]:   Serial number: 3092572134
[17:10:03][I][jk_bms_ble:1219]:   Passcode: 0000
[17:10:03][I][jk_bms_ble:1220]:   User data: Input Userdata
[17:10:03][I][jk_bms_ble:1221]:   Setup passcode: 123457
[17:10:06][I][jk_bms_ble:370]: Request status notification
[17:10:07][W][jk_bms_ble:397]: CRC check failed! 0x85 != 0x00
[17:10:07][I][jk_bms_ble:1158]: Device info frame (300 bytes) received
[17:10:07][I][jk_bms_ble:1210]:   Vendor ID: JK_PB2A16S15P
[17:10:07][I][jk_bms_ble:1211]:   Hardware version: 14.XA
[17:10:07][I][jk_bms_ble:1212]:   Software version: 14.20
[17:10:07][I][jk_bms_ble:1213]:   Uptime: 108900 s
[17:10:07][I][jk_bms_ble:1214]:   Power on count: 150
[17:10:07][I][jk_bms_ble:1215]:   Device name: JK_PB2A16S15P
[17:10:07][I][jk_bms_ble:1216]:   Device passcode: 1234
[17:10:07][I][jk_bms_ble:1217]:   Manufacturing date: 231118
[17:10:07][I][jk_bms_ble:1218]:   Serial number: 3092572134
[17:10:07][I][jk_bms_ble:1219]:   Passcode: 0000
[17:10:07][I][jk_bms_ble:1220]:   User data: Input Userdata
[17:10:07][I][jk_bms_ble:1221]:   Setup passcode: 123457
[17:10:07][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:08][W][component:214]: Component esp32_ble took a long time for an operation (0.25 s).
[17:10:08][W][component:215]: Components should block for at most 20-30ms.
[17:10:13][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:13][W][component:214]: Component esp32_ble took a long time for an operation (0.23 s).
[17:10:13][W][component:215]: Components should block for at most 20-30ms.
[17:10:18][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:19][W][component:214]: Component esp32_ble took a long time for an operation (0.20 s).
[17:10:19][W][component:215]: Components should block for at most 20-30ms.
[17:10:24][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:24][W][component:214]: Component esp32_ble took a long time for an operation (0.20 s).
[17:10:24][W][component:215]: Components should block for at most 20-30ms.
[17:10:29][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:29][W][component:214]: Component esp32_ble took a long time for an operation (0.21 s).
[17:10:29][W][component:215]: Components should block for at most 20-30ms.
[17:10:35][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:35][W][component:214]: Component esp32_ble took a long time for an operation (0.21 s).
[17:10:35][W][component:215]: Components should block for at most 20-30ms.
[17:10:40][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:40][W][component:214]: Component esp32_ble took a long time for an operation (0.21 s).
[17:10:40][W][component:215]: Components should block for at most 20-30ms.
[17:10:45][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:46][W][component:214]: Component esp32_ble took a long time for an operation (0.20 s).
[17:10:46][W][component:215]: Components should block for at most 20-30ms.
[17:10:51][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:51][W][component:214]: Component esp32_ble took a long time for an operation (0.30 s).
[17:10:51][W][component:215]: Components should block for at most 20-30ms.
[17:10:56][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:10:57][W][component:214]: Component esp32_ble took a long time for an operation (0.30 s).
[17:10:57][W][component:215]: Components should block for at most 20-30ms.
[17:11:02][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:02][W][component:214]: Component esp32_ble took a long time for an operation (0.31 s).
[17:11:02][W][component:215]: Components should block for at most 20-30ms.
[17:11:07][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:08][W][component:214]: Component esp32_ble took a long time for an operation (0.31 s).
[17:11:08][W][component:215]: Components should block for at most 20-30ms.
[17:11:13][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:13][W][component:214]: Component esp32_ble took a long time for an operation (0.31 s).
[17:11:13][W][component:215]: Components should block for at most 20-30ms.
[17:11:18][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:19][W][component:214]: Component esp32_ble took a long time for an operation (0.31 s).
[17:11:19][W][component:215]: Components should block for at most 20-30ms.
[17:11:24][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:24][W][component:214]: Component esp32_ble took a long time for an operation (0.30 s).
[17:11:24][W][component:215]: Components should block for at most 20-30ms.
[17:11:29][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:29][W][component:214]: Component esp32_ble took a long time for an operation (0.31 s).
[17:11:29][W][component:215]: Components should block for at most 20-30ms.
[17:11:33][I][jk_bms_ble:891]: Settings frame (300 bytes) received
[17:11:33][I][jk_bms_ble:919]:   Cell UVP: 2.800000 V
[17:11:33][I][jk_bms_ble:923]:   Cell UVPR: 2.999000 V
[17:11:33][I][jk_bms_ble:927]:   Cell OVP: 3.649000 V
[17:11:33][I][jk_bms_ble:931]:   Cell OVPR: 3.449000 V
[17:11:33][I][jk_bms_ble:935]:   Balance trigger voltage: 0.003000 V
[17:11:33][I][jk_bms_ble:943]:   Power off voltage: 2.500000 V
[17:11:33][I][jk_bms_ble:947]:   Max. charge current: 52.000004 A
[17:11:33][I][jk_bms_ble:951]:   Charge OCP delay: 3.000000 s
[17:11:33][I][jk_bms_ble:953]:   Charge OCP recovery delay: 60.000000 s
[17:11:33][I][jk_bms_ble:955]:   Max. discharge current: 52.000004 A
[17:11:33][I][jk_bms_ble:959]:   Discharge OCP recovery delay: 300.000000 s
[17:11:33][I][jk_bms_ble:961]:   Discharge OCP recovery delay: 60.000000 s
[17:11:33][I][jk_bms_ble:963]:   SCP recovery time: 5.000000 s
[17:11:33][I][jk_bms_ble:965]:   Max. balance current: 2.000000 A
[17:11:33][I][jk_bms_ble:969]:   Charge OTP: 70.000000 °C
[17:11:33][I][jk_bms_ble:971]:   Charge OTP recovery: 60.000000 °C
[17:11:33][I][jk_bms_ble:973]:   Discharge OTP: 70.000000 °C
[17:11:33][I][jk_bms_ble:975]:   Discharge OTP recovery: 60.000000 °C
[17:11:33][I][jk_bms_ble:977]:   Charge UTP: 5.000000 °C
[17:11:33][I][jk_bms_ble:979]:   Charge UTP recovery: 10.000000 °C
[17:11:33][I][jk_bms_ble:981]:   MOS OTP: 100.000000 °C
[17:11:33][I][jk_bms_ble:983]:   MOS OTP recovery: 80.000000 °C
[17:11:33][I][jk_bms_ble:985]:   Cell count: 16.000000
[17:11:33][I][jk_bms_ble:989]:   Charge switch: on
[17:11:33][I][jk_bms_ble:993]:   Discharge switch: on
[17:11:33][I][jk_bms_ble:997]:   Balancer switch: on
[17:11:33][I][jk_bms_ble:1001]:   Nominal battery capacity: 2.000000 Ah
[17:11:33][I][jk_bms_ble:1007]:   Start balance voltage: 3.450000 V
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 1: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 2: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 3: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 4: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 5: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 6: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 7: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 8: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 9: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 10: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 11: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 12: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 13: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 14: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 15: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 16: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 17: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 18: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 19: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 20: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 21: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 22: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 23: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1039]:   Con. wire resistance 24: 0.000000 Ohm
[17:11:33][I][jk_bms_ble:1158]: Device info frame (300 bytes) received
[17:11:33][I][jk_bms_ble:1210]:   Vendor ID: JK_PB2A16S15P
[17:11:33][I][jk_bms_ble:1211]:   Hardware version: 14.XA
[17:11:33][I][jk_bms_ble:1212]:   Software version: 14.20
[17:11:33][I][jk_bms_ble:1213]:   Uptime: 108900 s
[17:11:33][I][jk_bms_ble:1214]:   Power on count: 150
[17:11:33][I][jk_bms_ble:1215]:   Device name: JK_PB2A16S15P
[17:11:33][I][jk_bms_ble:1216]:   Device passcode: 1234
[17:11:33][I][jk_bms_ble:1217]:   Manufacturing date: 231118
[17:11:33][I][jk_bms_ble:1218]:   Serial number: 3092572134
[17:11:33][I][jk_bms_ble:1219]:   Passcode: 0000
[17:11:33][I][jk_bms_ble:1220]:   User data: Input Userdata
[17:11:33][I][jk_bms_ble:1221]:   Setup passcode: 123457
[17:11:33][W][component:214]: Component esp32_ble took a long time for an operation (0.40 s).
[17:11:33][W][component:215]: Components should block for at most 20-30ms.
[17:11:34][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:35][W][component:214]: Component esp32_ble took a long time for an operation (0.32 s).
[17:11:35][W][component:215]: Components should block for at most 20-30ms.
[17:11:40][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:40][W][component:214]: Component esp32_ble took a long time for an operation (0.32 s).
[17:11:40][W][component:215]: Components should block for at most 20-30ms.
[17:11:45][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:46][W][component:214]: Component esp32_ble took a long time for an operation (0.32 s).
[17:11:46][W][component:215]: Components should block for at most 20-30ms.
[17:11:51][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:51][W][component:214]: Component esp32_ble took a long time for an operation (0.32 s).
[17:11:51][W][component:215]: Components should block for at most 20-30ms.
[17:11:56][I][jk_bms_ble:467]: Cell info frame (version 3, 300 bytes) received
[17:11:57][W][component:214]: Component esp32_ble took a long time for an operation (0.31 s).
[17:11:57][W][component:215]: Components should block for at most 20-30ms.
(venv) pi@pi386:~/Downloads/esphome-jk-bms$

why only do this [17:10:02][I][jk_bms_ble:210]: Request device info so I don't get all parameters first if i push manually "retrive setting" [17:11:33][I][jk_bms_ble:891]: Settings frame (300 bytes) received all data are there.

in my mind it would be better do both recuests at connet or?

Regards

syssi commented 10 months ago

in my mind it would be better do both requests at connect or?

This is already the case. The first beep on (re-)connect is the request of the device info frame. The second beep (0.5s later) is the request of the settings frame. May be you won't see it at the log because it's pretty early after boot up. You could disable the BLE client connection temporary. As soon you re-enable the connection you should hear the two beeps again and see the settings frame at the log. This is a feature request of a small improvement in case settings gets changed: https://github.com/syssi/esphome-jk-bms/issues/292

testpaul999 commented 10 months ago

one thing more ;-) I can change the parameter like "balance trigger voltage" from the esphome Web-UI and see this at the PC who connected vi RS485 all good. But if I change something at the PC this will never appear at the esphome WEB-UI only by pressing the "retrive settings" the parameter who changesd will shown.

syssi commented 10 months ago

That's correct and would be improved/fixed by: https://github.com/syssi/esphome-jk-bms/issues/292

At the moment the settings are retrieved once (on connect). You expect are periodically update which isn't the case at the moment.

syssi commented 10 months ago

If you extend your YAML a bit you could retrieve the settings periodically if you like:

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

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

Your BMS will beep on every settings update / command.

silviudc commented 10 months ago

@syssi Any luck with finding the temp 3 and temp 4 values, or the float on/off value from the frames above?

testpaul999 commented 10 months ago

@syssi thx for the sugesstion maybe every 12h let's see. :-)

syssi commented 10 months ago

Any luck with finding the temp 3 and temp 4 values, or the float on/off value from the frames above?

I will have a look at the weekend. To implement the float switch a btsnoop capture of the commands is required. I will try to identify the missing temperature measurements.

syssi commented 10 months ago
     0  55.55.55.55.55.55.55.55
     1  AA.AA.AA.AA.AA.AA.AA.AA
     2  EB.EB.EB.EB.EB.EB.EB.EB
     3  90.90.90.90.90.90.90.90
     4  02.02.02.02.02.02.02.02
     5  7F.89.93.9B.2B.37.45.5B
     6  AB.AB.AB.AB.C8.C8.CB.CA
     7  0C.0C.0C.0C.0C.0C.0C.0C
     8  9C.9C.9C.9C.CA.CA.CA.CA
     9  0C.0C.0C.0C.0C.0C.0C.0C
    10  97.97.97.97.CD.CD.CC.CB
    11  0C.0C.0C.0C.0C.0C.0C.0C
    12  9E.9E.9E.9E.CD.CD.C8.CA
    13  0C.0C.0C.0C.0C.0C.0C.0C
    14  A0.A0.A0.9F.CF.CF.C8.CA
    15  0C.0C.0C.0C.0C.0C.0C.0C
    16  9C.9C.9C.9C.D0.D1.CD.CF
    17  0C.0C.0C.0C.0C.0C.0C.0C
    18  9E.9E.9E.9E.D0.D0.CF.D0
    19  0C.0C.0C.0C.0C.0C.0C.0C
    20  9E.9F.9F.9E.CC.CC.CC.CD
    21  0C.0C.0C.0C.0C.0C.0C.0C
    22  96.97.96.96.C7.C7.C6.CC
    23  0C.0C.0C.0C.0C.0C.0C.0C
    24  9E.9E.9E.9E.CB.CB.CB.CD
    25  0C.0C.0C.0C.0C.0C.0C.0C
    26  8D.8D.8D.8C.CB.CB.CC.CC
    27  0C.0C.0C.0C.0C.0C.0C.0C
    28  96.95.96.96.CC.CC.CF.CB
    29  0C.0C.0C.0C.0C.0C.0C.0C
    30  A2.A2.A2.A2.CD.C6.CD.C6
    31  0C.0C.0C.0C.0C.0C.0C.0C
    32  9C.9C.9C.9C.D1.CF.D0.CC
    33  0C.0C.0C.0C.0C.0C.0C.0C
    34  96.96.96.96.D1.D1.D0.D0
    35  0C.0C.0C.0C.0C.0C.0C.0C
    36  A7.A7.A7.A9.CF.CF.CB.CC
    37  0C.0C.0C.0C.0C.0C.0C.0C
    38  00.00.00.00.00.00.00.00
    39  00.00.00.00.00.00.00.00
    40  00.00.00.00.00.00.00.00
    41  00.00.00.00.00.00.00.00
    42  00.00.00.00.00.00.00.00
    43  00.00.00.00.00.00.00.00
    44  00.00.00.00.00.00.00.00
    45  00.00.00.00.00.00.00.00
    46  00.00.00.00.00.00.00.00
    47  00.00.00.00.00.00.00.00
    48  00.00.00.00.00.00.00.00
    49  00.00.00.00.00.00.00.00
    50  00.00.00.00.00.00.00.00
    51  00.00.00.00.00.00.00.00
    52  00.00.00.00.00.00.00.00
    53  00.00.00.00.00.00.00.00
    54  00.00.00.00.00.00.00.00
    55  00.00.00.00.00.00.00.00
    56  00.00.00.00.00.00.00.00
    57  00.00.00.00.00.00.00.00
    58  00.00.00.00.00.00.00.00
    59  00.00.00.00.00.00.00.00
    60  00.00.00.00.00.00.00.00
    61  00.00.00.00.00.00.00.00
    62  00.00.00.00.00.00.00.00
    63  00.00.00.00.00.00.00.00
    64  00.00.00.00.00.00.00.00
    65  00.00.00.00.00.00.00.00
    66  00.00.00.00.00.00.00.00
    67  00.00.00.00.00.00.00.00
    68  00.00.00.00.00.00.00.00
    69  00.00.00.00.00.00.00.00
    70  FF.FF.FF.FF.FF.FF.FF.FF
    71  FF.FF.FF.FF.FF.FF.FF.FF
    72  00.00.00.00.00.00.00.00
    73  00.00.00.00.00.00.00.00
    74  9D.9D.9D.9D.CD.CD.CB.CB
    75  0C.0C.0C.0C.0C.0C.0C.0C
    76  1E.1F.1E.1F.0A.0B.0A.0B
    77  00.00.00.00.00.00.00.00
    78  00.00.00.00.0E.0E.0D.0E
    79  0A.0A.0A.0A.0C.0C.08.08
    80  68.68.68.68.5B.5B.5B.5B
    81  00.00.00.00.00.00.00.00
    82  68.68.68.68.3C.3C.3C.3C
    83  00.00.00.00.00.00.00.00
    84  7A.7A.7A.7A.3E.3E.3E.3E
    85  00.00.00.00.00.00.00.00
    86  73.73.73.73.3B.3B.3B.3B
    87  00.00.00.00.00.00.00.00
    88  72.72.72.72.3F.3F.3F.3F
    89  00.00.00.00.00.00.00.00
    90  85.85.85.85.3C.3C.3C.3C
    91  00.00.00.00.00.00.00.00
    92  70.70.70.70.3F.3F.3F.3F
    93  00.00.00.00.00.00.00.00
    94  67.67.67.67.3C.3C.3C.3C
    95  00.00.00.00.00.00.00.00
    96  82.82.82.82.40.40.40.40
    97  00.00.00.00.00.00.00.00
    98  77.77.77.77.3D.3D.3D.3D
    99  00.00.00.00.00.00.00.00
   100  65.65.65.65.40.40.40.40
   101  00.00.00.00.00.00.00.00
   102  66.66.66.66.3D.3D.3D.3D
   103  00.00.00.00.00.00.00.00
   104  7E.7E.7E.7E.40.40.40.40
   105  00.00.00.00.00.00.00.00
   106  78.78.78.78.3E.3E.3E.3E
   107  00.00.00.00.00.00.00.00
   108  74.74.74.74.40.40.40.40
   109  00.00.00.00.00.00.00.00
   110  9C.9C.9C.9C.3E.3E.3E.3E
   111  00.00.00.00.00.00.00.00
   112  00.00.00.00.00.00.00.00
   113  00.00.00.00.00.00.00.00
   114  00.00.00.00.00.00.00.00
   115  00.00.00.00.00.00.00.00
   116  00.00.00.00.00.00.00.00
   117  00.00.00.00.00.00.00.00
   118  00.00.00.00.00.00.00.00
   119  00.00.00.00.00.00.00.00
   120  00.00.00.00.00.00.00.00
   121  00.00.00.00.00.00.00.00
   122  00.00.00.00.00.00.00.00
   123  00.00.00.00.00.00.00.00
   124  00.00.00.00.00.00.00.00
   125  00.00.00.00.00.00.00.00
   126  00.00.00.00.00.00.00.00
   127  00.00.00.00.00.00.00.00
   128  00.00.00.00.00.00.00.00
   129  00.00.00.00.00.00.00.00
   130  00.00.00.00.00.00.00.00
   131  00.00.00.00.00.00.00.00
   132  00.00.00.00.00.00.00.00
   133  00.00.00.00.00.00.00.00
   134  00.00.00.00.00.00.00.00
   135  00.00.00.00.00.00.00.00
   136  00.00.00.00.00.00.00.00
   137  00.00.00.00.00.00.00.00
   138  00.00.00.00.00.00.00.00
   139  00.00.00.00.00.00.00.00
   140  00.00.00.00.00.00.00.00
   141  00.00.00.00.00.00.00.00
   142  00.00.00.00.00.00.00.00
   143  00.00.00.00.00.00.00.00
   144  AE.AE.AE.AE.7C.7C.7D.7E
   145  00.00.00.00.00.00.00.00
   146  00.00.00.00.00.00.00.00
   147  00.00.00.00.00.00.00.00
   148  00.00.00.00.00.00.00.00
   149  00.00.00.00.00.00.00.00
   150  C8.C8.C8.CA.CD.CF.B5.B5
   151  C9.C9.C9.C9.CC.CC.CC.CC
   152  00.00.00.00.00.00.00.00
   153  00.00.00.00.00.00.00.00
   154  00.00.00.00.38.17.8A.8A
   155  00.00.00.00.DF.94.70.70
   156  00.00.00.00.35.35.36.36
   157  00.00.00.00.00.00.00.00
   158  00.00.00.00.2C.F4.10.10
   159  00.00.00.00.F3.F8.F6.F6
   160  00.00.00.00.FE.FE.FE.FE
   161  00.00.00.00.FF.FF.FF.FF
   162  B1.B2.B2.B2.71.71.71.71 <- temp1
   163  00.00.00.00.00.00.00.00 <-
   164  B2.B2.B1.B2.68.68.68.68 <-- temp2
   165  00.00.00.00.00.00.00.00 <--
   166  00.00.00.00.00.00.00.00
   167  00.00.00.00.00.00.00.00
   168  00.00.00.00.08.08.08.08
   169  00.00.00.00.00.00.00.00
   170  00.00.00.00.00.00.00.00
   171  00.00.00.00.00.00.00.00
   172  00.00.00.00.00.00.00.00
   173  34.34.34.34.51.51.51.51
   174  13.13.13.13.A4.2A.2E.4C
   175  04.04.04.04.75.75.60.5F
   176  00.00.00.00.07.07.07.07
   177  00.00.00.00.00.00.00.00
   178  D0.D0.D0.D0.C0.C0.C0.C0
   179  07.07.07.07.27.27.27.27
   180  00.00.00.00.09.09.09.09
   181  00.00.00.00.00.00.00.00
   182  00.00.00.00.02.02.02.02
   183  00.00.00.00.00.00.00.00
   184  00.00.00.00.00.00.00.00
   185  00.00.00.00.00.00.00.00
   186  00.00.00.00.37.B1.AE.8F
   187  00.00.00.00.6E.6E.83.84
   188  00.00.00.00.17.17.17.17
   189  00.00.00.00.00.00.00.00
   190  64.64.64.64.64.64.64.64
   191  00.00.00.00.00.00.00.00
   192  00.00.00.00.00.00.00.00
   193  00.00.00.00.00.00.00.00
   194  EB.F0.F6.FB.7C.82.A1.AD
   195  A3.A3.A3.A3.0E.0E.0F.0F
   196  01.01.01.01.08.08.08.08
   197  00.00.00.00.00.00.00.00
   198  01.01.01.01.01.01.01.01
   199  01.01.01.01.01.01.01.01
   200  00.00.00.00.00.00.00.00
   201  00.00.00.00.00.00.00.00
   202  00.00.00.00.00.00.00.00
   203  00.00.00.00.00.00.00.00
   204  00.00.00.00.00.00.00.00
   205  00.00.00.00.00.00.00.00
   206  00.00.00.00.00.00.00.00
   207  00.00.00.00.00.00.00.00
   208  00.00.00.00.00.00.00.00
   209  00.00.00.00.00.00.00.00
   210  00.00.00.00.00.00.00.00
   211  00.00.00.00.00.00.00.00
   212  00.00.00.00.00.00.00.00
   213  00.00.00.00.00.00.00.00
   214  FF.FF.FF.FF.FF.FF.FF.FF
   215  00.00.00.00.00.00.00.00
   216  01.01.01.01.01.01.01.01
   217  00.00.00.00.00.00.00.00
   218  00.00.00.00.00.00.00.00
   219  00.00.00.00.00.00.00.00
   220  E2.E2.E2.E2.9D.9D.9D.9D
   221  04.04.04.04.03.03.03.03
   222  00.00.00.00.00.00.00.00
   223  00.00.00.00.00.00.00.00
   224  00.00.00.00.BA.B6.B8.B8
   225  00.00.00.00.00.00.00.00
   226  F6.F6.F6.F6.8E.8E.8E.8E
   227  C7.C7.C7.C7.8A.8A.8A.8A
   228  40.40.40.40.40.40.40.40
   229  40.40.40.40.40.40.40.40
   230  00.00.00.00.00.00.00.00
   231  00.00.00.00.00.00.00.00
   232  00.00.00.00.00.00.00.00
   233  00.00.00.00.00.00.00.00
   234  2D.2D.2D.2D.7A.7B.78.78
   235  14.14.14.14.14.14.14.14
   236  00.00.00.00.00.00.00.00
   237  00.00.00.00.00.00.00.00
   238  00.00.00.00.00.00.00.00
   239  01.01.01.01.01.01.01.01
   240  01.01.01.01.01.01.01.01
   241  01.01.01.01.01.01.01.01
   242  00.00.00.00.00.00.00.00
   243  06.06.06.06.06.06.06.06
   244  00.00.00.00.00.00.00.00
   245  00.00.00.00.00.00.00.00
   246  9A.D0.07.37.62.A4.D7.4F
   247  0F.0F.10.10.88.88.93.94
   248  00.00.00.00.06.06.06.06
   249  00.00.00.00.00.00.00.00
   250  00.00.00.00.00.00.00.00
   251  00.00.00.00.00.00.00.00
   252  00.00.00.00.00.00.00.00
   253  00.00.00.00.00.00.00.00
   254  AE.AE.AE.AE.7C.7C.7D.7E
   255  00.00.00.00.00.00.00.00
   256  B3.B3.B3.B3.71.71.72.72 <--- temp3
   257  00.00.00.00.00.00.00.00 <---
   258  B4.B4.B4.B4.74.74.74.74 <---- temp4
   259  00.00.00.00.00.00.00.00 <----
   260  90.90.90.90.A1.A1.A1.A1
   261  03.03.03.03.03.03.03.03
   262  2D.32.38.3D.77.7D.9C.A8
   263  27.27.27.27.D0.D0.D1.D1
   264  9D.9D.9D.9D.9C.9C.9C.9C
   265  07.07.07.07.07.07.07.07
   266  18.18.18.18.3D.3D.3D.3D
   267  06.06.06.06.00.00.00.00
   268  00.00.00.00.00.00.00.00
   269  00.00.00.00.00.00.00.00
   270  80.80.80.80.80.80.80.80
   271  51.51.51.51.51.51.51.51
   272  01.01.01.01.01.01.01.01
   273  00.00.00.00.00.00.00.00
   274  00.00.00.00.00.00.00.00
   275  00.00.00.00.00.00.00.00
   276  00.00.00.00.00.00.00.00
   277  00.00.00.00.00.00.00.00
   278  00.00.00.00.00.00.00.00
   279  00.00.00.00.00.00.00.00
   280  00.00.00.00.00.00.00.00
   281  00.00.00.00.00.00.00.00
   282  00.00.00.00.00.00.00.00
   283  00.00.00.00.00.00.00.00
   284  00.00.00.00.00.00.00.00
   285  00.00.00.00.00.00.00.00
   286  00.00.00.00.00.00.00.00
   287  FE.FE.FE.FE.FE.FE.FE.FE
   288  FF.FF.FF.FF.FF.FF.FF.FF
   289  7F.7F.7F.7F.7F.7F.7F.7F
   290  DD.DD.DD.DD.DD.DD.DD.DD
   291  2F.2F.2F.2F.2F.2F.2F.2F
   292  01.01.01.01.01.01.01.01
   293  01.01.01.01.01.01.01.01
   294  B0.B0.B0.B0.B0.B0.B0.B0
   295  07.07.07.07.07.07.07.07
   296  00.00.00.00.00.00.00.00
   297  00.00.00.00.00.00.00.00
   298  00.00.00.00.00.00.00.00
   299  45.92.DE.23.59.0C.DA.84
testpaul999 commented 10 months ago

Hello, how I can do this "To implement the float switch a btsnoop capture of the commands is required." Witch LOG-Level I need for?

syssi commented 10 months ago

Do you own a Android device? This is a short summary what needs to be done: https://github.com/syssi/esphome-jk-bms/issues/276#issuecomment-1466304352

As soon you are able to create a btsnoop capture and retrieve it from your Android device you have to spin up the Android app of the BMS and toggle the float switch a few times. The traffic capture will include these commands. If you can provide such an capture I will extract the commands.

testpaul999 commented 10 months ago

hopefully this are what you need btsnoop_hci.log

testpaul999 commented 10 months ago

where i must put in tihs? Can be tested using:

substitutions: external_components_source: github://syssi/esphome-jk-bms@add-new-temperature-sensors

syssi commented 10 months ago

where i must put in tihs? Can be tested using:

Take a look at the top of your current YAML configuration. Please just update this line:

# from
external_components_source: github://syssi/esphome-jk-bms@main

# to
external_components_source: github://syssi/esphome-jk-bms@add-new-temperature-sensors

At the sensor section you have to add the new temperature sensor:

sensor:
....
    temperature_sensor_3:
      name: "${name} temperature sensor 3"
    temperature_sensor_4:
      name: "${name} temperature sensor 4"
syssi commented 10 months ago

hopefully this are what you need btsnoop_hci.log

Wow! You are fast. These are the commands which are part of your btsnoop capture:

aa:55:90:eb:97:00:97:a2:55:53:be:f1:fc:f9:79:6b:52:14:13:f3  # command 0x97 COMMAND_DEVICE_INFO
aa:55:90:eb:96:00:e9:e2:2d:51:8e:1f:56:08:57:27:a7:05:d4:62  # command 0x96 COMMAND_CELL_INFO
aa:55:90:eb:96:00:d0:52:82:77:75:1b:99:4a:ed:58:3d:6a:52:dc  # command 0x96 COMMAND_CELL_INFO
aa:55:90:eb:30:04:00:00:00:00:36:d5:24:4a:68:8e:ad:95:5f:be  # command 0x30 Update register 0x30 to 0x00 (off)
aa:55:90:eb:30:04:01:00:00:00:3c:35:b5:c4:8c:dd:6c:11:32:b1  # command 0x30 Update register 0x30 to 0x01 (on)
aa:55:90:eb:30:04:00:00:00:00:3d:e2:b4:b4:59:cf:ce:23:3d:8b  # command 0x30 Update register 0x30 to 0x00 (off)

It looks like register 0x30 is the float switch register address. I will prepare a switch entity tomorrow.

syssi commented 10 months ago

Could you provide a screenshot of the float switch at the Android app? Could you explain the purpose of the float switch? I would like to understand the meaning and would like to know float switch is a good name or not. ;-)

testpaul999 commented 10 months ago

image The float switch will enable a lower voltage after absorption Here the RFV(V) image After a config amount of time image RCV Time (h) is the absorbtion time ( for top balancing the cells) RFV Time (h) is the float time

testpaul999 commented 10 months ago

if you need more detail about the new jk bms take a look at this https://www.youtube.com/watch?v=qqSEPzbL_i8 very funny german guy donw under ;-)

testpaul999 commented 10 months ago

:-) sensor: .... temperature_sensor_3: name: "${name} temperature sensor 3" temperature_sensor_4: name: "${name} temperature sensor 4"

the new temp sensors will shown but:

temp1 and temp2 are changed and the same for temp3 and temp4 are changed