core: Unable to connect Tado bridge as HomeKit climate device
Home Assistant release with the issue: 0.79.0
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.): Hass.io
Component/platform: https://www.home-assistant.io/components/climate.homekit_controller/
Description of problem: I am trying to add my Tado bridge to Home Assistant using the homekit_controller component. This would allow me to have offline control for my heating instead of using the tado API. Home Assistant throws an error when I try to pair the bridge in the UI. This is what I did:
- Reset HomeKit on the tado bridge so it’s not connected to my iPad anymore. The devices disappeared from the Home app, so this seems to have worked.
- Add HomeKit discovery to my configuration.yaml and restart HA.
- Click “configure” on the “tado Internet Bridge” item in the UI.
- Enter the HomeKit code from the sticker on the bridge and click submit.
After a while the dialog closes end the stacktrace mentioned below appeared in the logs.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
discovery:
enable:
- homekit
Traceback (if applicable):
Error executing service <ServiceCall configurator.configure (c:53514ee038d142deafe498967e874b70): configure_id=1825889744-2, fields=code=<<HomeKit code from sticker on device>>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
await service_handler.func(service_call)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/configurator.py", line 224, in async_handle_service_call
call.data.get(ATTR_FIELDS, {}))
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/__init__.py", line 146, in device_config_callback
pairing_id)
File "/usr/local/lib/python3.6/site-packages/homekit/protocol.py", line 69, in perform_pair_setup
connection.request('POST', '/pair-setup', request_tlv, headers)
File "/usr/local/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.6/http/client.py", line 1250, in _send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.6/http/client.py", line 1108, in putrequest
raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent
Additional information:
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 110 (49 by maintainers)
Yep =) Pretty sure I can write a patch to fix this.
I am having the same issue. “tado Internet Bridge” is discovered as homekit device, but entering the HomeKit code does nothing. There is no error message in the UI or in the logs, but when I enable debug logging, the following appears in the log:
`2019-03-25 09:29:22 DEBUG (SyncWorker_12) [root] #1 ios -> accessory: send SRP start request
2019-03-25 09:29:22 DEBUG (SyncWorker_12) [homekit.protocol.tlv] sending [ 6: (1 bytes) 0x01 0: (1 bytes) 0x01 ] 2019-03-25 09:29:22 DEBUG (SyncWorker_12) [homekit.protocol.tlv] receiving [ 6: (1 bytes) 0x01 0: (1 bytes) 0x01 ] 2019-03-25 09:29:22 DEBUG (SyncWorker_12) [root] write message: [ 6: (1 bytes) 0x01 0: (1 bytes) 0x01 ]`
I am at work now, but will figure out how to get those logs when I get back. In my particular case when trying to add the brigde in Home Assistant (where it asks for the homekit code), whenever I press submit nothing happens. (When looking at the console nothing happens either, in HA dev-tools there is nothing either)
So it is pretty strange, as I remember some time ago, that it would just throw errors in the console, but now it does absolutely nothing. Will check it again tonight.
Btw: I said nothing weird in my networking which is not entirely true. My network is in a domain (AD) and have dns/dhcp running on a windows server but I don’t think it would make a difference though.
Having this problem as well, I need the homekit discovery for some devices. But there is no way to ignore or setup this tado bridge one.
Very annoying as the persistant notification is very very persistant now. Any way to either configure it or just to ignore this device entirely?
Edit: so I found a way to ignore this from discovery. Go to ~/site-packages/homeassistant/components/homekit_controller/init.py
Add the following to the ignore list (it is on the top, Tradfri Hub is listed there as well)
tado Internet Bridge
It will be ignored upon reboot now and it will no longer put a persistent notification.