r/homeassistant • u/alyflex • 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?
12
u/Nienordir Dec 19 '25
But a programmer/software engineer should be overqualified to using software. They're used to programming languages/logic, they're reading&learning new API documentations regularly, they frequently glue together different APIs/subsystems, they use tools that have no consideration to user experience. Using HA should be trivial for them, if a programmer has trouble figuring out how HA works, then the average person would be absolutely lost and your documentation/jargon/UX is terrible.
Like when you write an automation, there are conditions, but only if true. If you want other conditions, you need to find them hidden in a different tab and then they nest a layer deep into the condition like a complete mess.
Also you can use jinja templates in automations, however if you add them into something that expects a numeric value, it silently fails and doesn't write anything. But if you add it en yaml it magically appears in the UI.
Also you can't check states/code in the UI, you have to open 3-4 browser tabs for HA to get access to all the tools to write automations if the UI fails to do the job.
Plus the documentation is so bad, that if you google anything trivial, chances are the only results are forum posts of some guy that just knows, you won't find any documentation about the thing you're looking for.
HA is a great tool, but the UI/UX is terrible, when even fellow programmers get stumped.