with the new cables I was able to sniff the rs485 traffic and found that in some cases (writing SOC to the bms) no data was actually written. So this was not the dalys fault but some behaviour of the RS485 converter (driver switching, I guess). It didn't happen with UART, just with RS485.
Finally I added the same sleep that you already used for the request_data function, that you implemented to help another user who was having a lot read errors. This seems consistent as I remember he had a rs485 cable.
with the new cables I was able to sniff the rs485 traffic and found that in some cases (writing SOC to the bms) no data was actually written. So this was not the dalys fault but some behaviour of the RS485 converter (driver switching, I guess). It didn't happen with UART, just with RS485.
Finally I added the same sleep that you already used for the request_data function, that you implemented to help another user who was having a lot read errors. This seems consistent as I remember he had a rs485 cable.