Skip to content

Connecting to discovered display fails silently #56

Description

@ptoews

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:

  1. Flash current OpenDisplay firmware to a reTerminal E1001 via the OpenDisplay Toolbox (reTerminal E1001 preset)
  2. 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
  3. Device is auto-discovered in HA under Settings → Devices & Services
  4. Click "Configure" on the discovery card, then "Submit"
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions