Skip to content

v2.0.20250729: No response from battery with JK_B2A20S20P #309

@SenH

Description

@SenH

Describe the bug

I tried to upgrade today from v1.6.20250131 to v2.0.20250729.
Version 2.0 is able to connect to the BMS but does not seem to able to communicate?
There is also Python non-blocking exception logged. I downgraded to v1.6.20250131 and all is fine again.

Although I have BLOCK_ON_DISCONNECT = True in my config.ini the v2 driver kept charging/discharging without communication. Is this correct behaviour? According to the documentation in config.ini it should only do that with BLOCK_ON_DISCONNECT = False

log v2.0.20250729

2025-08-31 14:36:54.955457500 INFO:SerialBattery:Starting dbus-serialbattery
2025-08-31 14:36:54.959189500 INFO:SerialBattery:Venus OS v3.54 (normal) running on Cerbo-S GX
2025-08-31 14:36:54.959870500 INFO:SerialBattery:dbus-serialbattery v2.0.20250729
2025-08-31 14:37:10.969321500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2025-08-31 14:37:10.970088500 INFO:SerialBattery:  Testing Jkbms with 115200 baud
2025-08-31 14:37:11.046581500 INFO:SerialBattery:-- Connection established to Jkbms
2025-08-31 14:37:11.858741500 INFO:SerialBattery:Reconnected to previously identified battery with DeviceInstance: 1
2025-08-31 14:37:11.924739500 ERROR:root:Failed to add setting /Settings/Devices/serialbattery_JK_B2A20S20P/SocCalc, error -5
2025-08-31 14:37:11.926139500 INFO:SerialBattery:Use DeviceInstance: 1
2025-08-31 14:37:11.928160500 INFO:SerialBattery:Use dbus ServiceName: com.victronenergy.battery.ttyUSB0
2025-08-31 14:37:11.990810500 INFO:SerialBattery:Polling interval: 1.000 s
2025-08-31 14:37:11.993775500 INFO:SerialBattery:Battery JKBMS connected to dbus from /dev/ttyUSB0
2025-08-31 14:37:11.995256500 INFO:SerialBattery:========== Settings ==========
2025-08-31 14:37:11.995260500 INFO:SerialBattery:> Connection voltage: 53.22 V | Current: 4.93 A | SoC: 58% | SoC calc: 42%
2025-08-31 14:37:11.995717500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
2025-08-31 14:37:11.996512500 INFO:SerialBattery:> CHARGE MODE: Linear
2025-08-31 14:37:12.029417500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.900 V | MAX CELL VOLTAGE: 3.450 V| FLOAT CELL VOLTAGE: 3.375 V
2025-08-31 14:37:12.032793500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0 A | MAX BATTERY DISCHARGE CURRENT: 70.0 A
2025-08-31 14:37:12.032803500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 120.0 A | MAX BATTERY DISCHARGE CURRENT: 120.0 A (read from BMS)
2025-08-31 14:37:12.032809500 INFO:SerialBattery:> CVCM:       True
2025-08-31 14:37:12.033695500 INFO:SerialBattery:> CCCM CV:    True  | DCCM CV:       True
2025-08-31 14:37:12.035618500 INFO:SerialBattery:> CCCM T:     True  | DCCM T:        True
2025-08-31 14:37:12.035870500 INFO:SerialBattery:> CCCM T MOS: True  | DCCM T MOS:    True
2025-08-31 14:37:12.051676500 INFO:SerialBattery:> CCCM SOC:   False | DCCM SOC:      False
2025-08-31 14:37:12.054061500 INFO:SerialBattery:> CHARGE FET: True  | DISCHARGE FET: True | BALANCE FET: True
2025-08-31 14:37:12.056357500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A20S20P
2025-08-31 14:37:13.017058500 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x0cfe, Got 0x0749
2025-08-31 14:37:13.322564500 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /data/apps/dbus-serialbattery/dbushelper.py line #1082
2025-08-31 14:37:38.982516500 ERROR:SerialBattery:>>> No response from battery. Connection lost or battery not recognized. Check cabeling! [len:274/781]
2025-08-31 14:37:38.983793500 ERROR:SerialBattery:>>> ERROR: Battery does not respond, init/reset values <<<
2025-08-31 14:37:38.986578500 ERROR:SerialBattery:    |- Cell voltages are in a safe threshold to proceed with charging/discharging without communication to the battery.
2025-08-31 14:37:38.986589500 ERROR:SerialBattery:    |- Min cell voltage: 3.324 > Min Threshold: 3.250 --> OK
2025-08-31 14:37:38.987091500 ERROR:SerialBattery:    |- Max cell voltage: 3.329 < Max threshold: 3.350 --> OK
2025-08-31 14:37:38.987828500 ERROR:SerialBattery:    |- Trying further for 1200 s, then restart the driver
2025-08-31 14:37:56.046093500 ERROR:SerialBattery:>>> No response from battery. Connection lost or battery not recognized. Check cabeling! [len:32/14915]
2025-08-31 14:37:56.050104500 ERROR:SerialBattery:>>> ERROR: Battery does not respond, init/reset values <<<
2025-08-31 14:37:56.051198500 ERROR:SerialBattery:    |- Cell voltages are in a safe threshold to proceed with charging/discharging without communication to the battery.
2025-08-31 14:37:56.052223500 ERROR:SerialBattery:    |- Min cell voltage: 3.325 > Min Threshold: 3.250 --> OK
2025-08-31 14:37:56.053176500 ERROR:SerialBattery:    |- Max cell voltage: 3.330 < Max threshold: 3.350 --> OK
2025-08-31 14:37:56.053835500 ERROR:SerialBattery:    |- Trying further for 1200 s, then restart the driver

log v1.6.20250123 (after downgrade)

2025-08-31 15:15:29.355206500 INFO:SerialBattery:
2025-08-31 15:15:29.355849500 INFO:SerialBattery:Starting dbus-serialbattery
2025-08-31 15:15:29.358610500 INFO:SerialBattery:Venus OS v3.54 running on Cerbo-S GX
2025-08-31 15:15:29.359512500 INFO:SerialBattery:dbus-serialbattery v1.6.20250131
2025-08-31 15:15:45.374759500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2025-08-31 15:15:45.375460500 INFO:SerialBattery:Testing Jkbms
2025-08-31 15:15:45.449407500 INFO:SerialBattery:-- Connection established to Jkbms
2025-08-31 15:15:46.140509500 INFO:SerialBattery:Reconnected to previously identified battery with DeviceInstance: 1
2025-08-31 15:15:46.444469500 INFO:SerialBattery:Use DeviceInstance: 1
2025-08-31 15:15:46.446227500 INFO:SerialBattery:Use dbus ServiceName: com.victronenergy.battery.ttyUSB0
2025-08-31 15:15:46.484449500 INFO:SerialBattery:Polling interval: 1.000 s
2025-08-31 15:15:46.486778500 INFO:SerialBattery:Battery JKBMS connected to dbus from /dev/ttyUSB0
2025-08-31 15:15:46.486787500 INFO:SerialBattery:========== Settings ==========
2025-08-31 15:15:46.487930500 INFO:SerialBattery:> Connection voltage: 53.12 V | Current: -0.0 A | SoC: 60% | SoC calc: 44%
2025-08-31 15:15:46.493104500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
2025-08-31 15:15:46.493268500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2025-08-31 15:15:46.494434500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.900 V | MAX CELL VOLTAGE: 3.450 V| FLOAT CELL VOLTAGE: 3.375 V
2025-08-31 15:15:46.505915500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0 A | MAX BATTERY DISCHARGE CURRENT: 70.0 A
2025-08-31 15:15:46.505924500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 120.0 A | MAX BATTERY DISCHARGE CURRENT: 120.0 A (read from BMS)
2025-08-31 15:15:46.506897500 INFO:SerialBattery:> CVCM:     True
2025-08-31 15:15:46.508194500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2025-08-31 15:15:46.508666500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2025-08-31 15:15:46.509499500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: False
2025-08-31 15:15:46.510362500 INFO:SerialBattery:> CHARGE FET: True | DISCHARGE FET: True | BALANCE FET: True
2025-08-31 15:15:46.530298500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A20S20P

How to reproduce

See above

Expected behavior

v2.0.20250729 should succeed in communicating.

Installation method

⚠️ Choose your option ⚠️

Driver version of the currently installed driver

v2.0.20250729

Driver version of the last known working driver

v1.6.20250131

Venus OS device type

Cerbo GX

Venus OS version

v3.54

Venus OS image type

Normal

BMS type

JKBMS (Heltec BMS)

Cell count

16

Battery count

1

Connection type

Serial USB adapter to TTL

USB hub

No, the Serial USB adapter is connected directly to the Venus OS device

Config file

[DEFAULT]

; Set charge/discharge current to 70A (*51,2V = 3584W) = 0,3C @ LF230
MAX_BATTERY_CHARGE_CURRENT    = 70.0
MAX_BATTERY_DISCHARGE_CURRENT = 70.0

CVL_CONTROLLER_MODE = 2

; Copy value from "Balance Trig. Volt" in JK BMS app
SWITCH_TO_FLOAT_CELL_VOLTAGE_DIFF = 0.010
; Extend absorption phase for balancing cells
SWITCH_TO_FLOAT_WAIT_FOR_SEC = 1800

; JK BMS shunt can not measure baseline load (Cerbo = 0.1A)
SOC_CALCULATION = True
CURRENT_REPORTED_BY_BMS  = -300, -0.1,    0, 0.1, 300
CURRENT_MEASURED_BY_USER = -300, -0.1, -0.1, 0.1, 300

; Keep charge Current fraction at 1.00 @ 15°C
TEMPERATURES_WHILE_CHARGING      =    0,    2,    5,   10,   15,   20,   35,   40,   55
MAX_CHARGE_CURRENT_T_FRACTION    = 0.00, 0.10, 0.20, 0.40, 1.00, 1.00, 1.00, 0.40, 0.00

TEMPERATURE_1_NAME = T1 C5
TEMPERATURE_2_NAME = T2 C13

BMS_TYPE = Jkbms
BLOCK_ON_DISCONNECT = True

Relevant log output

See above

Any other information that may be helpful

No response

Please confirm that you have completed the following steps before submitting your support request

  • I have carefully read all the instructions above including the descriptions.
  • I have tried the nightly build first, if I was not already using it. This means the logs I provide are from the nightly build.
  • I have rebooted at least once after I saw the issue.
  • I have read the complete changelog.
  • I have provided the logfiles in the correct format with a HUMAN READABLE timestamp by piping it through tai64nlocal.
  • I have clicked all checkboxes because I did not read the instructions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    supportSupport request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions