-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
homekit_controller can't parse zeroconf records from Lennox iComfort S30 #51391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
homekit_controller documentation |
What makes you think that change is the cause? |
Updated to core-2021.6.0 integration was unresponsive. Reset hub and thermostat and HA numerous times, restored core-2021.5.5 integration became responsive again. Anything I can do to confirm further, I'm game. |
I'm not doubting you have a problem just trying to figure out if the symptoms match that PR, and so far I'm not sure they do. There is another Icomfort user in #51388 having connection problems. They unpaired and now can't repair, so don't try that. Do you have any errors in your logs? |
Try turning on debug logs for homesssistant.components.homekit_controller and aiohomekit. |
I'm thinking #51388 is the same problem as mentioned here. I also can restore 2021.6.0.dev0 and everything is working. |
See I was thinking it was the other way round and this was a dupe of your ticket. At the moment though we need logs of the connection failing. The temperature precision shouldn't cause the connection to fail, as if you read that PR you see it doesn't actually change the request to the homekit device. |
I agree, this feels like a problem I recently fixed in zeroconf 0.32.0 dev that hasn't been released yet. |
Whatever changed, it happened between May 21st (2021.6.0.dev0) and Beta, I'm thinking |
Apologies if this isn't exactly related to the Fahrenheit precision change, was the only thing I saw related to homekit in the change log. So I turned on logging and did some quick testing, before and after the update. Seems after core-2021.6.0 update homekit attempts to connect to an IP address that is in my home networks subnet but there is no host on that ip and timeouts repeatedly. 2021-06-03 01:00:14 DEBUG (MainThread) [aiohomekit.controller.ip.connection] Attempting connection to 192.168.50.131:7373 Not sure where it is getting this IP from. I've bounced HA core, HA host, hub, and thermostat to no avail. |
Thanks for the logging data. Can you check your .storage/core.config_entries file? It will store the host and port in there, and I think if it can't find a new one via zeroconf it will fallback to that one. That might explain where that ip is coming from. And then if you are able to provide a packet dump or run python3 -m netdisco dump then we might be able to confirm what is wrong with the icomfort mdns broadcast. |
That is indeed the IP in the core.config_entires file. Here is the netdisco info:
|
One thing that stands out here is the the iComfort has a property called Looking at the diff for where this get called, the code used to call This regression is likely limited to iComfort devices which aren't on a network where DHCP leases have been pinned to mac addresses. (If your IP had pinned to .124 you likely wouldn't have noticed this. |
Currently restored core-2021.5.5 but I can upgrade again to test. This one liner something I can edit in portainer bash shell? |
i honestly have no idea about portainer, but i've tested changes like that on docker before. I just tried on my homeassistant container and it does have vi, and the file in question is at def _service_info_is_homekit_device(service_info: ServiceInfo) -> bool:
props = service_info.properties
return (
service_info.addresses and b"c#" in props and b"md" in props and b"id" in props
) with def _service_info_is_homekit_device(service_info: ServiceInfo) -> bool:
props = {key.lower() for key in service_info.properties.keys()}
return (
service_info.addresses and b"c#" in props and b"md" in props and b"id" in props
) If portainer can restart the container without deleting and recreating things we should be golden. |
This edit fixed the issue! |
Wonderful. I'm going to get the ball rolling on releasing this so we can try and get it into a .1/.2 release. |
Thanks for the help and all that you do! Much appreciated. |
PR opened: #51418 and tagged for .1. Fingers crossed it will make it 🤞 |
Showing same error again since upgrade to core-2021.6.6. 2021-06-21 10:52:52 DEBUG (MainThread) [aiohomekit.controller.ip.connection] Attempting connection to 192.168.50.131:7373 |
Did it work at any point between (and including) |
Yes worked on all after the fix including .5. Restoring to .5 now to confirm. |
I haven't changed anything recently, and certainly the only backport i've requested was the fix in Will need to repeat the checks from last time. Check |
Please disregard false positive on my end. Had to reset thermo and hub gateway but not it's solid. Thanks for the quick look. |
Uh oh!
There was an error while loading. Please reload this page.
The problem
Recent change to Homekit Fahrenheit precision affecting Lennox iComfort S30 integration. #50415
Any chance this could be changed to a toggle-able option?
What is version of Home Assistant Core has the issue?
core-2021.6.0
What was the last working version of Home Assistant Core?
core-2021.5.5
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Homekit
Link to integration documentation on our website
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: