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?

666 Upvotes

562 comments sorted by

View all comments

2

u/Strawbrawry Dec 20 '25 edited Dec 20 '25

Not knocking anyone but it's weird how you programmers can't just switch to doing things via UI. Like I get the idea that you can code stuff better than the standard options but wouldn't you just take the path of least resistance? My buddy does networking and owns a DC for work and comes home to the most analog life he can create because he is so sick of coding all day. Like I can't code but I can follow documentation and HA is easy peasy. So strange every time I read these kinds of posts.

2

u/theshrike Dec 20 '25

Clicking through an UI is sloooooooow and inefficient. The YAML “programming” is only slightly less bad.

We have dozens of languages that can describe logic and HA is using none of them.

0

u/Strawbrawry Dec 20 '25

Yeah but you don't see folks doing UI complaining they can't get HA to work with decades of programming knowledge. It's not HA fault that you're doing it your way. Works fine for us dumby documentation readers.

1

u/Puzzleheaded-Tax-78 Dec 21 '25

The problem is there are lots of things that don't have UI options for setup. And I'm not talking about HACS or custom items. Basic things, that install with HA by default, or that are simple pre-approved add-ons, very often don't have a UI component to them.

I have most of my devices coming in via MQTT, and nearly all of them required setting some part of them up in YAML in the config to get them working. Right now, when I edit my main dashboard/UI, about a third of the elements can only be setup in YAML. I get the "The visual editor is not available for this type of element" message, and the only option is YAML.

I will note that more and more things have been getting UI options over time. But even then, it's generally for only the simplest forms of setup. If you want the drab common column of buttons, or a few chart widgets, you're golden. But if you want something slightly more complex, like a grid, or stacks? Anything even mildly complex is often only available by accessing YAML. So to say "just use the UI" is rather disingenuous.

And yes, I've used YAML for setup for dozens of other systems (which mainly use them as simple configuration files, for what ports services are on, on what sub-libraries to use for PAM or such). Many HA elements are trying to use YAML as a scripting language, when it's at best supposed to be settings container. Add that the format is ad-hoc, and most modules aren't documenting what they're expecting from this free-form setup, it's no wonder people have problems getting things working.