Official HomeKit Update Thread (Part 2)

Hi everybody,

This is the new Official HomeKit Update topic that will be used going forward. You can find the previous topic here

This topic will be updated fortnightly (next update will be on May 6th) with the status of our new firmware engineer’s progress. The work and updates had previously been paused while we focused on onboarding our new team member. They have resumed the work on this project in earnest.

You can be notified whenever this topic is updated by enabling notifications through the “bell” icon on the right side of the topic page under the scroll bar and select “Watching” (there is a tutorial here)

Please find the 04/22/22 update posted below:


Update 04/22/2022

Our firmware engineer is fully onboarded. Their Apple HomeKit testing environment has been established. They are currently testing and replicating working with Apple’s dev team through bi-weekly meetings.


Update 05/06/2022: Our partner has found a method to reliably reproduce the “No Response” error. This is an important step and positive progress because it give the engineer a reliable method for testing solution. Rachio is in the process of reproducing our partner’s findings and combing through the debug logs produced by the controller when the error is encountered.


Update 05/20/2022: After working with our partner, we have replicated the “No Response” error in our test environment. We have determined that the “No Response” error occurs when the Rachio 3 is switching between HomeKit hubs. The “No Response” is more likely to occur the more hubs that are present on the network. We are currently targeting our investigation into the root cause of these communication errors and will then work on scoping out the work to improve connectivity


Update 06/03/2022: There are likely various network configurations that contribute to “No Response”. We are going to narrow our focus to two specific components that we think contribute to most user reports of “No Response”. Our Engineer is focusing their attention on network buffers and the mDNS responses.


Update 06/21/2022: I apologize for the delay in posting this update. We’ve identified that a single device connection is being entered into the buffers multiple times, and it is not being released when it should. This can be made worse depending on the user’s network topology. We have been actively working on a fix to address the issue and hope to start testing it soon.


Update 07/01/2022: We are currently testing solutions to implement a firmware fix.


Update 07/15/2022: We are currently testing firmware builds. So far, testing of increased device buffer sizes didn’t improve performance, and too many simultaneous device connection attempts still cause the HomeKit service to stall, but we are narrowing in on the actual issue.


Update 07/30/2022 We’re building and testing firmware. Current test firmware is able to maintain connection while reproducing the error on current firmware in our test environment. However, we are reproducing the error in the test firmware in subsequent tests.


Update 08/12/2022 We’re currently trying to determine why the device connections aren’t releasing their memory allocations properly. The mDNS response failures that the community has pointed out are definitely a symptom of problem, but are due to the memory issues and not being able to allocate resources properly to that task. We’re confident that we are getting closer to resolving this.


Update 08/26/2022 We believe the microcontroller’s RTOS isn’t allocating enough heap memory for the Homekit task to quickly respond to mDNS requests and other network events. This lack of heap for the task is the reason changing buffer sizes within the task hasn’t worked. We are trying to locate other application tasks that could reduce their heap size so it could be used for this task. This will, unfortunately, require considerable regression testing once task heap sizes are adjusted


Update 09/09/2022 We are still testing.