Float Mode => Multiplus II

Describe the problem
My Multiplus II doesn't go into float mode. (bulk to absorption only).
Serial-Battery shows "Float (linear mode)" in Venus OS under JKBMS => Parameters
As you can see in the VRM diagram, CVL is also reduced to the limit.
Float Voltage = 3,375 V/cell
There are a lot  of warnings and errors in the LOG-File, but I don't know why. What is going wrong ?

Driver version
v1.2.20240408
Venus OS device type
Raspberry Pi
Venus OS version
v3.31
BMS type
JKBMS / Heltec BMS
Cell count
16
Battery count
1
Connection type
Serial USB adapter to TTL
Config file
[DEFAULT]

; --------- Additional settings ---------
; Specify one or more BMS types 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 (just enter one or more below and it will be enabled):
;     ANT, MNB, Sinowealth
BMS_TYPE = Jkbms

; --------- Set logging level ---------
; ERROR: Only errors are logged
; WARNING: Errors and warnings are logged
; INFO: Errors, warnings and info messages are logged
; DEBUG: Errors, warnings, info and debug messages are logged
LOGGING = INFO

; --------- Battery Current limits ---------
MAX_BATTERY_CHARGE_CURRENT    = 110.0
MAX_BATTERY_DISCHARGE_CURRENT = 80.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.950
; Max voltage (can seen as absorption voltage)
MAX_CELL_VOLTAGE   = 3.450
; Float voltage (can be seen as resting voltage)
FLOAT_CELL_VOLTAGE = 3.375

; --------- SOC reset voltage ---------
; Description:
;     May be needed to reset the SoC to 100% once in a while for some BMS, because of SoC drift.
;     Specify the cell voltage where the SoC should be reset to 100% by the BMS.
;       - JKBMS: SoC is reset to 100% if one cell reaches OVP (over voltage protection) voltage
;     As you have to adopt this value to your system, I reccomend to start with
;     OVP voltage - 0.030 (see Example).
;       - Try to increase (add) by 0.005 in steps, if the system does not switch to float mode, even if
;         the target voltage SOC_RESET_VOLTAGE * CELL_COUNT is reached.
;       - Try to decrease (lower) by 0.005 in steps, if the system hits the OVP too fast, before all
;         cells could be balanced and the system goes into protection mode multiple times.
; Example:
;     If OVP is 3.650, then start with 3.620 and increase/decrease by 0.005
; Note:
;     The value has to be higher as the MAX_CELL_VOLTAGE
;     You also have to set CELL_VOLTAGES_WHILE_CHARGING accordingly, if you set CCCM_CV_ENABLE to true
;         else the charging current will be reduced to 0 before the target voltage is reached and the
;         battery will never switch to float
SOC_RESET_VOLTAGE = 3.520
; Specify after how many days the soc reset voltage should be reached again
; The timer is reset when the soc reset voltage is reached
; Leave empty if you don't want to use this
; Example:
;     Value is set to 15
;     day 1: soc reset reached once
;     day 16: soc reset reached twice
;     day 31: soc reset not reached since it's very cloudy
;     day 34: soc reset reached since the sun came out
;     day 49: soc reset reached again, since last time it took 3 days to reach soc reset voltage
SOC_RESET_AFTER_DAYS =

; --------- 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 for 20 minutes, if cell voltages are between
;     3.25 V and 3.35 V. Else the driver block charge and discharge after 60 seconds.
; True:
;     Charge and discharge is blocked on BMS communication loss, it's unblocked when connection is established
;     again or the driver/system is restarted. This is the Victron Energy default behaviour.
BLOCK_ON_DISCONNECT = False

; --------- 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
; 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
;             SoC 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 MAX_VOLTAGE_TIME_SEC
;             additional seconds.
;             After cell voltage difference is 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 when set to True:
;     Step mode:
;          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 80%
;     Linear mode:
;          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 900 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 80%.
; Charge voltage control management enable (True/False).
CVCM_ENABLE = True

; -- 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.015
; Specify cell voltage diff where MAX_VOLTAGE_TIME_SEC restarts if diff is bigger
CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_TIME_RESTART = 0.020
; 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.060

; -- CVL reset based on SoC option (step mode & linear mode)
; Specify how long the max voltage should be kept
;     Step mode: If reached then switch to float voltage
;     Linear mode: If cells are balanced keep max voltage for further MAX_VOLTAGE_TIME_SEC seconds
MAX_VOLTAGE_TIME_SEC = 900
; Specify SoC where CVL limit is reset to max voltage
;     Step mode: If SoC gets below
;     Linear mode: If cells are unbalanced or if SoC gets below
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 80

; --------- SOC calculation ---------
; Description:
;     Calculate the SOC in the driver. Do not use the SOC reported by the BMS
; SOC_CALCULATION:
;     True: Calc SOC in the driver, do not use SOC reported from BMS
;         - The SOC is calculated by integration of the current reported by the BMS
;         - The current reported from the BMS can be corrected by
;           the map (SOC_CALC_CURRENT_REPORTED_BY_BMS, SOC_CALC_CURRENT_MEASURED_BY_USER)
;         - The SOC is set to 100% if the following conditions apply for at least SOC_RESET_TIME seconds:
;             * Current is lower than SOC_RESET_CURRENT amps
;             * Sum of cell voltages >= self.max_battery_voltage - VOLTAGE_DROP
;         - The calculated SOC is stored in dbus to persist a driver restart
;     False: Use SOC reported from BMS (none of the other parameters apply)
; More info: https://github.com/Louisvdw/dbus-serialbattery/pull/868
SOC_CALCULATION   = False
SOC_RESET_CURRENT = 7
SOC_RESET_TIME    = 60
SOC_CALC_CURRENT_REPORTED_BY_BMS  = -300, 300
SOC_CALC_CURRENT_MEASURED_BY_USER = -300, 300
; Example to set small currents to zero
;     SOC_CALC_CURRENT_REPORTED_BY_BMS  = -300, -0.5, 0.5, 300
;     SOC_CALC_CURRENT_MEASURED_BY_USER = -300,    0,   0, 300

; --------- 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.40, 3.35, 3.30
MAX_CHARGE_CURRENT_CV_FRACTION    =    0, 0.06, 0.08,  0.4,  0.7,    1

CELL_VOLTAGES_WHILE_DISCHARGING   = 2.70, 2.80, 2.90, 3.00, 3.10
MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,    0,  0.2,  0.4,    1

; --------- Cell Voltage limitation (affecting CVL) ---------
; This function prevents a bad balanced battery to overcharge the cell with the highest voltage and the bms to
; switch off because of overvoltage of this cell.
;
; Example:
;     15 cells are at 3.4v, 1 cell is at 3.6v. Total voltage of battery is 54.6v and the Victron System sees no reason to
;     lower the charging current as the control_voltage (Absorbtion Voltage) ist 55.2v
;     In this case the Cell Voltage limitation kicks in and lowers the control_voltage to keep it close to the MAX_CELL_VOLTAGE.
;
; In theory this can also be done with CCL, but doing it with CVL has 2 advantages:
;     - In a well balanced system the current can be kept quite high till the end of charge by using MAX_CELL_VOLTAGE for charging.
;     - In systems with MPPTs and DC-feed-in activated the victron systems do not respect CCL, so CVL is the only way to prevent the
;       highest cell in a bad balanced system from overcharging.
;
; There are 2 methods implemented to calculate CVL:
;   1. penalty_sum-Method (CVL_ICONTROLLER_MODE = False)
;      The voltage-overshoot of all cells that exceed MAX_CELL_VOLTAGE is summed up and the control voltage is lowered by this "penalty_sum".
;      This is calculated every LINEAR_RECALCULATION_EVERY seconds.
;      In fact, this is a P-Controller.
;   2. I-Controller (CVL_ICONTROLLER_MODE = True)
;      An I-Controller tries to control the voltage of the highest cell to MAX_CELL_VOLTAGE + CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL.
;      (for example 3.45V+0.01V =3.46V). If the voltage of the highest cell is above this level, CVL is reduced. If the voltage is below, CVL is
;      increased until cellcount*MAX_CELL_VOLTAGE.
;      An I-Part of 0.2 V/Vs (CVL_ICONTROLLER_FACTOR) has proved to be a stable and fast controlling-behaviour.
;      This method is not as fast as the penalty_sum-Method but usually smoother and more stable against toggeling and has no stationary deviation.
; More info: https://github.com/Louisvdw/dbus-serialbattery/pull/882
CVL_ICONTROLLER_MODE   = True
CVL_ICONTROLLER_FACTOR = 0.2

; --------- 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
TEMPERATURES_WHILE_CHARGING      =    0,    2,    5,   10,   15,   20,   35,   40,   55,   60
MAX_CHARGE_CURRENT_T_FRACTION    = 0.00, 0.10, 0.20, 0.60, 0.80, 1.00, 1.00, 0.70, 0.50, 0.00

TEMPERATURES_WHILE_DISCHARGING   =  -20,    0,    5,   10,   15,   45,   50,   55,   60
MAX_DISCHARGE_CURRENT_T_FRACTION = 0.00, 0.20, 0.30, 0.40, 1.00, 1.00, 0.75, 0.50, 0.00

; --------- SOC limitation (affecting CCL/DCL) ---------
; Description:
;     Maximal charge / discharge current will be increased / decreased depending on State of Charge
;     Since the SoC is not as accurate as the cell voltage, this option is disabled by default
; Example:
;     The SoC limit will be monitored to control the currents.
; Charge current control management enable (True/False).
CCCM_SOC_ENABLE = True
; Discharge current control management enable (True/False).
DCCM_SOC_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
SOC_WHILE_CHARGING                 =   98,   95,   90,   85
MAX_CHARGE_CURRENT_SOC_FRACTION    = 0.15, 0.40, 0.70, 1.00

SOC_WHILE_DISCHARGING              =    5,   10,   15,   20
MAX_DISCHARGE_CURRENT_SOC_FRACTION = 0.10, 0.40, 0.70, 1.00

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

; 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

; 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 = Temp 1

; Temperature sensor 2 name
TEMP_2_NAME = Temp 2

; Temperature sensor 2 name
TEMP_3_NAME = Temp 3

; Temperature sensor 2 name
TEMP_4_NAME = Temp 4

; --------- Voltage drop ---------
; If you have a voltage drop between the BMS and the charger because of wire size or length
; then you can specify the voltage drop here. The driver will then add the voltage drop
; to the calculated CVL to compensate.
; Example:
;     cell count: 16
;     MAX_CELL_VOLTAGE = 3.45
;     max voltage calculated = 16 * 3.45 = 55.20
;     CVL is set to 55.20 V and the battery is now charged until the charger reaches 55.20 V.
;     The BMS now measures 55.05 V since there is a voltage drop of 0.15 V on the cable.
;     Since the dbus-serialbattery reads the voltage of 55.05 V from the BMS the max voltage
;     of 55.20 V is never reached and max voltage is kept forever.
;     By setting the VOLTAGE_DROP to 0.15 V the voltage on the charger is increased and the
;     target voltage on the BMS is reached.
VOLTAGE_DROP = 0.08

Relevant log output
@4000000066155ae737b79a6c ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000066155ae81a20415c INFO:SerialBattery:-- Testing BMS: 2 of 3 rounds
@4000000066155ae81a289244 INFO:SerialBattery:Testing Jkbms
@4000000066155af90ed0e66c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:251/1036]
@4000000066155af92cd9e53c INFO:SerialBattery:-- Testing BMS: 3 of 3 rounds
@4000000066155af92cda047c INFO:SerialBattery:Testing Jkbms
@4000000066155af9300fbbdc INFO:SerialBattery:Connection established to Jkbms
@4000000066155afa0890871c INFO:SerialBattery:Found existing battery with DeviceInstance = 1
@4000000066155afa199b6d74 INFO:SerialBattery:DeviceInstance = 1
@4000000066155afa19af6aa4 INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid
@4000000066155afa19b6d12c INFO:SerialBattery:Used DeviceInstances = ['1']
@4000000066155afa19be4f24 INFO:SerialBattery:com.victronenergy.battery.ttyUSB0
@4000000066155afa1bfa48ec INFO:SerialBattery:publish config values = True
@4000000066155afa1d8d6054 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0
@4000000066155afa1d990c9c INFO:SerialBattery:========== Settings ==========
@4000000066155afa1da587ec INFO:SerialBattery:> Connection voltage: 53.27V | Current: -0.0A | SoC: None%
@4000000066155afa1db04204 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
@4000000066155afa1db873ac INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
@4000000066155afa1dc12e0c INFO:SerialBattery:> MIN CELL VOLTAGE: 2.95V | MAX CELL VOLTAGE: 3.45V
@4000000066155afa1dd0be6c INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 110.0A | MAX BATTERY DISCHARGE CURRENT: 80.0A
@4000000066155afa1dd949ec INFO:SerialBattery:> CVCM:     True
@4000000066155afa1de0f6c4 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
@4000000066155afa1de8caac INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
@4000000066155afa1df0545c INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True
@4000000066155afa1df78c04 INFO:SerialBattery:Serial Number/Unique Identifier: PV-Werner
@4000000066155b101e1bf83c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:48/19530]
@4000000066155b251f4c2f24 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:282/31025]
@400000006618f4e739ef2f34 INFO:SerialBattery:
@400000006618f4e73a5d5e3c INFO:SerialBattery:Starting dbus-serialbattery
@400000006618f4e73a5d75ac INFO:SerialBattery:Venus OS v3.30
@400000006618f4e73a5d8164 INFO:SerialBattery:dbus-serialbattery v1.2.20240408
@400000006618f4f73b0ff4fc INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
@400000006618f4f73b16de84 INFO:SerialBattery:Testing Jkbms
@400000006618f4f80726508c INFO:SerialBattery:Connection established to Jkbms
@400000006618f4f81ac274cc INFO:SerialBattery:Found existing battery with DeviceInstance = 1
@400000006618f4f82742c224 INFO:SerialBattery:DeviceInstance = 1
@400000006618f4f827593054 INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid
@400000006618f4f827634274 INFO:SerialBattery:Used DeviceInstances = ['1']
@400000006618f4f8276c3b54 INFO:SerialBattery:com.victronenergy.battery.ttyUSB0
@400000006618f4f8291aa6d4 INFO:SerialBattery:publish config values = True
@400000006618f4f82a73b6c4 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0
@400000006618f4f82a7e6524 INFO:SerialBattery:========== Settings ==========
@400000006618f4f82a88c17c INFO:SerialBattery:> Connection voltage: 53.99V | Current: 46.21A | SoC: None%
@400000006618f4f82a91934c INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
@400000006618f4f82a9a74bc INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
@400000006618f4f82aa536a4 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.95V | MAX CELL VOLTAGE: 3.45V
@400000006618f4f82aae9514 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 110.0A | MAX BATTERY DISCHARGE CURRENT: 80.0A
@400000006618f4f82ab904f4 INFO:SerialBattery:> CVCM:     True
@400000006618f4f82ac188a4 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
@400000006618f4f82acb3534 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
@400000006618f4f82ad42e14 INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True
@400000006618f4f82addb77c INFO:SerialBattery:Serial Number/Unique Identifier: PV-Werner
@400000006618f50927a99274 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:198/17431]
@400000006618f5092801d04c WARNING:SerialBattery:Error while executing calcMaxChargeCurrentReferringToCellVoltage(). Using default value instead.
@400000006618f5092801fb44 WARNING:SerialBattery:CELL_VOLTAGES_WHILE_CHARGING: [3.55, 3.5, 3.45, 3.4, 3.35, 3.3] â€¢ MAX_CHARGE_CURRENT_CV: [0.0, 5.5, 11.0, 55.0, 77.0, 110.0]
@400000006618f5092802169c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937
@400000006618f509280ca5bc WARNING:SerialBattery:Error while executing calcMaxDischargeCurrentReferringToCellVoltage(). Using default value instead.
@400000006618f50928484f2c WARNING:SerialBattery:CELL_VOLTAGES_WHILE_DISCHARGING: [2.7, 2.8, 2.9, 3.0, 3.1] â€¢ MAX_DISCHARGE_CURRENT_CV: [0.0, 0.0, 16.0, 32.0, 80.0]
@400000006618f50928569f3c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968
@400000006618f5093132d364 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008
@40000000661bdf8a37b1ba84 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:57/14267]
@40000000661e7ba60de3d304 ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000661e7bb7009a26e4 Traceback (most recent call last):
@40000000661e7bb7009a3e54   File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 760, in publish_battery
@40000000661e7bb7009a51dc     result = self.battery.refresh_data()
@40000000661e7bb7009a5d94   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 65, in refresh_data
@40000000661e7bb7009a711c     result = self.read_status_data()
@40000000661e7bb7009a78ec   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 85, in read_status_data
@40000000661e7bb7009c8c2c     cellbyte_count = unpack_from(
@40000000661e7bb7009c97e4 TypeError: a bytes-like object is required, not 'bool'
@40000000661e7c4714faeb14 Traceback (most recent call last):
@40000000661e7c4714fb066c   File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 760, in publish_battery
@40000000661e7c4714fb19f4     result = self.battery.refresh_data()
@40000000661e7c4714fb25ac   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 65, in refresh_data
@40000000661e7c4714fb3934     result = self.read_status_data()
@40000000661e7c4714fb4104   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 85, in read_status_data
@40000000661e7c4714fd7f3c     cellbyte_count = unpack_from(
@40000000661e7c4714fd8af4 TypeError: a bytes-like object is required, not 'bool'
@40000000661e7c783212e2c4 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7c791554f9c4 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7c7934c8cf4c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7c7a171366ec ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0
@40000000661e7cab328da874 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7cac1614dadc ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7cac349ae17c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7cad16ec7dfc ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0
@40000000661e7cde3b60b0f4 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7cdf1eea7b6c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7ce001d419fc ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7ce01fb7e944 ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0
@40000000661e7d1202823834 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7d122757098c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7d130a8bf574 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28
@40000000661e7d13286cbb64 ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0
@40000000661e7d45141da68c ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000661e87660ba9c56c *** CCGX booted (0) ***
@40000000661e87d10753ec54 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:117/63146]
@40000000661e87e7075e219c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:289/290]
@400000006627976d2c6420cc *** CCGX booted (0) ***
@40000000662797bd1e6b876c *** CCGX booted (0) ***
@40000000662798000c3c6c64 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@40000000662799ac38b3963c *** CCGX booted (0) ***
@40000000662799cf030fab24 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@40000000662799dc28053764 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@40000000662799f029c5794c ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000662799f12a03ca6c ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000662799f229cd3d94 ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000066279a0a1c286d6c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:163/39169]
@4000000066279a101fea4bb4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x50d5, Got 0x5030
@4000000066279a2d1d3808ac ERROR:SerialBattery:>>> ERROR: No reply - returning [len:14/46003]
@4000000066279de217ec3ea4 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@4000000066279df6370f5064 ERROR:SerialBattery:read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
@4000000066279df9379fad6c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x550d, Got 0x5468
@4000000066279e003840c79c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x54f1, Got 0x542a
@400000006627ab5d0407e9ec ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@400000006627ab8432f8f14c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:9/64233]
@400000006627ed5a0f4e82ac ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@400000006627ed6e3212a444 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x47f9, Got 0x4754
@400000006627ed7132212b04 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x48dd, Got 0x4838
@4000000066293eed1ffccdfc ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.
@40000000662971e31778febc ERROR:SerialBattery:>>> ERROR: No reply - returning [len:99/177]
@40000000662b8cc421e97ee4 ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000662b8cc829cc5334 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b0a, Got 0x4a65
@40000000662b8cd1288cc29c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x0101, Got 0x022b
@40000000662b8fbe3b65297c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b19, Got 0x4a74
@40000000662b904200707ed4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b72, Got 0x4acd
@40000000662b904500999a44 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b0a, Got 0x4a65
@40000000662b91a61e753fb4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b6f, Got 0x4aca
@40000000662b91a703969634 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b6f, Got 0x4aca
@40000000662b91aa11300064 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4ba4, Got 0x4aff
@40000000662b91ad1e49cab4 ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000662b91ae0f62703c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x0bab, Got 0x0743
@40000000662bd7c9197e449c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x5115, Got 0x5070
@40000000662bd7c919947064 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937
@40000000662bd7c919a5a2bc ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968
@40000000662bd7c91e1bb5d4 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008
@40000000662bd7e215d3c6b4 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:282/31025]
@40000000662cd2062b921b2c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x5184, Got 0x50df
@40000000662cd2062badb594 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937
@40000000662cd2062bce93a4 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968
@40000000662cd2062e16168c ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008
@40000000662cd38c2dda2ab4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x50f0, Got 0x504b
@40000000662cd38c2df5bd4c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937
@40000000662cd38c2e0d8724 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968
@40000000662cd38c33cf5034 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008
@40000000662cd38f2dcad8d4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x50d7, Got 0x5032
@40000000662d24552aa3fe24 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:0]
@40000000662d24592516a6dc ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4f4c, Got 0x4ea7
@40000000662d246d21cd01ec ERROR:SerialBattery:>>> ERROR: No reply - returning [len:80/13606]
@40000000662d29952bc72164 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4f08, Got 0x4e63
@40000000662d29982c33643c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4e92, Got 0x4ded
@40000000662d2be70063153c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4ef4, Got 0x4e4f
@40000000662d2bfd38b46544 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:280/31025]
@40000000662d2ca136c412ac ERROR:SerialBattery:>>> ERROR: No reply - returning [len:224/13645]
@40000000662d2ca136ec5744 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937
@40000000662d2ca13701bfbc ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968
@40000000662d2ca20232dfb4 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008
@40000000662d2ca226e8981c ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000662d2ca2271374c4 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937
@40000000662d2ca22728fc7c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968
@40000000662d2ca2276f738c ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008
@40000000662d350b2200c3ec ERROR:SerialBattery:>>> ERROR: No reply - returning [len:175/1604]
@40000000662d35d50de847a4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4ce5, Got 0x4c40
@40000000662d35ee0c63e9c4 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:282/31025]
@40000000662d365314fc3334 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c79, Got 0x4bd4
@40000000662d36571542506c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c7d, Got 0x4bd8
@40000000662d366b10bb8be4 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:80/20802]
@40000000662d36ea11f98a24 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:151/1541]
@40000000662e727d2871050c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c79, Got 0x4bd4
@40000000662e72802888da9c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c34, Got 0x4b8f
@40000000662e728431fa847c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c33, Got 0x4b6c
@40000000662e76980df82624 INFO:SerialBattery:
@40000000662e76980e020d4c INFO:SerialBattery:Starting dbus-serialbattery
@40000000662e76980e182d5c INFO:SerialBattery:Venus OS v3.31
@40000000662e76980e1e72d4 INFO:SerialBattery:dbus-serialbattery v1.2.20240408
@40000000662e76a80f1f8754 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
@40000000662e76a80f26a78c INFO:SerialBattery:Testing Jkbms
@40000000662e76a816724104 INFO:SerialBattery:Connection established to Jkbms
@40000000662e76a826467064 INFO:SerialBattery:Found existing battery with DeviceInstance = 1
@40000000662e76a830b88e9c INFO:SerialBattery:DeviceInstance = 1
@40000000662e76a830cd186c INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid
@40000000662e76a830d72a8c INFO:SerialBattery:Used DeviceInstances = ['1']
@40000000662e76a830df9e9c INFO:SerialBattery:com.victronenergy.battery.ttyUSB0
@40000000662e76a832a9e304 INFO:SerialBattery:publish config values = True
@40000000662e76a833e8d374 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0
@40000000662e76a833eec2fc INFO:SerialBattery:========== Settings ==========
@40000000662e76a833f5c7dc INFO:SerialBattery:> Connection voltage: 54.13V | Current: 3.33A | SoC: None%
@40000000662e76a833fd3634 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
@40000000662e76a834038f34 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
@40000000662e76a8340a3a3c INFO:SerialBattery:> MIN CELL VOLTAGE: 2.95V | MAX CELL VOLTAGE: 3.45V
@40000000662e76a83410d1bc INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 110.0A | MAX BATTERY DISCHARGE CURRENT: 80.0A
@40000000662e76a8341751cc INFO:SerialBattery:> CVCM:     True
@40000000662e76a8341dba6c INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
@40000000662e76a8342432ac INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
@40000000662e76a8342a8bac INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True
@40000000662e76a83430e0c4 INFO:SerialBattery:Serial Number/Unique Identifier: PV-Werner
@40000000662e76ab089770a4 ERROR:SerialBattery:>>> ERROR: No reply - returning
@40000000662e76f2122b9e74 INFO:SerialBattery:
@40000000662e76f212321e84 INFO:SerialBattery:Starting dbus-serialbattery
@40000000662e76f2124c2694 INFO:SerialBattery:Venus OS v3.31
@40000000662e76f21253d754 INFO:SerialBattery:dbus-serialbattery v1.2.20240408
@40000000662e7702133e912c INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
@40000000662e7702134553a4 INFO:SerialBattery:Testing Jkbms
@40000000662e770216a4787c INFO:SerialBattery:Connection established to Jkbms
@40000000662e770226a77c24 INFO:SerialBattery:Found existing battery with DeviceInstance = 1
@40000000662e770232aa7774 INFO:SerialBattery:DeviceInstance = 1
@40000000662e770232c5853c INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid
@40000000662e770232d490cc INFO:SerialBattery:Used DeviceInstances = ['1']
@40000000662e770232e12774 INFO:SerialBattery:com.victronenergy.battery.ttyUSB0
@40000000662e770234c03814 INFO:SerialBattery:publish config values = True
@40000000662e770236420d84 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0
@40000000662e7702364eabfc INFO:SerialBattery:========== Settings ==========

Any other information that may be helpful
No response

Please provide logs in the correct format. It is well described how you have to get the logs. See documentation.

Anyway, the charging state of the MultiPlus/Quattro is not synched with the BMS charging state. I don't know, if it changes something, if you turn off the MultiPlus battery monitor via the VE.Config.
Please open a question in the Victron Community for that.
Regarding the errors in the logs it looks like you have interferences on your connection from the BMS to the Venus OS. Make sure you follow the recommendations in the documentation like a shielded cable.

Describe the problem
My Multiplus II doesn't go into float mode. (bulk to absorption only).
Serial-Battery shows "Float (linear mode)" in Venus OS under JKBMS => Parameters
As you can see in the VRM diagram, CVL is also reduced to the limit.
Float Voltage = 3,375 V/cell
There are a lot  of warnings and errors in the LOG-File, but I don't know why. What is going wrong ?

Driver version
v1.2.20240408
Venus OS device type
Raspberry Pi
Venus OS version
v3.31
BMS type
JKBMS / Heltec BMS
Cell count
16
Battery count
1
Connection type
Serial USB adapter to TTL
Config file

[DEFAULT]

; --------- Additional settings ---------

; Specify one or more BMS types 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 (just enter one or more below and it will be enabled):

;     ANT, MNB, Sinowealth

BMS_TYPE = Jkbms

; --------- Set logging level ---------

; ERROR: Only errors are logged

; WARNING: Errors and warnings are logged

; INFO: Errors, warnings and info messages are logged

; DEBUG: Errors, warnings, info and debug messages are logged

LOGGING = INFO

; --------- Battery Current limits ---------

MAX_BATTERY_CHARGE_CURRENT    = 110.0

MAX_BATTERY_DISCHARGE_CURRENT = 80.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.950

; Max voltage (can seen as absorption voltage)

MAX_CELL_VOLTAGE   = 3.450

; Float voltage (can be seen as resting voltage)

FLOAT_CELL_VOLTAGE = 3.375

; --------- SOC reset voltage ---------

; Description:

;     May be needed to reset the SoC to 100% once in a while for some BMS, because of SoC drift.

;     Specify the cell voltage where the SoC should be reset to 100% by the BMS.

;       - JKBMS: SoC is reset to 100% if one cell reaches OVP (over voltage protection) voltage

;     As you have to adopt this value to your system, I reccomend to start with

;     OVP voltage - 0.030 (see Example).

;       - Try to increase (add) by 0.005 in steps, if the system does not switch to float mode, even if

;         the target voltage SOC_RESET_VOLTAGE * CELL_COUNT is reached.

;       - Try to decrease (lower) by 0.005 in steps, if the system hits the OVP too fast, before all

;         cells could be balanced and the system goes into protection mode multiple times.

; Example:

;     If OVP is 3.650, then start with 3.620 and increase/decrease by 0.005

; Note:

;     The value has to be higher as the MAX_CELL_VOLTAGE

;     You also have to set CELL_VOLTAGES_WHILE_CHARGING accordingly, if you set CCCM_CV_ENABLE to true

;         else the charging current will be reduced to 0 before the target voltage is reached and the

;         battery will never switch to float

SOC_RESET_VOLTAGE = 3.520

; Specify after how many days the soc reset voltage should be reached again

; The timer is reset when the soc reset voltage is reached

; Leave empty if you don't want to use this

; Example:

;     Value is set to 15

;     day 1: soc reset reached once

;     day 16: soc reset reached twice

;     day 31: soc reset not reached since it's very cloudy

;     day 34: soc reset reached since the sun came out

;     day 49: soc reset reached again, since last time it took 3 days to reach soc reset voltage

SOC_RESET_AFTER_DAYS =

; --------- 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 for 20 minutes, if cell voltages are between

;     3.25 V and 3.35 V. Else the driver block charge and discharge after 60 seconds.

; True:

;     Charge and discharge is blocked on BMS communication loss, it's unblocked when connection is established

;     again or the driver/system is restarted. This is the Victron Energy default behaviour.

BLOCK_ON_DISCONNECT = False

; --------- 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

; 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

;             SoC 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 MAX_VOLTAGE_TIME_SEC

;             additional seconds.

;             After cell voltage difference is 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 when set to True:

;     Step mode:

;          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 80%

;     Linear mode:

;          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 900 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 80%.

; Charge voltage control management enable (True/False).

CVCM_ENABLE = True

; -- 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.015

; Specify cell voltage diff where MAX_VOLTAGE_TIME_SEC restarts if diff is bigger

CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_TIME_RESTART = 0.020

; 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.060

; -- CVL reset based on SoC option (step mode & linear mode)

; Specify how long the max voltage should be kept

;     Step mode: If reached then switch to float voltage

;     Linear mode: If cells are balanced keep max voltage for further MAX_VOLTAGE_TIME_SEC seconds

MAX_VOLTAGE_TIME_SEC = 900

; Specify SoC where CVL limit is reset to max voltage

;     Step mode: If SoC gets below

;     Linear mode: If cells are unbalanced or if SoC gets below

SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 80

; --------- SOC calculation ---------

; Description:

;     Calculate the SOC in the driver. Do not use the SOC reported by the BMS

; SOC_CALCULATION:

;     True: Calc SOC in the driver, do not use SOC reported from BMS

;         - The SOC is calculated by integration of the current reported by the BMS

;         - The current reported from the BMS can be corrected by

;           the map (SOC_CALC_CURRENT_REPORTED_BY_BMS, SOC_CALC_CURRENT_MEASURED_BY_USER)

;         - The SOC is set to 100% if the following conditions apply for at least SOC_RESET_TIME seconds:

;             * Current is lower than SOC_RESET_CURRENT amps

;             * Sum of cell voltages >= self.max_battery_voltage - VOLTAGE_DROP

;         - The calculated SOC is stored in dbus to persist a driver restart

;     False: Use SOC reported from BMS (none of the other parameters apply)

; More info: https://github.com/Louisvdw/dbus-serialbattery/pull/868

SOC_CALCULATION   = False

SOC_RESET_CURRENT = 7

SOC_RESET_TIME    = 60

SOC_CALC_CURRENT_REPORTED_BY_BMS  = -300, 300

SOC_CALC_CURRENT_MEASURED_BY_USER = -300, 300

; Example to set small currents to zero

;     SOC_CALC_CURRENT_REPORTED_BY_BMS  = -300, -0.5, 0.5, 300

;     SOC_CALC_CURRENT_MEASURED_BY_USER = -300,    0,   0, 300

; --------- 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.40, 3.35, 3.30

MAX_CHARGE_CURRENT_CV_FRACTION    =    0, 0.06, 0.08,  0.4,  0.7,    1

CELL_VOLTAGES_WHILE_DISCHARGING   = 2.70, 2.80, 2.90, 3.00, 3.10

MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,    0,  0.2,  0.4,    1

; --------- Cell Voltage limitation (affecting CVL) ---------

; This function prevents a bad balanced battery to overcharge the cell with the highest voltage and the bms to

; switch off because of overvoltage of this cell.

;

; Example:

;     15 cells are at 3.4v, 1 cell is at 3.6v. Total voltage of battery is 54.6v and the Victron System sees no reason to

;     lower the charging current as the control_voltage (Absorbtion Voltage) ist 55.2v

;     In this case the Cell Voltage limitation kicks in and lowers the control_voltage to keep it close to the MAX_CELL_VOLTAGE.

;

; In theory this can also be done with CCL, but doing it with CVL has 2 advantages:

;     - In a well balanced system the current can be kept quite high till the end of charge by using MAX_CELL_VOLTAGE for charging.

;     - In systems with MPPTs and DC-feed-in activated the victron systems do not respect CCL, so CVL is the only way to prevent the

;       highest cell in a bad balanced system from overcharging.

;

; There are 2 methods implemented to calculate CVL:

;   1. penalty_sum-Method (CVL_ICONTROLLER_MODE = False)

;      The voltage-overshoot of all cells that exceed MAX_CELL_VOLTAGE is summed up and the control voltage is lowered by this "penalty_sum".

;      This is calculated every LINEAR_RECALCULATION_EVERY seconds.

;      In fact, this is a P-Controller.

;   2. I-Controller (CVL_ICONTROLLER_MODE = True)

;      An I-Controller tries to control the voltage of the highest cell to MAX_CELL_VOLTAGE + CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL.

;      (for example 3.45V+0.01V =3.46V). If the voltage of the highest cell is above this level, CVL is reduced. If the voltage is below, CVL is

;      increased until cellcount*MAX_CELL_VOLTAGE.

;      An I-Part of 0.2 V/Vs (CVL_ICONTROLLER_FACTOR) has proved to be a stable and fast controlling-behaviour.

;      This method is not as fast as the penalty_sum-Method but usually smoother and more stable against toggeling and has no stationary deviation.

; More info: https://github.com/Louisvdw/dbus-serialbattery/pull/882

CVL_ICONTROLLER_MODE   = True

CVL_ICONTROLLER_FACTOR = 0.2

; --------- 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

TEMPERATURES_WHILE_CHARGING      =    0,    2,    5,   10,   15,   20,   35,   40,   55,   60

MAX_CHARGE_CURRENT_T_FRACTION    = 0.00, 0.10, 0.20, 0.60, 0.80, 1.00, 1.00, 0.70, 0.50, 0.00

TEMPERATURES_WHILE_DISCHARGING   =  -20,    0,    5,   10,   15,   45,   50,   55,   60

MAX_DISCHARGE_CURRENT_T_FRACTION = 0.00, 0.20, 0.30, 0.40, 1.00, 1.00, 0.75, 0.50, 0.00

; --------- SOC limitation (affecting CCL/DCL) ---------

; Description:

;     Maximal charge / discharge current will be increased / decreased depending on State of Charge

;     Since the SoC is not as accurate as the cell voltage, this option is disabled by default

; Example:

;     The SoC limit will be monitored to control the currents.

; Charge current control management enable (True/False).

CCCM_SOC_ENABLE = True

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

DCCM_SOC_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

SOC_WHILE_CHARGING                 =   98,   95,   90,   85

MAX_CHARGE_CURRENT_SOC_FRACTION    = 0.15, 0.40, 0.70, 1.00

SOC_WHILE_DISCHARGING              =    5,   10,   15,   20

MAX_DISCHARGE_CURRENT_SOC_FRACTION = 0.10, 0.40, 0.70, 1.00

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

PUBLISH_CONFIG_VALUES = True

; 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

; 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 = Temp 1

; Temperature sensor 2 name

TEMP_2_NAME = Temp 2

; Temperature sensor 2 name

TEMP_3_NAME = Temp 3

; Temperature sensor 2 name

TEMP_4_NAME = Temp 4

; --------- Voltage drop ---------

; If you have a voltage drop between the BMS and the charger because of wire size or length

; then you can specify the voltage drop here. The driver will then add the voltage drop

; to the calculated CVL to compensate.

; Example:

;     cell count: 16

;     MAX_CELL_VOLTAGE = 3.45

;     max voltage calculated = 16 * 3.45 = 55.20

;     CVL is set to 55.20 V and the battery is now charged until the charger reaches 55.20 V.

;     The BMS now measures 55.05 V since there is a voltage drop of 0.15 V on the cable.

;     Since the dbus-serialbattery reads the voltage of 55.05 V from the BMS the max voltage

;     of 55.20 V is never reached and max voltage is kept forever.

;     By setting the VOLTAGE_DROP to 0.15 V the voltage on the charger is increased and the

;     target voltage on the BMS is reached.

VOLTAGE_DROP = 0.08

Relevant log output

@4000000066155ae737b79a6c ERROR:SerialBattery:>>> ERROR: No reply - returning

@4000000066155ae81a20415c INFO:SerialBattery:-- Testing BMS: 2 of 3 rounds

@4000000066155ae81a289244 INFO:SerialBattery:Testing Jkbms

@4000000066155af90ed0e66c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:251/1036]

@4000000066155af92cd9e53c INFO:SerialBattery:-- Testing BMS: 3 of 3 rounds

@4000000066155af92cda047c INFO:SerialBattery:Testing Jkbms

@4000000066155af9300fbbdc INFO:SerialBattery:Connection established to Jkbms

@4000000066155afa0890871c INFO:SerialBattery:Found existing battery with DeviceInstance = 1

@4000000066155afa199b6d74 INFO:SerialBattery:DeviceInstance = 1

@4000000066155afa19af6aa4 INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid

@4000000066155afa19b6d12c INFO:SerialBattery:Used DeviceInstances = ['1']

@4000000066155afa19be4f24 INFO:SerialBattery:com.victronenergy.battery.ttyUSB0

@4000000066155afa1bfa48ec INFO:SerialBattery:publish config values = True

@4000000066155afa1d8d6054 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0

@4000000066155afa1d990c9c INFO:SerialBattery:========== Settings ==========

@4000000066155afa1da587ec INFO:SerialBattery:> Connection voltage: 53.27V | Current: -0.0A | SoC: None%

@4000000066155afa1db04204 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16

@4000000066155afa1db873ac INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True

@4000000066155afa1dc12e0c INFO:SerialBattery:> MIN CELL VOLTAGE: 2.95V | MAX CELL VOLTAGE: 3.45V

@4000000066155afa1dd0be6c INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 110.0A | MAX BATTERY DISCHARGE CURRENT: 80.0A

@4000000066155afa1dd949ec INFO:SerialBattery:> CVCM:     True

@4000000066155afa1de0f6c4 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True

@4000000066155afa1de8caac INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True

@4000000066155afa1df0545c INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True

@4000000066155afa1df78c04 INFO:SerialBattery:Serial Number/Unique Identifier: PV-Werner

@4000000066155b101e1bf83c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:48/19530]

@4000000066155b251f4c2f24 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:282/31025]

@400000006618f4e739ef2f34 INFO:SerialBattery:

@400000006618f4e73a5d5e3c INFO:SerialBattery:Starting dbus-serialbattery

@400000006618f4e73a5d75ac INFO:SerialBattery:Venus OS v3.30

@400000006618f4e73a5d8164 INFO:SerialBattery:dbus-serialbattery v1.2.20240408

@400000006618f4f73b0ff4fc INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds

@400000006618f4f73b16de84 INFO:SerialBattery:Testing Jkbms

@400000006618f4f80726508c INFO:SerialBattery:Connection established to Jkbms

@400000006618f4f81ac274cc INFO:SerialBattery:Found existing battery with DeviceInstance = 1

@400000006618f4f82742c224 INFO:SerialBattery:DeviceInstance = 1

@400000006618f4f827593054 INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid

@400000006618f4f827634274 INFO:SerialBattery:Used DeviceInstances = ['1']

@400000006618f4f8276c3b54 INFO:SerialBattery:com.victronenergy.battery.ttyUSB0

@400000006618f4f8291aa6d4 INFO:SerialBattery:publish config values = True

@400000006618f4f82a73b6c4 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0

@400000006618f4f82a7e6524 INFO:SerialBattery:========== Settings ==========

@400000006618f4f82a88c17c INFO:SerialBattery:> Connection voltage: 53.99V | Current: 46.21A | SoC: None%

@400000006618f4f82a91934c INFO:SerialBattery:> Cell count: 16 | Cells populated: 16

@400000006618f4f82a9a74bc INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True

@400000006618f4f82aa536a4 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.95V | MAX CELL VOLTAGE: 3.45V

@400000006618f4f82aae9514 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 110.0A | MAX BATTERY DISCHARGE CURRENT: 80.0A

@400000006618f4f82ab904f4 INFO:SerialBattery:> CVCM:     True

@400000006618f4f82ac188a4 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True

@400000006618f4f82acb3534 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True

@400000006618f4f82ad42e14 INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True

@400000006618f4f82addb77c INFO:SerialBattery:Serial Number/Unique Identifier: PV-Werner

@400000006618f50927a99274 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:198/17431]

@400000006618f5092801d04c WARNING:SerialBattery:Error while executing calcMaxChargeCurrentReferringToCellVoltage(). Using default value instead.

@400000006618f5092801fb44 WARNING:SerialBattery:CELL_VOLTAGES_WHILE_CHARGING: [3.55, 3.5, 3.45, 3.4, 3.35, 3.3] â€¢ MAX_CHARGE_CURRENT_CV: [0.0, 5.5, 11.0, 55.0, 77.0, 110.0]

@400000006618f5092802169c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937

@400000006618f509280ca5bc WARNING:SerialBattery:Error while executing calcMaxDischargeCurrentReferringToCellVoltage(). Using default value instead.

@400000006618f50928484f2c WARNING:SerialBattery:CELL_VOLTAGES_WHILE_DISCHARGING: [2.7, 2.8, 2.9, 3.0, 3.1] â€¢ MAX_DISCHARGE_CURRENT_CV: [0.0, 0.0, 16.0, 32.0, 80.0]

@400000006618f50928569f3c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968

@400000006618f5093132d364 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008

@40000000661bdf8a37b1ba84 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:57/14267]

@40000000661e7ba60de3d304 ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000661e7bb7009a26e4 Traceback (most recent call last):

@40000000661e7bb7009a3e54   File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 760, in publish_battery

@40000000661e7bb7009a51dc     result = self.battery.refresh_data()

@40000000661e7bb7009a5d94   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 65, in refresh_data

@40000000661e7bb7009a711c     result = self.read_status_data()

@40000000661e7bb7009a78ec   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 85, in read_status_data

@40000000661e7bb7009c8c2c     cellbyte_count = unpack_from(

@40000000661e7bb7009c97e4 TypeError: a bytes-like object is required, not 'bool'

@40000000661e7c4714faeb14 Traceback (most recent call last):

@40000000661e7c4714fb066c   File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 760, in publish_battery

@40000000661e7c4714fb19f4     result = self.battery.refresh_data()

@40000000661e7c4714fb25ac   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 65, in refresh_data

@40000000661e7c4714fb3934     result = self.read_status_data()

@40000000661e7c4714fb4104   File "/opt/victronenergy/dbus-serialbattery/bms/jkbms.py", line 85, in read_status_data

@40000000661e7c4714fd7f3c     cellbyte_count = unpack_from(

@40000000661e7c4714fd8af4 TypeError: a bytes-like object is required, not 'bool'

@40000000661e7c783212e2c4 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7c791554f9c4 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7c7934c8cf4c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7c7a171366ec ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0

@40000000661e7cab328da874 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7cac1614dadc ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7cac349ae17c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7cad16ec7dfc ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0

@40000000661e7cde3b60b0f4 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7cdf1eea7b6c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7ce001d419fc ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7ce01fb7e944 ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0

@40000000661e7d1202823834 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7d122757098c ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7d130a8bf574 ERROR:SerialBattery:Exception occurred: TypeError("a bytes-like object is required, not 'bool'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/bms/jkbms.py line #28

@40000000661e7d13286cbb64 ERROR:SerialBattery:ERROR >>> No battery connection at /dev/ttyUSB0

@40000000661e7d45141da68c ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000661e87660ba9c56c *** CCGX booted (0) ***

@40000000661e87d10753ec54 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:117/63146]

@40000000661e87e7075e219c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:289/290]

@400000006627976d2c6420cc *** CCGX booted (0) ***

@40000000662797bd1e6b876c *** CCGX booted (0) ***

@40000000662798000c3c6c64 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@40000000662799ac38b3963c *** CCGX booted (0) ***

@40000000662799cf030fab24 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@40000000662799dc28053764 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@40000000662799f029c5794c ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000662799f12a03ca6c ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000662799f229cd3d94 ERROR:SerialBattery:>>> ERROR: No reply - returning

@4000000066279a0a1c286d6c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:163/39169]

@4000000066279a101fea4bb4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x50d5, Got 0x5030

@4000000066279a2d1d3808ac ERROR:SerialBattery:>>> ERROR: No reply - returning [len:14/46003]

@4000000066279de217ec3ea4 ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@4000000066279df6370f5064 ERROR:SerialBattery:read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

@4000000066279df9379fad6c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x550d, Got 0x5468

@4000000066279e003840c79c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x54f1, Got 0x542a

@400000006627ab5d0407e9ec ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@400000006627ab8432f8f14c ERROR:SerialBattery:>>> ERROR: No reply - returning [len:9/64233]

@400000006627ed5a0f4e82ac ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@400000006627ed6e3212a444 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x47f9, Got 0x4754

@400000006627ed7132212b04 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x48dd, Got 0x4838

@4000000066293eed1ffccdfc ERROR:SerialBattery:>>> ERROR: SOC_RESET_VOLTAGE is set to a value less than MAX_CELL_VOLTAGE. Please check the configuration.

@40000000662971e31778febc ERROR:SerialBattery:>>> ERROR: No reply - returning [len:99/177]

@40000000662b8cc421e97ee4 ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000662b8cc829cc5334 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b0a, Got 0x4a65

@40000000662b8cd1288cc29c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x0101, Got 0x022b

@40000000662b8fbe3b65297c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b19, Got 0x4a74

@40000000662b904200707ed4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b72, Got 0x4acd

@40000000662b904500999a44 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b0a, Got 0x4a65

@40000000662b91a61e753fb4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b6f, Got 0x4aca

@40000000662b91a703969634 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4b6f, Got 0x4aca

@40000000662b91aa11300064 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4ba4, Got 0x4aff

@40000000662b91ad1e49cab4 ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000662b91ae0f62703c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x0bab, Got 0x0743

@40000000662bd7c9197e449c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x5115, Got 0x5070

@40000000662bd7c919947064 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937

@40000000662bd7c919a5a2bc ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968

@40000000662bd7c91e1bb5d4 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008

@40000000662bd7e215d3c6b4 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:282/31025]

@40000000662cd2062b921b2c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x5184, Got 0x50df

@40000000662cd2062badb594 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937

@40000000662cd2062bce93a4 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968

@40000000662cd2062e16168c ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008

@40000000662cd38c2dda2ab4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x50f0, Got 0x504b

@40000000662cd38c2df5bd4c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937

@40000000662cd38c2e0d8724 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968

@40000000662cd38c33cf5034 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008

@40000000662cd38f2dcad8d4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x50d7, Got 0x5032

@40000000662d24552aa3fe24 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:0]

@40000000662d24592516a6dc ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4f4c, Got 0x4ea7

@40000000662d246d21cd01ec ERROR:SerialBattery:>>> ERROR: No reply - returning [len:80/13606]

@40000000662d29952bc72164 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4f08, Got 0x4e63

@40000000662d29982c33643c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4e92, Got 0x4ded

@40000000662d2be70063153c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4ef4, Got 0x4e4f

@40000000662d2bfd38b46544 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:280/31025]

@40000000662d2ca136c412ac ERROR:SerialBattery:>>> ERROR: No reply - returning [len:224/13645]

@40000000662d2ca136ec5744 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937

@40000000662d2ca13701bfbc ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968

@40000000662d2ca20232dfb4 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008

@40000000662d2ca226e8981c ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000662d2ca2271374c4 ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #937

@40000000662d2ca22728fc7c ERROR:SerialBattery:Exception occurred: TypeError("'<=' not supported between instances of 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/battery.py line #968

@40000000662d2ca2276f738c ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for -: 'NoneType' and 'NoneType'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #1008

@40000000662d350b2200c3ec ERROR:SerialBattery:>>> ERROR: No reply - returning [len:175/1604]

@40000000662d35d50de847a4 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4ce5, Got 0x4c40

@40000000662d35ee0c63e9c4 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:282/31025]

@40000000662d365314fc3334 ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c79, Got 0x4bd4

@40000000662d36571542506c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c7d, Got 0x4bd8

@40000000662d366b10bb8be4 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:80/20802]

@40000000662d36ea11f98a24 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:151/1541]

@40000000662e727d2871050c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c79, Got 0x4bd4

@40000000662e72802888da9c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c34, Got 0x4b8f

@40000000662e728431fa847c ERROR:SerialBattery:CRC checksum mismatch: Expected 0x4c33, Got 0x4b6c

@40000000662e76980df82624 INFO:SerialBattery:

@40000000662e76980e020d4c INFO:SerialBattery:Starting dbus-serialbattery

@40000000662e76980e182d5c INFO:SerialBattery:Venus OS v3.31

@40000000662e76980e1e72d4 INFO:SerialBattery:dbus-serialbattery v1.2.20240408

@40000000662e76a80f1f8754 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds

@40000000662e76a80f26a78c INFO:SerialBattery:Testing Jkbms

@40000000662e76a816724104 INFO:SerialBattery:Connection established to Jkbms

@40000000662e76a826467064 INFO:SerialBattery:Found existing battery with DeviceInstance = 1

@40000000662e76a830b88e9c INFO:SerialBattery:DeviceInstance = 1

@40000000662e76a830cd186c INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid

@40000000662e76a830d72a8c INFO:SerialBattery:Used DeviceInstances = ['1']

@40000000662e76a830df9e9c INFO:SerialBattery:com.victronenergy.battery.ttyUSB0

@40000000662e76a832a9e304 INFO:SerialBattery:publish config values = True

@40000000662e76a833e8d374 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0

@40000000662e76a833eec2fc INFO:SerialBattery:========== Settings ==========

@40000000662e76a833f5c7dc INFO:SerialBattery:> Connection voltage: 54.13V | Current: 3.33A | SoC: None%

@40000000662e76a833fd3634 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16

@40000000662e76a834038f34 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True

@40000000662e76a8340a3a3c INFO:SerialBattery:> MIN CELL VOLTAGE: 2.95V | MAX CELL VOLTAGE: 3.45V

@40000000662e76a83410d1bc INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 110.0A | MAX BATTERY DISCHARGE CURRENT: 80.0A

@40000000662e76a8341751cc INFO:SerialBattery:> CVCM:     True

@40000000662e76a8341dba6c INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True

@40000000662e76a8342432ac INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True

@40000000662e76a8342a8bac INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True

@40000000662e76a83430e0c4 INFO:SerialBattery:Serial Number/Unique Identifier: PV-Werner

@40000000662e76ab089770a4 ERROR:SerialBattery:>>> ERROR: No reply - returning

@40000000662e76f2122b9e74 INFO:SerialBattery:

@40000000662e76f212321e84 INFO:SerialBattery:Starting dbus-serialbattery

@40000000662e76f2124c2694 INFO:SerialBattery:Venus OS v3.31

@40000000662e76f21253d754 INFO:SerialBattery:dbus-serialbattery v1.2.20240408

@40000000662e7702133e912c INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds

@40000000662e7702134553a4 INFO:SerialBattery:Testing Jkbms

@40000000662e770216a4787c INFO:SerialBattery:Connection established to Jkbms

@40000000662e770226a77c24 INFO:SerialBattery:Found existing battery with DeviceInstance = 1

@40000000662e770232aa7774 INFO:SerialBattery:DeviceInstance = 1

@40000000662e770232c5853c INFO:SerialBattery:PID file created successfully: /var/tmp/dbus-serialbattery_1.pid

@40000000662e770232d490cc INFO:SerialBattery:Used DeviceInstances = ['1']

@40000000662e770232e12774 INFO:SerialBattery:com.victronenergy.battery.ttyUSB0

@40000000662e770234c03814 INFO:SerialBattery:publish config values = True

@40000000662e770236420d84 INFO:SerialBattery:Battery Jkbms connected to dbus from /dev/ttyUSB0

@40000000662e7702364eabfc INFO:SerialBattery:========== Settings ==========

Any other information that may be helpful
No response

Hey
Ich stehe vor derselben Thematik.
Hast du es letztendlich irgendwie gelöst bekommen?
Danke und LG
David

Why are you quoting the whole post? Anyway the MutliPlus will never sync the battery state with the BMS. You can see the battery state of the MultiPlus as a own battery. Therefore they will not sync up. Just ignore it.

Was not my plan to do so...
Thank you. As the CVL is set to float I will ignore it.


Error during starting the kernel

Getting this error:
Unhandled exception in code scheduled on thread 7
Type check failed in binding to parameter '$msg'; expected Str but got X::AdHoc (X::AdHoc.new(payload => "Coul...)
  in method start-heartbeat

As a workaround, I changed this line
https://github.com/bduggan/p6-jupyter-kernel/blob/master/lib/Jupyter/Kernel/Service.pm6#L101
to
error $!.message if $!;

thanks!


Create a Kinesis Firehose module

Creating a Firehose terraform module
The module includes :

the creation of the required iam roles both for firehose and for the cloudwatch metrics streams
the creation of s3 bucket for firehose backup
the creation of log group per firehose delivery stream
the option to create only firehose without a metrics stream

TO DO :
Allow to use an existing bucket, and not only create a new one,
its useful when creating multiple firehose streams and we dont want to have multiple separated buckets.

@oded-dd @avivgold098

Updated all of the examples - changed the source, the defaults, and of the repeated comments.
Also, added a new example for deploying multiple firehoses.
About the var of the endpoint url, im trying to update it to be based on the region input instead of the full url.

TO DO:

Add readme
Add changelolg


Various CNI log improvements

A few misc improvements to logging:

Unwrap IP address. Note Go json round trip turns v4 into a v4-in-v6.
Add pod context to most logs, so we know what we are doing and why
Standardize some of the logging messages. Remove trailing periods, for
instance
Remove a warning that logs for every process on the node in the repair
controller

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test lint

unit-tests-arm64_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test lint

unit-tests-arm64_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test unit-tests-arm64

unit-tests_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test unit-tests-arm64

unit-tests_istio
acddede3db5f305f3a1042eca490e7fceece7beb
link
true
/test unit-tests

lint_istio
5166f203a118bacaecae6d55558636c0a48724ad
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Note Go json round trip turns v4 into a v4-in-v6.

Oh good lord, really? ugh.


I adapted your code to make a 16x16 puzzle

Not sure if you are interested, but I created a version that does 16x16 instead of 9x9.
sudoku-go-master.zip

seem is good feature, can u commit PR so I can review on the github


Print better message when multiple versions of same extension is found

Description
Currently, when we have multiple versions of adapter being referenced in a solution, we print following message on console :

File version hardly makes any sense to user. Better to print Adapter/extension version or full file path.
Additionally, also validate that same message is being propagated to TestWindow in case of IDE scenarios.(Currently, no message is printed in IDE)
Steps to reproduce

Create first UnitTest Project referring 1.2.0 MSTest nuget packages
Add second UnitTest Project referring 1.3.0-beta2 MSTest nuget packages
Run tests from CLI as
vstest.console "c:\users\jagarg\source\repos\UnitTestProject3\UnitTestProject1\bin\Debug\UnitTestProject1.dll" "c:\users\jagarg\source\repos\UnitTestProject3\UnitTestProject3\bin\Debug\UnitTestProject3.dll"

Expected behavior
Better output message.
Actual behavior
Shown in image above

Closing, as not high priority


Handling loading in local registered components is not working.

Version
2.6.10
Reproduction link
https://codesandbox.io/s/vue-template-sejok
Steps to reproduce
Try to lazy load local registered component the way described here:
https://vuejs.org/v2/guide/components-dynamic-async.html#Handling-Loading-State
Minimal repro:
https://codesandbox.io/s/vue-template-sejok
What is expected?
Displaying loader component before rendering target component like described in:
https://vuejs.org/v2/guide/components-dynamic-async.html#Handling-Loading-State
What is actually happening?
Component is displayed after promise resolving without displaying loader before.

I don't know if this is a bug if not I think this should be feature request because for creating PWA displaying loaders during preparing app to work is crucial.

Your delay is bigger than the time the component takes to load, lower it down to 200 (ms) for example

Remember you can use the forum or the Discord chat to ask quick questions!

Shoudn't loader be displayed during delay? If not what is purpose of this delay?
For example to avoid jumping content in application I want delay displaying content by some value eg: one round of loader, 200ms. To deliver "smooth" feeling to user of loading component even if he has good internet connection and components will download in 50ms.

No, the delay purpose is precisely that (as said in the doc link you mentioned)

For example to avoid jumping content in application I want delay displaying content by some value eg: one round of loader, 200ms. To deliver "smooth" feeling to user of loading component even if he has good internet connection and components will download in 50ms.

That's something you will either have to:

handle in a custom dynamic component
creating a function that wraps your dynamic imports so they last for at least 200ms and set the delay to 0, so loaders are displayed at least for 200ms

I get it sorry I missunderstood documentation I thinked that this is delay for whole rendering not only loader

I created this second solution and now its working fine thank you for help.


By default use toLocaleString() when generating labels for the axes. …

This prevents poorly formatted numbers due to doubles. It also makes large numbers nicer with commas by default.
Old behaviour

New behaviour

maybe i'm doing something wrong, but does this still exist in 2.0?

@davis I don't recall anything explicitly breaking it. How small are your numbers?

sorry I should have been more descriptive.
My numbers range between 100,000 and 1,000,000 (and there are no commas in either the tooltips or Y axes)

hmmmm, you may need to provide a custom callback for the scale and tooltip to format the number the way you want.

so the library no longer uses toLocaleString?
if not, how come it was taken out? but yeah, for now i'll provide a callback. I think having commas by default would be nice.

@davis to be honest, I'm not sure. I don't remember taking it out .. maybe someone else did.


ng-model in select-2 takes value from contents of the option, instead of ng-value, when the contents contain more than one Angular expression

Note: for support questions, please use one of these channels: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question. This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Using ng-model in a select-2 takes the value from the contents of the option (the displayed text in the dropdown), instead of the ng-value, when the contents contain more than one Angular expression. When it's just one Angular expression this does not happen, as expected.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
Here is my example:
                 <select ui-select2="{dropdownAutoWidth: true}"
                              ng-change="copyFromTaskDefinition(formBuilder.taskDefinitionNameToCopy)"
                              ng-model="formBuilder.taskDefinitionNameToCopy">
                        <option value=""></option>
                        <option
                            ng-repeat="otherTask in otherTaskDefinitions | orderBy:'taskDefinitionName'"
                            ng-value="otherTask.taskDefinitionName">
                            {{ otherTask.taskDefinitionName }}
                            {{ otherTask.isDraft && '(draft)' || '' }}
                        </option>
                      </select>

What is the expected behavior?
The expected behavior is that ng-model is populated with "otherTask.taskDefinitionName" from ng-value. But instead, it is populated with
{{ otherTask.taskDefinitionName }}
                            {{ otherTask.isDraft && '(draft)' || '' }}

whitespace and all.
What is the motivation / use case for changing the behavior?
This leads to bugs in consumer code because the ng-model is expected to be populated with the ng-value instead of the displayed text
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
Other information (e.g. stacktraces, related issues, suggestions how to fix)

This is a variation of this known issue and the following feature of the select directive:

When an item in the <select> menu is selected, the value of the selected option will be bound to the model identified by the ngModel directive. With static or repeated options, this is the content of the value attribute or the textContent of the <option>, if the value attribute is missing.

(emphasis mine)
So, because there is no value attribute at first, the textContent is applied as value. The reason why it works with one interpolation but not with more is that the order of execution is different (due to some optimization for single interpolations):

With one interpolation: The interpolation is applied immediately, setting value to textContent. ngValue then applies the correct value and overwrites textContent.
With two interpolation: The interpolation is deferred. ngValue sets the value attribute. Then the interpolation overwrites it with the textContent.

--
BTW, this also happens with the native select: Demo
Although it is not an issue any more on 1.6 (possibly due to ngValue setting the value property in addition to the attribute), I think it is reasonable for 1.5.x to prevent the aforementioned select feature if ngValue is present (not only value).
As a workaround, you can provide a dummy value attribute that will be overwritten by ngValue (as shown in my demo above).

So, it turns out it was explicitly fixed on 1.6.x (here) as part of a larger change that was never backported as it included breaking changes.

Ah thank you for the explanation @gkalpak - that makes sense now why it is happening.

I think it might be possible to just backport that bit of the fix. What do you think @Narretz ?

I'll take a look :D

Fix was indeed pretty easy to backport.
See #15420

Fixed in https://github.com/angular/angular.js/commit/2e6c7d48887e4200b1ca7bd5ac81410a010efae9


NGINX + PHP-FPM net::ERR_INCOMPLETE_CHUNKED_ENCODING

Operating System Information:
Windows Build Number: 10.0.15063 (15063.296)
Windows Version: Windows 10 Home Single Language x64
Version: 1703
Issue:
Running an NGINX instance with PHP-FPM enabled gives a timeout and an error on console net::ERR_INCOMPLETE_CHUNKED_ENCODING
Steps to reproduce:

Enable/Install WLS
Update/Upgrade (apt update && apt upgrade)
Install NGINX
Install php-fpm
Configure NGINX to use php7.0-fpmsocket and support index.php file
Delete default index and create a new like following:

index.php
<?php
phpinfo();

Behavior:
After enabling both services (service nginx start and service php7.0-fpm start), entering address <IP_ADDRESS> or localhost renders the phpinfo() but keeps waiting for a request finish. Secods later, on console an error will appear that reads net::ERR_INCOMPLETE_CHUNKED_ENCODING
Accesing the default index.html works alright, so I assume it all relies on php-fpm side

Check out my option
https://github.com/Microsoft/BashOnWindows/issues/1851#issuecomment-294299975

@Line117 I already checked your answer, here's what I did:
TL:DR
Adding fastcgi_buffering off; as explained here did the trick, now pages are loading fast and smoothly.

Install NGINX from stable releases (the same as you)
From here on, doing this changes the default user, because installing from Ubuntu repos gives you www-data user, whereas installing from NGINX repos gives you nginx user.
Install php-fpm
In the nginx.conf file, added on the http block the line fastcgi_buffering off;.
Restart nginx and php7.0-fpm service

I'd take a stake (blindly) and assume that the buffering issue it's due to disk access/filesystem related. I guess I can close this issue.

After adding fastcgi_buffering off; I've encountered the fastcgi_cache does not work (fastcgi became not to save any cache file).
As being described in nginx's manual, nginx seemed not try to read the response from the FastCGI server.
So, I've increased the fastcgi_buffer_size.
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;

Now, the net::ERR_INCOMPLETE_CHUNKED_ENCODING had disappeared and fastcgi_cache works.

After adding fastcgi_buffering off; I've encountered the fastcgi_cache does not work (fastcgi became not to save any cache file).
As being described in nginx's manual, nginx seemed not try to read the response from the FastCGI server.
So, I've increased the fastcgi_buffer_size.
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;

Now, the net::ERR_INCOMPLETE_CHUNKED_ENCODING had disappeared and fastcgi_cache works.

I'm running into a slightly different issue: about 2/5 of the requests hangs, and will eventually load if I keep refreshing.
Using
fastcgi_buffering off;

solved the problem.
I also tried your suggesting with fastcgi_buffer_size, but it didn't help for me. At least in my environment, it seems that the bug is with this module.


Fix documentation link errors

In the GitHub docs for admin-on-rest, most links are pointing to a .html extension which returns a 404 page from GitHub. I replaced them with a .md extension. Things look great. However, there are several places where this is this case and I am wondering if this is what you intended, if this PR gets merged, I will go further and replace all .html links to a.md
Note: Only .html links that points to resources within admin-on-rest and not to an external resource(s) will be updated.

The links are to html because the md files are used to generate for documentation site.
See Admin-on-rest - Actions, search "as a custom action:" and see it in action (pun not intended).

Yeo, as leesei says, it's intentional. Read the docs at https://marmelab.com/admin-on-rest/ rather than on gitHub.

Thanks for the update.


Fix and tighten large argument debug line

This if statement had its inequality the wrong way round and would only truncate arguments when the effective log level was DEBUG or higher:
If the effective log level was exactly DEBUG, then the = part of the inequality fired, and the log message was truncated correctly.
If the effective log level was less than DEBUG (for example, imagine a user-defined TRACE level) then the log message was not truncated, and an unrestricted length log message was output.
If the effective log level was more than DEBUG (for example, WARNING, the default if initialize_logging=False), then the expense of truncation would be incurred, but the result would be discarded by being logged at DEBUG level.
This PR flips that inequality round to correct the behaviour.
It moves all of the log message processing into the if statement so that it all only happens if the log level is DEBUG or lower.
The possibly expensive conversion of each argument to a string via repr is factored into a variable.
Changed Behaviour
Logging should be a bit more efficient. Users who were relying on this log line outputting the full repr at low log levels will be disappointed. That's an obscure use case though.
Type of change

Bug fix
Update to human readable text: Documentation/error messages/comments

oop, bug in factoring out repr...


[Vertex AI] Add presencePenalty and frequencyPenalty

Added presencePenalty and frequencyPenalty to GenerationConfig.

cc: @rachelsaunders Please let us know if we should update the doc comments for presencePenalty and frequencyPenalty... I copied the Cloud docs but they leave more than a little to be desired.

cc: @rachelsaunders Please let us know if we should update the doc comments for presencePenalty and frequencyPenalty... I copied the Cloud docs but they leave more than a little to be desired.

I found more details in the generate content guide and Gemini helped me write some comments but feel free to wordsmith.


Migrate steps to folders

494 files changed

I think this is going to be a merge-it-and-see-what-happened PR.
Do you have the clone instruction changes ready for https://cloud.google.com/ruby/getting-started/hello-world#download_app and the other pages?

Working on the doc updates.  Went ahead and sent the pull to unblock refactoring of PR17

Cool, lets merge this. I see you have the doc changes ready as well.