Yale Access Bluetooth: Can't Find Device

Basics

Home Assistant Information

  • Home Assistant OS (HAOS)
    • Installed as a Virtual Machine on Proxmox
    • Home Assistant 2023.2.2

Bluetooth Adapter

  • Asus USB-BT500
    • This is listed as a known-working device in the Bluetooth integration documentation.

Door Lock Hardware

  • Yale Assure Lock 2

Troubleshooting

  • I installed the Bluetooth adapter in the server and passed this USB device through Proxmox to the HAOS virtual machine.
  • Upon doing this and restarting the virtual machine, Home Assistant immediately discovered the device and suggested the installation of the “Bluetooth” integration.
  • I installed the integration. The only thing that was automatically recommended for me to integrate was iBeacon Tracker.

At this stage, my adapter is installed and functioning, but I cannot find a way to get the Yale Access Bluetooth integration to detect my lock! Any assistance here would be amazing.

From what I can tell, Home Assistant is indeed seeing the various BLE advertisements from around my home, but what I cannot tell is if the Yale Assure Lock 2 is actually broadcasting BLE advertisements (it is connected to my Yale Access app on my iPhone.

Outputs / Logs

Outputs

  • bluetoothctl devices
Device FE:67:26:5D:0F:79 FE-67-26-5D-0F-79
Device 62:DE:E6:33:5C:1A 62-DE-E6-33-5C-1A
[...]
  • bluetoothctl list
Controller A0:36:BC:D9:44:DF homeassistant [default]

Logs

  • Bluetooth debugging
2023-02-07 18:40:10.952 DEBUG (MainThread) [homeassistant.components.bluetooth.base_scanner] hci0 (A0:36:BC:D9:44:DF): Scanner watchdog time_since_last_detection: 0.25200648899772204
2023-02-07 18:40:23.184 DEBUG (MainThread) [homeassistant.components.bluetooth] Triggering bluetooth usb discovery
2023-02-07 18:40:25.092 WARNING (MainThread) [custom_components.ecowitt] Unhandled sensor type runtime value 83088, file a PR.
2023-02-07 18:40:28.188 DEBUG (MainThread) [homeassistant.components.bluetooth] Rediscovered adapters: {'hci0': {'address': 'A0:36:BC:D9:44:DF', 'sw_version': 'homeassistant', 'hw_version': 'usb:v1D6Bp0246d053F', 'passive_scan': True, 'manufacturer': 'Realtek', 'product': 'ASUS USB-BT500', 'vendor_id': '0b05', 'product_id': '190e'}}
2023-02-07 18:40:33.424 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] hci0 (A0:36:BC:D9:44:DF): Stopping bluetooth discovery
2023-02-07 18:40:33.428 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] Unregistering scanner hci0 (A0:36:BC:D9:44:DF)
2023-02-07 18:40:33.428 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] Initializing bluetooth scanner with {'detection_callback': <bound method HaScanner._async_detection_callback of <homeassistant.components.bluetooth.scanner.HaScanner object at 0x7f4e46a29b40>>, 'scanning_mode': 'active', 'adapter': 'hci0'}
2023-02-07 18:40:33.428 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] hci0 (A0:36:BC:D9:44:DF): Starting bluetooth discovery attempt: (1/3)
2023-02-07 18:40:33.434 DEBUG (MainThread) [bleak_retry_connector] Restored 6 discoveries for hci0
2023-02-07 18:40:33.434 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] Registering scanner hci0 (A0:36:BC:D9:44:DF)
2023-02-07 18:40:36.404 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] hci0 (A0:36:BC:D9:44:DF): Stopping bluetooth discovery
2023-02-07 18:40:36.407 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] Unregistering scanner hci0 (A0:36:BC:D9:44:DF)
2023-02-07 18:40:36.408 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] Initializing bluetooth scanner with {'detection_callback': <bound method HaScanner._async_detection_callback of <homeassistant.components.bluetooth.scanner.HaScanner object at 0x7f4e46a29bd0>>, 'scanning_mode': 'active', 'adapter': 'hci0'}
2023-02-07 18:40:36.408 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] hci0 (A0:36:BC:D9:44:DF): Starting bluetooth discovery attempt: (1/3)
2023-02-07 18:40:36.413 DEBUG (MainThread) [bleak_retry_connector] Restored 6 discoveries for hci0
2023-02-07 18:40:36.413 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] Registering scanner hci0 (A0:36:BC:D9:44:DF)
2023-02-07 18:40:42.742 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] hci0 (A0:36:BC:D9:44:DF): Stopping bluetooth discovery
2023-02-07 18:40:42.744 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] Unregistering scanner hci0 (A0:36:BC:D9:44:DF)
2023-02-07 18:40:42.745 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] Initializing bluetooth scanner with {'detection_callback': <bound method HaScanner._async_detection_callback of <homeassistant.components.bluetooth.scanner.HaScanner object at 0x7f4e34c49000>>, 'scanning_mode': 'passive', 'adapter': 'hci0', 'bluez': {'or_patterns': [OrPattern(start_position=0, ad_data_type=<AdvertisementDataType.FLAGS: 1>, content_of_pattern=b'\x06'), OrPattern(start_position=0, ad_data_type=<AdvertisementDataType.FLAGS: 1>, content_of_pattern=b'\x1a')]}}
2023-02-07 18:40:42.745 DEBUG (MainThread) [homeassistant.components.bluetooth.scanner] hci0 (A0:36:BC:D9:44:DF): Starting bluetooth discovery attempt: (1/3)
2023-02-07 18:40:42.748 DEBUG (MainThread) [bleak_retry_connector] Restored 6 discoveries for hci0
2023-02-07 18:40:42.749 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] Registering scanner hci0 (A0:36:BC:D9:44:DF)
2023-02-07 18:40:44.358 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (A0:36:BC:D9:44:DF) [connectable]: 62:2F:90:97:4C:0E AdvertisementData(manufacturer_data={76: b'\x10\x06p\x1e\x17nY\\'}, tx_power=7, rssi=-90) match: set()
2023-02-07 18:41:12.749 DEBUG (MainThread) [homeassistant.components.bluetooth.base_scanner] hci0 (A0:36:BC:D9:44:DF): Scanner watchdog time_since_last_detection: 1.0790286640003615
2023-02-07 18:41:15.250 ERROR (MainThread) [frontend.js.latest.202302020] :0:0 ResizeObserver loop completed with undelivered notifications.
2023-02-07 18:41:23.189 DEBUG (MainThread) [homeassistant.components.bluetooth] Triggering bluetooth usb discovery
2023-02-07 18:41:26.108 WARNING (MainThread) [custom_components.ecowitt] Unhandled sensor type runtime value 83149, file a PR.
2023-02-07 18:41:28.192 DEBUG (MainThread) [homeassistant.components.bluetooth] Rediscovered adapters: {'hci0': {'address': 'A0:36:BC:D9:44:DF', 'sw_version': 'homeassistant', 'hw_version': 'usb:v1D6Bp0246d053F', 'passive_scan': True, 'manufacturer': 'Realtek', 'product': 'ASUS USB-BT500', 'vendor_id': '0b05', 'product_id': '190e'}}
2023-02-07 18:41:42.749 DEBUG (MainThread) [homeassistant.components.bluetooth.base_scanner] hci0 (A0:36:BC:D9:44:DF): Scanner watchdog time_since_last_detection: 6.725180708002881
2023-02-07 18:42:12.750 DEBUG (MainThread) [homeassistant.components.bluetooth.base_scanner] hci0 (A0:36:BC:D9:44:DF): Scanner watchdog time_since_last_detection: 1.5057144419988617
  • Bluetooth configuration logs
 "data": {
    "manager": {
      "adapters": {
        "hci0": {
          "address": "A0:36:BC:D9:44:DF",
          "sw_version": "homeassistant",
          "hw_version": "usb:v1D6Bp0246d053F",
          "passive_scan": true,
          "manufacturer": "Realtek",
          "product": "ASUS USB-BT500",
          "vendor_id": "0b05",
          "product_id": "190e"
        }
      },
      "slot_manager": {
        "manager": true,
        "adapter_slots": {
          "hci0": 5
        },
        "allocations_by_adapter": {
          "hci0": []
        }
      },
      "scanners": [
        {
          "name": "hci0 (A0:36:BC:D9:44:DF)",
          "start_time": 23509.227046245,
          "source": "A0:36:BC:D9:44:DF",
          "scanning": true,
          "type": "HaScanner",
          "last_detection": 23549.000098264,
          "monotonic_time": 23549.620114813,
          "discovered_devices_and_advertisement_data": [
            {
              "name": "ZZ7-CA-MAA1463A",
              "address": "C8:FF:77:C8:44:D0",
              "rssi": -127,
              "advertisement_data": [
                "ZZ7-CA-MAA1463A",
                {},
                {},
                [
                  "2dd10010-1c37-452d-8979-d1b4a787d0a4"
                ],
                null,
                -80,
                [
                  "/org/bluez/hci0/dev_C8_FF_77_C8_44_D0",
                  {
                    "Address": "C8:FF:77:C8:44:D0",
                    "AddressType": "public",
                    "Name": "ZZ7-CA-MAA1463A",
                    "Alias": "ZZ7-CA-MAA1463A",
                    "Paired": false,
                    "Trusted": false,
                    "Blocked": false,
                    "LegacyPairing": false,
                    "Connected": false,
                    "UUIDs": [
                      "2dd10010-1c37-452d-8979-d1b4a787d0a4"
                    ],
                    "Adapter": "/org/bluez/hci0",
                    "ServicesResolved": false,
                    "AdvertisingFlags": {
                      "__type": "<class 'bytearray'>",
                      "repr": "bytearray(b'\\x06')"
                    },
                    "RSSI": -80
                  }
                ]
              ],
              "details": {
                "path": "/org/bluez/hci0/dev_C8_FF_77_C8_44_D0",
                "props": {
                  "Address": "C8:FF:77:C8:44:D0",
                  "AddressType": "public",
                  "Name": "ZZ7-CA-MAA1463A",
                  "Alias": "ZZ7-CA-MAA1463A",
                  "Paired": false,
                  "Trusted": false,
                  "Blocked": false,
                  "LegacyPairing": false,
                  "Connected": false,
                  "UUIDs": [
                    "2dd10010-1c37-452d-8979-d1b4a787d0a4"
                  ],
                  "Adapter": "/org/bluez/hci0",
                  "ServicesResolved": false,
                  "AdvertisingFlags": {
                    "__type": "<class 'bytearray'>",
                    "repr": "bytearray(b'\\x06')"
                  },
                  "RSSI": -80
                }
              }
            },
            {
              "name": "60-3D-8E-7E-EA-09",
              "address": "60:3D:8E:7E:EA:09",
              "rssi": -127,
              "advertisement_data": [
                null,
                {
                  "76": {
                    "__type": "<class 'bytes'>",
                    "repr": "b'\\x10\\x05{\\x1c\\x01\\x86\\x11'"
                  }
                },
                {},
                [],
                7,
                -80,
                [
                  "/org/bluez/hci0/dev_60_3D_8E_7E_EA_09",
                  {
                    "Address": "60:3D:8E:7E:EA:09",
                    "AddressType": "random",
                    "Alias": "60-3D-8E-7E-EA-09",
                    "Paired": false,
                    "Trusted": false,
                    "Blocked": false,
                    "LegacyPairing": false,
                    "Connected": false,
                    "UUIDs": [],
                    "Adapter": "/org/bluez/hci0",
                    "ManufacturerData": {
                      "76": {
                        "__type": "<class 'bytearray'>",
                        "repr": "bytearray(b'\\x10\\x05{\\x1c\\x01\\x86\\x11')"
                      }
                    },
                    "ServicesResolved": false,
                    "AdvertisingFlags": {
                      "__type": "<class 'bytearray'>",
                      "repr": "bytearray(b'\\x1a')"
                    },
                    "RSSI": -80,
                    "TxPower": 7
                  }
                ]
              ],
[...]

Update! I’ve narrowed the issue down to two areas:

  1. The adapter. It may not be compatible.
  2. The range. Despite my server with the Bluetooth adapter being ~3.5 metres away, … well let me explain.

Troubleshooting:
I had a spare Raspberry Pi 4 sitting in a drawer. I pulled it out, ran an Ethernet cable to the door, powered on the Pi with an SD card flashed with a fresh version of Home Assistant OS.

At the initial setup screen, Home Assistant had the audacity to tell me that it found the lock already and it had the integration waiting for me. Ugh.

This tells me that it’s either the adapter or the range.

Have you followed the instructions here: Yale Access Bluetooth - Home Assistant

You’ll need to obtain the offline key. If you click “Configure” on the Yale Access Bluetooth integration that HA automatically found as you indicated, it will ask for the offline key. Then it should set up.