Starting fresh - Show me what you wish you'd known when you started?

After a couple of power failures, some bulbs losing their config and HA not being available for a while I’m going to take the opportunity to start again, from a fresh, clean install of the latest and greatest version of Home Assistant.

I have available to me:

  • Zigbee lights
  • Zigbee sockets
  • WiFi plug sockets
  • zwave sockets
  • Zigbee door sensors
  • z-wave PIRs
  • Sonos
  • Eufy doorbell.
  • UK smart meter & Octopus energy
  • Solar panels
  • Zappi car charger
  • ESPHome based alarm interface

With that kind of thing in mind, what do you wish you’d known when starting out, what would you have done differently and what’s your favorite automation?

I’d buy less smart lights and more smart switches.


Because people keep switching the non-smart switches off?

One thing I took too long to do: just use the automation editor, you can always, write an automation in yaml within the editor if needed.

I started using HA since before the automation editor existed, and I held off on using it much longer than I should have as I wasn’t aware that one could so readily switch to yaml mode within the editor.

Use blueprints for multiple action devices. e.g. I am now using a blueprint to manage my aeotec quadmote which has many potential actions. It makes it much cleaner and lets the hive mind sort out bugs. :slight_smile:

Things I wish I knew before starting out:

  • Recorder. Exclude everything you can and set purge_keep_days as low as you can.
  • WiFi devices. Don’t buy anything which uses an external connection. Stick with Tasmota or ESPHome if you must use WiFi. Better still, use Zigbee or Z-Wave.
  • Naming conventions: There are so many different ways to name devices and entities, and to create icons for them. It gets confusing, figuring out what’s what and what’s configured where.
  • Documentation. Don’t believe everything you read. HA changes more than the documentation can keep up. And much of it assumes a fairly advanced level of knowledge. You have to understand how something works, not just copy examples.

Every single step is a learning curve. You could say I wish I knew it all before I did anything in HA. Failing that, there’s a lot of learning by doing.


I was just going to say this and saw you mentioned it already. The day of the AWS outage this week all my Alexa, ring, and blink cameras were offline. My locally connected zwave and zigbee devices, and home assistant automations for them all kept running fine.

In my situation, yes this was a pain. I eventually paired a smart switch with the smart light, decoupled the switch from relay and used it as a button. That relay stays on forever unless something goes wrong with the fixture :joy:

Yes. I had a house sitter that went around and removed the sticky dots I put over each switch so they could not be operated manually. She just could not get her head around the need to not use light switches. It’s probably just a psychological need to be in control, as since being home (8 months) I have not needed to touch a light switch once, so the automation does actually work.

Though if you use an external editor like VSCode there are many extensions that assist in creating Home Assistant YAML (not just the HA helper extension, indent rainbow, bracket rainbow, spell check, etc…).

Also I would advise against using blueprints as much as possible so you have a deeper understanding of how your home automation works and are not reliant on others to sort out the bugs. This will minimise downtime.

Excellent advice. Getting this right from the start helps tremendously. Fix your entity_ids as soon as you add new devices and stick to your chosen convention.

Just to be clear, I’m not throwing away all my gear, just restarting HA config :slight_smile:

This is indeed excellent advice.

yes, although you can also use those in conjunction with the ui editor, correct? just edit automations.yaml with aforementioned editor (although you may want to use the GUI to initially create automations, I’m not sure.

I concur for things like a simple light turning on when a door opens, etc., but for handling input devices like this one, writing that automation and debugging it from scratch? No thanks! And definitely not three times over during the ozw to open zwave beta to zwave js debacle. :laughing: Twice was enough!

edit: and case in point, I can see in that thread there was a zwave js breaking change that was fixed in that blueprint too, that I just had to re-import to fix as the author fixed it for everyone. :slight_smile:


I have another one:

  • Minimize the number of add-ons and integrations you use.

I say this because HA (and the whole smart home market) is so dynamic. So many things change in each version. The more “stuff” you have, the more likely something will be broken by an update. Likewise, vendors make firmware and API changes which require some time for the HA integration to catch up.

You don’t want to be in a position where you cannot update HA over several versions, because that one integration you rely on introduced a bug that’s not fixed yet. Especially if, just as your first bug is fixed, a new version introduces a new bug in a different integration you also rely on. The more different integrations/add-ons/protocols you use, the more likely this is to go on over many versions.

It is still true that HA is great for integrating smart devices from many different vendors, using many different protocols. But you do expose yourself to more maintenance the more of these you use.


This is V3 of my HA config and the only thing I brought across from V2 was the Docker compose file that handles all the containers.

V1, everything was edited by hand in the various yaml files, V2 was mostly edited by hand with more being done in the GUI as I went along & the gui matured.

V3 will be as much GUI as possible, up until the point I need to go and edit me some YAML. I think some of the sensors I need to create will have to be manual, like a sensor to indicate when the house is empty because we’re all away.

1 Like

I’ve seen people try to minimize integrations by using mqtt whenever possible- ie zwavejs2mqtt and zigbee2mqtt. Their setups seem more resilient to breaking changes.


Keep it simple (KISS).

I started with a RB Pi 4 with with Docker, Portainer, non-HA stuff running in other containers, MQTT, etc. and a bunch of add-ons and integrations (including HACS stuff). I restarted from scratch with Home Assistant OS, as per recommended installation method, and tried to standardize and simplify as much as possible:

  • trying to stick to one brand for a specific device class
  • standard naming conventions (+1 to everyone who mentioned this)
  • only using Node-Red for automations (no YAML)
  • ensure everything still works if HA is down (switches can still be switched, sensors will still alarm locally, alarm system can still be armed/disarmed and phone me if there is a problem - yup, I still have a land line).
  • One wireless protocol
  • no more mqtt (to be clear, I love mqtt but the devices/integrations I use now don’t need it; therefore, one less thing to worry about).

I learned a lot with the first setup. I learned more with the second (simple is better). And I’m still learning and having fun.

As for my favorite automation… I like the presence detection automations: notifying us that the garage door is open after dark, prompting to arm the alarm system when everyone has left the house, disarming the alarm when we get home, turning lights on and off, etc. But the flood sensor has saved me twice!


I love the MQTT based integrations because you can trivially watch what’s going on from the outside by just subscribing to topics. All of my ad-hoc sorts of integrations are done using MQTT, which has very good “coverage” across all of the entity types in Home Assistant.


Another “out of the box” Raspberry Pi / HASS OS installer here, trying to follow the KISS principle.

Nothing against MQTT, and I get why so many people love it. I’d use it if I could justify installing and learning it. So far “native” HA has done everything I want.

I had to use YAML to configure things anyway (although less so these days) so using it for automations made more sense to me than learning Node Red. The UI automation editor just keeps getting better, to the point where I find I use that instead of editing the YAML more often than not. To be honest, I never really “learned” YAML, just followed the examples and got used to its quirks through trial and error.

When skimming through the breaking changes and new version blogs, it’s nice to be able to ignore all those problems with components I don’t use.

  1. [quote=“CaptTom, post:5, topic:365072”]
    Naming conventions: There are so many different ways to name devices and entities, and to create icons for them. It gets confusing, figuring out what’s what and what’s configured where.

What he said. Pick something a stick with it. I personally do type of device followed by general location. So for a smart outlet in master bedroom on my side of bed, ill use

  1. Keep organized. I created an excel file with multiple sheets that I keep active notes on. Cause at the time, you think, “oh ill remember why I did this” or “ill remember HOW i need to pair these when the time comes again”. But then you inevitably forget, aside from remembering that you thought you would remember. lol

  2. Dont buy an overpriced ‘Flic’. Buy $4 Xiamoi smart buttons. lol

99,9 % of my hardware is integrated using mqtt. Tasmota, Openmqttgateway, EspRfLink, Zigbee2MQTT, …
In the almost 3 years I have been running HA I have had maybe 3 breaking changes.

So true!! My “HA” reference folder has 61 sub-folders and 773 files, not counting the backups of the live HA system I keep there. 146 of those files are shortcuts (links) to various forum threads here and pages from GitHub, HA documentation, and third-party hardware and software documentation and instructions. 81 are text files, mostly notes I’ve written to myself about how I did something.

There’s just so much information out there that it’s hard to remember where I’ve seen it or exactly what words I should be searching for. Very often one task requires multiple different reference sources, but may not need to be done again for months or years. “How did I do that again?” is probably my most-asked question to myself about HA.