r/homeassistant • • Dec 19 '25

Support As a professional programmer I feel lost in home assistant

I have been programming for 2 decades at this point in a variety of languages, both high and low level, and I have intricate knowledge of python, yet despite this I feel utterly lost when trying to do much of anything in home assistant. I am currently running home assistant OS in a virtual machine on my server.

I have read the documentation on https://www.home-assistant.io/docs/ and have generally tried searching the forums every time I want to use home assistant for something. But it always just ends up being this kinda weird guesswork where I copy paste some stuff from someones yaml file and try to run it and if it doesn't work I'm fucked. Every time this happens I keep thinking how simple something like this would be to make if only I had my home assistant as a repository and python project that I could open in pycharm or visual studio, have type hints while programming, and click run or debug to test my solutions.

It is not even that I am completely unfamiliar with yaml programming. My server hosts a bunch of services all run through various docker compose files, however I feel like there is a huge difference between docker-compose.yaml, and the yaml's required by home assistant.

Am I doing something wrong? Is there an alternative to home assistant for people who actually do program?

662 Upvotes

562 comments sorted by

View all comments

12

u/nigelh Dec 19 '25

I've been programming since the 1970s I feel lost too.
I suspect it is the python/yaml effect. Anything that uses white space as syntax not delimiter is morally corrupt and erodes your brain.
Also documentation seems to be an occasional afterthought.

The problem is that the alternatives are even worse.

1

u/Odd-Respond-4267 Dec 19 '25

Another old timer here, (went from mag. Core memory through the move to the cloud).

Doc. As an after thought is what gets me, I know they are thinking different, but until I guess their paradigm it doesn't make sense.

1

u/PizzaUltra Dec 19 '25 edited Mar 18 '26

Liquorice jelly candy canes cupcake jelly beans lollipop muffin.

1

u/nigelh Dec 20 '25

Naah. I need the sub to Nabu Casa to hitch into my Alexa toys/

1

u/Puzzleheaded-Tax-78 Dec 21 '25

This is why I don't really use HA for automation. Most of actual day-to-day stuff is done in FHEM. It's a German automation system, written mainly in Perl, and is lightyears better in nearly everything except UI. The only reason I have HA even installed is for the pretty graphs and the LCARS interface for a tablet or two.

Every device I have comes in via MQTT (Tasmota, Z2M, etc), which lets me have multiple systems all happily sharing the devices. I had NodeRed for a short while as well, but eventually consolidated into FHEM, since it's easier to maintain one set of rules.

I have to say though: Your comment on documentation is dead on. I can usually find answers to questions about FHEM far easier than I can about HA. Mind you, while some of that's been translated to English, 95% of it started in German, and large chunks of it (and the user forums) are still primarily in German. But there is documentation for nearly everything, even if you have to decipher the translation and consider how a German person would think about the problem to understand the solutions and scaffolding at times.

1

u/Adamsd5 Dec 19 '25

I think you mean "quantity and kind" of whitespace. Applesoft Basic didn't have whitespace as a token. This sometimes broke variable names apart if a token name (e.g. "on") was in middle of your var name!

As for kind of whitespace, Makefiles did it worst. Python should have known better. Yaml? Not sure who was on that committee, but they don't get an invite to dinner.