HomeKit Thread Accessories

Hi all! New here but not to HA. I wanted to comment on my experience thus far on some Thread Accessories I added to Home Assistant after the 2022.10 core update. Overall these devices are very fast to respond over Thread through HA. I cannot say how grateful I am to the HA team for this integration because I was pretty annoyed Wemo said these devices won’t be getting a matter update.

Wemo Smart Plug with Thread

  • Working over Thread (VERY fast response time)
  • Remove from HomeKit and wait till the switch starts flashing orange and white then quickly pair it in HA, works perfect if you’re quick.

Wemo Stage Scene Controller

  • So far not working, quiet difficult to actually reset.

Eve Motion with Thread

  • Working! So easy, remove then repair.
  • Maybe a little lag but I think that is the device itself and not the network.

Hi Tim,

Can you elaborate how you make the Eve Motion work? I see it in the EVE app working with thread. After removing from home app I get the option in HA to include it. Unfortunately the window with the homekit code already says that there was an exception and of course then it isn’t working. Would love to get some hints how to do it.

Thanks,
a.

@antistes if you can provide the logs, possibly with debug enabled, I can help. I wrote most of the HAP Thread code. @tjd-dev same to you for the Wemo Stage Scene Controller.

FYI we did get a fix in for 2022.10.5 around Wemo devices: Paring thread Wemo Stage programmable switch fails · Issue #80133 · home-assistant/core · GitHub

@lambdafunction Thank you very much. I will do these experiments again and provide some logs. That unfortunately has to wait at least until Friday (Iphone availability… :slight_smile: ).

Ok, here is the log. Just some mentions:

  • There is a bluethoot switch connected to homeassistant homekit (also eve)
  • If I factory reset the Eve Motion I can add it to homeassistant homekit as blue tooth device as well
  • If I add the Eve Motion to the home app (Apple) and remove it from then this happens (exception)

2022-10-19 15:07:24.322 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Starting HomeKit controller update: 60:2A:FD:A9:D1:E7
2022-10-19 15:07:24.322 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Called async_set_available_state with True for 60:2A:FD:A9:D1:E7
2022-10-19 15:07:24.322 DEBUG (MainThread) [aiohomekit.controller.ip.connection] 192.168.2.35: raw request: b’GET /characteristics?id=4.10,4.9,2.10,3.10,2.9,3.9,4.11,2.11,3.11 HTTP/1.1\r\nHost: 192.168.2.35\r\n\r\n’
2022-10-19 15:07:25.240 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Starting HomeKit controller update: 59:93:B4:E9:E3:E6
2022-10-19 15:07:25.240 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Called async_set_available_state with True for 59:93:B4:E9:E3:E6
2022-10-19 15:07:25.240 DEBUG (MainThread) [aiohomekit.controller.ip.connection] 192.168.2.58: raw request: b’GET /characteristics?id=2.2068,1.37,1.34,3.65,1.49,1.52,3.3088,4.4112,3.3094,1.18,4.4118,1.76,1.21,1.24,2.2064,2.2070,1.27,1.33,1.39,1.36,1.51,1.54,3.3084,4.4108,3.3093,1.66,2.65,4.4117,1.75,1.20,2.2060,1.17,1.23,2.2069,1.35,1.38,4.65,1.41,1.50,1.53,1.65,4.4116,3.3092,1.19,1.25,1.22 HTTP/1.1\r\nHost: 192.168.2.58\r\n\r\n’
2022-10-19 15:07:25.442 DEBUG (MainThread) [aiohomekit.controller.ip.connection] 192.168.2.58: raw response: bytearray(b’{“characteristics”:[{“aid”:2,“iid”:2068,“value”:2},{“aid”:1,“iid”:37,“value”:26.7},{“aid”:1,“iid”:34,“value”:18.3},{“aid”:3,“iid”:65,“value”:0},{“aid”:1,“iid”:49,“value”:1},{“aid”:1,“iid”:52,“value”:100},{“aid”:3,“iid”:3088,“value”:26.9},{“aid”:4,“iid”:4112,“value”:26.3},{“aid”:3,“iid”:3094,“value”:0},{“aid”:1,“iid”:18,“value”:3},{“aid”:4,“iid”:4118,“value”:0},{“aid”:1,“iid”:76,“value”:0},{“aid”:1,“iid”:21,“value”:1},{“aid”:1,“iid”:24,“value”:32.0},{“aid”:2,“iid”:2064,“value”:28.7},{“aid”:2,“iid”:2070,“value”:0},{“aid”:1,“iid”:27,“value”:“East Ecobee”},{“aid”:1,“iid”:33,“value”:0},{“aid”:1,“iid”:39,“value”:25.6},{“aid”:1,“iid”:36,“value”:15.6},{“aid”:1,“iid”:51,“value”:0},{“aid”:1,“iid”:54,“value”:“The Hive is humming along. You have no pending alerts or reminders.”},{“aid”:3,“iid”:3084,“value”:0},{“aid”:4,“iid”:4108,“value”:0},{“aid”:3,“iid”:3093,“value”:100},{“aid”:1,“iid”:66,“value”:0},{“aid”:2,“iid”:65,“value”:0},{“aid”:4,“iid”:4117,“value”:100},{“aid”:1,“iid”:75,“value”:1},{“aid”:1,“iid”:20,“value”:22.5},{“aid”:2,“iid”:2060,“value”:0},{“aid”:1,“iid”:17,“value”:0},{“aid”:1,“iid”:23,“value”:18.3},{“aid”:2,“iid”:2069,“value”:100},{“aid”:1,“iid”:35,“value”:26.7},{“aid”:1,“iid”:38,“value”:18.3},{“aid”:4,“iid”:65,“value”:0},{“aid”:1,“iid”:41,“value”:“2014-01-03T00:00:00-07:00T”},{“aid”:1,“iid”:50,“value”:0},{“aid”:1,“iid”:53,“value”:0},{“aid”:1,“iid”:65,“value”:0},{“aid”:4,“iid”:4116,“value”:2},{“aid”:3,“iid”:3092,“value”:2},{“aid”:1,“iid”:19,“value”:26.7},{“aid”:1,“iid”:25,“value”:36.0},{“aid”:1,“iid”:22,“value”:26.7}]}’)
2022-10-19 15:07:25.443 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Called async_set_available_state with True for 59:93:B4:E9:E3:E6
2022-10-19 15:07:25.445 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Finished HomeKit controller update: 59:93:B4:E9:E3:E6
2022-10-19 15:07:25.815 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=media_player.living_room_tv, old_state=<state media_player.living_room_tv=playing; volume_level=1.0, is_volume_muted=False, media_position=160.336, media_position_updated_at=2022-10-19T15:07:15.806989-07:00, app_id=AndroidNativeApp, app_name=Netflix, entity_picture_local=None, friendly_name=Living Room TV, supported_features=152509 @ 2022-10-19T15:05:23.684260-07:00>, new_state=<state media_player.living_room_tv=playing; volume_level=1.0, is_volume_muted=False, media_position=170.341, media_position_updated_at=2022-10-19T15:07:25.814585-07:00, app_id=AndroidNativeApp, app_name=Netflix, entity_picture_local=None, friendly_name=Living Room TV, supported_features=152509 @ 2022-10-19T15:05:23.684260-07:00>>
2022-10-19 15:07:26.223 DEBUG (MainThread) [aiohomekit.controller.ip.connection] 192.168.2.35: raw response: bytearray(b’{“characteristics”:[{“aid”:4,“iid”:10,“value”:1},{“aid”:4,“iid”:9,“value”:1},{“aid”:2,“iid”:10,“value”:1},{“aid”:3,“iid”:10,“value”:1},{“aid”:2,“iid”:9,“value”:1},{“aid”:3,“iid”:9,“value”:1},{“aid”:4,“iid”:11,“value”:false},{“aid”:2,“iid”:11,“value”:false},{“aid”:3,“iid”:11,“value”:false}]}’)
2022-10-19 15:07:26.223 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Called async_set_available_state with True for 60:2A:FD:A9:D1:E7
2022-10-19 15:07:26.224 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Finished HomeKit controller update: 60:2A:FD:A9:D1:E7
2022-10-19 15:07:26.600 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Session closed callback: rssi=-88
2022-10-19 15:07:26.732 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Starting HomeKit controller update: C9:48:70:46:07:42
2022-10-19 15:07:26.732 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Called async_set_available_state with True for C9:48:70:46:07:42
2022-10-19 15:07:26.732 DEBUG (MainThread) [aiohomekit.controller.ip.connection] 192.168.2.55: raw request: b’GET /characteristics?id=2.2068,1.37,1.34,3.65,1.49,1.52,3.3088,4.4112,3.3094,1.18,4.4118,1.76,1.21,1.24,2.2064,2.2070,1.27,1.33,1.39,1.36,1.51,1.54,3.3084,4.4108,3.3093,1.66,2.65,4.4117,1.75,1.20,2.2060,1.17,1.23,2.2069,1.35,1.38,4.65,1.41,1.50,1.53,1.65,4.4116,3.3092,1.19,1.25,1.22 HTTP/1.1\r\nHost: 192.168.2.55\r\n\r\n’
2022-10-19 15:07:27.523 DEBUG (MainThread) [aiohomekit.controller.ip.connection] 192.168.2.55: raw response: bytearray(b’{“characteristics”:[{“aid”:2,“iid”:2068,“value”:2},{“aid”:1,“iid”:37,“value”:26.7},{“aid”:1,“iid”:34,“value”:22.8},{“aid”:3,“iid”:65,“value”:0},{“aid”:1,“iid”:49,“value”:1},{“aid”:1,“iid”:52,“value”:0},{“aid”:3,“iid”:3088,“value”:23.8},{“aid”:4,“iid”:4112,“value”:27.9},{“aid”:3,“iid”:3094,“value”:0},{“aid”:1,“iid”:18,“value”:3},{“aid”:4,“iid”:4118,“value”:0},{“aid”:1,“iid”:76,“value”:2},{“aid”:1,“iid”:21,“value”:1},{“aid”:1,“iid”:24,“value”:42.0},{“aid”:2,“iid”:2064,“value”:28.4},{“aid”:2,“iid”:2070,“value”:0},{“aid”:1,“iid”:27,“value”:“West Ecobee”},{“aid”:1,“iid”:33,“value”:0},{“aid”:1,“iid”:39,“value”:25.6},{“aid”:1,“iid”:36,“value”:15.6},{“aid”:1,“iid”:51,“value”:0},{“aid”:1,“iid”:54,“value”:“The Hive is humming along. You have no pending alerts or reminders.”},{“aid”:3,“iid”:3084,“value”:0},{“aid”:4,“iid”:4108,“value”:0},{“aid”:3,“iid”:3093,“value”:100},{“aid”:1,“iid”:66,“value”:1},{“aid”:2,“iid”:65,“value”:0},{“aid”:4,“iid”:4117,“value”:100},{“aid”:1,“iid”:75,“value”:1},{“aid”:1,“iid”:20,“value”:24.7},{“aid”:2,“iid”:2060,“value”:0},{“aid”:1,“iid”:17,“value”:2},{“aid”:1,“iid”:23,“value”:22.8},{“aid”:2,“iid”:2069,“value”:100},{“aid”:1,“iid”:35,“value”:26.7},{“aid”:1,“iid”:38,“value”:21.1},{“aid”:4,“iid”:65,“value”:0},{“aid”:1,“iid”:41,“value”:“2035-01-03T00:00:00-07:00T”},{“aid”:1,“iid”:50,“value”:0},{“aid”:1,“iid”:53,“value”:100},{“aid”:1,“iid”:65,“value”:1},{“aid”:4,“iid”:4116,“value”:2},{“aid”:3,“iid”:3092,“value”:2},{“aid”:1,“iid”:19,“value”:27.1},{“aid”:1,“iid”:25,“value”:36.0},{“aid”:1,“iid”:22,“value”:26.7}]}’)
2022-10-19 15:07:27.523 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Called async_set_available_state with True for C9:48:70:46:07:42
2022-10-19 15:07:27.526 DEBUG (MainThread) [homeassistant.components.homekit_controller.connection] Finished HomeKit controller update: C9:48:70:46:07:42
2022-10-19 15:07:31.029 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Connected, processing subscriptions: set(); rssi=-88
2022-10-19 15:07:31.454 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=switch.plug_3, old_state=<state switch.plug_3=on; linkquality=63, friendly_name=Plug 3 @ 2022-10-19T15:07:18.342395-07:00>, new_state=<state switch.plug_3=on; linkquality=60, friendly_name=Plug 3 @ 2022-10-19T15:07:18.342395-07:00>>
2022-10-19 15:07:31.524 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:07:31.524 DEBUG (MainThread) [aiohomekit.controller.abstract] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:07:32.152 DEBUG (MainThread) [aiohomekit.protocol.tlv] sending [
6 (State): (1 bytes/<class ‘bytearray’>) 0x01
3 (PublicKey): (32 bytes/<class ‘bytes’>) b’v3\x93\xd9\xf3\xb3Bm\xc7~<*\xf0p\x1d\xd4f\xc0Gh\xb5\xbaXd\xf6s\xf4\x85\x1c\xfd\xc9/’
]

2022-10-19 15:07:32.152 DEBUG (MainThread) [aiohomekit.controller.ble.client] Queuing fragment for write: b’\x00\x02 \x0e\x00*\x00\t\x01\x01\x01%\x06\x01\x01\x03 v3\x93\xd9\xf3\xb3Bm\xc7~<*\xf0p\x1d\xd4f\xc0Gh\xb5\xbaXd\xf6s\xf4\x85\x1c\xfd\xc9/’
2022-10-19 15:07:33.458 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Session closed callback: rssi=-88
2022-10-19 15:07:33.461 DEBUG (MainThread) [aiohomekit.controller.ble.client] Bleak error calling <function BlePairing._async_populate_accessories_state at 0x7f84faaf8280>, retrying…
Traceback (most recent call last):
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/client.py”, line 76, in _async_wrap
return await func(*args, **kwargs)
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py”, line 546, in _async_populate_accessories_state
await self._populate_accessories_and_characteristics(force_update)
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py”, line 577, in _populate_accessories_and_characteristics
await self._async_pair_verify()
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py”, line 359, in _async_pair_verify
session_id, derive = await drive_pairing_state_machine(
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/client.py”, line 258, in drive_pairing_state_machine
decoded = await _pairing_char_write(client, char, iid, request)
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/client.py”, line 212, in _pairing_char_write
data = await char_write(client, None, None, handle, iid, next_write)
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/client.py”, line 195, in char_write
pdu_status, data = await ble_request(
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/client.py”, line 101, in ble_request
return await _read_pdu(client, decryption_key, handle, tid)
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/client.py”, line 137, in _read_pdu
data = await client.read_gatt_char(handle)
File “/usr/local/lib/python3.10/site-packages/bleak/init.py”, line 482, in read_gatt_char
return await self._backend.read_gatt_char(char_specifier, **kwargs)
File “/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/client.py”, line 601, in read_gatt_char
assert_reply(reply)
File “/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/utils.py”, line 22, in assert_reply
raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-19 15:07:35.820 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=media_player.living_room_tv, old_state=<state media_player.living_room_tv=playing; volume_level=1.0, is_volume_muted=False, media_position=170.341, media_position_updated_at=2022-10-19T15:07:25.814585-07:00, app_id=AndroidNativeApp, app_name=Netflix, entity_picture_local=None, friendly_name=Living Room TV, supported_features=152509 @ 2022-10-19T15:05:23.684260-07:00>, new_state=<state media_player.living_room_tv=playing; volume_level=1.0, is_volume_muted=False, media_position=180.346, media_position_updated_at=2022-10-19T15:07:35.819371-07:00, app_id=AndroidNativeApp, app_name=Netflix, entity_picture_local=None, friendly_name=Living Room TV, supported_features=152509 @ 2022-10-19T15:05:23.684260-07:00>>
2022-10-19 15:07:36.702 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Session closed callback: rssi=-88
2022-10-19 15:07:36.702 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_D9_36_73_B9_6E_62):
2022-10-19 15:07:40.107 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Session closed callback: rssi=-88
2022-10-19 15:07:40.319 DEBUG (MainThread) [aiohomekit.controller.ble.controller] Discovery for hkid 76:9F:A0:C8:8C:55 not found, waiting for advertisement with timeout: 30.0
2022-10-19 15:07:40.328 DEBUG (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 uri=coap://[fd26:c05a:68bf:0:74f8:c711:660d:76c3]:5683/1
2022-10-19 15:07:40.328 DEBUG (MainThread) [aiohomekit.protocol] #1 ios → accessory: send SRP start request
2022-10-19 15:07:40.328 DEBUG (MainThread) [aiohomekit.protocol.tlv] sending [
6 (State): (1 bytes/<class ‘bytearray’>) 0x01
0 (Method): (1 bytes/<class ‘bytearray’>) 0x00
]

2022-10-19 15:07:40.330 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable
2022-10-19 15:07:43.131 INFO (MainThread) [coap] Retransmission, Message ID: 21155.
2022-10-19 15:07:43.131 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable
2022-10-19 15:07:48.733 INFO (MainThread) [coap] Retransmission, Message ID: 21155.
2022-10-19 15:07:48.734 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable
2022-10-19 15:07:49.028 INFO (SyncWorker_0) [homeassistant.components.command_line.switch] Running state value command: ssh -i /config/ssh/hass_rsa -o StrictHostKeyChecking=no [email protected] /usr/sbin/frigg_webfilter status
2022-10-19 15:07:49.333 INFO (SyncWorker_5) [homeassistant.components.command_line.switch] Running state value command: ssh -i /config/ssh/hass_rsa -o StrictHostKeyChecking=no [email protected] /usr/sbin/frigg_webfilter status
2022-10-19 15:07:49.512 INFO (SyncWorker_17) [homeassistant.components.command_line.switch] Running state value command: ssh -i /config/ssh/hass_rsa -o StrictHostKeyChecking=no [email protected] /usr/sbin/frigg_webfilter status
2022-10-19 15:07:49.980 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Session closed callback: rssi=-88
2022-10-19 15:07:55.234 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:07:55.235 DEBUG (MainThread) [aiohomekit.controller.abstract] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:07:56.329 WARNING (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 failed!
2022-10-19 15:07:56.332 ERROR (MainThread) [homeassistant.components.homekit_controller.config_flow] Pairing attempt failed with an unhandled exception
Traceback (most recent call last):
File “/usr/local/lib/python3.10/asyncio/tasks.py”, line 456, in wait_for
return fut.result()
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/homekit_controller/config_flow.py”, line 479, in async_step_pair
self.finish_pairing = await discovery.async_start_pairing(self.hkid)
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/discovery.py”, line 57, in async_start_pairing
salt, srpB = await self.connection.do_pair_setup(
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py”, line 283, in do_pair_setup
response = await asyncio.wait_for(
File “/usr/local/lib/python3.10/asyncio/tasks.py”, line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
2022-10-19 15:07:57.993 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:07:57.993 DEBUG (MainThread) [aiohomekit.controller.abstract] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:07:58.846 DEBUG (MainThread) [aiohomekit.protocol.tlv] sending [
6 (State): (1 bytes/<class ‘bytearray’>) 0x01
3 (PublicKey): (32 bytes/<class ‘bytes’>) b’>R<\x0fs\x1cZ\x85\xdf\x00-W\t1\x06"\x1ea\xc4V\x8c\xaf\xab\x1a7\xc8\x95\x93\x05Z\xccM’
]

2022-10-19 15:07:58.846 DEBUG (MainThread) [aiohomekit.controller.ble.client] Queuing fragment for write: b’\x00\x02\xa0\x0e\x00*\x00\t\x01\x01\x01%\x06\x01\x01\x03 >R<\x0fs\x1cZ\x85\xdf\x00-W\t1\x06"\x1ea\xc4V\x8c\xaf\xab\x1a7\xc8\x95\x93\x05Z\xccM’
2022-10-19 15:07:59.761 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Session closed callback: rssi=-88
2022-10-19 15:08:06.628 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=media_player.living_room_tv, old_state=<state media_player.living_room_tv=playing; volume_level=1.0, is_volume_muted=False, media_position=201.144, media_position_updated_at=2022-10-19T15:07:56.617129-07:00, app_id=AndroidNativeApp, app_name=Netflix, entity_picture_local=None, friendly_name=Living Room TV, supported_features=152509 @ 2022-10-19T15:05:23.684260-07:00>, new_state=<state media_player.living_room_tv=playing; volume_level=1.0, is_volume_muted=False, media_position=211.154, media_position_updated_at=2022-10-19T15:08:06.627853-07:00, app_id=AndroidNativeApp, app_name=Netflix, entity_picture_local=None, friendly_name=Living Room TV, supported_features=152509 @ 2022-10-19T15:05:23.684260-07:00>>
2022-10-19 15:08:07.277 DEBUG (MainThread) [aiohomekit.controller.ble.controller] Discovery for hkid 76:9F:A0:C8:8C:55 not found, waiting for advertisement with timeout: 30.0
2022-10-19 15:08:07.278 DEBUG (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 uri=coap://[fd26:c05a:68bf:0:74f8:c711:660d:76c3]:5683/1
2022-10-19 15:08:07.278 DEBUG (MainThread) [aiohomekit.protocol] #1 ios → accessory: send SRP start request
2022-10-19 15:08:07.278 DEBUG (MainThread) [aiohomekit.protocol.tlv] sending [
6 (State): (1 bytes/<class ‘bytearray’>) 0x01
0 (Method): (1 bytes/<class ‘bytearray’>) 0x00
]

2022-10-19 15:08:07.280 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable
2022-10-19 15:08:08.653 DEBUG (MainThread) [aiohomekit.controller.ble.pairing] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:08:08.653 DEBUG (MainThread) [aiohomekit.controller.abstract] Eve Light Switch [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Description updated: old=HomeKitAdvertisement(name=‘Eve Light Switch’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111) new=HomeKitAdvertisement(name=‘Eve Light Switch 00B9’, id=‘9d:6e:fe:b3:27:4e’, status_flags=<StatusFlags.0: 0>, config_num=1, category=<Categories.SWITCH: 8>, setup_hash=b’\xc5$\x8aH’, address=‘D9:36:73:B9:6E:62’, state_num=111)
2022-10-19 15:08:09.769 DEBUG (MainThread) [aiohomekit.controller.abstract] Eve Light Switch 00B9 [D9:36:73:B9:6E:62] (id=9D:6E:FE:B3:27:4E): Accessories cache loaded (c#: 1)
2022-10-19 15:08:10.127 INFO (MainThread) [coap] Retransmission, Message ID: 1855.
2022-10-19 15:08:10.127 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable
2022-10-19 15:08:15.821 INFO (MainThread) [coap] Retransmission, Message ID: 1855.
2022-10-19 15:08:15.821 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

Will be trying this out today :slight_smile:

Another thing I will share here that might be important. Although the Eve app shows connected through Bluetooth I believe the thread network credentials are passed on pairing and it is safe to unpair the accessory from HomeKit and proceed with the adoption in HA. It seems to have no issue then connecting to the thread network. Apple makes reading the thread IO on ATV and HomePod quite difficult.

My Eve app actually show the connection over thread quite immediately after pairing. And it doesn’t matter if paired over home or Eve app.

a.

@antistes hmm, that looks like an IPv6 networking problem. That is a common issue we’ve seen… You’ll want to make sure that IPv6 networking is enabled for your network (your devices should all have link-local fe80: prefixes as well as a ULA prefix fdXX:) and that routes are being propagated & accepted (you should have routes to more than one ULA prefix fdXX: via a link-local fe80: prefix).

My info for comparison:

$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fd3a:a04c:ba7f::898/128 scope global dynamic noprefixroute
       valid_lft 1073sec preferred_lft 1073sec
    inet6 fd3a:a04c:ba7f:0:REDACTED/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::REDACTED/64 scope link noprefixroute
       valid_lft forever preferred_lft forever 
$ ip -6 r
::1 dev lo proto kernel metric 256 pref medium
fd3a:a04c:ba7f::898 dev eno1 proto kernel metric 101 pref medium
fd3a:a04c:ba7f::/64 dev eno1 proto ra metric 101 pref medium
fd3a:a04c:ba7f::/48 via fe80::REDACTED dev eno1 proto ra metric 101 pref medium
fd42:d298:5b17::/64 via fe80::REDACTED dev eno1 proto ra metric 101 pref medium
fd99:f366:d911::/64 via fe80::REDACTED dev eno1 proto ra metric 101 pref medium
fe80::/64 dev eno1 proto kernel metric 1024 pref medium

The fd42: prefix is my HomePod mini BR, the fd99: prefix is my Nanoleaf Elements BR. The fd3a: prefix is the ULA advertised by my wifi router.

Thank you, will take a look.

/edit: I basically need to be able to ping that device from the homeassistant machine. After I had that working pairing worked fine. Thanks!

Let me hijack this thread I have a similar problem.

Eve Motion sensor with thread. Included into Apple Home. Thread connection established according to Eve app. Removed from HomeKit. HA finds device immediately. Trying to configure it. Asks from Home Kit Code. Then:

Error in German “Beim Koppeln mit diesem Gerät ist ein nicht behandelter Fehler aufgetreten. Dies kann ein vorübergehender Fehler sein oder das oder dein Gerät wird derzeit nicht unterstützt:” Deepl: An unhandled error occurred while pairing with this device. This may be a temporary error or the or your device is not currently supported:

Log:

2023-01-12 17:23:45.203 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:23:47.451 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:23:51.949 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:24:00.943 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:24:01.202 WARNING (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 failed!

2023-01-12 17:24:01.207 ERROR (MainThread) [homeassistant.components.homekit_controller.config_flow] Pairing attempt failed with an unhandled exception

Traceback (most recent call last):

File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 288, in do_pair_setup

response = await self.pair_setup_client.request(request).response

asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/usr/src/homeassistant/homeassistant/components/homekit_controller/config_flow.py", line 491, in async_step_pair

self.finish_pairing = await discovery.async_start_pairing(self.hkid)

File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/discovery.py", line 57, in async_start_pairing

salt, srpB = await self.connection.do_pair_setup(

File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 287, in do_pair_setup

async with asyncio_timeout(16.0):

File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 129, in __aexit__

self._do_exit(exc_type)

File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 212, in _do_exit

raise asyncio.TimeoutError

asyncio.exceptions.TimeoutError

2023-01-12 17:24:03.214 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:24:05.418 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:24:09.826 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:24:18.641 ERROR (MainThread) [coap] Error received and ignored in this codepath: [Errno 101] Network unreachable

2023-01-12 17:24:19.213 WARNING (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 failed!

2023-01-12 17:24:19.215 ERROR (MainThread) [homeassistant.components.homekit_controller.config_flow] Pairing attempt failed with an unhandled exception

Traceback (most recent call last):

File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 288, in do_pair_setup

response = await self.pair_setup_client.request(request).response

asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/usr/src/homeassistant/homeassistant/components/homekit_controller/config_flow.py", line 491, in async_step_pair

self.finish_pairing = await discovery.async_start_pairing(self.hkid)

File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/discovery.py", line 57, in async_start_pairing

salt, srpB = await self.connection.do_pair_setup(

File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 287, in do_pair_setup

async with asyncio_timeout(16.0):

File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 129, in __aexit__

self._do_exit(exc_type)

File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 212, in _do_exit

raise asyncio.TimeoutError

asyncio.exceptions.TimeoutError

Any ideas?

Did you ever solve this? I’m getting the same error code with my Wemo smart plug.