Skip to content

v2.9.6

Choose a tag to compare

@kristofferR kristofferR released this 09 Apr 19:25

Bug Fixes

  • Sleep Number MCR: fix connection failures through ESPHome proxy (#326, Ref #322) — Three issues prevented the MCR handshake from completing:

    1. ESPHome BLE proxies silently drop write-without-response packets for the MCR characteristic. Switched to write-with-response (with fallback).
    2. GATT reads on the Device Information Service between connect and the notification subscription caused the bed to disconnect. These reads are now deferred until after the protocol handshake.
    3. The 0.5s post-connect stabilisation delay gave the bed enough idle time to disconnect before the handshake could run. Skipped for Sleep Number and Jensen beds.
  • Fix stale ESPHome proxy connections from re-pairing (#326, Ref #318) — BLE-level pairing was requested on every connection for beds that require bonding. After the first successful bond, re-pairing triggers ESP-IDF auth failure (reason 82) and leaves the proxy connection stuck. Pairing is now only requested on the first connection attempt; subsequent connections reuse the existing bond.

  • Linak: send wake preamble on first command after reconnection — Linak motor controllers enter a low-power state after BLE disconnect. The first GATT write after reconnection was silently ignored by the hardware. Now sends a STOP command as a no-op wake preamble before the real command.

  • Fix NoneType crash during connection retries — If the bed disconnected during post-connect stabilisation, the retry loop could hit 'NoneType' object has no attribute 'is_connected'. Added a connection guard after the delay.