Closed p0l0us closed 9 months ago
After changing CAN_FRAMES
in the jkbms_can.py
to following, some BMS data was read correctly:
Connection voltage: 13.1V | Current: -4.5A | SoC: 4%
but cell count 3 still doesn't seem to be correct and I'm still facing the TypeError
CAN_FRAMES = {
BATT_STAT: 0x02F5,
CELL_VOLT: 0x04F5,
CELL_TEMP: 0x05F5,
ALM_INFO: 0x07F5,
}
2024-02-04 15:32:55.582081500 INFO:SerialBattery:
2024-02-04 15:32:55.582713500 INFO:SerialBattery:Starting dbus-serialbattery
2024-02-04 15:32:55.583704500 INFO:SerialBattery:dbus-serialbattery v1.0.20231117dev
2024-02-04 15:32:56.323313500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2024-02-04 15:32:56.323938500 INFO:SerialBattery:Testing Jkbms_Can
2024-02-04 15:32:56.324844500 DEBUG:SerialBattery:Can bus init
2024-02-04 15:32:56.399649500 DEBUG:SerialBattery:Can bus init done
2024-02-04 15:32:57.748679500 INFO:SerialBattery:Connection established to Jkbms_Can
2024-02-04 15:32:57.749491500 INFO:SerialBattery:Battery Jkbms_Can connected to dbus from can0
2024-02-04 15:32:57.750182500 INFO:SerialBattery:========== Settings ==========
2024-02-04 15:32:57.750917500 INFO:SerialBattery:> Connection voltage: 13.1V | Current: -4.5A | SoC: 4%
2024-02-04 15:32:57.751556500 INFO:SerialBattery:> Cell count: 3 | Cells populated: 3
2024-02-04 15:32:57.752282500 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
2024-02-04 15:32:57.752952500 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 50.0A | MAX BATTERY DISCHARGE CURRENT: 60.0A
2024-02-04 15:32:57.753781500 INFO:SerialBattery:> CVCM: True
2024-02-04 15:32:57.754468500 INFO:SerialBattery:> MIN CELL VOLTAGE: 2.9V | MAX CELL VOLTAGE: 3.45V
2024-02-04 15:32:57.755121500 INFO:SerialBattery:> CCCM CV: True | DCCM CV: True
2024-02-04 15:32:57.755853500 INFO:SerialBattery:> CCCM T: True | DCCM T: True
2024-02-04 15:32:57.756706500 INFO:SerialBattery:> CCCM SOC: True | DCCM SOC: True
2024-02-04 15:32:57.757466500 INFO:SerialBattery:Serial Number/Unique Identifier: JKBMSCAN3cells_NoneAh
2024-02-04 15:32:57.811788500 INFO:SerialBattery:DeviceInstance = 4
2024-02-04 15:32:57.812386500 INFO:SerialBattery:com.victronenergy.battery.can0
2024-02-04 15:32:57.834986500 INFO:SerialBattery:publish config values = 1
2024-02-04 15:32:59.406252500 Traceback (most recent call last):
2024-02-04 15:32:59.406258500 File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 389, in publish_battery
2024-02-04 15:32:59.406263500 self.battery.manage_charge_current()
2024-02-04 15:32:59.406266500 File "/opt/victronenergy/dbus-serialbattery/battery.py", line 580, in manage_charge_current
2024-02-04 15:32:59.406271500 if utils.MAX_BATTERY_CHARGE_CURRENT > self.max_battery_charge_current:
2024-02-04 15:32:59.406275500 TypeError: '>' not supported between instances of 'float' and 'NoneType'
2024-02-04 15:32:59.630628500
2024-02-04 15:33:00.765353500 INFO:SerialBattery:
2024-02-04 15:33:00.766070500 INFO:SerialBattery:Starting dbus-serialbattery
2024-02-04 15:33:00.767314500 INFO:SerialBattery:dbus-serialbattery v1.0.20231117dev
2024-02-04 15:33:01.537696500 INFO:SerialBattery:-- Testing BMS: 1 of 3 rounds
2024-02-04 15:33:01.538409500 INFO:SerialBattery:Testing Jkbms_Can
2024-02-04 15:33:01.539847500 DEBUG:SerialBattery:Can bus init
2024-02-04 15:33:01.616658500 DEBUG:SerialBattery:Can bus init done
It seems exception and rest of troubles are fixed by following:
jkbms_can.py
self.max_battery_current = MAX_BATTERY_CHARGE_CURRENT
change to
self.max_battery_charge_current = MAX_BATTERY_CHARGE_CURRENT
Same self.max_battery_charge_current
issue seems to be in daly_can.py
I found the CAN_FRAMES are different for Black and Silver JK Bms. So I introduced another fix to deal with it: https://github.com/mr-manuel/venus-os_dbus-serialbattery/pull/24
Describe the bug
Hi, I'm trying to run my Jk bms over CAN bus using this project. When I setup everything and make running, the bms entry is appearing and disappearing from the VenusOS screen - most likely the driver is constantly restarting or so. When it is visible, no data shown (all fields empty).
See logs bellow for details. It looks like there is
Cells populated: 0
which leads toTypeError: '>' not supported between instances of 'float' and 'NoneType'
. Can anyone give me any ideas ?Similar problem with zero cells I noticed with
Daly_Can
.I tested with
master
(commite3206f7
) anddev
(commit5e025e6
). Project didn't run with latest release since I had a python wheels issue.Hardware: RaspberryPI zero 2w with clean VenusOS 3.14 large image, CAN Bus adapter MCP2515/TJA1050, JK BMS B2A8S20P heat can.
CAN adapter is connected according to: https://forums.raspberrypi.com/viewtopic.php?t=141052, with
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=12
in bootconfig.txt
. I confirmed that mycan0
works against computer at 250kbps. I see "some" can messages from the JK bms on the computer as well in the canablecangaroo
app (all are on the same can bus).candump can0
How to reproduce
Expected behavior
I see the Jk bms entry on the venusos board.
Driver version
e3206f7
Venus OS device type
Raspberry Pi 2
Venus OS version
3.14
BMS type
Daly Smart BMS, JKBMS / Heltec BMS
Cell count
4
Battery count
1
Connection type
Serial USB adapter to TTL
Config file
Relevant log output
Any other information that may be helpful
No response