If you want to start over and are still looking for a stable approach, you can take a look at my overall strategy here.
Please note that this is still partly theoretical, as I’m currently waiting for my Homey Pro to arrive and haven’t been able to test the full setup yet. That said, the configuration already works very reliably even without Homey.
Apple Home automations can become quite powerful once you understand a key principle:
You first need to create a simple “If this, then that” automation in the Apple Home app (which is the only app that can create automations from scratch; third-party apps can only manage scenes). Instead of selecting the final action, you choose “Convert to Shortcut”. From there, you can build a more complex logic using nested if/then conditions, multiple devices, and additional actions. After saving it, you can open the same automation in a third-party app such as Controller, Home+ 6, or the free Eve app to add multiple triggers and conditions. The result is a fairly advanced automation that behaves much like a flow.
The reason I still want to add Homey as a higher-level controller is that Apple Home does not support system-wide variables or virtual devices. Homey can provide these features, along with more advanced flows, which allows for much more flexible logic.
An important part of my design is failover. Homey is a single controller, which naturally introduces a single point of failure. In contrast, my Apple Home setup includes two Apple TVs, two HomePods, and one HomePod mini. These act as border routers and controllers that automatically and seamlessly take over from one another if one fails, without any user interaction. From a resilience perspective, this has proven to be extremely solid.
In my concept, the system should continue to function in a simplified mode if Homey goes offline, potentially triggered by a single button. This part still needs to be validated in real-world testing.
In summary, my current setup is already very stable and handles all essential automations. Homey is intended to sit on top of this foundation and elevate the system to a more advanced, “power user” level once everything is fully tested.
Edit:
This may not be technically correct and is more a simplified real use expiication. For a more technically correct version consider my thread here: Understanding Thread and Matter (from a power user’s perspective)