apple / HomeKitADK

Apache License 2.0
2.55k stars 232 forks source link

Not really an issue. iOS 14 #71

Closed d4rkmen closed 3 years ago

d4rkmen commented 3 years ago

Hi, since public iOS 14 version release I detect some strange behaivour in accessories (some of them). Some of then become "No answer" after working for years, and I can't say why. This is started from my home automation center (appletv) being updated to iOS 14. Same time, enabling the home automation center on other device iOS12 or iOS13 (i have both) making the accessories to work again. Offcourse I am talking about self-made (not certified) devices. Is there any major changes in HAP or the way its implemented in iOS 14 we need to know to understand what happened? Thanks in advance.

rojer commented 3 years ago

i don't really know... but to be clear: shelly devices are ok, right?

maximkulkin commented 3 years ago

It's not about hardware, it's about software. @rojer which Shelly firmware you're referring to?

rojer commented 3 years ago

https://github.com/mongoose-os-apps/shelly-homekit

i replied thinking it was filed there, didn't realize this was notification for an issue in the adk repo. please ignore my comment.

d4rkmen commented 3 years ago

@rojer no, its good u r here :) I have shelly too, will flash it with your fw to try in my home. this will definately shed some light on the problem nature

d4rkmen commented 3 years ago

https://github.com/mongoose-os-apps/shelly-homekit @rojer your fw works just great. with or without home hub active 🥇

d4rkmen commented 3 years ago

The problem was fixed. The accessory discovery sf flag was not triggered when paired (it was done intentionally to connect single accessory to multiple homes) After sorted to HAP requirements - all come alive. Closed.

maximkulkin commented 3 years ago

@d4rkmen Which firmware was it?

d4rkmen commented 3 years ago

@maximkulkin it was mongoose http-server based library. Now I can say for sure: old iOS does not pay attention to the mDNS txt record sf flag. And new iOS14 update fixed this. It filters paired accessories by this flag now, and reports unavailable status.

maximkulkin commented 3 years ago

@d4rkmen so, you're saying that mongoose library initially didn't work with your hacks, and then you removed the hacks and it worked?

d4rkmen commented 3 years ago

From the start the txt record update was not implemented, then I have found it convenient and left as is :) So was not really a hack. When implemented record update - all accessories came back online