ronengr / hass_nuki_bt

Control Nuki Lock over bluetooth
MIT License
32 stars 7 forks source link

Changes of lock state triggered by something else than HA are not updated #29

Closed guibar closed 2 months ago

guibar commented 7 months ago

System Health details

System Information

version core-2023.11.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.21-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 4973 Installed Version | 1.33.0 Stage | running Available Repositories | 1404 Downloaded Repositories | 3
Home Assistant Cloud logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 11.1 -- | -- update_channel | stable supervisor_version | supervisor-2023.11.3 agent_version | 1.6.0 docker_version | 24.0.6 disk_total | 57.8 GB disk_used | 6.0 GB healthy | true supported | true board | rpi4-64 supervisor_api | ok version_api | ok installed_addons | File editor (5.7.0), Terminal & SSH (9.8.1), SQLite Web (4.0.0)
Dashboards dashboards | 2 -- | -- resources | 0 views | 2 mode | storage
Recorder oldest_recorder_run | 10 November 2023 at 16:42 -- | -- current_recorder_run | 21 November 2023 at 18:53 estimated_db_size | 104.70 MiB database_engine | sqlite database_version | 3.41.2

Checklist

Describe the issue

I manage to configure my lock and to trigger a lock/unlock command from the home assistant interface via this integration. However, if I unlock the Nuki directly on the device by pressing the main button, the integration does not get updated to reflect the new Unlocked state of the lock.

I imagine this is a bug. Otherwise the integration looses its appeal.

Reproduction steps

1.Configure Nuki device following instructions

  1. Lock (or unlock) the Nuki by pressing the big button on the device
  2. Check that the device Lock state has not been updated in the Home Assistant interface ...

Debug logs

2023-11-21 18:53:33.370 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration hass_nuki_bt which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-11-21 18:53:33.377 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration atmofrance which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-11-21 18:53:33.380 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-11-21 18:53:38.485 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly
2023-11-21 18:53:57.133 WARNING (MainThread) [hass_nabucasa.cloud_api] Fetched https://alexa-api.nabucasa.com/access_token (400)
2023-11-21 18:54:04.885 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform command_line is taking over 10 seconds.
2023-11-21 18:54:07.702 WARNING (MainThread) [homeassistant.components.homeassistant.triggers.numeric_state] Error initializing 'Controle Humidité SdB R+1' trigger: In 'numeric_state' condition: unknown entity sensor.th1_humidity
2023-11-21 18:54:09.941 INFO (MainThread) [custom_components.hass_nuki_bt] Discovered bluetooth device: {'name': 'Nuki_2E96447C', 'address': '54:D2:72:96:44:7C', 'rssi': -127, 'manufacturer_data': {}, 'service_data': {}, 'service_uuids': [], 'source': 'hci0', 'advertisement': AdvertisementData(local_name='Nuki_2E96447C', rssi=-127), 'device': BLEDevice(54:D2:72:96:44:7C, Nuki_2E96447C), 'connectable': True, 'time': 54.921621072}
2023-11-21 18:54:09.951 INFO (MainThread) [custom_components.hass_nuki_bt] Discovered bluetooth device: {'name': 'Nuki_2E96447C', 'address': '54:D2:72:96:44:7C', 'rssi': -66, 'manufacturer_data': {76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc9'}, 'service_data': {}, 'service_uuids': [], 'source': 'DC:A6:32:7F:D0:9A', 'advertisement': AdvertisementData(local_name='Nuki_2E96447C', manufacturer_data={76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc9'}, rssi=-66), 'device': BLEDevice(54:D2:72:96:44:7C, Nuki_2E96447C), 'connectable': True, 'time': 57.853607218}
2023-11-21 18:55:18.417 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hass_nuki_bt' attempted to call BleakClient with an address instead of a BLEDevice at custom_components/hass_nuki_bt/config_flow.py, line 151: ret = await device.pair(), please create a bug report at https://github.com/ronengr/hass_nuki_bt/issues
2023-11-21 18:55:18.690 INFO (MainThread) [custom_components.hass_nuki_bt] Discovered bluetooth device: {'name': 'Nuki_2E96447C', 'address': '54:D2:72:96:44:7C', 'rssi': -66, 'manufacturer_data': {76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc9'}, 'service_data': {'a92ee100-5501-11e4-916c-0800200c9a66': b'.\x96D|'}, 'service_uuids': ['a92ee100-5501-11e4-916c-0800200c9a66'], 'source': 'DC:A6:32:7F:D0:9A', 'advertisement': AdvertisementData(local_name='Nuki_2E96447C', manufacturer_data={76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc9'}, service_data={'a92ee100-5501-11e4-916c-0800200c9a66': b'.\x96D|'}, service_uuids=['a92ee100-5501-11e4-916c-0800200c9a66'], rssi=-66), 'device': BLEDevice(54:D2:72:96:44:7C, Nuki_2E96447C), 'connectable': True, 'time': 149.317753168}
2023-11-21 18:55:21.777 INFO (MainThread) [custom_components.hass_nuki_bt] Discovered bluetooth device: {'name': 'Nuki_2E96447C', 'address': '54:D2:72:96:44:7C', 'rssi': -66, 'manufacturer_data': {76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc9'}, 'service_data': {'a92ee100-5501-11e4-916c-0800200c9a66': b'.\x96D|'}, 'service_uuids': ['0000003e-0000-1000-8000-0026bb765291', '00000044-0000-1000-8000-0026bb765291', '00000045-0000-1000-8000-0026bb765291', '00000055-0000-1000-8000-0026bb765291', '00000096-0000-1000-8000-0026bb765291', '000000a2-0000-1000-8000-0026bb765291', '00001800-0000-1000-8000-00805f9b34fb', '0000180a-0000-1000-8000-00805f9b34fb', 'a92ee100-5501-11e4-916c-0800200c9a66', 'a92ee200-5501-11e4-916c-0800200c9a66'], 'source': 'DC:A6:32:7F:D0:9A', 'advertisement': AdvertisementData(local_name='Nuki_2E96447C', manufacturer_data={76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc9'}, service_data={'a92ee100-5501-11e4-916c-0800200c9a66': b'.\x96D|'}, service_uuids=['0000003e-0000-1000-8000-0026bb765291', '00000044-0000-1000-8000-0026bb765291', '00000045-0000-1000-8000-0026bb765291', '00000055-0000-1000-8000-0026bb765291', '00000096-0000-1000-8000-0026bb765291', '000000a2-0000-1000-8000-0026bb765291', '00001800-0000-1000-8000-00805f9b34fb', '0000180a-0000-1000-8000-00805f9b34fb', 'a92ee100-5501-11e4-916c-0800200c9a66', 'a92ee200-5501-11e4-916c-0800200c9a66'], rssi=-66), 'device': BLEDevice(54:D2:72:96:44:7C, Nuki_2E96447C), 'connectable': True, 'time': 152.405757455}
2023-11-21 18:55:21.779 DEBUG (MainThread) [pyNukiBT.nuki] Services ['00000045-0000-1000-8000-0026bb765291 (Handle: 119): Unknown', '00000096-0000-1000-8000-0026bb765291 (Handle: 164): Unknown', '000000a2-0000-1000-8000-0026bb765291 (Handle: 30): Unknown', '0000003e-0000-1000-8000-0026bb765291 (Handle: 44): Unknown', 'a92ee200-5501-11e4-916c-0800200c9a66 (Handle: 12): Unknown', '00000055-0000-1000-8000-0026bb765291 (Handle: 96): Unknown', 'a92ee100-5501-11e4-916c-0800200c9a66 (Handle: 8): Unknown', '00000044-0000-1000-8000-0026bb765291 (Handle: 151): Unknown', '0000180a-0000-1000-8000-00805f9b34fb (Handle: 21): Device Information']
2023-11-21 18:55:21.779 DEBUG (MainThread) [pyNukiBT.nuki] Characteristics ['00000023-0000-1000-8000-0026bb765291 (Handle: 146): Unknown', '0000001d-0000-1000-8000-0026bb765291 (Handle: 128): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 120): Unknown', '0000001e-0000-1000-8000-0026bb765291 (Handle: 137): MCAP Control Channel', '000000a5-0000-1000-8000-0026bb765291 (Handle: 122): Unknown', '0000008f-0000-1000-8000-0026bb765291 (Handle: 173): Unknown', '00000068-0000-1000-8000-0026bb765291 (Handle: 167): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 165): Unknown', '00000079-0000-1000-8000-0026bb765291 (Handle: 179): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 185): Unknown', '00000037-0000-1000-8000-0026bb765291 (Handle: 33): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 31): Unknown', '000000a5-0000-1000-8000-0026bb765291 (Handle: 38): Unknown', '00000220-0000-1000-8000-0026bb765291 (Handle: 91): Unknown', '00000052-0000-1000-8000-0026bb765291 (Handle: 72): Unknown', '00000030-0000-1000-8000-0026bb765291 (Handle: 67): Unknown', '000000a6-0000-1000-8000-0026bb765291 (Handle: 82): Unknown', '00000020-0000-1000-8000-0026bb765291 (Handle: 52): Unknown', '00000053-0000-1000-8000-0026bb765291 (Handle: 77): Unknown', '00000021-0000-1000-8000-0026bb765291 (Handle: 57): Unknown', '00000014-0000-1000-8000-0026bb765291 (Handle: 47): Hardcopy Data Channel', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 45): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 62): Unknown', 'a92ee201-5501-11e4-916c-0800200c9a66 (Handle: 13): Unknown', 'a92ee203-5501-11e4-916c-0800200c9a66 (Handle: 19): Unknown', 'a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown', '0000004c-0000-1000-8000-0026bb765291 (Handle: 99): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 97): Unknown', '0000004e-0000-1000-8000-0026bb765291 (Handle: 104): Unknown', '00000050-0000-1000-8000-0026bb765291 (Handle: 114): Unknown', '0000004f-0000-1000-8000-0026bb765291 (Handle: 109): Unknown', 'a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 152): Unknown', '00000019-0000-1000-8000-0026bb765291 (Handle: 154): AVDTP', '00000037-0000-1000-8000-0026bb765291 (Handle: 159): Unknown', '00002a24-0000-1000-8000-00805f9b34fb (Handle: 28): Model Number String', '00002a26-0000-1000-8000-00805f9b34fb (Handle: 26): Firmware Revision String', '00002a25-0000-1000-8000-00805f9b34fb (Handle: 22): Serial Number String', '00002a27-0000-1000-8000-00805f9b34fb (Handle: 24): Hardware Revision String']
2023-11-21 18:55:21.887 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:21.888 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:21.888 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:21.888 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:21.917 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:22.037 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown, data: bytearray(b'\x03\x00\xc05Sq\x00t\xad\xe1+;Sw\x8a\xf8v\xd1\x00\x9e\x80\r\x9cS\x1e=\\-\xd2\x02\xce\xef<G\xe6X')
2023-11-21 18:55:22.042 INFO (MainThread) [pyNukiBT.nuki] Nuki 54:D2:72:96:44:7C public key: c03553710074ade12b3b53778af876d1009e800d9c531e3d5c2dd202ceef3c47
2023-11-21 18:55:22.043 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:22.043 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:22.043 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:22.067 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:22.069 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown, data: bytearray(b'\x04\x00\xfe\xd6\xe3Y\xcer\x83\x1c\tA\x1d\xad\x106\xcd\x86\x93\x14\xfb\xe7\xa2R\xbf\x0ez\xe4\x98\xd1R\x1a\xdewv\x9d')
2023-11-21 18:55:22.071 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:22.071 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:22.071 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:22.097 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:22.218 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown, data: bytearray(b'\x04\x00i\tV\x10\x89\xd4+\x1es\xe4\xe2\xedwm\x01\xf1n\x11\xb8\x18\x81\xa5A0\x85\xdc"\xc0s\x90\xc1\xcdF\x06')
2023-11-21 18:55:22.220 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:22.221 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:22.221 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:22.246 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:22.248 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown, data: bytearray(b'\x07\x00h\xdd\xe3;\xbc\xd6\x89)\xd4S\xcc\t\xdb\xd5\xfbm\t\xab\x0b\x1e\xa5\xd8@\x9b\x0f$\x9c\xb0\xf3\x88t\xd3\xe8\\4\x00\xcf\xe3\xe0\xaa\x03jk\xac\r\x0ck\x8f\x81\xb0\xd4U\xd6\x19-\xae\xc6V\xa4\n\xe3\xb2\xc5\xad\x0c\xe5\xf30\x16&*\xefg\xa9\x05@\x9c\x1b\x07J\x13\x1eO\xf2\xcaJ')
2023-11-21 18:55:22.251 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:22.251 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:22.251 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:22.276 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:22.279 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown, data: bytearray(b'\x0e\x00\x00\x9d\xd7')
2023-11-21 18:55:22.280 DEBUG (MainThread) [pyNukiBT.nuki] Last action: COMPLETED
2023-11-21 18:55:22.281 INFO (MainThread) [pyNukiBT.nuki] Nuki disconnecting...
2023-11-21 18:55:24.380 INFO (MainThread) [pyNukiBT.nuki] Nuki disconnected
2023-11-21 18:55:24.381 WARNING (MainThread) [py.warnings] /config/custom_components/hass_nuki_bt/config_flow.py:166: RuntimeWarning: coroutine 'NukiDevice.disconnect' was never awaited
  device.disconnect()

2023-11-21 18:55:24.392 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:96:44:7C, RSSI: -66
2023-11-21 18:55:24.393 INFO (MainThread) [pyNukiBT.nuki] Querying Nuki state
2023-11-21 18:55:24.397 INFO (MainThread) [pyNukiBT.nuki] Querying Nuki state
2023-11-21 18:55:24.398 INFO (MainThread) [pyNukiBT.nuki] update state already in progress. ignoring
2023-11-21 18:55:26.858 DEBUG (MainThread) [pyNukiBT.nuki] Services ['00000045-0000-1000-8000-0026bb765291 (Handle: 119): Unknown', '00000096-0000-1000-8000-0026bb765291 (Handle: 164): Unknown', '000000a2-0000-1000-8000-0026bb765291 (Handle: 30): Unknown', '0000003e-0000-1000-8000-0026bb765291 (Handle: 44): Unknown', 'a92ee200-5501-11e4-916c-0800200c9a66 (Handle: 12): Unknown', '00000055-0000-1000-8000-0026bb765291 (Handle: 96): Unknown', 'a92ee100-5501-11e4-916c-0800200c9a66 (Handle: 8): Unknown', '00000044-0000-1000-8000-0026bb765291 (Handle: 151): Unknown', '0000180a-0000-1000-8000-00805f9b34fb (Handle: 21): Device Information']
2023-11-21 18:55:26.859 DEBUG (MainThread) [pyNukiBT.nuki] Characteristics ['00000023-0000-1000-8000-0026bb765291 (Handle: 146): Unknown', '0000001d-0000-1000-8000-0026bb765291 (Handle: 128): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 120): Unknown', '0000001e-0000-1000-8000-0026bb765291 (Handle: 137): MCAP Control Channel', '000000a5-0000-1000-8000-0026bb765291 (Handle: 122): Unknown', '0000008f-0000-1000-8000-0026bb765291 (Handle: 173): Unknown', '00000068-0000-1000-8000-0026bb765291 (Handle: 167): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 165): Unknown', '00000079-0000-1000-8000-0026bb765291 (Handle: 179): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 185): Unknown', '00000037-0000-1000-8000-0026bb765291 (Handle: 33): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 31): Unknown', '000000a5-0000-1000-8000-0026bb765291 (Handle: 38): Unknown', '00000220-0000-1000-8000-0026bb765291 (Handle: 91): Unknown', '00000052-0000-1000-8000-0026bb765291 (Handle: 72): Unknown', '00000030-0000-1000-8000-0026bb765291 (Handle: 67): Unknown', '000000a6-0000-1000-8000-0026bb765291 (Handle: 82): Unknown', '00000020-0000-1000-8000-0026bb765291 (Handle: 52): Unknown', '00000053-0000-1000-8000-0026bb765291 (Handle: 77): Unknown', '00000021-0000-1000-8000-0026bb765291 (Handle: 57): Unknown', '00000014-0000-1000-8000-0026bb765291 (Handle: 47): Hardcopy Data Channel', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 45): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 62): Unknown', 'a92ee201-5501-11e4-916c-0800200c9a66 (Handle: 13): Unknown', 'a92ee203-5501-11e4-916c-0800200c9a66 (Handle: 19): Unknown', 'a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown', '0000004c-0000-1000-8000-0026bb765291 (Handle: 99): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 97): Unknown', '0000004e-0000-1000-8000-0026bb765291 (Handle: 104): Unknown', '00000050-0000-1000-8000-0026bb765291 (Handle: 114): Unknown', '0000004f-0000-1000-8000-0026bb765291 (Handle: 109): Unknown', 'a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 152): Unknown', '00000019-0000-1000-8000-0026bb765291 (Handle: 154): AVDTP', '00000037-0000-1000-8000-0026bb765291 (Handle: 159): Unknown', '00002a24-0000-1000-8000-00805f9b34fb (Handle: 28): Model Number String', '00002a26-0000-1000-8000-00805f9b34fb (Handle: 26): Firmware Revision String', '00002a25-0000-1000-8000-00805f9b34fb (Handle: 22): Serial Number String', '00002a27-0000-1000-8000-00805f9b34fb (Handle: 24): Hardware Revision String']
2023-11-21 18:55:26.929 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:26.932 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_DATA
2023-11-21 18:55:26.933 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:26.933 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:26.934 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:26.956 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:96:44:7C, RSSI: -75
2023-11-21 18:55:26.959 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:26.962 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b"ME\xc0\xc3\xd3\x96\x00W\xffF\x8d=\xca\xac@P\x8ap?\xd7S\xe7\xfd\xf2\xe8\\4\x002\x00\xff\x859\xac\x8f\x9f\xcd;\xf7\x06\xcc\x81\x19\xc8`X\xd0\x1d\'G\xfd\xfc\x91\xc7W\x8dJ\xbd\x96\xb4m=8:\x13\x0f\xad\xfbb*\x1e\x80\x89#\xcf&\x96gm\x05")
2023-11-21 18:55:26.964 DEBUG (MainThread) [pyNukiBT.nuki] State: Container: 
    nuki_state = (enum) DOOR_MODE 2
    lock_state = (enum) UNLOCKED 3
    trigger = (enum) MANUAL 1
    current_time = Container: 
        year = 2023
        month = 11
        day = 21
        hour = 17
        minute = 55
        second = 48
    timezone_offset = 0
    critical_battery_state = 152
    config_update_count = 8
    lock_n_go_timer = 0
    last_lock_action = (enum) LOCK 2
    last_lock_action_trigger = (enum) MANUAL 1
    last_lock_action_completion_status = (enum) SUCCESS 0
    door_sensor_state = (enum) DOOR_CLOSED 2
    nightmode_active = 1024
    accessory_battery_state = 0
2023-11-21 18:55:26.964 INFO (MainThread) [pyNukiBT.nuki] Retrieve nuki configuration
2023-11-21 18:55:26.965 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:26.965 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_DATA
2023-11-21 18:55:26.965 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:26.965 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:26.966 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:26.989 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:26.992 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b'2-\xd4\xc7\xe5\xe8tg\\\xe4\xf24\xcd\xfc\x8c\x13>F/\xc5R\xdb\x11\xfe\xe8\\4\x008\x00\x00\xec\xca\xd2g\xd5ecl\x84\xd0\xdf\x13\xf0\xbeZ\xd8\xbd\xac)8\xc7\x9e\xb7NH\xff\xda\xf9*\x9c]/\x1a\xda- \xb0\xa2\x85\n\x8c\xd7\x15Qk\xd9\x12\xc2\xd3a\xbf+%\xee\xa1')
2023-11-21 18:55:26.994 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_CONFIG
2023-11-21 18:55:26.994 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:26.994 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:26.994 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:27.019 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:27.022 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b"\x1e\xc7\x1c:\x95\xe4\xa4C\x14\xe40\x00\xa8\x8b*I\x82\xcf\x8bq\xa8\x9e\xbf\r\xe8\\4\x00e\x00x\\\xdb\xda\xcdl\xa2\xf1<6\x15\xc6\xf4\xa4\xa2?\xae[\xe6\xe6\xc1\x80\xe4\xb9$V\x97\x7fl08L~\xeba\xa4\xbe\x7f\xd7~b\xa21\x962\xb1\xab\xd7BK\x07\xc4J\x87\x03Z\x97L7\x17\xba0p\x90\\\xc0\x89O\xd3\x00\xd0\xb892;\xbeP\x8d\'\x80\x06\xd3\xaf\xf0H\xaeO\x8a\xcd\x8d\xc4 &\x00>\xabc\xf5S`\xe7")
2023-11-21 18:55:27.025 DEBUG (MainThread) [pyNukiBT.nuki] Config: Container: 
    nuki_id = 781599868
    name = u'Porte RdC' (total 9)
    latitude = 48.8254280090332
    longitude = 2.353806495666504
    auto_unlatch = 0
    pairing_enabled = 1
    button_enabled = 1
    led_enabled = 0
    led_brightness = 2
    current_time = Container: 
        year = 2023
        month = 11
        day = 21
        hour = 17
        minute = 55
        second = 48
    timezone_offset = 0
    dst_mode = 0
    has_fob = 0
    fob_action_1 = 4
    fob_action_2 = 1
    fob_action_3 = 2
    single_lock = 0
    advertising_mode = (enum) AUTOMATIC 0
    has_keypad = 1
    firmware_version = ListContainer: 
        3
        7
        7
    hardware_revision = ListContainer: 
        4
        10
    homekit_status = 1
    timezone_id = (enum) EUROPE_BERLIN 37
    undocumented = 4
    undocumented2 = 0
    has_keypad_v2 = 0
2023-11-21 18:55:34.402 INFO (MainThread) [pyNukiBT.nuki] Querying Nuki state
2023-11-21 18:55:34.402 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:34.406 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_DATA
2023-11-21 18:55:34.406 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:34.407 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:34.407 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:34.429 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:34.431 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b"\xf4\xfe\xa2\xec\x9b\x8a\x89e\xf1wC\xcf\xe8\x87\x04i\x19\xa5\xe9d\xe0\xa6I\x0b\xe8\\4\x002\x00SO}@\x0c\x12O6\x8b*\x82\x97nS\xce\x94\xeeU\xc0*\xa4\x7f\xd4\x17\xfa\xf0\x14\xd4v\xfc1\xfc\xad\x02\xb2\xad\xbe\x84\x15\xb8\x16F\x9c\'\xc6\x00m\x88N:")
2023-11-21 18:55:34.434 DEBUG (MainThread) [pyNukiBT.nuki] State: Container: 
    nuki_state = (enum) DOOR_MODE 2
    lock_state = (enum) UNLOCKED 3
    trigger = (enum) MANUAL 1
    current_time = Container: 
        year = 2023
        month = 11
        day = 21
        hour = 17
        minute = 55
        second = 55
    timezone_offset = 0
    critical_battery_state = 152
    config_update_count = 8
    lock_n_go_timer = 0
    last_lock_action = (enum) LOCK 2
    last_lock_action_trigger = (enum) MANUAL 1
    last_lock_action_completion_status = (enum) SUCCESS 0
    door_sensor_state = (enum) DOOR_CLOSED 2
    nightmode_active = 1024
    accessory_battery_state = 0
2023-11-21 18:55:52.436 INFO (MainThread) [pyNukiBT.nuki] Lock action LOCK
2023-11-21 18:55:52.438 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_DATA
2023-11-21 18:55:52.438 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:54.054 DEBUG (MainThread) [pyNukiBT.nuki] Services ['00000045-0000-1000-8000-0026bb765291 (Handle: 119): Unknown', '00000096-0000-1000-8000-0026bb765291 (Handle: 164): Unknown', '000000a2-0000-1000-8000-0026bb765291 (Handle: 30): Unknown', '0000003e-0000-1000-8000-0026bb765291 (Handle: 44): Unknown', 'a92ee200-5501-11e4-916c-0800200c9a66 (Handle: 12): Unknown', '00000055-0000-1000-8000-0026bb765291 (Handle: 96): Unknown', 'a92ee100-5501-11e4-916c-0800200c9a66 (Handle: 8): Unknown', '00000044-0000-1000-8000-0026bb765291 (Handle: 151): Unknown', '0000180a-0000-1000-8000-00805f9b34fb (Handle: 21): Device Information']
2023-11-21 18:55:54.055 DEBUG (MainThread) [pyNukiBT.nuki] Characteristics ['00000023-0000-1000-8000-0026bb765291 (Handle: 146): Unknown', '0000001d-0000-1000-8000-0026bb765291 (Handle: 128): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 120): Unknown', '0000001e-0000-1000-8000-0026bb765291 (Handle: 137): MCAP Control Channel', '000000a5-0000-1000-8000-0026bb765291 (Handle: 122): Unknown', '0000008f-0000-1000-8000-0026bb765291 (Handle: 173): Unknown', '00000068-0000-1000-8000-0026bb765291 (Handle: 167): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 165): Unknown', '00000079-0000-1000-8000-0026bb765291 (Handle: 179): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 185): Unknown', '00000037-0000-1000-8000-0026bb765291 (Handle: 33): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 31): Unknown', '000000a5-0000-1000-8000-0026bb765291 (Handle: 38): Unknown', '00000220-0000-1000-8000-0026bb765291 (Handle: 91): Unknown', '00000052-0000-1000-8000-0026bb765291 (Handle: 72): Unknown', '00000030-0000-1000-8000-0026bb765291 (Handle: 67): Unknown', '000000a6-0000-1000-8000-0026bb765291 (Handle: 82): Unknown', '00000020-0000-1000-8000-0026bb765291 (Handle: 52): Unknown', '00000053-0000-1000-8000-0026bb765291 (Handle: 77): Unknown', '00000021-0000-1000-8000-0026bb765291 (Handle: 57): Unknown', '00000014-0000-1000-8000-0026bb765291 (Handle: 47): Hardcopy Data Channel', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 45): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 62): Unknown', 'a92ee201-5501-11e4-916c-0800200c9a66 (Handle: 13): Unknown', 'a92ee203-5501-11e4-916c-0800200c9a66 (Handle: 19): Unknown', 'a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown', '0000004c-0000-1000-8000-0026bb765291 (Handle: 99): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 97): Unknown', '0000004e-0000-1000-8000-0026bb765291 (Handle: 104): Unknown', '00000050-0000-1000-8000-0026bb765291 (Handle: 114): Unknown', '0000004f-0000-1000-8000-0026bb765291 (Handle: 109): Unknown', 'a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 152): Unknown', '00000019-0000-1000-8000-0026bb765291 (Handle: 154): AVDTP', '00000037-0000-1000-8000-0026bb765291 (Handle: 159): Unknown', '00002a24-0000-1000-8000-00805f9b34fb (Handle: 28): Model Number String', '00002a26-0000-1000-8000-00805f9b34fb (Handle: 26): Firmware Revision String', '00002a25-0000-1000-8000-00805f9b34fb (Handle: 22): Serial Number String', '00002a27-0000-1000-8000-00805f9b34fb (Handle: 24): Hardware Revision String']
2023-11-21 18:55:54.132 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:54.133 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:54.162 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:54.165 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b'\xf9\xc7U\xc3\x81~\xd3\xcb\x15\xc8]\x81\xa5%F`\xea\xc3]N`\xf5c\x17\xe8\\4\x008\x00\xb7fAs|\xc2\xb4\x93\xa2|\xc6W~\xf9\xba=\xb4\xcb\xa7\xfa\x83\r\xcd\xedSN\xeee\x97\x93\xac\xcf1\x11H\x97\xe9G}\xae\xd7\xf9\x9fCm12\xc4\x97;\xb6\x14\x07\xb7\x8e\xc2')
2023-11-21 18:55:54.170 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command LOCK_ACTION
2023-11-21 18:55:54.171 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 18:55:54.171 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 18:55:54.171 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 18:55:54.222 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 18:55:54.237 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b'\x12\xbeJ\x17\r}:G\x0f\xeb\xf9\xf4\xf2\x02\xc3\x1c8\xae\xb9/\xf2\xcc\x06T\xe8\\4\x00\x19\x00\xb9\x8d\xa6\x9cP\xb4\xce\x8b4\xa6#\x1c\xdd\xdep\xc9c\x1fE\x97V\xbe\x9b\xcd\x83')
2023-11-21 18:55:54.240 DEBUG (MainThread) [pyNukiBT.nuki] Last action: ACCEPTED
2023-11-21 18:55:54.241 INFO (MainThread) [pyNukiBT.nuki] ACCEPTED
2023-11-21 18:55:54.268 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b'\xe5\x81Y+\x8d\xf0u\x94D\xc0^\xd4\xbc\xa8\x05\x17\x7fL\xbb\x02O\xd5\xf7<\xe8\\4\x002\x00\xd8\x95\x88L\xfe\xcdFro \xb3\x91\xc5=\xee\x94\x8a\xb3\x08\xf8\x94\x9e\xb3@!\xa8\xacKc\x948\t\x0fc\xdeQ\xa1s\xb8~\x98\x01\xfb\x02<2\t\xc3\xed\x08')
2023-11-21 18:55:54.272 DEBUG (MainThread) [pyNukiBT.nuki] State: Container: 
    nuki_state = (enum) DOOR_MODE 2
    lock_state = (enum) LOCKING 4
    trigger = (enum) SYSTEM 0
    current_time = Container: 
        year = 2023
        month = 11
        day = 21
        hour = 17
        minute = 56
        second = 15
    timezone_offset = 0
    critical_battery_state = 152
    config_update_count = 8
    lock_n_go_timer = 0
    last_lock_action = (enum) LOCK 2
    last_lock_action_trigger = (enum) SYSTEM 0
    last_lock_action_completion_status = (enum) SUCCESS 0
    door_sensor_state = (enum) DOOR_CLOSED 2
    nightmode_active = 1024
    accessory_battery_state = 0
2023-11-21 18:55:54.272 DEBUG (MainThread) [pyNukiBT.nuki] HomeAssistant: Fire callbacks
2023-11-21 18:55:59.418 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b"\x86\xaa\x99:4\\\xe4\x90XB\x8c\xc5f\xbd\x01\x82\xdf\t\x84$\x1fg\xa0\xc7\xe8\\4\x002\x00\x1b\xc4\xc4\'\x84\x14!\xd8\x98\x97.\xd5}K]\xc3\r8\xf1\x1b}\xe6\xf3\xdc\xac8fg\xfc\xad\x124\x17\xff\xc2\xb32eO\x0b\x80\xaa#\x16\x0b\xd9L\x08\xc3\xf9")
2023-11-21 18:55:59.424 DEBUG (MainThread) [pyNukiBT.nuki] State: Container: 
    nuki_state = (enum) DOOR_MODE 2
    lock_state = (enum) LOCKED 1
    trigger = (enum) SYSTEM 0
    current_time = Container: 
        year = 2023
        month = 11
        day = 21
        hour = 17
        minute = 56
        second = 20
    timezone_offset = 0
    critical_battery_state = 152
    config_update_count = 8
    lock_n_go_timer = 0
    last_lock_action = (enum) LOCK 2
    last_lock_action_trigger = (enum) SYSTEM 0
    last_lock_action_completion_status = (enum) SUCCESS 0
    door_sensor_state = (enum) DOOR_CLOSED 2
    nightmode_active = 1024
    accessory_battery_state = 0
2023-11-21 18:55:59.424 DEBUG (MainThread) [pyNukiBT.nuki] HomeAssistant: Fire callbacks
2023-11-21 18:55:59.447 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b'\x17$\x0c\xd0.\x8fk\xb54\xeb\x9a\x08\x16:\xf1\xae\x98f\r\xf1\t\x91}\xc5\xe8\\4\x00\x19\x00\xf4c$\xeb\xcd\x94\\\xc3\x81\x7f\xfbr(>\xc0\xc4\xbc\x9dl\xcd\\\xdazWt')
2023-11-21 18:55:59.449 DEBUG (MainThread) [pyNukiBT.nuki] Last action: COMPLETED
2023-11-21 18:55:59.449 INFO (MainThread) [pyNukiBT.nuki] Last action: COMPLETED
2023-11-21 19:01:06.350 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:96:44:7C, RSSI: -80
2023-11-21 19:01:06.351 INFO (MainThread) [pyNukiBT.nuki] Querying Nuki state
2023-11-21 19:01:10.720 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:96:44:7C, RSSI: -80
2023-11-21 19:01:10.723 DEBUG (MainThread) [pyNukiBT.nuki] Services ['00000045-0000-1000-8000-0026bb765291 (Handle: 119): Unknown', '00000096-0000-1000-8000-0026bb765291 (Handle: 164): Unknown', '000000a2-0000-1000-8000-0026bb765291 (Handle: 30): Unknown', '0000003e-0000-1000-8000-0026bb765291 (Handle: 44): Unknown', 'a92ee200-5501-11e4-916c-0800200c9a66 (Handle: 12): Unknown', '00000055-0000-1000-8000-0026bb765291 (Handle: 96): Unknown', 'a92ee100-5501-11e4-916c-0800200c9a66 (Handle: 8): Unknown', '00000044-0000-1000-8000-0026bb765291 (Handle: 151): Unknown', '0000180a-0000-1000-8000-00805f9b34fb (Handle: 21): Device Information']
2023-11-21 19:01:10.724 DEBUG (MainThread) [pyNukiBT.nuki] Characteristics ['00000023-0000-1000-8000-0026bb765291 (Handle: 146): Unknown', '0000001d-0000-1000-8000-0026bb765291 (Handle: 128): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 120): Unknown', '0000001e-0000-1000-8000-0026bb765291 (Handle: 137): MCAP Control Channel', '000000a5-0000-1000-8000-0026bb765291 (Handle: 122): Unknown', '0000008f-0000-1000-8000-0026bb765291 (Handle: 173): Unknown', '00000068-0000-1000-8000-0026bb765291 (Handle: 167): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 165): Unknown', '00000079-0000-1000-8000-0026bb765291 (Handle: 179): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 185): Unknown', '00000037-0000-1000-8000-0026bb765291 (Handle: 33): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 31): Unknown', '000000a5-0000-1000-8000-0026bb765291 (Handle: 38): Unknown', '00000220-0000-1000-8000-0026bb765291 (Handle: 91): Unknown', '00000052-0000-1000-8000-0026bb765291 (Handle: 72): Unknown', '00000030-0000-1000-8000-0026bb765291 (Handle: 67): Unknown', '000000a6-0000-1000-8000-0026bb765291 (Handle: 82): Unknown', '00000020-0000-1000-8000-0026bb765291 (Handle: 52): Unknown', '00000053-0000-1000-8000-0026bb765291 (Handle: 77): Unknown', '00000021-0000-1000-8000-0026bb765291 (Handle: 57): Unknown', '00000014-0000-1000-8000-0026bb765291 (Handle: 47): Hardcopy Data Channel', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 45): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 62): Unknown', 'a92ee201-5501-11e4-916c-0800200c9a66 (Handle: 13): Unknown', 'a92ee203-5501-11e4-916c-0800200c9a66 (Handle: 19): Unknown', 'a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown', '0000004c-0000-1000-8000-0026bb765291 (Handle: 99): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 97): Unknown', '0000004e-0000-1000-8000-0026bb765291 (Handle: 104): Unknown', '00000050-0000-1000-8000-0026bb765291 (Handle: 114): Unknown', '0000004f-0000-1000-8000-0026bb765291 (Handle: 109): Unknown', 'a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 152): Unknown', '00000019-0000-1000-8000-0026bb765291 (Handle: 154): AVDTP', '00000037-0000-1000-8000-0026bb765291 (Handle: 159): Unknown', '00002a24-0000-1000-8000-00805f9b34fb (Handle: 28): Model Number String', '00002a26-0000-1000-8000-00805f9b34fb (Handle: 26): Firmware Revision String', '00002a25-0000-1000-8000-00805f9b34fb (Handle: 22): Serial Number String', '00002a27-0000-1000-8000-00805f9b34fb (Handle: 24): Hardware Revision String']
2023-11-21 19:01:10.833 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 19:01:10.835 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_DATA
2023-11-21 19:01:10.835 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1
2023-11-21 19:01:10.836 INFO (MainThread) [pyNukiBT.nuki] Connected
2023-11-21 19:01:10.836 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki
2023-11-21 19:01:10.863 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1
2023-11-21 19:01:10.866 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b"w\xd0\x17\xe7\xe4\xe7\x80Dd\x92f\xa6;\x1c\xd7;k5<\x15T\xcb\xa5\x8b\xe8\\4\x002\x00\x99\xcc\xa1\x86\x0e\x06\xdd\x84\x11\xfc\xcfCK\xdeB\xec)%\xe1\xf8\xd9\xf1P\xb4G\xf3\x17(\x0c^\xd5\xb0\xca\xed\xc4^*\x10\'\xddb+\xd0\xc2+\xe8W4$7")
2023-11-21 19:01:10.868 DEBUG (MainThread) [pyNukiBT.nuki] State: Container: 
    nuki_state = (enum) DOOR_MODE 2
    lock_state = (enum) UNLOCKED 3
    trigger = (enum) BUTTON 2
    current_time = Container: 
        year = 2023
        month = 11
        day = 21
        hour = 18
        minute = 1
        second = 27
    timezone_offset = 0
    critical_battery_state = 148
    config_update_count = 8
    lock_n_go_timer = 0
    last_lock_action = (enum) UNLOCK 1
    last_lock_action_trigger = (enum) BUTTON 2
    last_lock_action_completion_status = (enum) SUCCESS 0
    door_sensor_state = (enum) DOOR_CLOSED 2
    nightmode_active = 1024
    accessory_battery_state = 0
2023-11-21 19:01:13.943 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:96:44:7C, RSSI: -67
2023-11-21 19:05:39.770 ERROR (MainThread) [homeassistant.components.hassio.handler] Client error on /network/info request Cannot connect to host 172.30.32.2:80 ssl:default [No such file or directory]
2023-11-21 19:05:39.771 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /network/info - 
2023-11-21 19:09:51.825 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:96:44:7C, RSSI: -77
2023-11-21 19:09:51.826 INFO (MainThread) [custom_components.hass_nuki_bt] Discovered bluetooth device: {'name': 'Nuki_2E96447C', 'address': '54:D2:72:96:44:7C', 'rssi': -77, 'manufacturer_data': {76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc8'}, 'service_data': {}, 'service_uuids': [], 'source': 'DC:A6:32:7F:D0:9A', 'advertisement': AdvertisementData(local_name='Nuki_2E96447C', manufacturer_data={76: b'\x02\x15\xa9.\xe2\x00U\x01\x11\xe4\x91l\x08\x00 \x0c\x9af.\x96D|\xc8'}, rssi=-77), 'device': BLEDevice(54:D2:72:96:44:7C, Nuki_2E96447C), 'connectable': True, 'time': 1022.45353807}

Diagnostics dump

No response

guibar commented 7 months ago

It seems to be a bug:

Logger: homeassistant.helpers.frame Source: helpers/frame.py:133 First occurred: 18:55:18 (1 occurrences) Last logged: 18:55:18 Detected that custom integration 'hass_nuki_bt' attempted to call BleakClient with an address instead of a BLEDevice at custom_components/hass_nuki_bt/config_flow.py, line 151: ret = await device.pair(), please create a bug report at https://github.com/ronengr/hass_nuki_bt/issues

ronengr commented 7 months ago

On my device the info is updated even if I open/close the device from the button or the nuki app or any other way.

What BT connection are you using? do you have a BT dongle on the HA PC (what dongle?) or do you use a proxy?

sometime it can take a few seconds for HA to get the update.

I see in the logs that the nuki extension got the state update correctly:

 last_lock_action = (enum) UNLOCK 1
 last_lock_action_trigger = (enum) BUTTON 2
 last_lock_action_completion_status = (enum) SUCCESS 0

but i'm not sure why it is not propagating to HA.

I will look into this a bit more.

guibar commented 7 months ago

Hi and thanks for looking into this. I use the native bluetooth of the raspberry pi 4. I can do more tests to see if the problem is consistent.

ronengr commented 7 months ago

Did you check the latest version? There where some small fixes that may be related

Navpoint85 commented 5 months ago

Hello, same problem here. Running standard BT integration with HA Green and BT dongle. Are there any news?

BKingGSXR1000 commented 5 months ago

I had no idea it even SHOULD have those features! I connected a ASUS USB-BT400 Nano Bluetooth-Stick to my Home Assistant Green on a USB extension cord. I can lock/unlock my Nuki lock with maybe 1-3 seconds delay, which is nice. The signal strength according to HA changes between -71 and 80 dBM. Don't know if that's good or bad.

But the lock state entity bare ever works, no matter if I press the button on the lock, use the HA-App or do it manually. As far as I can tell it just runs into a timeout.

2024-01-17 11:11:49.835 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:B9:52:45, RSSI: -74 2024-01-17 11:11:49.835 INFO (MainThread) [pyNukiBT.nuki] Querying Nuki state 2024-01-17 11:11:54.825 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:11:58.265 DEBUG (MainThread) [pyNukiBT.nuki] Services ['a92ee200-5501-11e4-916c-0800200c9a66 (Handle: 12): Unknown', '0000003e-0000-1000-8000-0026bb765291 (Handle: 44): Unknown', '00000044-0000-1000-8000-0026bb765291 (Handle: 151): Unknown', '00000055-0000-1000-8000-0026bb765291 (Handle: 96): Unknown', '00000045-0000-1000-8000-0026bb765291 (Handle: 119): Unknown', '000000a2-0000-1000-8000-0026bb765291 (Handle: 30): Unknown', 'a92ee100-5501-11e4-916c-0800200c9a66 (Handle: 8): Unknown', '0000180a-0000-1000-8000-00805f9b34fb (Handle: 21): Device Information', '00000096-0000-1000-8000-0026bb765291 (Handle: 164): Unknown'] 2024-01-17 11:11:58.266 DEBUG (MainThread) [pyNukiBT.nuki] Characteristics ['a92ee203-5501-11e4-916c-0800200c9a66 (Handle: 19): Unknown', 'a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown', 'a92ee201-5501-11e4-916c-0800200c9a66 (Handle: 13): Unknown', '00000014-0000-1000-8000-0026bb765291 (Handle: 47): Hardcopy Data Channel', '00000030-0000-1000-8000-0026bb765291 (Handle: 67): Unknown', '000000a6-0000-1000-8000-0026bb765291 (Handle: 82): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 62): Unknown', '00000053-0000-1000-8000-0026bb765291 (Handle: 77): Unknown', '00000052-0000-1000-8000-0026bb765291 (Handle: 72): Unknown', '00000021-0000-1000-8000-0026bb765291 (Handle: 57): Unknown', '00000020-0000-1000-8000-0026bb765291 (Handle: 52): Unknown', '00000220-0000-1000-8000-0026bb765291 (Handle: 91): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 45): Unknown', '00000019-0000-1000-8000-0026bb765291 (Handle: 154): AVDTP', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 152): Unknown', '00000037-0000-1000-8000-0026bb765291 (Handle: 159): Unknown', '0000004c-0000-1000-8000-0026bb765291 (Handle: 99): Unknown', '0000004e-0000-1000-8000-0026bb765291 (Handle: 104): Unknown', '00000050-0000-1000-8000-0026bb765291 (Handle: 114): Unknown', '0000004f-0000-1000-8000-0026bb765291 (Handle: 109): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 97): Unknown', '0000001d-0000-1000-8000-0026bb765291 (Handle: 128): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 120): Unknown', '0000001e-0000-1000-8000-0026bb765291 (Handle: 137): MCAP Control Channel', '00000023-0000-1000-8000-0026bb765291 (Handle: 146): Unknown', '000000a5-0000-1000-8000-0026bb765291 (Handle: 122): Unknown', '00000037-0000-1000-8000-0026bb765291 (Handle: 33): Unknown', '000000a5-0000-1000-8000-0026bb765291 (Handle: 38): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 31): Unknown', 'a92ee101-5501-11e4-916c-0800200c9a66 (Handle: 9): Unknown', '00002a26-0000-1000-8000-00805f9b34fb (Handle: 26): Firmware Revision String', '00002a25-0000-1000-8000-00805f9b34fb (Handle: 22): Serial Number String', '00002a24-0000-1000-8000-00805f9b34fb (Handle: 28): Model Number String', '00002a27-0000-1000-8000-00805f9b34fb (Handle: 24): Hardware Revision String', '00000079-0000-1000-8000-0026bb765291 (Handle: 179): Unknown', 'e604e95d-a759-4817-87d3-aa005083a0d1 (Handle: 165): Unknown', '0000008f-0000-1000-8000-0026bb765291 (Handle: 173): Unknown', '00000068-0000-1000-8000-0026bb765291 (Handle: 167): Unknown', '00000023-0000-1000-8000-0026bb765291 (Handle: 185): Unknown'] 2024-01-17 11:11:58.321 INFO (MainThread) [pyNukiBT.nuki] Connected 2024-01-17 11:11:58.323 INFO (MainThread) [pyNukiBT.nuki] sending encrypted command REQUEST_DATA 2024-01-17 11:11:58.323 INFO (MainThread) [pyNukiBT.nuki] Trying to send data. Attempt 1 2024-01-17 11:11:58.324 INFO (MainThread) [pyNukiBT.nuki] Connected 2024-01-17 11:11:58.324 INFO (MainThread) [pyNukiBT.nuki] Sending data to Nuki 2024-01-17 11:11:58.366 INFO (MainThread) [pyNukiBT.nuki] Data sent on attempt 1 2024-01-17 11:11:58.441 DEBUG (MainThread) [pyNukiBT.nuki] Notification handler: a92ee202-5501-11e4-916c-0800200c9a66 (Handle: 16): Unknown, data: bytearray(b'\xee\r\x1d\x97f\xf9r\xb46<\xfa\xca\x05\xc1\xc9\xef\xe3;q\xb1\xbc\x05c\xe1\\4\x002\x00\x8ehUY\x18\xe8K\xdaG\xa5\x1e\xd3d<\x92\xa3b\x0b0\xef\xbc\xb0\xa2\xd21\xed\xf4\x85\x87\n\xf4\x19\xe5\xe5Q\xce\xb7\xbaB\xf2l\xf5J\x94ef\x9br\xe9') 2024-01-17 11:11:58.444 DEBUG (MainThread) [pyNukiBT.nuki] State: Container: nuki_state = (enum) DOOR_MODE 2 lock_state = (enum) UNLOCKED 3 trigger = (enum) BUTTON 2 current_time = Container: year = 2024 month = 1 day = 17 hour = 10 minute = 11 second = 59 timezone_offset = 0 critical_battery_state = 128 config_update_count = 10 lock_n_go_timer = 0 last_lock_action = (enum) UNLOCK 1 last_lock_action_trigger = (enum) BUTTON 2 last_lock_action_completion_status = (enum) SUCCESS 0 door_sensor_state = (enum) UNAVAILABLE 0 nightmode_active = 0 accessory_battery_state = 0 2024-01-17 11:12:14.692 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:B9:52:45, RSSI: -74 2024-01-17 11:12:14.827 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.sharp_aquos_tv is taking over 10 seconds 2024-01-17 11:12:14.828 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:12:24.827 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:12:32.101 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:B9:52:45, RSSI: -82 2024-01-17 11:12:32.102 INFO (MainThread) [pyNukiBT.nuki] Querying Nuki state 2024-01-17 11:12:34.828 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:12:44.829 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:12:50.236 INFO (MainThread) [pyNukiBT.nuki] Nuki: 54:D2:72:B9:52:45, RSSI: -72 2024-01-17 11:12:54.830 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:13:04.832 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10 2024-01-17 11:13:12.105 ERROR (MainThread) [custom_components.hass_nuki_bt] 54:D2:72:B9:52:45: Failure while polling Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/client.py", line 209, in connect reply = await self._bus.call( ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/dbus_fast/aio/message_bus.py", line 375, in call await future asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/bluetooth/active_update_coordinator.py", line 129, in _async_poll self.data = await self._async_poll_data(self._last_service_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/bluetooth/active_update_coordinator.py", line 122, in _async_poll_data return await self._poll_method(last_service_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/hass_nuki_bt/coordinator.py", line 110, in _async_update await self.device.update_state() File "/usr/local/lib/python3.11/site-packages/pyNukiBT/nuki.py", line 420, in update_state await self.connect() # connect so we can identify the device type and update self._const accordingly ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/pyNukiBT/nuki.py", line 383, in connect await self._client.connect() File "/usr/local/lib/python3.11/site-packages/habluetooth/wrappers.py", line 295, in connect connected = await super().connect(kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/bleak/init.py", line 605, in connect return await self._backend.connect(kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/client.py", line 146, in connect async with async_timeout(timeout): File "/usr/local/lib/python3.11/asyncio/timeouts.py", line 111, in aexit raise TimeoutError from exc_val TimeoutError

alfredocdmiranda commented 4 months ago

I am facing similar problem about the update state. If I lock/unlock pressing the button on my Nuki, HA does not get the correct state. I didn't dig into the logs yet.

ronengr commented 2 months ago

@BKingGSXR1000 from the logs it seems HA backend has issues connecting to the lock. probably poor connection quality (to far from the lock, too much interference etc).

If there is no connection or the connection times-out, there is nothing i can do.

ronengr commented 2 months ago

@guibar @alfredocdmiranda @Navpoint85 can you please check if there is still an issue in latest version? there were some fixes in the state_update mechanism that should have solved this.