EcoFlow BLE (Unofficial)

Hey @justint223 , how it’s going? Were you able to check the mentioned points on your side?

Thanks for checking on me :rofl:

I actually missed the notification of your reply and just saw it yesterday. I really appreciate the detailed response. It was only about 2m away but there were some tools and things in between (it’s in the garage).

I plugged it directly into the USB port of the DPU to get it as close as possible and it’s been solid for about 24 hours so far! If it proves to be that sensitive I will find a cleaner way to more permanently place it close with no obstructions.

Thanks again and great work on this.

Yeah I noticed the other day that if I’m passing by crossing the direct connection line of sight - it’s interrupting! So it’s great to hear it’s working for you)

It’s definitely been better but every day or 2 it will get into the bad state noted earlier. It causes HA to become unresponsive and eventually crash/restart, sometimes more than once. Is it possible to better handle the exceptions so we just get missing data rather than the whole home automation system coming to a halt?

I was able to get this from the ble proxy itself while it was happening

INFO ESPHome 2024.12.4
INFO Reading configuration /config/esphome/ble-proxy01.yaml...
INFO Starting log output from 192.168.40.210 using esphome API
INFO Successfully connected to ble-proxy01 @ 192.168.40.210 in 0.240s
INFO Successful handshake with ble-proxy01 @ 192.168.40.210 in 0.633s
[11:03:38][I][app:100]: ESPHome version 2024.11.3 compiled on Dec 11 2024, 12:06:56
[11:03:38][C][wifi:600]: WiFi:
[11:03:38][C][wifi:428]:   Local MAC: 88:13:BF:C8:33:74
[11:03:38][C][wifi:433]:   SSID: 'C-147-IntOnly'[redacted]
[11:03:38][C][wifi:436]:   IP Address: 192.168.40.210
[11:03:38][C][wifi:440]:   BSSID: 76:AC:B9:CA:F8:32[redacted]
[11:03:38][C][wifi:441]:   Hostname: 'ble-proxy01'
[11:03:38][C][wifi:443]:   Signal strength: -39 dB ▂▄▆█
[11:03:38][C][wifi:447]:   Channel: 6
[11:03:38][C][wifi:448]:   Subnet: 255.255.255.0
[11:03:38][C][wifi:449]:   Gateway: 192.168.40.1
[11:03:38][C][wifi:450]:   DNS1: 192.168.1.3
[11:03:38][C][wifi:451]:   DNS2: 192.168.40.1
[11:03:38][C][logger:185]: Logger:
[11:03:38][C][logger:186]:   Level: DEBUG
[11:03:38][C][logger:188]:   Log Baud Rate: 115200
[11:03:38][C][logger:189]:   Hardware UART: UART0
[11:03:38][C][mdns:116]: mDNS:
[11:03:38][C][mdns:117]:   Hostname: ble-proxy01
[11:03:38][C][esphome.ota:073]: Over-The-Air updates:
[11:03:38][C][esphome.ota:074]:   Address: ble-proxy01.local:3232
[11:03:38][C][esphome.ota:075]:   Version: 2
[11:03:38][C][esphome.ota:078]:   Password configured
[11:03:38][C][safe_mode:018]: Safe Mode:
[11:03:39][C][safe_mode:020]:   Boot considered successful after 60 seconds
[11:03:39][C][safe_mode:021]:   Invoke after 10 boot attempts
[11:03:39][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[11:03:39][C][api:140]: API Server:
[11:03:39][C][api:141]:   Address: ble-proxy01.local:6053
[11:03:39][C][api:143]:   Using noise encryption: YES
[11:04:06][I][bluetooth_proxy:287]: [0] [A0:DD:6C:10:CD:6E] Connecting v3 without cache
[11:04:06][D][esp32_ble_tracker:222]: Pausing scan to make connection...
[11:04:06][W][bluetooth_proxy:261]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, device already discovered
[11:04:06][I][esp32_ble_client:067]: [0] [A0:DD:6C:10:CD:6E] 0x00 Attempting BLE connection
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_CONNECT_EVT
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_OPEN_EVT
[11:04:06][D][esp32_ble_tracker:273]: Starting scan...
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_SEARCH_CMPL_EVT
[11:04:06][I][esp32_ble_client:227]: [0] [A0:DD:6C:10:CD:6E] Connected
[11:04:06][D][esp32_ble_client:188]: [0] [A0:DD:6C:10:CD:6E] cfg_mtu status 0, mtu 500
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:04:06][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:04:07][D][esp32_ble_client:306]: [0] [A0:DD:6C:10:CD:6E] Event 39
[11:04:07][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:07][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:07][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:07][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:07][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
----cut hundreds of lines for log size reduction------
[11:04:15][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:15][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:15][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:15][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:16][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:16][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:16][D][esp-idf:000][BTU_TASK]: W (388762850) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[11:04:16][D][esp-idf:000][BTU_TASK]: W (388762858) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[11:04:16][D][esp-idf:000][BTU_TASK]: W (388762866) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[11:04:16][D][esp-idf:000][BTU_TASK]: W (388762869) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[11:04:16][D][esp32_ble_client:172]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_DISCONNECT_EVT, reason 19
[11:04:16][D][esp32_ble_client:110]: [0] [] ESP_GATTC_CLOSE_EVT
[11:04:16][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:16][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:16][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:16][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
----cut hundreds of lines for log size reduction------
[11:04:20][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:20][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:20][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:20][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:20][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:20][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:31][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:34][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
----cut hundreds of lines for log size reduction------
[11:04:34][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:34][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:34][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:34][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:34][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:04:41][I][bluetooth_proxy:287]: [0] [A0:DD:6C:10:CD:6E] Connecting v3 without cache
[11:04:41][D][esp32_ble_tracker:222]: Pausing scan to make connection...
[11:04:41][W][bluetooth_proxy:261]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, device already discovered
[11:04:41][I][esp32_ble_client:067]: [0] [A0:DD:6C:10:CD:6E] 0x00 Attempting BLE connection
[11:04:41][W][bluetooth_proxy:269]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, already connecting
[11:04:41][W][bluetooth_proxy:269]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, already connecting
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_CONNECT_EVT
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_OPEN_EVT
[11:04:42][D][esp32_ble_tracker:273]: Starting scan...
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_SEARCH_CMPL_EVT
[11:04:42][I][esp32_ble_client:227]: [0] [A0:DD:6C:10:CD:6E] Connected
[11:04:42][D][esp32_ble_client:188]: [0] [A0:DD:6C:10:CD:6E] cfg_mtu status 0, mtu 500
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:04:43][D][esp32_ble_client:306]: [0] [A0:DD:6C:10:CD:6E] Event 39
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:43][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:44][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
----cut hundreds of lines for log size reduction------
[11:04:52][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:52][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:52][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:52][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:04:52][D][esp-idf:000][BTU_TASK]: W (388798716) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[11:04:52][D][esp-idf:000][BTU_TASK]: W (388798720) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[11:04:52][D][esp-idf:000][BTU_TASK]: W (388798724) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[11:04:52][D][esp-idf:000][BTU_TASK]: W (388798728) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[11:04:52][D][esp32_ble_client:172]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_DISCONNECT_EVT, reason 19
[11:04:52][D][esp32_ble_client:110]: [0] [] ESP_GATTC_CLOSE_EVT
[11:04:52][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:52][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:52][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
----cut hundreds of lines for log size reduction------
[11:04:56][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:56][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:56][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:04:56][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:05:08][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:08][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:08][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:08][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
----cut hundreds of lines for log size reduction------
[11:05:11][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:11][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:11][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:32][I][bluetooth_proxy:287]: [0] [A0:DD:6C:10:CD:6E] Connecting v3 without cache
[11:05:32][D][esp32_ble_tracker:222]: Pausing scan to make connection...
[11:05:32][W][bluetooth_proxy:261]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, device already discovered
[11:05:32][I][esp32_ble_client:067]: [0] [A0:DD:6C:10:CD:6E] 0x00 Attempting BLE connection
[11:05:32][W][bluetooth_proxy:269]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, already connecting
[11:05:32][W][bluetooth_proxy:269]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, already connecting
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_CONNECT_EVT
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_OPEN_EVT
[11:05:32][D][esp32_ble_tracker:273]: Starting scan...
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_SEARCH_CMPL_EVT
[11:05:32][I][esp32_ble_client:227]: [0] [A0:DD:6C:10:CD:6E] Connected
[11:05:32][D][esp32_ble_client:188]: [0] [A0:DD:6C:10:CD:6E] cfg_mtu status 0, mtu 500
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:32][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:05:33][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:05:34][D][esp32_ble_client:306]: [0] [A0:DD:6C:10:CD:6E] Event 39
[11:05:34][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:34][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:34][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
----cut hundreds of lines for log size reduction------
[11:05:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:42][D][esp-idf:000][BTU_TASK]: W (388848601) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[11:05:42][D][esp-idf:000][BTU_TASK]: W (388848604) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[11:05:42][D][esp-idf:000][BTU_TASK]: W (388848606) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[11:05:42][D][esp-idf:000][BTU_TASK]: W (388848608) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13

[11:05:42][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:05:42][D][esp32_ble_client:172]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_DISCONNECT_EVT, reason 19
[11:05:42][D][esp32_ble_client:110]: [0] [] ESP_GATTC_CLOSE_EVT
[11:05:42][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:05:42][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:05:42][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
----cut hundreds of lines for log size reduction------
[11:05:47][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:05:47][W][bluetooth_proxy:431]: Cannot notify GATT characteristic, not connected
[11:05:59][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:59][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:05:59][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
----cut hundreds of lines for log size reduction------
[11:06:02][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:06:02][W][bluetooth_proxy:400]: Cannot write GATT descriptor, not connected
[11:06:46][I][bluetooth_proxy:287]: [0] [A0:DD:6C:10:CD:6E] Connecting v3 without cache
[11:06:46][D][esp32_ble_tracker:222]: Pausing scan to make connection...
[11:06:46][W][bluetooth_proxy:261]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, device already discovered
[11:06:46][I][esp32_ble_client:067]: [0] [A0:DD:6C:10:CD:6E] 0x00 Attempting BLE connection
[11:06:46][W][bluetooth_proxy:269]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, already connecting
[11:06:46][W][bluetooth_proxy:269]: [0] [A0:DD:6C:10:CD:6E] Connection request ignored, already connecting
[11:06:46][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_CONNECT_EVT
[11:06:46][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_OPEN_EVT
[11:06:46][D][esp32_ble_tracker:273]: Starting scan...
[11:06:46][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_SEARCH_CMPL_EVT
[11:06:46][I][esp32_ble_client:227]: [0] [A0:DD:6C:10:CD:6E] Connected
[11:06:46][D][esp32_ble_client:188]: [0] [A0:DD:6C:10:CD:6E] cfg_mtu status 0, mtu 500
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_NOTIFY_EVT
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_DESCR_EVT
[11:06:47][D][esp32_ble_client:306]: [0] [A0:DD:6C:10:CD:6E] Event 39
[11:06:47][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_WRITE_CHAR_EVT
[11:06:48][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:48][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:48][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
----cut hundreds of lines for log size reduction------
[11:06:56][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:56][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:56][D][esp-idf:000][BTU_TASK]: W (388923418) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x13

[11:06:56][D][esp-idf:000][BTU_TASK]: W (388923423) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13

[11:06:56][D][esp-idf:000][BTU_TASK]: W (388923427) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x13

[11:06:56][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:56][D][esp32_ble_client:110]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_REG_FOR_NOTIFY_EVT
[11:06:57][D][esp32_ble_client:172]: [0] [A0:DD:6C:10:CD:6E] ESP_GATTC_DISCONNECT_EVT, reason 19
[11:06:57][D][esp32_ble_client:110]: [0] [] ESP_GATTC_CLOSE_EVT

Hi @justint223 , probably you live in a place where 2.4GHz is as busy as it gets… I agree halting the entire automation because of that is not a great thing. I would need to find all the places where it can fail and it’s not an easy task, because not all the packets supply with crc - but most of them… So for sure this is on me, I will check how to make the logic moar resilient.

Thanks so much for making this! I was able to see my devices and get all the live data. I looked to see if there was a way to control the SHP2/batteries via this, but I am not sure I’ve found out how. Does this allow controlling setting things such as the “Smart Operatinve modes” like TOU/Scheduled Tasks/Self-Powered? Or turn on/off batteries themselves? Thanks!

Hi @n2extraspicy , for now only fetching the direct device data is supported - no controlling yet. But I already found some commands, so looking forward to implement control as well as getting to the batteries through the panel (to save the ble connections).

1 Like

Hello, I am receiving this log error when trying to connect to my SHP2

“E4:65:B8:XX:XX:XX: Failed to connect to the device: EF-HD30XXX - E4:65:B8:XX:XX:XX: Failed to connect after 9 attempt(s): Error ESP_GATT_CONN_FAIL_ESTABLISH while connecting: Connection failed to establish: Interference/range; External Bluetooth adapter w/extension may help; Extension cables reduce USB 3 port interference”

Does this imply that the integration is using the Bluetooth from my Raspberry Pi or it is also possibly to connect via ESP32 Home Bluetooth Proxy?

Thank you

Hi @vvrangler , I actually found the integrated rpi ble a bit wonky - so decided to move to proxy - because it’s not relying on the kernel’s drivers or bluez stack that could be broken during the OS upgrade. Since then I saw a little issues and overall stability become much better.

So I would recommend to try with proxy - relatively easy to setup, but make sure you checked the configs pf the proxy. Certain configs could make the proxy to work unreliable: EcoFlow BLE (Unofficial) - #42 by Rabit

Thanks! This got me working.

Hello folks. Is it possible to expand the hardware supported for this integration? I have the River 2 Pro. At the moment the integration does not recognize it and throws a no_devices_found when trying add a device. I would be happy to help collect any information need for expanding the integrations capability.

Hi @raed21 , it’s possible, but for the one who have the particular hardware to test on it’s much easier and useful task. That’s why I implemented just 2 devices, but folks here Add support for EcoFlow River 3 devices · Issue #5 · rabits/ha-ef-ble · GitHub are working on adding River 3.

We here mostly automating the stuff we have and this way making the spent time worth it. But I think there are developers up to the challenge as well… So for example one of the options you have - create a ticket in the repo for adding River 2 and wait if anyone who have it will help you.

I’m having trouble locating my userID using the existing tutorial (as seen here EcoFlow BLE (Unofficial) - #10 by Rabit) I see none of the information I’m supposed to see. There is no POST entry, only this, right after logging in (and using the correct filter):

Did the web login change?

Hi @HA-one , POST is happening when you click “Log In” button on the login page - it’s literally the request sent to api-a.ecoflow.com with your login and password when you click on the button, so please make sure you following the procedure: your browser should not be logged-in already, just use the incognito (private) mode for that if you are not sure.

Thank you for the assistance.

Yes, I’m pretty sure that’s what I’ve been trying. After this login page:


it goes straight to here:

And it does not show any POST requests that match the filter, within the console. Am I looking at it too late?

Ok, then you probably need to check what the other requests are sent after you click “Log In” button - who knows, maybe it’s just me who gets api-a.ecoflow.com and yours is api-b.ecoflow.com. So just remove all the filters, then cleanup all the requests before you click on “Log In” button (small trash bin button in left corner of the console) and look at the POST request sent when you press the button.

Alternative way to get the user id is using scripts for getting mqtt credentials mentioned in ioBroker.ecoflow-mqtt.

I made a stripped down version in this gist that only prints the user id after log in. We could probably do the same during the integration setup.

1 Like

Thanks for those references! They were helpful. Now onto the next step of testing.

Thanks to @GnoX the integration now supports River 3/Plus since v0.4.0, the controls are coming soon as well.

1 Like

Thanks so much for this and to everyone that helped with the hints and guides to get this working. It took me a little stumbling about to find the userid (@Rabit screenshot definitely helped). I have included mine below if it can help others where it wasn’t obvious.

2 Likes