EcoFlow BLE (Unofficial)

That’ll do. Will fix it and create a PR sometime this weekend.

1 Like

@sidjohn1 All DP3 sensors should work now, try version v0.10.0-pre2 from my fork and let me know if there are any problems.

v0.10.0-pre2 looks good for DP3, switches work and reporting looks correct.

On the Delta 3:
I have a D3 1500, it’s detected but when I try to add it I get the error “Could not connect to device, exceeded maximum tries”. It looks like it starts the connection but something in the exchange may not be happy. I did a lot reset on the device in the hopes it would help and no love.

2025-04-05 16:30:21.354 DEBUG (MainThread) [custom_components.ef_ble.config_flow] Confirm discovery: EF-D30753, {'user_id': 'myactualuserid', 'login': {'email': '', 'password': ''}, 'address': 'EF-D30753 (E4:B3:23:96:4C:82)'}
2025-04-05 16:30:21.355 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Reconnecting to device
2025-04-05 16:30:21.766 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Connected
2025-04-05 16:30:21.766 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: MTU: 500
2025-04-05 16:30:21.766 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Init completed, starting auth routine...
2025-04-05 16:30:21.766 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: initBleSessionKey: Pub key exchange
2025-04-05 16:30:21.769 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending: '5a5a00012c0001000632922ae9cae9bfe69726a497e6962e3f6d74652f75f203706aa2dd73c171266d5ce3b074af0e8e1637'
2025-04-05 16:30:21.972 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: parseSimple: Data: '5a5a00012d000100000b205476de60975a46730ab629c31e97cdb907c26db2e374ec717a09eabe3612764b5ff6f676a993f916'
2025-04-05 16:30:21.976 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: getKeyInfoReq: Receiving session key
2025-04-05 16:30:21.977 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending: '5a5a000103000286c2'
2025-04-05 16:30:22.210 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: parseSimple: Data: '5a5a0001230002c2307a94b7ccc5880cf7b181343049f25a2752430bed5d73ce878d7816e0dc871b3b'
2025-04-05 16:30:22.211 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: getKeyInfoReq: Receiving auth status
2025-04-05 16:30:22.211 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending packet: Packet(0x21, 0x35, 0x35, 0x89, bytes.fromhex(''), 0x01, 0x01, 0x03, b'\x00\x00\x00\x00', 0x00)
2025-04-05 16:30:22.213 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending: '5a5a10012200959035ef29eb0eb6e81a12040af6670508b11a4abecfb8a2a895f41dea5d754ba9c3'
2025-04-05 16:30:31.717 WARNING (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Disconnected from device
2025-04-05 16:30:31.718 WARNING (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Reconnecting to the device in 10 seconds...
2025-04-05 16:30:41.720 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Reconnecting to device
2025-04-05 16:30:41.919 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Disconnecting from device
2025-04-05 16:30:41.979 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Connected
2025-04-05 16:30:41.979 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: MTU: 500
2025-04-05 16:30:41.979 INFO (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Init completed, starting auth routine...
2025-04-05 16:30:41.979 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: initBleSessionKey: Pub key exchange
2025-04-05 16:30:41.981 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending: '5a5a00012c000100dc9af1202662bc599d7bbde27b2498e150b5a05a2b0455fb7bcaef260a8b155f9a1a60f30113a848308f'
2025-04-05 16:30:42.249 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: parseSimple: Data: '5a5a00012d00010000af15478a5eb8ac542271b3948167a055699bd02e7518268da8f43fa356949bd26d7203c6413689d9a01e'
2025-04-05 16:30:42.252 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: getKeyInfoReq: Receiving session key
2025-04-05 16:30:42.253 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending: '5a5a000103000286c2'
2025-04-05 16:30:42.453 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: parseSimple: Data: '5a5a0001230002057060e9201a6aaabbb6dbddc19ad3b30b63650dab24bfa794380a9a3abae832007e'
2025-04-05 16:30:42.454 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: getKeyInfoReq: Receiving auth status
2025-04-05 16:30:42.454 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending packet: Packet(0x21, 0x35, 0x35, 0x89, bytes.fromhex(''), 0x01, 0x01, 0x03, b'\x00\x00\x00\x00', 0x00)
2025-04-05 16:30:42.455 DEBUG (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Sending: '5a5a100122006b7428b67678643cd5154e0ded8fd5a4c15e8aecaea8d0640b8fb1f2581c648b14af'
2025-04-05 16:29:44.090 WARNING (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Disconnected from device
2025-04-05 16:29:44.091 WARNING (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Reconnecting to the device in 10 seconds...
2025-04-05 16:29:54.625 WARNING (MainThread) [custom_components.ef_ble.eflib.connection] E4:B3:23:96:4C:82: Disconnected from device

@Rabit or @GnoX,
Have either of you had a chance to review the logs from the D3 1500 to see why it’s not joining. If there is anything else i can provide to help, just let me know.

Hey, sorry for the late response. During my testing, timeouts did happen but were not super common, the device just doesn’t want to respond sometimes. For me though, it always worked on first or second retry. I assume you already tried to reload the integration and/or restart HA? You can maybe try to temporarily disable integration for your other devices temporarily, add D3 and reenable them.

oh yeah several times

I tried this and it did not allow me to add the D3… though it did reduce the noise in my logs. Below is what I see in the BT proxy logs when I try to add the D3 and I’d like another set of eyes to confirm. I don’t think the issue is with this integration but maybe the bt proxy is not confirming the writes from the D3 and its closing the connection. I’m very new to troubleshooting bluetooth so, am I on track here or WAY off base?

Also do you have a buy me a coffee / beer link? I really appreciate all your help.

[19:25:45][I][bluetooth_proxy:286]: [0] [AB:CD:EF:AB:CD:EF] Connecting v3 without cache
[19:25:45][D][esp32_ble_tracker:115]: connecting: 0, discovered: 1, searching: 0, disconnecting: 0
[19:25:45][D][esp32_ble_tracker:231]: Pausing scan to make connection...
[19:25:45][I][esp32_ble_client:110]: [0] [AB:CD:EF:AB:CD:EF] 0x00 Attempting BLE connection
[19:25:45][D][esp32_ble_tracker:115]: connecting: 1, discovered: 0, searching: 0, disconnecting: 0
[19:25:45][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_CONNECT_EVT
[19:25:45][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_OPEN_EVT
[19:25:45][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 0
[19:25:45][D][esp32_ble_tracker:282]: Starting scan...
[19:25:45][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_SEARCH_CMPL_EVT
[19:25:45][I][esp32_ble_client:337]: [0] [AB:CD:EF:AB:CD:EF] Connected
[19:25:45][D][esp32_ble_client:296]: [0] [AB:CD:EF:AB:CD:EF] cfg_mtu status 0, mtu 500
[19:25:45][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:25:45][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:25:45][I][esp32_ble_client:147]: [0] [AB:CD:EF:AB:CD:EF] Disconnecting (conn_id: 0).
[19:25:45][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 1
[19:25:45][D][esp-idf:000][BTU_TASK]: W (37492091) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x16

[19:25:45][D][esp-idf:000][BTU_TASK]: W (37492095) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x16

[19:25:45][D][esp-idf:000][BTU_TASK]: W (37492099) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x16

[19:25:45][D][esp-idf:000][BTU_TASK]: W (37492112) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x16

[19:25:45][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 0
[19:30:20][I][bluetooth_proxy:286]: [0] [AB:CD:EF:AB:CD:EF] Connecting v3 without cache
[19:30:20][D][esp32_ble_tracker:115]: connecting: 0, discovered: 1, searching: 0, disconnecting: 0
[19:30:20][D][esp32_ble_tracker:231]: Pausing scan to make connection...
[19:30:20][I][esp32_ble_client:110]: [0] [AB:CD:EF:AB:CD:EF] 0x00 Attempting BLE connection
[19:30:20][D][esp32_ble_tracker:115]: connecting: 1, discovered: 0, searching: 0, disconnecting: 0
[19:30:20][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_CONNECT_EVT
[19:30:20][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_OPEN_EVT
[19:30:20][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 0
[19:30:20][D][esp32_ble_tracker:282]: Starting scan...
[19:30:20][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_SEARCH_CMPL_EVT
[19:30:20][I][esp32_ble_client:337]: [0] [AB:CD:EF:AB:CD:EF] Connected
[19:30:20][D][esp32_ble_client:296]: [0] [AB:CD:EF:AB:CD:EF] cfg_mtu status 0, mtu 500
[19:30:20][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:30:20][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:30:21][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:30:21][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:30:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:30:30][D][esp-idf:000][BTU_TASK]: W (37776814) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[19:30:30][D][esp-idf:000][BTU_TASK]: W (37776818) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[19:30:30][D][esp-idf:000][BTU_TASK]: W (37776820) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[19:30:30][D][esp-idf:000][BTU_TASK]: W (37776823) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[19:30:30][D][esp32_ble_client:280]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_DISCONNECT_EVT, reason 19
[19:30:30][D][esp32_ble_client:191]: [0] [] ESP_GATTC_CLOSE_EVT
[19:30:40][I][bluetooth_proxy:286]: [0] [AB:CD:EF:AB:CD:EF] Connecting v3 without cache
[19:30:40][D][esp32_ble_tracker:115]: connecting: 0, discovered: 1, searching: 0, disconnecting: 0
[19:30:40][D][esp32_ble_tracker:231]: Pausing scan to make connection...
[19:30:40][I][esp32_ble_client:110]: [0] [AB:CD:EF:AB:CD:EF] 0x00 Attempting BLE connection
[19:30:40][D][esp32_ble_tracker:115]: connecting: 1, discovered: 0, searching: 0, disconnecting: 0
[19:30:41][D][esp-idf:000][BTU_TASK]: W (37787220) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_CONNECT_EVT
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_OPEN_EVT
[19:30:41][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 0
[19:30:41][D][esp32_ble_tracker:282]: Starting scan...
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_SEARCH_CMPL_EVT
[19:30:41][I][esp32_ble_client:337]: [0] [AB:CD:EF:AB:CD:EF] Connected
[19:30:41][D][esp32_ble_client:296]: [0] [AB:CD:EF:AB:CD:EF] cfg_mtu status 0, mtu 500
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:30:41][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:30:41][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:30:42][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:30:42][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:30:42][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:30:42][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:30:42][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:30:42][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:30:42][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:30:51][D][esp-idf:000][BTU_TASK]: W (37797284) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[19:30:51][D][esp-idf:000][BTU_TASK]: W (37797290) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[19:30:51][D][esp-idf:000][BTU_TASK]: W (37797292) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[19:30:51][D][esp-idf:000][BTU_TASK]: W (37797296) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[19:30:51][D][esp32_ble_client:280]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_DISCONNECT_EVT, reason 19
[19:30:51][D][esp32_ble_client:191]: [0] [] ESP_GATTC_CLOSE_EVT
[19:31:01][I][bluetooth_proxy:286]: [0] [AB:CD:EF:AB:CD:EF] Connecting v3 without cache
[19:31:01][D][esp32_ble_tracker:115]: connecting: 0, discovered: 1, searching: 0, disconnecting: 0
[19:31:01][D][esp32_ble_tracker:231]: Pausing scan to make connection...
[19:31:01][I][esp32_ble_client:110]: [0] [AB:CD:EF:AB:CD:EF] 0x00 Attempting BLE connection
[19:31:01][D][esp32_ble_tracker:115]: connecting: 1, discovered: 0, searching: 0, disconnecting: 0
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_CONNECT_EVT
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_OPEN_EVT
[19:31:01][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 0
[19:31:01][D][esp32_ble_tracker:282]: Starting scan...
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_SEARCH_CMPL_EVT
[19:31:01][I][esp32_ble_client:337]: [0] [AB:CD:EF:AB:CD:EF] Connected
[19:31:01][D][esp32_ble_client:296]: [0] [AB:CD:EF:AB:CD:EF] cfg_mtu status 0, mtu 500
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:31:01][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:31:01][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:31:02][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:31:02][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:31:02][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:31:02][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:31:02][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:31:02][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:31:02][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:31:11][D][esp-idf:000][BTU_TASK]: W (37817570) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[19:31:11][D][esp-idf:000][BTU_TASK]: W (37817575) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[19:31:11][D][esp-idf:000][BTU_TASK]: W (37817580) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[19:31:11][D][esp-idf:000][BTU_TASK]: W (37817586) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[19:31:11][D][esp32_ble_client:280]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_DISCONNECT_EVT, reason 19
[19:31:11][D][esp32_ble_client:191]: [0] [] ESP_GATTC_CLOSE_EVT
[19:31:21][I][bluetooth_proxy:286]: [0] [AB:CD:EF:AB:CD:EF] Connecting v3 without cache
[19:31:21][D][esp32_ble_tracker:115]: connecting: 0, discovered: 1, searching: 0, disconnecting: 0
[19:31:21][D][esp32_ble_tracker:231]: Pausing scan to make connection...
[19:31:21][D][esp32_ble_tracker:231]: Pausing scan to make connection...
[19:31:21][D][esp-idf:000][BTU_TASK]: E (37827652) BT_BTM: BTM_BleScan scan not active


[19:31:21][D][esp-idf:000][BTU_TASK]: W (37827657) BT_APPL:  bta_dm_ble_scan stop scan failed, status=0x6


[19:31:21][I][esp32_ble_client:110]: [0] [AB:CD:EF:AB:CD:EF] 0x00 Attempting BLE connection
[19:31:21][D][esp32_ble_tracker:115]: connecting: 1, discovered: 0, searching: 0, disconnecting: 0
[19:31:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_CONNECT_EVT
[19:31:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_OPEN_EVT
[19:31:21][D][esp32_ble_tracker:115]: connecting: 0, discovered: 0, searching: 0, disconnecting: 0
[19:31:21][D][esp32_ble_tracker:282]: Starting scan...
[19:31:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_SEARCH_CMPL_EVT
[19:31:21][I][esp32_ble_client:337]: [0] [AB:CD:EF:AB:CD:EF] Connected
[19:31:21][D][esp32_ble_client:296]: [0] [AB:CD:EF:AB:CD:EF] cfg_mtu status 0, mtu 500
[19:31:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:31:21][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:31:22][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_NOTIFY_EVT
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:31:22][D][esp32_ble_client:416]: [0] [AB:CD:EF:AB:CD:EF] Event 39
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_REG_FOR_NOTIFY_EVT
[19:31:22][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_DESCR_EVT
[19:31:23][D][esp32_ble_client:191]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_WRITE_CHAR_EVT
[19:31:31][D][esp-idf:000][BTU_TASK]: W (37837850) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[19:31:31][D][esp-idf:000][BTU_TASK]: W (37837854) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[19:31:31][D][esp-idf:000][BTU_TASK]: W (37837855) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[19:31:31][D][esp-idf:000][BTU_TASK]: W (37837862) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[19:31:31][D][esp32_ble_client:280]: [0] [AB:CD:EF:AB:CD:EF] ESP_GATTC_DISCONNECT_EVT, reason 19
[19:31:31][D][esp32_ble_client:191]: [0] [] ESP_GATTC_CLOSE_EVT

I’m very new to troubleshooting bluetooth

Unfortunately, so am I. I’m not sure where to even start with debugging so without being able to reproduce it myself, I’m afraid I won’t be able to help. I tried increasing number of retries and increased timeout, try Release v0.11.0-pre1 · GnoX/ha-ef-ble · GitHub to see if this helps.

Also do you have a buy me a coffee / beer link?

I appreciate the sentiment, but I do this because I enjoy it so I don’t really lack motivation :). I would also feel bad since @Rabit did all the hard work - adding more devices was the easy part.

Hi @GnoX & @sidjohn1 the only thing I could propose is to check out the wiki page FAQ I recently created - it talks a bit about the communication issues and the ways to solve them: Home · rabits/ha-ef-ble Wiki · GitHub

I was able to confirm in the in the bluetooth Advertisement monitor the D3 has a RSSI of -62 which is good from at least 1 of the BT proxies. Signal strength does not seam to be 1 of the issues.
the ESP Home 2025.4 update changed some of the errors I received when adding the D3. Mainly BT_GATT: ATT - Ignore wrong response. Receives (13) looks like an issue on the esphome btproxy side so I opened a bug report over there.

1 Like

Is there a way to add the battery percentage to the energy monitor? When I went to configure the battery system, it didn’t show any ecoflow entities.

The energy monitor measures energy usage. Battery percentage wouldn’t apply. There are many energy measurement entities that the integration does supply:

@Rabit - new to this and just wanted to say thank you for taking the time and effort to develop this integration. i was able to follow and obtain my user ID and I successfully added my SHP2 and 2 Delta Pro Ultras. however earlier today i noticed that the devices became unavailable or - at best - I could only get 1 of the 3 units to connect. HA BLE does detect the devices but the attempts to connect timeout or reference a BT connection error. any tricks on how to address this? i am running HA on raspi and the units are approx 20ft from the raspi. thanks

Hi @mjb8706 , I could suggest to read a FAQ I’ve prepared recently here: Home · rabits/ha-ef-ble Wiki · GitHub - it describes potential issues you could see.

@Rabit - just got this working, and wanted to say thank you for all the work you’ve put into this integration. I did have a question though, and it’s about control abilities for DPU/SP2, first is there an ETA on that, and second is there a good way to be able to help, or would that cause a “too many cooks in the kitchen” situation with where you’re at currently adding that functionality?

Hi @bondoo0 , the hurricane season is almost here so I think will find the time soon to make control of SHP2/DPU to be a thing. I talked about quite a bit of time ago and was putting it in the table for those months because there was not much need. But yeah, surely we need controls as well.

Could someone catch me up on the latest on the ability to configure an update period for this integration?

I found the conversation here Add configurable device update period to reduce cpu usage and writes by GnoX · Pull Request #13 · rabits/ha-ef-ble · GitHub but didn’t see how to actually access that option.

I’m finding my homeassistant db is ballooning in size and I think the ac_power in/out data is a large portion of that.

Hi @HA-one , yeah this one is complicated. @GnoX actually proposed the change, and in theory it should work - but it’s tricky and could bite us hard on the long run… The issue is - the majority of CPU we spending on decrypting the messages. That means we have to decrypt to understand what’s the message (and type of it) is - otherwise we know a little of it.
The solution is to collect the messages and decrypt the latest ones once per period - but you never know how much messages you need to decrypt to get all the important data…
And the last issue we found in the change was a leak somewhere - so still debugging to not accidentally introduce issues to HA…

Another thing I thought about - is to not reply, which should limit the amount of messages, but with that we will loose some data that could be important… So not yet ready unfortunately…

Until we find a good solution for the problem @Rabit outlined in the previous message, I implemented simpler method that should only reduce number of writes to DB - Add DB write period configuration option to all devices by GnoX · Pull Request #30 · rabits/ha-ef-ble · GitHub.
I already released it as Release v0.13.0 · GnoX/ha-ef-ble · GitHub for testing and will be soon merged into the main repo as well.

1 Like

Thanks so much! I’m running it now, using 5s as the refresh frequency. No problems with the data, as far as I can see, for now.

Ok, now we have v0.4.7 that contains an option to specify desired DB update period.

Thank you for the ping - because we, as engineers, quickly getting deeper into the woods of complexity and ultimate solution, while forgetting to address at least part of the issue as a low hanging fruit)

1 Like