Closed taHC81 closed 10 months ago
Even stranger is when I trigger the Cell info request via recently created button within ESPhome - it works. And uart_debug reports the same TX message (DD:A5:04:00:FF:FC:77). I'm using GPIO14 for TX and GPIO13 for RX, device is ESP-WROOM-32.
button:
- platform: template
name: "Request cell info"
on_press:
- uart.write: [0xDD, 0xA5, 0x04, 0x00, 0xFF, 0xFC, 0x77]
Log:
[09:05:25][D][button:010]: 'Request cell info' Pressed.
[09:05:25][D][uart_debug:114]: >>> DD:A5:04:00:FF:FC:77
[09:05:25][I][jbd_bms:198]: Cell info frame (32 bytes) received
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 01': Sending state 3.24600 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 02': Sending state 3.24500 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 03': Sending state 3.24500 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 04': Sending state 3.24700 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 05': Sending state 3.24800 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 06': Sending state 3.24700 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 07': Sending state 3.23600 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 08': Sending state 3.23300 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 09': Sending state 3.23800 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 10': Sending state 3.23000 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 11': Sending state 3.23600 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 12': Sending state 3.24500 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 13': Sending state 3.24700 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 14': Sending state 3.24900 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 15': Sending state 3.24000 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms cell voltage 16': Sending state 3.24500 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms min cell voltage': Sending state 3.23000 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms max cell voltage': Sending state 3.24900 V with 3 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms max voltage cell': Sending state 14.00000 with 0 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms min voltage cell': Sending state 10.00000 with 0 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms delta cell voltage': Sending state 0.01900 V with 4 decimals of accuracy
[09:05:25][D][sensor:094]: 'jbd-bms average cell voltage': Sending state 3.24231 V with 4 decimals of accuracy
[09:05:25][W][component:214]: Component jbd_bms took a long time for an operation (0.21 s).
[09:05:25][W][component:215]: Components should block for at most 20-30ms.
[09:05:25][D][uart_debug:114]: <<< DD:04:00:20:0C:AE:0C:AD:0C:AD:0C:AF:0C:B0:0C:AF:0C:A4:0C:A1:0C:A6:0C:9E:0C:A4:0C:AD:0C:AF:0C:B1:0C:A8:0C:AD:F4:7B:77
Tried to connect RX to GPIO34 and TX to GPIO32 with same result. From time to time cell info is successfully parsed, but it's like once a minute or more.
Could you provide some more logs including the raw traffic (like above but a few minutes of communication)? May be the size of the device info frame has changed and confuses the receiver log / frame parser now.
Could you provide some YAML configuration too? I would like to make sure the dummy_receiver
of the uart.debug
feature isn't enabled.
Here's the YAML - https://pastebin.com/zLDbVMJj
dummy_receiver is disabled, log later, I'm a bit busy now.
The YAML looks good!
Here's the log - https://pastebin.com/jRYF8MZd
How long is the wire between the JBD and ESP?
How long is the wire between the JBD and ESP?
Initially running with ~1 meter cable, 2nd run with original cable coming with JBD BMS = 20cm. Still the same.
Also re-wired device to use GPIO16/17 (physical UART2), tried 3 different power supplies, still the same.
Is there is difference if there is load (discharging) vs charging?
During the day was battery slightly charged (200-700W), but inverter still in bypass mode, thus no EMI radiation. Let's wait for the WT32-ETH01 module to try with. Current one is a ghetto development :)
Good news, I've switched from arduino to esp-idf framework and it's much more reliable. I'd say, it's rock stable, but need longer time to prove that. Here's the log - https://pastebin.com/3iA4Rgtz
esp32:
board: wemos_d1_mini32
framework:
# type: arduino
# version: latest
type: esp-idf
version: recommended
This looks pretty good now! Please monitor the behavior for a few days under different conditions. It's still possible the situation gets worse as soon there is some load.
Good news, I've switched from arduino to esp-idf framework and it's much more reliable. I'd say, it's rock stable, but need longer time to prove that. Here's the log - https://pastebin.com/3iA4Rgtz
esp32: board: wemos_d1_mini32 framework: # type: arduino # version: latest type: esp-idf version: recommended
Hi, did it remain stable? Thanks
Hi there, still haven't found enough time to switch to this solution, sorry. But I'll do that soon ;)
Hi all, today is the day when I switched to ethernet version, looks good for last hour, but will report later this week. Treat it as x-mas gift :)
Nicely running for last 24 hours without any hiccup, there was 1.8 kW charging peak yesterday and some moderate load (1.4 kW at most). Really happy how it is working!
Good job! Let's close this issue.
Hello, I'm trying to use ESP32 with LAN8720, it's working almost fine with one issue. jbd-bms component parses the Hardware info properly, but Cell info fails with multiple Invalid header error. But uart_debug returns valid response.