Use ZigBee. ZigBee devices create their own mesh network, so Wi-Fi can be down and things still work. ZigBee does use 2.4 GHz, so you may need to move your router to use a different frequency.
Use a Hubitat Elevation or other dedicated server with ZigBee and a UPS power backup. Again, this means the automation logic is independent of the network. Wi-Fi and/or Internet can go down and home automation continues to work. The Hubitat has community driven package management. Once set up, it's a breeze to perform updates.
If you still want to use Alexa, Google and Siri, use bridge software to the services. I use Home Bridge to give access to my Hubitat to HomeKit. Home Bridge in docker means upgrading is letting Watchtower do its thing. Home Bridge rebuilds it's plugins every start, so restarting the docker container brings everything up-to-date.
The most unreliable part has been Google. I have Nest thermostats, and Google cancels the Home Bridge login token now and then. HomeKit integration is excellent, but I wish Siri wasn't so daft at times recognizing speech.
For example, I was able to code an action to start my espresso machine (which has a 20 minutes preheating time) by hooking it at the "first look at phone" event in the day. To me this is obviously something I would never agree to share with a company selling ads, but since it never leaves the premises it's pretty cool.
The just-audible click at 6am followed by the sound of the boiler heating is very satisfying, even 5+ years after setting it up.
I’m using it here to manage a bunch of stuff, with absolute reliability. All of our stuff here is fail-stupid, so if any of the automation breaks, there failure mode is the least damaging one possible, and there always a manual override.
We use it for:
- PV, wind, generator, future hydro monitoring, power regulation, routing (water heaters come one when the batteries are nearly full, air rads come on when batteries are full and water is at 85.
- Water management. Sensors in tanks, and river, tell us relevant levels. Pumps run when they need to to keep things topped up, but also based on power availability.
- Agriculture. Got moisture and light sensors in each bed, valve on irrigation triggered by soil and sun conditions. Weather station at the house provides additional parameters. Going to add nutrients to the system in the future.
- Lighting. Right now it’s just doing dimmers/LRGB for the home theatre - still can’t quite get it syncing up LRGB for ambient lighting based on display but working on it. Also, currently rigging up fairy lamps in the trees along the road to trigger based on presence.