I’ve been running HA for several years now and a lot of stuff has moved into the integrations and the like. Is there any way to figure out what stuff I have in my configuration.yaml (and ideally other config files) that I don’t need manually configured anymore?
I guess I could erase all my manual config and start adding things back in from scratch but that seems like a fair bit of work.
I’ve filed a couple tickets to Github (my first was filed against 0.29!), just not had a general non-code ask before.
And that ought to work for the integrations themselves, though I believe there are other things like customizations that can be moved now? I imagine there’s a lot that no longer needs to be manually configured now, but it’s hard to tell what unless you migrate everything following every release’s changelogs.
I know what you mean and to be honest who reads every release in detail.?
I usually just fix things as the break or ‘if’ I do read the notes (which have gotten a LOT better of late)
But also, I do a new install every June, just copying the yaml files across, and see what doesn’t work.
Fix all those. Copy the config. Restore a snapshot and then copy the yaml back, then fix that (rarely required). What can I say, I’m a masochist.
That will probably work now, honestly, if I just leave the new-style configuration metadata alone. Maybe some trial and error but a lot has changed in four years! A tool would be nice but really I imagine the majority of users don’t even hand-write configs at all.
Yep, I agree, as ‘some’ new users come on board, they do less and less hand config.
At some point a tool as you suggest, will become necessary. That or the warnings about deprecation will become stronger to the point where the system enters safe mode and ‘requires’ the this line of config be removed. Dunno, interesting times.
Edit: but thinking about this it would only need a minor tweak to the config check to give such warnings going forward and pretty much everyone runs that every time a change is made
I always vote for manual configuration if possible.
As a case in point…
Just yesterday I had updated some custom cards thru HACS, did my normal config check, and then restarted HA.
Kaboom, dead…
I finally got it back up and running 4 hours later.
I never got anything at all in the logs. HA seemed to be working from the logs but I couldn’t connect to the UI. I got an infinite spinny thing until I forced a refresh on my browser and then I got an endless “refused to connect” error. And there was nothing in the browser console as an error since the frontend refused the connection.
Since the last thing I changed was HACS related I figured the first thing I should do is manually downgrade the few cards I updated. And that was a no go.
So the obvious next thing was to remove HACS itself.
I had recently (a month or so ago) been messing with HACS and had to remove the manual config and so I thought why not add it via the integration UI? And there was the problem. Since it wasn’t configured manually any longer the configuration was in the .storage files somewhere. You know, the ones we aren’t supposed to manually edit. Without a bunch of hunting and editing out anything with “hacs” in it (and hopefully not compounding the problem with typo’s) it was going to be impossible to remove it.
After saving and then killing my old configuration.yaml file, restarting to auto create a new one, and then re-adding pieces a bit at a time (which I had to do several times) I finally started getting my frontend back. But it was unstable and would kind of work/not work but it was enough to be able to remove HACS from the integration UI.
Strangely after all of that it ended up being the foscam built-in integration that has failed (that I never even touched in any of this) and it had nothing to do with HACS or any updated cards.
But the point is adding things thru the UI is convenient but if/when things break and you don’t have access to the UI to remove those things then you are kind of stuck.
And I still don’t have my Foscam cameras back yet…