Hey, as I’m having some trouble with organizing and and seeing the whole picture due to a diagnos I’m having some trouble with keeping track of everything I have added to Home Assistant so far.
How do you keep an overview of everything? Like what does what and not making some things overlap?
Just switched to Lovelace and I like it a lot but many of my previous groups I’ve made in the group.yaml is not needed any more I think and just that feeling of it being messy and unorganized make me feel stressed about it.
Do you make like flow charts of your automations and scrips? Is there any standard of doing something like this? My project is still small but I have plans of making it bigger with new additions in the future and want to make a system so that I have a more feeling of “control” so that I don’t, say in two years, break something by changing one thing that makes a chain reaction and breaks something I don’t know how to fix.
Sometimes I feel like deleting everything and start over just because I’ve learned some new things and might do it differently. But I some how need to learn to manage to calm down and just evolve the things I have and not start new projects all the time haha!
Like you my system has grown in a haphazard way as I learn.
I did start out with a naming convention (location_device, or location_function) sorted alphabetically for each component in their own yaml files (switches.yaml, input_booleans.yaml, etc…) . This has somewhat helped in keeping things in order. The automatons.yaml file is getting a bit large though. I may split it up into sub files by location at some stage.
Because the majority of my automations are asynchronous (they can run at any time in any order) I don’t think a flow chart would help.
I do have a view with groups of automations sorted by function (lighting, security, notifications, system, etc…) but a view of groups of automations sorted by the devices they control might be worthwhile too (e.g. group lounge room lights : morning automation, automatic brightness, turn on when smoke detected, etc…). That way if I need to know what can affect a device it’s all in the one group for quick reference. I have quite a few hidden automatons that would put a spanner in the works of this plan though. Maybe just a text file list. Though maintaining it might be more trouble than it’s worth.
I guess I’ve just learned to stop worrying and love the bomb
Get and learn a good source code control system for your configuration. I use git, but there are others out there. Then you can feel free to make changes knowing that you can get back to something that was working.
Try and set up a test configuration somewhere that you can satisfy your urge to tinker without breaking anything that is running. I use a virtual machine on my desktop, but a docker installation would probably work well.
Make lots of comments in your configuration about WHY you did something. It is normally obvious what is happening, but the reason for it tends to get lost in the mists of time.