Skip to content

Serialbattery on ttyUSB0 stops as soon as ttyUSB10 got connected #230

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
6 tasks done
wawibu opened this issue Mar 29, 2025 · 2 comments
Closed
6 tasks done

Serialbattery on ttyUSB0 stops as soon as ttyUSB10 got connected #230

wawibu opened this issue Mar 29, 2025 · 2 comments
Labels
support Support request

Comments

@wawibu
Copy link

wawibu commented Mar 29, 2025

Describe the problem

I have a fresh v3.54 Venus OS on a Raspberry Pi3 installed. Serialbattery works as expected - as it also did for the last 2 years - until I connect the 2nd USB to VE.direct adapter.
Right now the following USB devices are connected directly to the Raspi:
MK3, EM540 USB Adapter, Serialbattery via original USB to RS485 Adapter and an external powered USB Hub.
To the Hub there is one USB 2 VE.direct adapters connected USB 2 VE.direct.
That said ttyUSB0 to ttyUSB6 are now in use.
As soon as I connect the 2nd USB 2 VE.direct adapter the serialbattery on ttyUSB0 stops working. This will create ttyUSB7 to ttyUSB10. The serial starter initiated and starts to scan ttyUSB7, ttyUSB8, ttyUSB9 and ttyUSB10 (where no device is connected). ttyUSB7, 8 and 9 are identified as vedirect-interface. As port 10 is open it tested all the different types. While doing so, it initiates also a rescan of ttyUSB0 (where the JK is connected). That results in loosing the connection to the JK. As soon as I disconnect the Adapter, ttyUSB0 gets started as serialbattery.

Fairly said, I'm not sure if this is an issue with serialbattery or with the serial starter.

Hope someone can help to get this sorted out.

Installation method

Install script from the documentation

Driver version of the currently installed driver

v1.6.20250131

Driver version of the last known working driver

No response

Venus OS device type

Raspberry Pi 3

Venus OS version

v3.54

BMS type

JKBMS (Heltec BMS)

Cell count

16

Battery count

1

Connection type

Serial USB adapter to RS485

USB hub

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

Config file

[DEFAULT]

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

; Enter custom battery names here or change it over the GUI
; Example:
;     /dev/ttyUSB0:My first battery
;     /dev/ttyUSB0:My first battery,/dev/ttyUSB1:My second battery
CUSTOM_BATTERY_NAMES = "3. JKBMS"

; --------- Battery Current limits ---------
MAX_BATTERY_CHARGE_CURRENT    = 100.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.900
; Max voltage (can seen as absorption voltage)
; TG-------------------------------
; default 3.550 => 56.8
; adjusted 3.500 = > 56.0 << this should allow DC Feed In without an overvoltage msg from BMS
MAX_CELL_VOLTAGE   = 3.500
; 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
SOC_RESET_VOLTAGE = 3.650
; 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 =


; --------- Bluetooth BMS ---------
; Description: Specify the Bluetooth BMS and it's MAC address that you want to install. Leave emty to disable
; -- Available Bluetooth BMS:
; Jkbms_Ble, LltJbd_Ble
; Example for one BMS:
; BLUETOOTH_BMS = Jkbms_Ble C8:47:8C:00:00:00
; Example for multiple BMS:
; BLUETOOTH_BMS = Jkbms_Ble C8:47:8C:00:00:00, Jkbms_Ble C8:47:8C:00:00:11, Jkbms_Ble C8:47:8C:00:00:22
BLUETOOTH_BMS =


; --------- Bluetooth use USB ---------
; Description:  Some users reported issues to the built in bluetooth module, you can try to fix it with an USB
;               module. After a change you have to run reinstall-local.sh and to manual reboot the device!
;               The usb bluetooth module must have BLE support (bluetooth version >= 4.0)
;               Other bluetooth devices such as Ruuvi tags not tested yet.
; False: Use the built in bluetooth module
; True: Disable built in bluetooth module and try to use USB module
BLUETOOTH_USE_USB = False


; --------- CAN BMS ---------
; Description: Specify the CAN port(s) where the BMS is connected to. Leave empty to disable
; -- Available CAN BMS:
; Daly_Can, Jkbms_Can
; Example for one CAN port:
; CAN_PORT = can0
; Example for multiple CAN ports:
; CAN_PORT = can0, can8, can9
CAN_PORT =


; --------- 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 300 (fixed)
;                      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: 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%
;          OR
;          The battery reached max voltage of 55.2V and the max cell difference is 0.010V, then switch to float
;          voltage of 53.6V after 300 additional seconds to don't stress the batteries. Allow max voltage of
;          55.2V again if max cell difference is above 0.080V or SoC below 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.010
; Specify cell voltage diff where MAX_VOLTAGE_TIME_SEC restarts if diff is bigger
CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_TIME_RESTART = 0.013
; 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.080

; -- 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.30
MAX_CHARGE_CURRENT_CV_FRACTION =    0, 0.05,  0.5,    1

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


; --------- Cell 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 = False
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
TEMPERATURE_LIMITS_WHILE_CHARGING = 0,   2,   5,  10,  15, 20, 35,  40, 55
MAX_CHARGE_CURRENT_T_FRACTION     = 0, 0.1, 0.2, 0.4, 0.8,  1,  1, 0.4,  0

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


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

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

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

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

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


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


; --------- Time-To-Soc ---------
; Description: Calculates the time to a specific SoC
; Example: TIME_TO_SOC_POINTS = 50, 25, 15, 0
;          6h 24m remaining until 50% SoC
;          17h 36m remaining until 25% SoC
;          22h 5m remaining until 15% SoC
;          28h 48m remaining until 0% SoC
; Set of SoC percentages to report on dbus and MQTT. The more you specify the more it will impact system performance.
; [Valid values 0-100, comma separated list. More that 20 intervals are not recommended]
; Example: TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0
; Leave empty to disable
TIME_TO_SOC_POINTS = 100,95,90,80,75,50,25,20,10,5,0
; Specify TimeToSoc value type [Valid values 1, 2, 3]
; 1 Seconds
; 2 Time string <days>d <hours>h <minutes>m <seconds>s
; 3 Both seconds and time string "<seconds> [<days>d <hours>h <minutes>m <seconds>s]"
TIME_TO_SOC_VALUE_TYPE = 3
; Specify in seconds how often the TimeToSoc should be recalculated
; Minimum are 5 seconds to prevent CPU overload
TIME_TO_SOC_RECALCULATE_EVERY = 60
; Include TimeToSoC points when moving away from the SoC point [Valid values True, False]
; These will be as negative time. Disabling this improves performance slightly
TIME_TO_SOC_INC_FROM = False


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

; Exclute this serial devices from the driver startup
; Example: /dev/ttyUSB2, /dev/ttyUSB4
EXCLUDED_DEVICES =

; Auto reset SoC
; If on, then SoC is reset to 100%, if the value switches from absorption to float voltage
; Currently only working for Daly BMS and JKBMS BLE
AUTO_RESET_SOC = True

; 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


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

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

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

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

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


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

Relevant log output

/data/log/serial-starter/current
2025-03-28 13:35:08.521139500 *** CCGX booted (0) ***
2025-03-28 13:35:09.300068500 *** starting serial-starter ***
2025-03-28 13:35:09.874714500 serstart starting
2025-03-28 13:35:09.883238500 INFO: loading config file /etc/venus/serial-starter.conf
2025-03-28 13:35:11.036102500 INFO: loading config file /data/conf/serial-starter.d/dbus-serialbattery.conf
2025-03-28 13:35:13.289131500 INFO: Create daemontools service dbus-modbus-client.serial.ttySC0
2025-03-28 13:35:14.825455500 INFO: Create daemontools service dbus-modbus-client.serial.ttySC1
2025-03-28 13:35:16.688795500 INFO: Create daemontools service dbus-serialbattery.ttyUSB0
2025-03-28 13:35:18.447533500 INFO: Create daemontools service mk2-dbus.ttyUSB1
2025-03-28 13:35:19.645403500 INFO: Start service dbus-modbus-client.serial.ttySC0
2025-03-28 13:35:20.669875500 INFO: Create daemontools service gps-dbus.ttyUSB2
2025-03-28 13:35:21.173860500 INFO: Start service dbus-modbus-client.serial.ttySC1
2025-03-28 13:35:22.988134500 INFO: Start service dbus-serialbattery.ttyUSB0 once
2025-03-28 13:35:24.485409500 INFO: Create daemontools service vedirect-interface.ttyUSB3
2025-03-28 13:35:24.751568500 INFO: Start service mk2-dbus.ttyUSB1
2025-03-28 13:35:27.186030500 INFO: Start service gps-dbus.ttyUSB2 once
2025-03-28 13:35:27.779076500 INFO: Create daemontools service vedirect-interface.ttyUSB4
2025-03-28 13:35:30.325363500 INFO: Create daemontools service vedirect-interface.ttyUSB5
2025-03-28 13:35:31.205385500 INFO: Start service vedirect-interface.ttyUSB3 once
2025-03-28 13:35:32.658161500 INFO: Create daemontools service vedirect-interface.ttyUSB6
2025-03-28 13:35:34.067593500 INFO: Start service vedirect-interface.ttyUSB4 once
2025-03-28 13:35:36.535802500 INFO: Start service vedirect-interface.ttyUSB5 once
2025-03-28 13:35:38.929272500 INFO: Start service vedirect-interface.ttyUSB6 once
2025-03-28 13:35:39.825476500 INFO: Create daemontools service vedirect-interface.ttyUSB2
2025-03-28 13:35:46.118001500 INFO: Start service vedirect-interface.ttyUSB2 once
2025-03-28 13:35:46.581504500 INFO: Create daemontools service dbus-cgwacs.ttyUSB6
2025-03-28 13:36:07.455374500 INFO: Start service dbus-cgwacs.ttyUSB6 once
2025-03-28 13:37:16.438570500 INFO: Create daemontools service vedirect-interface.ttyUSB10
2025-03-28 13:37:17.744318500 INFO: Create daemontools service vedirect-interface.ttyUSB7
2025-03-28 13:37:18.964083500 INFO: Create daemontools service vedirect-interface.ttyUSB8
2025-03-28 13:37:20.150598500 INFO: Create daemontools service vedirect-interface.ttyUSB9
2025-03-28 13:37:22.484216500 INFO: Start service vedirect-interface.ttyUSB10 once
2025-03-28 13:37:23.797684500 INFO: Start service vedirect-interface.ttyUSB7 once
2025-03-28 13:37:25.005211500 INFO: Start service vedirect-interface.ttyUSB8 once
2025-03-28 13:37:26.191320500 INFO: Start service vedirect-interface.ttyUSB9 once
2025-03-28 13:37:27.588489500 INFO: Create daemontools service dbus-serialbattery.ttyUSB10
2025-03-28 13:37:33.644090500 INFO: Start service dbus-serialbattery.ttyUSB10 once
2025-03-28 13:37:54.195135500 INFO: Create daemontools service gps-dbus.ttyUSB10
2025-03-28 13:38:00.251035500 INFO: Start service gps-dbus.ttyUSB10 once
2025-03-28 13:38:10.124794500 INFO: Start service vedirect-interface.ttyUSB10 once
2025-03-28 13:38:13.415679500 INFO: Start service dbus-serialbattery.ttyUSB10 once
2025-03-28 13:38:37.765334500 INFO: Start service gps-dbus.ttyUSB10 once
2025-03-28 13:38:47.401375500 INFO: Start service vedirect-interface.ttyUSB10 once
2025-03-28 13:38:50.695516500 INFO: Create daemontools service dbus-cgwacs.ttyUSB0
2025-03-28 13:38:51.928817500 INFO: Start service dbus-serialbattery.ttyUSB10 once
2025-03-28 13:38:56.738889500 INFO: Start service dbus-cgwacs.ttyUSB0 once
2025-03-28 13:39:01.549644500 INFO: Create daemontools service gps-dbus.ttyUSB0
2025-03-28 13:39:07.598363500 INFO: Start service gps-dbus.ttyUSB0 once
2025-03-28 13:39:15.381904500 INFO: Start service gps-dbus.ttyUSB10 once
2025-03-28 13:39:18.701691500 INFO: Create daemontools service vedirect-interface.ttyUSB0
2025-03-28 13:39:24.082279500 INFO: Start service vedirect-interface.ttyUSB10 once
2025-03-28 13:39:24.753982500 INFO: Start service vedirect-interface.ttyUSB0 once
2025-03-28 13:39:27.364771500 INFO: Start service dbus-serialbattery.ttyUSB10 once
2025-03-28 13:39:30.714232500 INFO: Start service dbus-serialbattery.ttyUSB0 once

/data/log/dbus-serialbattery.ttyUSB0/current
2025-03-28 13:35:08.151281500 *** CCGX booted (0) ***
2025-03-28 13:36:07.357536500 INFO:SerialBattery:
2025-03-28 13:36:07.357927500 INFO:SerialBattery:Starting dbus-serialbattery
2025-03-28 13:36:07.366807500 INFO:SerialBattery:Venus OS v3.54 running on Raspberry Pi 3 Model B Rev 1.2
2025-03-28 13:36:07.366815500 INFO:SerialBattery:dbus-serialbattery v1.6.20250131
2025-03-28 13:36:23.376896500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2025-03-28 13:36:23.377398500 INFO:SerialBattery:Testing Jkbms
2025-03-28 13:36:23.524404500 INFO:SerialBattery:-- Connection established to Jkbms
2025-03-28 13:36:27.150423500 INFO:SerialBattery:Reconnected to previously identified battery with DeviceInstance: 1
2025-03-28 13:36:28.151354500 INFO:SerialBattery:Use DeviceInstance: 1
2025-03-28 13:36:28.151360500 INFO:SerialBattery:Use dbus ServiceName: com.victronenergy.battery.ttyUSB0
2025-03-28 13:36:28.428926500 INFO:SerialBattery:Polling interval: 1.000 s
2025-03-28 13:36:28.451316500 INFO:SerialBattery:Battery JKBMS connected to dbus from /dev/ttyUSB0
2025-03-28 13:36:28.451324500 INFO:SerialBattery:========== Settings ==========
2025-03-28 13:36:28.451327500 INFO:SerialBattery:> Connection voltage: 55.02 V | Current: -8.16 A | SoC: 96%
2025-03-28 13:36:28.451332500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
2025-03-28 13:36:28.451335500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2025-03-28 13:36:28.451339500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.900 V | MAX CELL VOLTAGE: 3.500 V| FLOAT CELL VOLTAGE: 3.375 V
2025-03-28 13:36:28.451531500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0 A | MAX BATTERY DISCHARGE CURRENT: 80.0 A
2025-03-28 13:36:28.451537500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 120.0 A | MAX BATTERY DISCHARGE CURRENT: 120.0 A (read from BMS)
2025-03-28 13:36:28.481270500 INFO:SerialBattery:> CVCM:     True
2025-03-28 13:36:28.481277500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2025-03-28 13:36:28.481281500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2025-03-28 13:36:28.481284500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: False
2025-03-28 13:36:28.481288500 INFO:SerialBattery:> CHARGE FET: True | DISCHARGE FET: True | BALANCE FET: True
2025-03-28 13:36:28.481292500 INFO:SerialBattery:Serial Number/Unique Identifier: Battery#1
2025-03-28 13:37:42.539737500 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:224/290]
2025-03-28 13:37:42.546306500 INFO:SerialBattery:cell_voltages_good: False - min: 3.456 > 3.25 - max: 3.505 < 3.35
2025-03-28 13:37:59.497511500 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:290/290]
2025-03-28 13:37:59.507111500 ERROR:SerialBattery:>>> ERROR: Battery does not respond, init/reset values <<<
2025-03-28 13:37:59.527535500 WARNING:SerialBattery:Polling data took 16.025 seconds. Automatically increase interval in 3 cycles.
2025-03-28 13:38:15.587545500 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:258/290]
2025-03-28 13:38:15.609813500 WARNING:SerialBattery:Polling data took 16.035 seconds. Automatically increase interval in 2 cycles.
2025-03-28 13:38:31.668733500 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:271/290]
2025-03-28 13:38:31.686071500 WARNING:SerialBattery:Polling data took 16.025 seconds. Automatically increase interval in 1 cycles.
2025-03-28 13:38:47.763791500 ERROR:SerialBattery:>>> ERROR: No reply - returning [len:266/290]
2025-03-28 13:38:47.779488500 ERROR:SerialBattery:Non blocking exception occurred: TypeError("unsupported operand type(s) for /: 'NoneType' and 'float'") of type <class 'TypeError'> in /opt/victronenergy/dbus-serialbattery/dbushelper.py line #988
2025-03-28 13:38:47.781368500 WARNING:SerialBattery:Polling data took 16.058 seconds. Automatically increase interval in 0 cycles.
2025-03-28 13:38:47.783188500 WARNING:SerialBattery:Polling took too long for the last 5 cycles. Set to 16.500 s
2025-03-28 13:39:34.326191500 INFO:SerialBattery:
2025-03-28 13:39:34.326196500 INFO:SerialBattery:Starting dbus-serialbattery
2025-03-28 13:39:34.328833500 INFO:SerialBattery:Venus OS v3.54 running on Raspberry Pi 3 Model B Rev 1.2
2025-03-28 13:39:34.329270500 INFO:SerialBattery:dbus-serialbattery v1.6.20250131
2025-03-28 13:39:50.344135500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2025-03-28 13:39:50.344626500 INFO:SerialBattery:Testing Jkbms
2025-03-28 13:39:50.476976500 INFO:SerialBattery:-- Connection established to Jkbms
2025-03-28 13:39:51.478353500 INFO:SerialBattery:Reconnected to previously identified battery with DeviceInstance: 1
2025-03-28 13:39:51.719753500 INFO:SerialBattery:Use DeviceInstance: 1
2025-03-28 13:39:51.721006500 INFO:SerialBattery:Use dbus ServiceName: com.victronenergy.battery.ttyUSB0
2025-03-28 13:39:51.811336500 INFO:SerialBattery:Polling interval: 1.000 s
2025-03-28 13:39:51.811343500 INFO:SerialBattery:Battery JKBMS connected to dbus from /dev/ttyUSB0
2025-03-28 13:39:51.811347500 INFO:SerialBattery:========== Settings ==========
2025-03-28 13:39:51.811350500 INFO:SerialBattery:> Connection voltage: 54.26 V | Current: 1.36 A | SoC: 96%
2025-03-28 13:39:51.811355500 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
2025-03-28 13:39:51.811359500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2025-03-28 13:39:51.811362500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.900 V | MAX CELL VOLTAGE: 3.500 V| FLOAT CELL VOLTAGE: 3.375 V
2025-03-28 13:39:51.811489500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0 A | MAX BATTERY DISCHARGE CURRENT: 80.0 A
2025-03-28 13:39:51.811495500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 120.0 A | MAX BATTERY DISCHARGE CURRENT: 120.0 A (read from BMS)
2025-03-28 13:39:51.811501500 INFO:SerialBattery:> CVCM:     True
2025-03-28 13:39:51.811504500 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
2025-03-28 13:39:51.811603500 INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
2025-03-28 13:39:51.811606500 INFO:SerialBattery:> CCCM SOC: False | DCCM SOC: False
2025-03-28 13:39:51.811610500 INFO:SerialBattery:> CHARGE FET: True | DISCHARGE FET: True | BALANCE FET: True
2025-03-28 13:39:51.811615500 INFO:SerialBattery:Serial Number/Unique Identifier: Battery#1

Any other information that may be helpful

No response

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

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

Albarge commented Mar 31, 2025

Just thought before I create my own issue topic, I'm also having similar Error's on V3.54 with 1.6.20250131, It looks like it might be the same as #227 (comment) Also my Ekrano is unstable and reboots a few times a day.

@mr-manuel
Copy link
Owner

Sounds very complex and a Venus OS problem and not a driver problem, since USB devices are not managed by this driver. Let's try to make your problem more clear.

Can you unplug all USB devices an then run lsusb. Then connect the first USB device and run lsusb again. Check, if everything is working properly and note it. Proceed with the next USB device, run lsusb again and note, if there is something wrong.

Should look like this then:

lsusb
output.....
No USB devices connected

Connecting USB device XY
lsusb
output....
Everything is working as expected

Connecting USB device XZ
lsusb
output...
Everything is working as expected

...

Connecting USB device ZZ
lsusb
output...
Now the problem occurs

Please also try the latest Venus OS 3.60~49 or newer, which has a newer base OS.

@mr-manuel mr-manuel closed this as not planned Won't fix, can't repro, duplicate, stale Apr 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
support Support request
Projects
None yet
Development

No branches or pull requests

3 participants