What I thought I knew now I don't

Only to give my opinion.

I’m using HA for 15 months now, and I still consider me as a newbee. It’s true that sometimes it’s difficult to get updated information on how thigs work in actual versions, but advantages outweight disadvantages clearly. I started using HA because I wanted to get graphical plots of the evolution of temperature/humidity sensors, but soon I discovered utilities I’d even not imagined.

Now I control with only one RP4:

  • Lights of 3 houses.
  • Heating system of 2 houses (one electric and one with fuel), making them much more efficient.
  • Irrigation system of two houses.
  • Alarm sytem of three houses.
  • Home cinema system (screen, beamer, TV, AV receiver, satellite decoder, ambient light) of one house.
  • Covers of two houses.
  • Garage doors of two houses.
  • My car’s information system.

It’s also kind of hobby to get new things work together and get new ideas to work.

For sure I still have ideas that still I haven’t been able to make work. For instance:

  • EspHome chips (ESP32) work away from the LAN the HA is. I know there are people working in adding WireGurard into EspHome.
  • Using client certificates to access HA to make access more secure to cyber-attacks.

In summary, my experience has been very satisfactory in general, in most cases thanks to this forum’s moderators and users.

This goes against the grain of “make it easy” and doing everything thru the UI but…

My recommendation is do everything you can (that isn’t forced to be done thru the UI) in yaml.

write all automation and configs in yaml.

Start small and work your way up to more complex stuff as you learn the yaml syntax.

that way you learn how it’s written (indentation, lists, dictionaries, etc) in small steps.

then start learning templates in the same way.

start small and then move on to more complex stuff as you learn the jinja syntax.

Every “advanced user” here all started out using yaml and jinja templates back when you couldn’t do very much if anything thru the UI. That’s how those users learned it - a little at a time.

and if you get stuck then just ask here in the forums. Don’t necessarily rely on old forum posts. You can start there but if it doesn’t seem right then just ask again. Things change pretty quickly so stuff that worked a few months ago might no longer work now.

Now with the UI introduction the newer users don’t get to see the “behind the scenes” stuff and don’t have a grasp on what goes on in the background. So they don’t have that ground level understanding. And when they try to do more complex stuff they get overwhelmed more easily instead of being able to go back to basic principles since they never learned them in the first place.

Things may be “easier” now but in many ways things are harder because you skipped all of the building block steps to get there. It’s fine as long as everything “just works”. Until it doesn’t. Then you don’t have the tools or background to know what to do to fix it.

And the docs don’t help the new users because they assume a more advanced level of understanding that the new users don’t have because they have completely relied on the UI to get them even to the point where they are now. And that is the thing that I really don’t think there is a way to fix it.

How do you explain indentation or what is a “list”, “dict”, “map”, “boolean”, “string”, “integer”, “float”, “datetime”, etc to someone who doesn’t know what any of that means and have no background in yaml/jinja and just point-and-click?

5 Likes

I totally concure with that statement. Lots of options are just not available in the UI and or get very cofusing if you add em all. eg an automation would grow to several pages length in the UI all looking the same, you get mixed up real fast, but in yaml its just 20 to 30 rows of code. Just happend to me the other day with a multi option automation with lots of & and !& combinations, and actions that need a service call and other stuff that needed other kinds of calls.

What I, as a not fluent yaml speaker, have a real issue with, is the code helpers in the studio code server.

Im used to have the coding environment help on with suggestions, that are allowed here, and auto complete and such. So I wont have to type as much and wont make spelling errors.

This is just not working in the studio code server. is there any other environment that really and truly knows what code would be working in the HA yaml environment and even offers auto complete with the known entities and other stuff like symbols etc. pp?

can agree with most of what’s been said… been playing Home Assistant about 2 weeks now… total newbie and bottom of the class it seems… took me three days to get HACS installed… none of the help files worked… YouTube was not much help either… it seems that the installer was putting the files in one place and HA was looking somewhere else… never asked, suppose i should of… great believer in the power of reading… also agree with the help files “written by programmers for programmers” meaning total newbies got no chance… several times i got so close to deleting the whole lot… just to switch on a light… my dollars worth (should be pound I’m British lol)

I like the “start from the foundation” approach. That’s good advice.

The one thing I’d add is that it’s OK to set something up in the UI, then open the YAML to see what the UI did. That can give you a good starting point. A running joke in IT is that there was only one program ever written. Every program since was copied and edited from one that came before it.

It’s interesting to see how everyone comes to this (or any) project with different levels of experience. You can be a wizard with high-level, interpreted languages and not have a clue about how the lower-level structures work. You can design things by dragging and dropping and never learn a line of code. It’s like the layers of an onion. We need to remember that each layer adds value. Just because someone is unfamiliar with one layer doesn’t make them stupider or less important than you. Humility is a good thing.

in response to @CaptTom

my late great grand father used to say: “even a doctor can learn something from a seemingly stupid street sweeper”

there is true value in that statement.

My thoughts:

There are always better ways to do things. That goes for programming, documentation, learning, support, communication, etc. Everyone has an opinion on the “best way” but it’s all relative to something - what’s the best way for you?

I learned as much, or more, from my mistakes as I learned from my successes. It’s frustrating to fail but persistence is just as important as skill. Keep trying different things to see what works for you.

This is a very active development project with a very active community. In other words, everything is moving forward at a pace that is faster than most people can absorb (even the developers can struggle to keep up with everything that is happening). Do your research, try different things, and use this community to ask questions - you might not get the answer you need but be persistent.

First I’d like to Thank everyone’s input into this. Yes it’s frustrating… yes there are other systems out there but this to me feels like the best one. I have a good friend helping me and I REALLY appreciate his help, all of it!!

Since the newest version came out for some strange and odd reason I seem to be picking up on things easier. Can’t tell you why it’s like a light came on and here I am. I still need to learn much but right now I am feeling 100% better about this. I also realize that documentation will never be able to keep up with the changes.

The moral victory for me was when I set up a ‘radio’ and used an example I found here and totally changed the provider and a bit of how it was set up and it all works. I was amazed and very happy. After that I just kept going back into the system and changing different things here and there and they are working [and I don’t have this huge error log anymore!] So between writing this original post and now I guess my brain decided to kick in LOL.

Again, Thank you all and keep posting your working examples because they help so many people that you can’t even imagine. Not everyone will say Thank you but you are helping them!!!

I’d like to mark EVERY reply with Solution but I can’t so I’ll just mark my last post. Again to everyone THANK YOU!!!

1 Like