dbus-serialbattery: Wrong SOC Charge Limitation
Describe the bug
Battery SOC = 98.0 % but CCL=35A (Charge Limitation SoC); CCL of 15A is expected.
How to reproduce
nothing special
Expected behavior
CCL of 15A
Driver version
1.0.20240102beta
Venus OS device type
Raspberry Pi 3
Venus OS version
v3.20~35
BMS type
Seplos
Cell count
16
Connection type
Serial USB adapter to RS485
Config file
MAX_BATTERY_CHARGE_CURRENT = 100.0
MAX_BATTERY_DISCHARGE_CURRENT = 100.0
MIN_CELL_VOLTAGE = 2.900
MAX_CELL_VOLTAGE = 3.450
FLOAT_CELL_VOLTAGE = 3.375
CVL_ICONTROLLER_MODE = True
LINEAR_LIMITATION_ENABLE = True
CVCM_ENABLE = True
BMS_TYPE = Seplos
EXCLUDED_DEVICES = /dev/ttyUSB0
CC_SOC_LIMIT1 = 98
CC_SOC_LIMIT2 = 95
CC_SOC_LIMIT3 = 91
CC_CURRENT_LIMIT1_FRACTION = 0.15
CC_CURRENT_LIMIT2_FRACTION = 0.35
CC_CURRENT_LIMIT3_FRACTION = 0.50
Relevant log output
2024-01-04 11:50:40.244993500 INFO:SerialBattery:
2024-01-04 11:50:40.245810500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-04 11:50:40.247946500 INFO:SerialBattery:dbus-serialbattery v1.0.20240102beta
2024-01-04 11:50:56.260849500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2024-01-04 11:50:56.261732500 INFO:SerialBattery:Testing Seplos
2024-01-04 11:50:56.306998500 ERROR:SerialBattery:Unexpected err=SerialException('read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)'), type(err)=<class 'serial.serialutil.SerialException'>
2024-01-04 11:50:56.307846500 ERROR:SerialBattery:>>> ERROR: No reply - returning
2024-01-04 11:50:56.809798500 INFO:SerialBattery:-- Testing BMS: 2 of 3 rounds
2024-01-04 11:50:56.810703500 INFO:SerialBattery:Testing Seplos
2024-01-04 11:50:56.848911500 ERROR:SerialBattery:Unexpected err=SerialException('read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)'), type(err)=<class 'serial.serialutil.SerialException'>
2024-01-04 11:50:56.850198500 ERROR:SerialBattery:>>> ERROR: No reply - returning
2024-01-04 11:50:57.352454500 INFO:SerialBattery:-- Testing BMS: 3 of 3 rounds
2024-01-04 11:50:57.353297500 INFO:SerialBattery:Testing Seplos
2024-01-04 11:50:58.477716500 INFO:SerialBattery:Connection established to Seplos
2024-01-04 11:50:58.478469500 INFO:SerialBattery:Battery Seplos connected to dbus from /dev/ttyUSB1
2024-01-04 11:50:58.479179500 INFO:SerialBattery:========== Settings ==========
2024-01-04 11:50:58.480003500 INFO:SerialBattery:> Connection voltage: 54.96V | Current: 0.0A | SoC: None%
2024-01-04 11:50:58.480798500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-04 11:50:58.481500500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-04 11:50:58.482127500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0A | MAX BATTERY DISCHARGE CURRENT: 100.0A
2024-01-04 11:50:58.482801500 INFO:SerialBattery:> CVCM: True
2024-01-04 11:50:58.483419500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.9V | MAX CELL VOLTAGE: 3.45V
2024-01-04 11:50:58.484092500 INFO:SerialBattery:> CCCM CV: True | DCCM CV: True
2024-01-04 11:50:58.484683500 INFO:SerialBattery:> CCCM T: True | DCCM T: True
2024-01-04 11:50:58.485346500 INFO:SerialBattery:> CCCM SOC: True | DCCM SOC: True
2024-01-04 11:50:58.486061500 INFO:SerialBattery:Serial Number/Unique Identifier: SeplosBMS16cells_280.0Ah
2024-01-04 11:50:59.065995500 INFO:SerialBattery:Found existing battery with DeviceInstance = 1
2024-01-04 11:50:59.405520500 INFO:SerialBattery:DeviceInstance = 1
2024-01-04 11:50:59.406302500 INFO:SerialBattery:Used device instances: ['1']
2024-01-04 11:50:59.407181500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB1
2024-01-04 11:50:59.455917500 INFO:SerialBattery:publish config values = True
2024-01-04 11:51:06.099182500 Traceback (most recent call last):
2024-01-04 11:51:06.099193500 File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 626, in publish_battery
2024-01-04 11:51:06.099200500 result = self.battery.refresh_data()
2024-01-04 11:51:06.099203500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 117, in refresh_data
2024-01-04 11:51:06.099209500 result_status = self.read_status_data()
2024-01-04 11:51:06.099213500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 199, in read_status_data
2024-01-04 11:51:06.099410500 data = self.read_serial_data_seplos(
2024-01-04 11:51:06.099415500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 302, in read_serial_data_seplos
2024-01-04 11:51:06.099421500 if not Seplos.is_valid_frame(data):
2024-01-04 11:51:06.099425500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 276, in is_valid_frame
2024-01-04 11:51:06.099431500 if chksum != Seplos.int_from_2byte_hex_ascii(data, -5):
2024-01-04 11:51:06.099479500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 32, in int_from_2byte_hex_ascii
2024-01-04 11:51:06.099486500 bytes.fromhex(data[offset : offset + 4].decode("ascii")),
2024-01-04 11:51:06.099491500 UnicodeDecodeError: 'ascii' codec can't decode byte 0xa7 in position 1: ordinal not in range(128)
2024-01-04 11:51:06.099497500 Setted setting /Settings/Devices/serialbattery_SeplosBMS16cells_280_0Ah/LastSeen to 1704369059
2024-01-04 11:51:08.408147500 INFO:SerialBattery:
2024-01-04 11:51:08.408966500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-04 11:51:08.410663500 INFO:SerialBattery:dbus-serialbattery v1.0.20240102beta
2024-01-04 11:51:24.421150500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2024-01-04 11:51:24.422139500 INFO:SerialBattery:Testing Seplos
2024-01-04 11:51:25.549821500 INFO:SerialBattery:Connection established to Seplos
2024-01-04 11:51:25.550738500 INFO:SerialBattery:Battery Seplos connected to dbus from /dev/ttyUSB1
2024-01-04 11:51:25.551423500 INFO:SerialBattery:========== Settings ==========
2024-01-04 11:51:25.552141500 INFO:SerialBattery:> Connection voltage: 54.94V | Current: 0.0A | SoC: None%
2024-01-04 11:51:25.552941500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-04 11:51:25.553567500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-04 11:51:25.554343500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0A | MAX BATTERY DISCHARGE CURRENT: 100.0A
2024-01-04 11:51:25.554987500 INFO:SerialBattery:> CVCM: True
2024-01-04 11:51:25.555710500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.9V | MAX CELL VOLTAGE: 3.45V
2024-01-04 11:51:25.556401500 INFO:SerialBattery:> CCCM CV: True | DCCM CV: True
2024-01-04 11:51:25.557056500 INFO:SerialBattery:> CCCM T: True | DCCM T: True
2024-01-04 11:51:25.558954500 INFO:SerialBattery:> CCCM SOC: True | DCCM SOC: True
2024-01-04 11:51:25.560073500 INFO:SerialBattery:Serial Number/Unique Identifier: SeplosBMS16cells_280.0Ah
2024-01-04 11:51:26.021156500 INFO:SerialBattery:Found existing battery with DeviceInstance = 1
2024-01-04 11:51:26.274935500 INFO:SerialBattery:DeviceInstance = 1
2024-01-04 11:51:26.275704500 INFO:SerialBattery:Used device instances: ['1']
2024-01-04 11:51:26.276404500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB1
2024-01-04 11:51:26.311663500 INFO:SerialBattery:publish config values = True
2024-01-04 11:51:31.393721500 Traceback (most recent call last):
2024-01-04 11:51:31.393731500 File "/usr/lib/python3.8/site-packages/serial/serialposix.py", line 500, in read
2024-01-04 11:51:31.393737500 raise SerialException(
2024-01-04 11:51:31.393740500 serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2024-01-04 11:51:31.393748500
2024-01-04 11:51:31.393749500 During handling of the above exception, another exception occurred:
2024-01-04 11:51:31.393757500
2024-01-04 11:51:31.393943500 Traceback (most recent call last):
2024-01-04 11:51:31.393947500 File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 626, in publish_battery
2024-01-04 11:51:31.393953500 result = self.battery.refresh_data()
2024-01-04 11:51:31.393957500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 117, in refresh_data
2024-01-04 11:51:31.393963500 result_status = self.read_status_data()
2024-01-04 11:51:31.393966500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 199, in read_status_data
2024-01-04 11:51:31.394020500 data = self.read_serial_data_seplos(
2024-01-04 11:51:31.394025500 File "/opt/victronenergy/dbus-serialbattery/bms/seplos.py", line 300, in read_serial_data_seplos
2024-01-04 11:51:31.394031500 data = ser.readline()
2024-01-04 11:51:31.394034500 File "/usr/lib/python3.8/site-packages/serial/serialposix.py", line 509, in read
2024-01-04 11:51:31.394040500 raise SerialException('read failed: {}'.format(e))
2024-01-04 11:51:31.394123500 serial.serialutil.SerialException: read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2024-01-04 11:51:31.394135500 Setted setting /Settings/Devices/serialbattery_SeplosBMS16cells_280_0Ah/LastSeen to 1704369086
2024-01-04 11:51:49.350347500 INFO:SerialBattery:
2024-01-04 11:51:49.351066500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-04 11:51:49.352587500 INFO:SerialBattery:dbus-serialbattery v1.0.20240102beta
2024-01-04 11:52:05.364040500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2024-01-04 11:52:05.365059500 INFO:SerialBattery:Testing Seplos
2024-01-04 11:52:06.492455500 INFO:SerialBattery:Connection established to Seplos
2024-01-04 11:52:06.493148500 INFO:SerialBattery:Battery Seplos connected to dbus from /dev/ttyUSB1
2024-01-04 11:52:06.493853500 INFO:SerialBattery:========== Settings ==========
2024-01-04 11:52:06.494517500 INFO:SerialBattery:> Connection voltage: 54.89V | Current: 0.54A | SoC: None%
2024-01-04 11:52:06.495200500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-04 11:52:06.495794500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-04 11:52:06.496553500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0A | MAX BATTERY DISCHARGE CURRENT: 100.0A
2024-01-04 11:52:06.497154500 INFO:SerialBattery:> CVCM: True
2024-01-04 11:52:06.497829500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.9V | MAX CELL VOLTAGE: 3.45V
2024-01-04 11:52:06.498439500 INFO:SerialBattery:> CCCM CV: True | DCCM CV: True
2024-01-04 11:52:06.499182500 INFO:SerialBattery:> CCCM T: True | DCCM T: True
2024-01-04 11:52:06.500033500 INFO:SerialBattery:> CCCM SOC: True | DCCM SOC: True
2024-01-04 11:52:06.500819500 INFO:SerialBattery:Serial Number/Unique Identifier: SeplosBMS16cells_280.0Ah
2024-01-04 11:52:06.981223500 INFO:SerialBattery:Found existing battery with DeviceInstance = 1
2024-01-04 11:52:07.238327500 INFO:SerialBattery:DeviceInstance = 1
2024-01-04 11:52:07.239097500 INFO:SerialBattery:Used device instances: ['1']
2024-01-04 11:52:07.240032500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB1
2024-01-04 11:52:07.279239500 INFO:SerialBattery:publish config values = True
Any other information that may be helpful
2024-01-04 11:52:06.494517500 INFO:SerialBattery:> Connection voltage: 54.89V | Current: 0.54A | SoC: None%
SoC: None% could be a hint, but in venusOS the correct SOC is displayed without problems.
About this issue
- Original URL
- State: closed
- Created 6 months ago
- Comments: 31
Problem is solved for me now! đŸ˜‰ Thxs!
thxs! I will check the CCL with your latest beta after we get some sunshine…
Unfortunately not. I have to wait for days with more sun and try to reproduce the issue.
You only have to be patient that we can check this. It will take some time.