fl4p/batmon-ha

DALY BMS checksum errors

danbi opened this issue · 4 comments

Since few weeks I observe frequent checksum errors when querying my DALY BMSs. Here is one example.
What confuses me is that the expected checksum is always the same, but it always gets a different one.
It is the same for all BMSes, not just this one.

The Bluetooth connection is far from ideal, but when it works it works stable... until it doesn't.

Paste log output between BEGIN and END:
BEGIN 
18:57:36 INFO [sampling] connecting bms DalyBt(40:16:06:01:20:12,battery3)
18:57:36 INFO [main] mqtt watchdog loop started with timeout 300.0s
18:57:40 WARNING [daly] tried rx/tx/sx uuids 17/15/48: Characteristic with UUID 17 could not be found!
18:57:40 INFO [sampling] connected bms DalyBt(40:16:06:01:20:12,battery3)!
18:57:40 INFO [sampling] battery3 subscribing for {'charge': True, 'discharge': True} switch change
18:57:40 INFO [sampling] battery3: BmsSampl(89.7%,U=53.0V,I=-7.70A,P=-408W,Q=287/320Ah,mos=nan°C)
18:57:41 WARNING [daly] checksum fail, expected 149, got 241. bytearray(b'\x08\x00\x00\x00\x00\x00\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 121. bytearray(b'\x00\x00\x00\x00;\x87\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 123. bytearray(b'\x00\x00\x00\x00;\x88\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 125. bytearray(b'\x00\x00\x00\x00;\x89\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 127. bytearray(b'\x00\x00\x00\x00;\x8a\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 129. bytearray(b'\x00\x00\x00\x00;\x8b\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 131. bytearray(b'\x00\x00\x00\x00;\x8c\xa5\x01')
18:57:41 WARNING [daly] checksum fail, expected 149, got 133. bytearray(b'\x00\x00\x00\x00;\x8d\xa5\x01')
18:57:41 WARNING [daly] msg too short: bytearray(b'\x08\x10\x00\x00\x00\x00\x00\x00;\x8e')
18:57:41 INFO [sampling] battery3 volt=[3315,3315,3315,3316,3319,3318,3317,3319,3318,3319,3317,3318,3317,3319,3316,3318] temp=[nan]
18:57:41 INFO [sampling] Sending HA discovery for battery3 (num_samples=0)
1
END