Louisvdw / dbus-serialbattery

Battery Monitor driver for serial battery in VenusOS GX systems
MIT License
531 stars 164 forks source link

JKBMS B2A24S15P & v1.0.20230531 Never switches to FLOAT #927

Closed BipedalPrimate closed 8 months ago

BipedalPrimate commented 8 months ago

Describe the problem

As I understand it, the following parameters in config.ini determine when to switch to Float:

MAX_CELL_VOLTAGE = 3.450 FLOAT_CELL_VOLTAGE = 3.350 CVCM_ENABLE = False (Started with this set to True but never achieved 55.2v because of initially unbalanced pack - now balanced) CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL = 0.010 CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT = 0.160 MAX_VOLTAGE_TIME_SEC = 600 (note that I have tried setting this to 1 sec) SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90

It appears that all of these conditions have been met on a number of occasions yet Float is never achieved.

Am I missing something? If so, what?

297925298-38103bd6-f582-4ef9-b8f3-e80ba28855fb 297924848-0f16ca52-e602-485a-a850-e5c9ab970276 297922638-4d8df7bd-4fed-4d81-b409-600d059976e6 297924951-60c6572c-32f6-4a28-8346-d8296435121d 297924997-d178b502-e185-4e34-acd6-c3327a9b25b9 297925012-b385b219-39f8-46e8-9e34-255c313b5452

Driver version

v1.0.20230531

Venus OS device type

Raspberry Pi

Venus OS version

v3.13

BMS type

JKBMS / Heltec BMS

Cell count

16

Battery count

1

Connection type

Serial USB adapter to TTL

Config file

[DEFAULT]

; --------- Battery Current limits ---------
; MAX_BATTERY_CHARGE_CURRENT    = 50.0
; MAX_BATTERY_DISCHARGE_CURRENT = 60.0

MAX_BATTERY_CHARGE_CURRENT    = 70.0
MAX_BATTERY_DISCHARGE_CURRENT = 125.0

; --------- Cell Voltages ---------
; Description: Cell min/max voltages which are used to calculate the min/max battery voltage
; Example: 16 cells * 3.45V/cell = 55.2V max charge voltage. 16 cells * 2.90V = 46.4V min discharge voltage
; MIN_CELL_VOLTAGE   = 2.900
MIN_CELL_VOLTAGE   = 3.150

; Max voltage can seen as absorption voltage

MAX_CELL_VOLTAGE   = 3.450

; FLOAT_CELL_VOLTAGE = 3.375
FLOAT_CELL_VOLTAGE = 3.350

; --------- Bluetooth BMS ---------
; Description: List the Bluetooth BMS here that you want to install
; -- Available Bluetooth BMS:
; Jkbms_Ble, LltJbd_Ble
; Example:
;     1 BMS: Jkbms_Ble C8:47:8C:00:00:00
;     3 BMS: Jkbms_Ble C8:47:8C:00:00:00, Jkbms_Ble C8:47:8C:00:00:11, Jkbms_Ble C8:47:8C:00:00:22
BLUETOOTH_BMS =

; --------- BMS disconnect behaviour ---------
; Description: Block charge and discharge when the communication to the BMS is lost. If you are removing the
;              BMS on purpose, then you have to restart the driver/system to reset the block.
; False: Charge and discharge is not blocked on BMS communication loss
; True: Charge and discharge is blocked on BMS communication loss, it's unblocked when connection is established
;       again or the driver/system is restarted
; BLOCK_ON_DISCONNECT = False
BLOCK_ON_DISCONNECT = True

; --------- Charge mode ---------
; Choose the mode for voltage / current limitations (True / False)
; False is a step mode: This is the default with limitations on hard boundary steps
; True is a linear mode:
;     For CCL and DCL the values between the steps are calculated for smoother values (by WaldemarFech)
;     For CVL max battery voltage is calculated dynamically in order that the max cell voltage is not exceeded
LINEAR_LIMITATION_ENABLE = True

; Specify in seconds how often the linear values should be recalculated
; LINEAR_RECALCULATION_EVERY = 60
LINEAR_RECALCULATION_EVERY = 30

; Specify in percent when the linear values should be recalculated immediately
; Example: 5 for a immediate change, when the value changes by more than 5%
LINEAR_RECALCULATION_ON_PERC_CHANGE = 5

; --------- Charge Voltage limitation (affecting CVL) ---------
; Description: Limit max charging voltage (MAX_CELL_VOLTAGE * cell count), switch from max voltage to float
;              voltage (FLOAT_CELL_VOLTAGE * cell count) and back
;     False: Max charging voltage is always kept
;     True: Max charging voltage is reduced based on charge mode
;         Step mode: After max voltage is reached for MAX_VOLTAGE_TIME_SEC it switches to float voltage. After
;                    oC is below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT it switches back to max voltage.
;         Linear mode: After max voltage is reachend and cell voltage difference is smaller or equal to
;                      CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL it switches to float voltage after 300 (fixed)
;                      additional seconds.
;                      After cell voltage difference s greater or equal to CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT
;                      OR
;                      SoC is below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT
;                      it switches back to max voltage.
; Example: The battery reached max voltage of 55.2V and hold it for 900 seconds, the the CVL is switched to
;          float voltage of 53.6V to don't stress the batteries. Allow max voltage of 55.2V again, if SoC is
;          once below 90%
;          OR
;          The battery reached max voltage of 55.2V and the max cell difference is 0.010V, then switch to float
;          voltage of 53.6V after 300 additional seconds to don't stress the batteries. Allow max voltage of
;          55.2V again if max cell difference is above 0.080V or SoC below 90%.
; Charge voltage control management enable (True/False).
; CVCM_ENABLE = True Changed temporarily to force 55.2v
CVCM_ENABLE = False

; -- CVL reset based on cell voltage diff (linear mode)
; Specify cell voltage diff where CVL limit is kept until diff is equal or lower
CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL = 0.010
; Specify cell voltage diff where CVL limit is reset to max voltage, if value get above
; the cells are considered as imbalanced, if the cell diff exceeds 5% of the nominal cell voltage
; e.g. 3.2 V * 5 / 100 = 0.160 V
CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT = 0.160

; -- CVL reset based on SoC option (step mode)
; Specify how long the max voltage should be kept, if reached then switch to float voltage
; MAX_VOLTAGE_TIME_SEC = 900   Temporarily changed to force Float
MAX_VOLTAGE_TIME_SEC = 600
; Specify SoC where CVL limit is reset to max voltage, if value gets below
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90

; --------- Cell Voltage Current limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be in-/decreased depending on min and max cell voltages
; Example: 18 cells * 3.55V/cell = 63.9V max charge voltage
;          18 cells * 2.70V/cell = 48.6V min discharge voltage
;          But in reality not all cells reach the same voltage at the same time. The (dis)charge current
;          will be (in-/)decreased, if even ONE SINGLE BATTERY CELL reaches the limits

; Charge current control management referring to cell-voltage enable (True/False).
CCCM_CV_ENABLE = True
; Discharge current control management referring to cell-voltage enable (True/False).
DCCM_CV_ENABLE = True

; Set steps to reduce battery current
; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True
; CELL_VOLTAGES_WHILE_CHARGING   = 3.55, 3.50, 3.45, 3.30
; MAX_CHARGE_CURRENT_CV_FRACTION =    0, 0.05,  0.5,    1

CELL_VOLTAGES_WHILE_CHARGING   = 3.55, 3.50, 3.45, 3.43
MAX_CHARGE_CURRENT_CV_FRACTION =    0, 0.50,  1.0,    1

; CELL_VOLTAGES_WHILE_DISCHARGING   = 2.70, 2.80, 2.90, 3.10
; MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,  0.1,  0.5,    1

CELL_VOLTAGES_WHILE_DISCHARGING   = 2.90, 3.10, 3.15, 3.20
MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,    0,  0.2,    1

; --------- Temperature limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be in-/decreased depending on temperature
; Example: The temperature limit will be monitored to control the currents. If there are two temperature senors,
;          then the worst case will be calculated and the more secure lower current will be set.
; Charge current control management referring to temperature enable (True/False).
CCCM_T_ENABLE = True
; Charge current control management referring to temperature enable (True/False).
DCCM_T_ENABLE = True

; Set steps to reduce battery current
; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True
; TEMPERATURE_LIMITS_WHILE_CHARGING = 0,   2,   5,  10,  15, 20, 35,  40, 55
; MAX_CHARGE_CURRENT_T_FRACTION     = 0, 0.1, 0.2, 0.4, 0.8,  1,  1, 0.4,  0

TEMPERATURE_LIMITS_WHILE_CHARGING = 0,   2,   5,  10,  15,  20, 23, 35,  40, 45
MAX_CHARGE_CURRENT_T_FRACTION     = 0,   0,   0,   0, 0.4,   1,  1,  1, 0.4,  0

; TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20,   0,   5,  10, 15, 45, 55
; MAX_DISCHARGE_CURRENT_T_FRACTION     =   0, 0.2, 0.3, 0.4,  1,  1,  0

TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20,   0,   5,  10, 20, 23, 35,  40, 45, 55
MAX_DISCHARGE_CURRENT_T_FRACTION     =   0,   0,   0,   0,  1,  1,  1, 0.5,  0,  0

; --------- SOC limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be increased / decreased depending on State of Charge,
;              see CC_SOC_LIMIT1 etc.
; Example: The SoC limit will be monitored to control the currents.
; Charge current control management enable (True/False).

; CCCM_SOC_ENABLE = True  Temporarily changed to force Float
CCCM_SOC_ENABLE = False

; Discharge current control management enable (True/False).
DCCM_SOC_ENABLE = True

; Charge current soc limits
; CC_SOC_LIMIT1 = 98
; CC_SOC_LIMIT2 = 95
; CC_SOC_LIMIT3 = 91

CC_SOC_LIMIT1 = 99
CC_SOC_LIMIT2 = 97
CC_SOC_LIMIT3 = 95

; Charge current limits
CC_CURRENT_LIMIT1_FRACTION = 0.1
CC_CURRENT_LIMIT2_FRACTION = 0.3
CC_CURRENT_LIMIT3_FRACTION = 0.5

; Discharge current soc limits
DC_SOC_LIMIT1 = 10
DC_SOC_LIMIT2 = 20
DC_SOC_LIMIT3 = 30

; Discharge current limits
; DC_CURRENT_LIMIT1_FRACTION = 0.1
; DC_CURRENT_LIMIT2_FRACTION = 0.3
; DC_CURRENT_LIMIT3_FRACTION = 0.5

DC_CURRENT_LIMIT1_FRACTION = 0
DC_CURRENT_LIMIT2_FRACTION = 0.5
DC_CURRENT_LIMIT3_FRACTION = 1

; --------- Time-To-Go ---------
; Description: Calculates the time to go shown in the GUI
;              Recalculation is done based on TIME_TO_SOC_RECALCULATE_EVERY
TIME_TO_GO_ENABLE = True

; --------- Time-To-Soc ---------
; Description: Calculates the time to a specific SoC
; Example: TIME_TO_SOC_POINTS = 50, 25, 15, 0
;          6h 24m remaining until 50% SoC
;          17h 36m remaining until 25% SoC
;          22h 5m remaining until 15% SoC
;          28h 48m remaining until 0% SoC
; Set of SoC percentages to report on dbus and MQTT. The more you specify the more it will impact system performance.
; [Valid values 0-100, comma separated list. More that 20 intervals are not recommended]
; Example: TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0
; Leave empty to disable
; TIME_TO_SOC_POINTS =

TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0

; Specify TimeToSoc value type [Valid values 1, 2, 3]
; 1 Seconds
; 2 Time string <days>d <hours>h <minutes>m <seconds>s
; 3 Both seconds and time string "<seconds> [<days>d <hours>h <minutes>m <seconds>s]"
; TIME_TO_SOC_VALUE_TYPE = 1

TIME_TO_SOC_VALUE_TYPE = 2

; Specify in seconds how often the TimeToSoc should be recalculated
; Minimum are 5 seconds to prevent CPU overload
; TIME_TO_SOC_RECALCULATE_EVERY = 60

TIME_TO_SOC_RECALCULATE_EVERY = 30

; Include TimeToSoC points when moving away from the SoC point [Valid values True, False]
; These will be as negative time. Disabling this improves performance slightly
;TIME_TO_SOC_INC_FROM = False

TIME_TO_SOC_INC_FROM = True

; --------- Additional settings ---------
; Specify only one BMS type to load else leave empty to try to load all available
; -- Available BMS:
; Daly, Ecs, HeltecModbus, HLPdataBMS4S, Jkbms, Lifepower, LltJbd, Renogy, Seplos
; -- Available BMS, but disabled by default:
; https://louisvdw.github.io/dbus-serialbattery/general/install#how-to-enable-a-disabled-bms
; Ant, MNB, Sinowealth
; BMS_TYPE =

BMS_TYPE = Jkbms

; Publish the config settings to the dbus path "/Info/Config/"
PUBLISH_CONFIG_VALUES = 1

; Select the format of cell data presented on dbus [Valid values 0,1,2,3]
; 0 Do not publish all the cells (only the min/max cell data as used by the default GX)
; 1 Format: /Voltages/Cell (also available for display on Remote Console)
; 2 Format: /Cell/#/Volts
; 3 Both formats 1 and 2
; BATTERY_CELL_DATA_FORMAT = 1

BATTERY_CELL_DATA_FORMAT = 3

; Simulate Midpoint graph (True/False).
MIDPOINT_ENABLE = False

; Battery temperature
; Specify how the battery temperature is assembled
; 0 Get mean of temperature sensor 1 to sensor 4
; 1 Get only temperature from temperature sensor 1
; 2 Get only temperature from temperature sensor 2
; 3 Get only temperature from temperature sensor 3
; 4 Get only temperature from temperature sensor 4
TEMP_BATTERY = 0

; Temperature sensor 1 name
TEMP_1_NAME = Front

; Temperature sensor 2 name
TEMP_2_NAME = Rear

; Temperature sensor 2 name
TEMP_3_NAME = Temp 3

; Temperature sensor 2 name
TEMP_4_NAME = Temp 4

; --------- BMS specific settings ---------

; -- LltJbd settings
; SoC low levels
; NOTE: SOC_LOW_WARNING is also used to calculate the Time-To-Go even if you are not using a LltJbd BMS
SOC_LOW_WARNING = 20
SOC_LOW_ALARM   = 10

; -- Daly settings
; Battery capacity (amps), if the BMS does not support reading it
BATTERY_CAPACITY = 50
; Invert Battery Current. Default non-inverted. Set to -1 to invert
INVERT_CURRENT_MEASUREMENT = 1

; -- ESC GreenMeter and Lipro device settings
GREENMETER_ADDRESS  = 1
LIPRO_START_ADDRESS = 2
LIPRO_END_ADDRESS   = 4
LIPRO_CELL_COUNT = 15

; -- HeltecModbus (Heltec SmartBMS/YYBMS) settings
; Set the Modbus addresses from the adapters
; Separate each address to check by a comma like: 1, 2, 3, ...
; factory default address will be 1
HELTEC_MODBUS_ADDR = 1

; --------- Battery monitor specific settings ---------
; If you are using a SmartShunt or something else as a battery monitor, the battery voltage reported
; from the BMS and SmartShunt could differ. This causes, that the driver never goapplies the float voltage,
; since max voltage is never reached.
; Example:
;     cell count: 16
;     MAX_CELL_VOLTAGE = 3.45
;     max voltage calculated = 16 * 3.45 = 55.20
;     CVL is set to 55.20 and the battery is now charged until the SmartShunt measures 55.20 V. The BMS
;     now measures 55.05 V since there is a voltage drop of 0.15 V. Since the dbus-serialbattery measures
;     55.05 V the max voltage is never reached for the driver and max voltage is kept forever.
;     Set VOLTAGE_DROP to 0.15
VOLTAGE_DROP = 0.040

Relevant log output

root@raspberrypi4:~# tail -F -n 100 /data/log/serial-starter/current | grep dbus-serialbattery | tai64nlocal
^C

root@raspberrypi4:~# tail -F -n 100 /data/log/dbus-serialbattery.ttyUSB2/current | tai64nlocal
2024-01-16 02:24:11.450386500 *** CCGX booted (0) ***
2024-01-16 02:24:22.102657500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-16 02:24:22.103907500 INFO:SerialBattery:dbus-serialbattery v1.0.20230531
2024-01-16 02:24:22.104690500 INFO:SerialBattery:Testing Jkbms
2024-01-16 02:24:22.162534500 INFO:SerialBattery:Connection established to Jkbms
2024-01-16 02:24:22.163079500 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB2
2024-01-16 02:24:22.163689500 INFO:SerialBattery:========== Settings ==========
2024-01-16 02:24:22.164223500 INFO:SerialBattery:> Connection voltage: 55.77V | Current: -2.4A | SoC: 99%
2024-01-16 02:24:22.164667500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-16 02:24:22.165106500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-16 02:24:22.165560500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0A | MAX BATTERY DISCHARGE CURRENT: 125.0A
2024-01-16 02:24:22.165999500 INFO:SerialBattery:> CVCM:     False
2024-01-16 02:24:22.166477500 INFO:SerialBattery:> MIN CELL VOLTAGE: 3.15V | MAX CELL VOLTAGE: 3.45V
2024-01-16 02:24:22.166924500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2024-01-16 02:24:22.167484500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2024-01-16 02:24:22.167883500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: True
2024-01-16 02:24:22.168296500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A24S15P
2024-01-16 02:24:22.204776500 INFO:SerialBattery:DeviceInstance = 2
2024-01-16 02:24:22.205118500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB2
2024-01-16 02:24:22.228375500 INFO:SerialBattery:publish config values = 1
2024-01-16 02:57:54.477734500 *** CCGX booted (0) ***
2024-01-16 02:58:05.796260500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-16 02:58:05.796993500 INFO:SerialBattery:dbus-serialbattery v1.0.20230531
2024-01-16 02:58:05.797360500 INFO:SerialBattery:Testing Jkbms
2024-01-16 02:58:05.859673500 INFO:SerialBattery:Connection established to Jkbms
2024-01-16 02:58:05.860067500 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB2
2024-01-16 02:58:05.860391500 INFO:SerialBattery:========== Settings ==========
2024-01-16 02:58:05.860775500 INFO:SerialBattery:> Connection voltage: 55.06V | Current: 2.4A | SoC: 99%
2024-01-16 02:58:05.861116500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-16 02:58:05.861476500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-16 02:58:05.861832500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0A | MAX BATTERY DISCHARGE CURRENT: 125.0A
2024-01-16 02:58:05.862184500 INFO:SerialBattery:> CVCM:     False
2024-01-16 02:58:05.862547500 INFO:SerialBattery:> MIN CELL VOLTAGE: 3.15V | MAX CELL VOLTAGE: 3.45V
2024-01-16 02:58:05.862881500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2024-01-16 02:58:05.863215500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2024-01-16 02:58:05.863534500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: True
2024-01-16 02:58:05.863865500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A24S15P
2024-01-16 02:58:05.906992500 INFO:SerialBattery:DeviceInstance = 2
2024-01-16 02:58:05.907540500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB2
2024-01-16 02:58:05.930721500 INFO:SerialBattery:publish config values = 1
2024-01-17 04:49:01.484700500 *** CCGX booted (0) ***
2024-01-17 04:49:12.300376500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-17 04:49:12.300976500 INFO:SerialBattery:dbus-serialbattery v1.0.20230531
2024-01-17 04:49:12.301498500 INFO:SerialBattery:Testing Jkbms
2024-01-17 04:49:12.435459500 INFO:SerialBattery:Connection established to Jkbms
2024-01-17 04:49:12.435816500 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB2
2024-01-17 04:49:12.436108500 INFO:SerialBattery:========== Settings ==========
2024-01-17 04:49:12.436466500 INFO:SerialBattery:> Connection voltage: 55.11V | Current: 2.2A | SoC: 99%
2024-01-17 04:49:12.436762500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-17 04:49:12.437068500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-17 04:49:12.437386500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0A | MAX BATTERY DISCHARGE CURRENT: 125.0A
2024-01-17 04:49:12.437693500 INFO:SerialBattery:> CVCM:     False
2024-01-17 04:49:12.438048500 INFO:SerialBattery:> MIN CELL VOLTAGE: 3.15V | MAX CELL VOLTAGE: 3.45V
2024-01-17 04:49:12.438380500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2024-01-17 04:49:12.438749500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2024-01-17 04:49:12.439100500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: True
2024-01-17 04:49:12.439434500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A24S15P
2024-01-17 04:49:12.481933500 INFO:SerialBattery:DeviceInstance = 2
2024-01-17 04:49:12.482642500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB2
2024-01-17 04:49:12.520586500 INFO:SerialBattery:publish config values = 1
2024-01-17 23:52:29.487598500 *** CCGX booted (0) ***
2024-01-17 23:52:40.026883500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-17 23:52:40.027911500 INFO:SerialBattery:dbus-serialbattery v1.0.20230531
2024-01-17 23:52:40.028470500 INFO:SerialBattery:Testing Jkbms
2024-01-17 23:52:40.095521500 INFO:SerialBattery:Connection established to Jkbms
2024-01-17 23:52:40.096140500 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB2
2024-01-17 23:52:40.096751500 INFO:SerialBattery:========== Settings ==========
2024-01-17 23:52:40.098784500 INFO:SerialBattery:> Connection voltage: 55.09V | Current: -2.4A | SoC: 99%
2024-01-17 23:52:40.099324500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-17 23:52:40.101895500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-17 23:52:40.102466500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0A | MAX BATTERY DISCHARGE CURRENT: 125.0A
2024-01-17 23:52:40.103004500 INFO:SerialBattery:> CVCM:     False
2024-01-17 23:52:40.103593500 INFO:SerialBattery:> MIN CELL VOLTAGE: 3.15V | MAX CELL VOLTAGE: 3.45V
2024-01-17 23:52:40.105718500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2024-01-17 23:52:40.106303500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2024-01-17 23:52:40.109967500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: True
2024-01-17 23:52:40.110633500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A24S15P
2024-01-17 23:52:40.161158500 INFO:SerialBattery:DeviceInstance = 2
2024-01-17 23:52:40.161779500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB2
2024-01-17 23:52:40.202859500 INFO:SerialBattery:publish config values = 1
2024-01-18 05:40:19.411560500 *** CCGX booted (0) ***
2024-01-18 05:40:30.159972500 INFO:SerialBattery:Starting dbus-serialbattery
2024-01-18 05:40:30.160814500 INFO:SerialBattery:dbus-serialbattery v1.0.20230531
2024-01-18 05:40:30.161161500 INFO:SerialBattery:Testing Jkbms
2024-01-18 05:40:30.218530500 INFO:SerialBattery:Connection established to Jkbms
2024-01-18 05:40:30.218885500 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB2
2024-01-18 05:40:30.219175500 INFO:SerialBattery:========== Settings ==========
2024-01-18 05:40:30.219499500 INFO:SerialBattery:> Connection voltage: 55.2V | Current: -2.0A | SoC: 99%
2024-01-18 05:40:30.219876500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 0
2024-01-18 05:40:30.220173500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-01-18 05:40:30.220480500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 70.0A | MAX BATTERY DISCHARGE CURRENT: 125.0A
2024-01-18 05:40:30.220764500 INFO:SerialBattery:> CVCM:     False
2024-01-18 05:40:30.221058500 INFO:SerialBattery:> MIN CELL VOLTAGE: 3.15V | MAX CELL VOLTAGE: 3.45V
2024-01-18 05:40:30.221326500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2024-01-18 05:40:30.221595500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2024-01-18 05:40:30.221860500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: True
2024-01-18 05:40:30.222125500 INFO:SerialBattery:Serial Number/Unique Identifier: JK_B2A24S15P
2024-01-18 05:40:30.254207500 INFO:SerialBattery:DeviceInstance = 2
2024-01-18 05:40:30.254558500 INFO:SerialBattery:com.victronenergy.battery.ttyUSB2
2024-01-18 05:40:30.277622500 INFO:SerialBattery:publish config values = 1
^C
root@raspberrypi4:~#

Any other information that may be helpful

No output from: tail -F -n 100 /data/log/serial-starter/current | grep dbus-serialbattery | tai64nlocal

mr-manuel commented 8 months ago

Did you read the config.default.ini?

https://github.com/Louisvdw/dbus-serialbattery/blob/e3206f750e5c2c1651bae4c6073d0905f056bdd1/etc/dbus-serialbattery/config.default.ini#L90-L112

BipedalPrimate commented 8 months ago

Thank you. I get it now.

What you are saying is that FLOAT will never occur unless CVCM = TRUE regardless of the other conditions.

mr-manuel commented 8 months ago

Thats correct.