I’m a big fan of HomeAssistant, after evaluating a lot of other options I’m stuck here for >3 years.
My current setup contains a git managed directory with docker-compose & configuration files. My instance is hosted in my private network (only), but has a valid certificate by using a customized jwilder nginx proxy setup.
For xmas vacations I planned to cleanup my configuration from all the trial, error & did not persue projects by reinstalling from scratch. Here are a couple of thoughts / questions:
I’m attracted by the devops idea of ‘rebuild from scratch’ regulary
I was planning to use the “include_dir_merge_list” to structure my automations etc by function
Like others I’m struggeling to keep up with the high change (deprecation) rate of HomeAssistant. Its a curse and a mercy at the same time
So - I do see multiple ways forward that I’ll not persue
Move to supervised as that seems to be ‘the new shit to go for’. However, docker-compose (actually fedora 34 with podman) is my way forward for reasons out of scope here.
I could stick with my old instance - however when re-staring from scratch I found the UI contains elements that my old instance doesn’t have. Also some integrations that changed a lot (denonavr) and never really work seem to integrate better on a fresh instance.
What’s a proper way of configuration management?
The oldstyle yaml definition & backup gave me some rest of mind - however today there is a lot of UI based definitions that I’d miss out
I can still (git) backup my config & volumes - however that’s NOT permitting a regular ‘start from scratch’
backup / restore would be in the middle - but I don’t see that option in the new version, probably because its not running in hass.io or supervised?
How are others handling this - and to be very clear - moving away from HA is not an option at all!
No, it’s simply HAOS with the managed OS swapped out for Debian Bullseye. Nothing else changes, and you now have to manage the OS and other things the Supervisor requires.
You can still store it all in a private git - the UI config lives in .storage/ in JSON format
The things in .storage/ are all managed by HA. You don’t manage them. However, backups/snapshots/whatever will still work as you expect.
You could use the websocket API to trigger the config flow and handle adding integrations that way - basically fake being the frontend. That’s probably a lot of work, but it would at least avoid being fragile.
The other option would be to reverse engineer the JSON changes in .storage/ - but that’s likely to be fragile and have dragons lurking in the corners.
Unless the integration has been converted to being UI configurable only then everything that the UI has can be done thru yaml as well.
if the integration hasn’t been converted to UI only then the yaml config is still valid.
As far as config via the UI vs yaml (where either option is available) if you are comfortable with yaml then you aren’t “missing out” on anything by maintaining a yaml config.
I don’t use any Supervised/OS functions and I get by just fine and I have all functions available except HA supplied backup functions and add-ons.
I do my own back-ups manually by just copying my complete config directory (including the hidden files) to a secure place.
And lack of add-ons don’t concern me since I run a Docker install and all the add-ons tht I have found useful can be installed via Docker.
I’ve been upgrading for >3 years, with the fresh install I see a couple of (minor) advantages:
Surveillance cameras now show the stream, not only static pics. No config change, tried to fix that a couple of times, so must have been broken deeper than I digged.
“energy” menu item turned up - need to explore this new option
DenonAVR integration started working again. Pioneer / Denon (zone 2 follow zone 1) is a major hassle for years here - must be me.
Not sure if it was worth the efforts, but I like the idea of beeing able to restart in case something (e.g. hardware) breaks bad tomorrow. This is what I noted down:
Create new instance with docker-compose, get ssl certificate via nginx
Re-integrate yamls - like the style of “automation: !include_dir_merge_list my-automation”
Install integrations (via UI)
Re-create users & devices tracked (via UI)
Re-create dashboards from .storage/lovelace (separated out a non-admin ‘tablet’ user, as the amazon tabled screwed to the wall has issues loading the full dashboard stack in a timly manner)
Re-created API token for pool heating automation (Planschbecken)
Works, I spend a day of vacation having fun
ItsMee