Describe the bug
Config flow cannot complete for a discovered OpenDisplay device. Clicking "Submit" on the discovery confirmation step shows a loading spinner, then returns to the same "Submit" step. No error is shown in the UI and nothing is logged at default log level.
With debug logging enabled, the flow gets as far as interrogation and then no further log lines appear for the device:
2026-07-06 16:56:57.687 DEBUG [bleak_retry_connector] OD1848CF - A4:CB:8F:CF:48:19: Connected after 1 attempts
2026-07-06 16:56:57.687 DEBUG [opendisplay.transport.connection] Connected to A4:CB:8F:CF:48:19
2026-07-06 16:56:57.716 DEBUG [opendisplay.transport.connection] Notifications started
2026-07-06 16:56:57.716 INFO [opendisplay.device] No config provided, auto-interrogating device
2026-07-06 16:56:57.716 DEBUG [opendisplay.device] Interrogating device A4:CB:8F:CF:48:19
On integration v2.x, the same setup failed at the same point but with an explicit error:
Logger: custom_components.opendisplay.config_flow
Source: custom_components/opendisplay/config_flow.py:444
Unexpected error during device interrogation: ble_timeout
To Reproduce
Steps to reproduce the behavior:
- Flash current OpenDisplay firmware to a reTerminal E1001 via the OpenDisplay Toolbox (reTerminal E1001 preset)
- Complete "Configure over Bluetooth" in the Toolbox — device boots to the QR/device-ID screen (ID: OD1848CF). Close the Toolbox tab and power-cycle the device
- Device is auto-discovered in HA under Settings → Devices & Services
- Click "Configure" on the discovery card, then "Submit"
- Spinner appears, flow returns to the same Submit step; no error shown
Expected behavior
Config flow completes and the device is added, or a visible error is shown if setup fails.
Screenshots
N/A — the flow shows no error state to capture.
Additional context
- Integration: v3.0.0-beta-6; v2.x produced the
ble_timeout error quoted above
- Behavior is identical with firmware encryption enabled and disabled (re-flashed to test both). With encryption enabled, the key entry step was never shown
- Device: Seeed reTerminal E1001 (ESP32-S3), firmware flashed via OpenDisplay Toolbox, July 2026
- HA: Home Assistant OS in a QEMU/KVM VM, USB Bluetooth dongle passed through to the VM
bluetoothctl connect A4:CB:8F:CF:48:19 from the HAOS host succeeds; RSSI −44 at ~1 m
- Bond removed via
bluetoothctl remove and device power-cycled before setup attempts; no other BLE central connected (Toolbox tab closed, phone BT off)
- Configuring the device via the OpenDisplay Toolbox (from Android phone) works, including "Configure over Bluetooth"
- Yes this was summarized by Fable and proof-read after I've tried everything it suggested
Describe the bug
Config flow cannot complete for a discovered OpenDisplay device. Clicking "Submit" on the discovery confirmation step shows a loading spinner, then returns to the same "Submit" step. No error is shown in the UI and nothing is logged at default log level.
With debug logging enabled, the flow gets as far as interrogation and then no further log lines appear for the device:
On integration v2.x, the same setup failed at the same point but with an explicit error:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Config flow completes and the device is added, or a visible error is shown if setup fails.
Screenshots
N/A — the flow shows no error state to capture.
Additional context
ble_timeouterror quoted abovebluetoothctl connect A4:CB:8F:CF:48:19from the HAOS host succeeds; RSSI −44 at ~1 mbluetoothctl removeand device power-cycled before setup attempts; no other BLE central connected (Toolbox tab closed, phone BT off)