I used to just update stuff when I could see an update was available. This changed dramatically when a few months ago, I updated Zigbee2mqtt to version 2 and my whole house stopped working. That marked the moment when the other inhabitants in my house decided that the home automation project had gone too far.
Since then, when I saw an update was available, I’ve waited - preferably until I had seen other people reporting that stuff still worked. But now I’ve realised, that if I wait too long with an update, another update just comes along…
Can I somehow configure HA to always automatically install e.g. update 2.1.3 once update 2.1.4 becomes available? Or is that a nogo too? I realise that the only sure-fire way to do this is with a staging environment, where everything is tested out before updating the production environment. But how many of us has that kind of a setup?
Backups are important when dealing with software like this. Don’t click “update” unless you can spend the five or ten minutes to restore a backup (or have the hour or two to fix things). Do regularly update, though, because the longer you stay behind, the more difficult it will be to catch up later. I generally YOLO the home assistant updates and hit update whenever there’s a prompt.
As for the Zigbee2Mqtt thing, don’t update major software releases without checking the change logs. If software decides to go from 1.x to 2.x, something significant probably changed. I wouldn’t stick with the old version forever, but i wouldn’t update major versions unless I have an hour or so to fix the breaking changes.
With Zigbee, you can configure many devices to connect to each other directly, so even when Home Assistant shits the bed, you can still turn your lights on and off. Not as feature rich as full home automation, but probably the best choice when you share your house with others.
You could go for a staging environment but there’s no way to actually test that without having dedicated hardware hooked up to the staging server, so that’s probably way too much. Instead, I’d focus on a good backup solution. For instance, making daily backups (or more! Only record the bits that are changed!) if your home assistant disk, using tools like virtual machines and ZFS. Put any databases with important long term storage on a separsre (virtual) machine so you can revert home assistant without data loss. This time your problems may have been caused by a significant update, but next time it could be a random particle taking billions of years to cross half the universe just to hit your RAM in exactly the wrong way and corrupt your entire OS. If you can easily recover from crashes outside of your control, you can reuse that tech to recover from crashes you accidentally caused yourself.
I agree, this pretty much covers all the points.
I do full disk backups of HA, Zigbee2Mqtt, etc every now & again as well as backups before updates.
And I don’t so updates when I’m in a rush - that angers the bug gods who strike my systems down with system faults.
Do it on a Saturday morning and it all goes smoooooothly
Yeah, I’ve been dealing with the fallout of doing a firmware upgrade suggested by zwave2js which - I don’t know - changed the IDs on every single one of my 60 z-wave devices. I’ve been going through fixing dashboards, and automations, and scripts. It’s been a major PITA. It is, however, the first time a breakage of this magnitude has happened to me in a decade.
It wasn’t just that devices changed; some stayed the same but the entity value IDs of their functions changed. It was so random.
I’m going to think twice about doing that, next time.
Since there is no semantic version locking between versions of different add-ons and such in HA, you may always be at risk of hitting a wall like you describe. Keep backups and rollback, that’s about the best you can do.
In the future, they would be smarter to use semver locking so you don’t accidentally update something that is incompatible with other versions of things like a package repo, but that’s a lot of heavy lifting that will take awhile to sort out.
I skim read the changelogs for breaking changes but mostly just YOLO it whenever I’m in the mood to update or a new monthly release drops.
That said, the VM that runs HAOS and the Z2M addon is snapshotted every night with two week’s worth of retention, and I let HA do its own scheduled backups in case a snapshot restore doesn’t work for whatever reason. So far I’ve never had a need for either but I rest easy knowing the options are there.
I don’t use HA so this is confusing me. If the software works for your home setup, why update at all ever? What do you as a user get other than the opportunity to see new ads on the thermostat screen or whatever?
I don’t use HA so this is confusing me.
You should check it out whilst you’re here 🙂
There are no ads.
I wish HA would have LTS versions, I would absolutely run it, like I do on my servers.
2.1.4 is fixing things in 2.1.3 and when those broken things effect you because you decided to install a known buggy version, then you’ll shift the complaint that it shouldn’t have let you install the broken one that would have effected you.
Pay attention to the update notes and let the system take backups, that’ll cover you 99% of the time.
I had something similar happen with a Node-Red update a few years ago and I stopped allowing automatic updates and started reading the notes and being proactive about my updates and have had zero issues since because I ensure my system is ready for the updates first.
I have a baby at home and that makes it impossible to keep up with all the updates. Reading the release notes? God damn, I’m glad I have the time hit the update button once a month and then pray to god that it doesn’t break anything. If it does then it’ll take months before I have time to investigate.
This led me to abonden HA from the summer house already. My dad’s HA has been turned off for three months too because I just can’t find the time to fix it, and at home it’s running but I have only one type of ZigBee things still working, other things are just broken like my script showing random pictures on the TV.
I really wish for a LTS version. I don’t have those problems on my Server where I run Ubuntu 22.04 LTS.