In this video I am sharing my experiences developing a home automation system primarily based on Home Assistant (HA) and Shelly IoT devices after watching too many self-promotional ‘isn’t this great’ Home Assistant and Shelly IoT videos online (yes, you guys know who you are) that don’t talk about the real-world issues that you will most certainly face … or how to resolve those issues.
My career spans 4 decades in telecom/IoT building and running tech firms with global operations with a degree in electrical engineering with customers in industrial automation, building controls and healthcare where reliability and performance count.
Rule # 1 – disable Shelly Cloud – it is a cute toy and should not be used for any serious control/automation processes – it is free and you get what you pay for (and since your internet connection will go down at some point you don’t want to be relying on it to turn off your furnace).
Rule #2 – don’t use the included shelly integrations in HA as they rely on device polling which pollutes and slows down your network with tons of unreliable data packets – take the painful jump into MQTT and get a quieter and much more reliable network, and be able to tune IoT device comms and monitor them much more easily as well
Rule #3 – don’t rely on HA for state machines and process flows – add Node Red and enjoy graphical programming – and Node Red (NR) runs separately from HA so will keep running even when HA is being rebooted and/or is acting poorly – and NR can also be used to monitor MQTT comms and also be used to setup watchdog logic to allow rebooting of IoT devices and also HA itself
Recommendations: use a Raspberry Pi to host HA – cheap and very reliable vs a VM that is coupled to a PC or Mac that may crap out as it is running tons of other s/w; tune your MQTT settings to reduce the frequency of broadcasts from IoT devices; tune your MQTT QoS levels; use the ARC Chrome plugin extension to allow you to program your IoT devices more precisely; invest in redundant IoT devices when they are being used in critical processes like controlling your furnace (if one fails in the ‘on’ state the other will still be able to turn it off)’; use the shelly firmware internal ‘auto off’ timer function to add an additional layer of protection so that if HA doesn’t correctly signal to turn off an important device it will do so on its own after a period of time, etc.
Update Jan 10, 2020 – Replaced a Shelly1 device today due to random self-turn-offs; also finding a # of my shelly devices won’t complete their firmware updates at the moment – they were previously updating. Hmmm. No burning need to update them but …