My article about using Homebridge which is found here describes my old workflow for my smart home. It was very reliant on the cloud.
In a nutshell, my old smart home had very few local and Zigbee devices, this made it very slow to react from time to time but more concerningly was that when I had a bad signal or no signal at all due to a power cut, there was zilch I could do to control my devices (oh yeah, when I have had power cuts in the past, my house continues to function, mostly, due to the solar panels). Further, I have already mentioned in my blog post that I want to be free from the cloud. Apple Home is an example of an app that actually communicates locally with my devices.
My new move to everything being local is achieved through the use of a USB 3.0 Zigbee device plugged into my home server. It also means getting rid of about £200 - £300 of WiFi-based equipment and replacing them with Zigbee equivalents. This means that all the control is directed from the apps to my home server instead of SmartThings, which ultimately has to check with the cloud first. And whilst I have a fast internet connection etc, it still takes longer to process and means providing data to the cloud unnecessarily. This diagram shows how my house is controlled now,
This diagram describes the interaction that takes place. I have two bridges for Apple HomeKit; the Home Assistant and Homebridge installations running on my home server. All devices now communicate through Home Assistant or Homebridge, and whilst this diagram doesn't really show it, Alexa, for example, must communicate through my Home Bridge cloud instance. This is why I now prefer Siri to Alexa in my house and will likely phase out my Echo ecosystem in favour of the Apple Homepods.
The interface
The Control layer of the diagram shows that there are a total of four ways to interact with the home. Apple HomeKit and Alexa can communicate with everything, but technically so can the Home Assistant app and interfaces. Around my house, I am installing wall-mounted displays that allow control over the room and indeed the house. Two rooms, in particular, will be getting control interfaces very soon - the hallway and the guest bedroom.
This is the UI of the front screen interface that is in my hallway. This is currently running on an iPad, but will soon be powered by a dedicated display that will be used for this purpose alone. The guest bedroom will also soon have its own interface which will allow control of the temperature (when I get Hive installed), the lighting in the room as well as the plugs in that room.
Apple's HomeKit-powered Home app on the iPhone and Apple Watch is brilliant for controlling the house because it works locally first, meaning that if the Internet is down you will not be without light or control of the house. And thanks to Homebridge and Home Assistant combined, has complete control over my house, including all the cloud services such as Tuya devices (like my robot vacuum cleaner) and Ring devices. At present, SmartThings is also involved in this, but will slowly begin to be removed (I am keeping SmartThings but no longer need the 'local' execution of devices from the SmartThings hub so it has been removed) and will only remain in use for my TVs and other Samsung devices. Also being removed is my Logitech Harmony which was once at the centre of it all, but now needs to go.
So there you have it, my updated, local-run smart home.