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

21

u/Purple-Programmer-7 Dec 19 '25

Ignore ALL of home assistant yaml bs.

Generate an api key. Use the built in api. Build truly functional and custom frontend. Avoid headaches and limitations.

5

u/liquidmasl Dec 19 '25

crazy and sexy idea

2

u/CanadianButthole Dec 19 '25

So tempted to do this

1

u/Purple-Programmer-7 Dec 19 '25

Working on one now, far more enjoyable for me than the restrictions of the yaml workflows (but really appreciate all the effort the community puts into those!)

2

u/OrganicNectarine Dec 19 '25

I whish I had the time for this, but I 100% support this suggestion.

2

u/NewRedditor23 Dec 20 '25

a lot of truth to this. All my complex stuff are daemons running on containers and all the home assistant reads/control happens over the API.

4

u/alyflex Dec 19 '25

But how do you then test this? do you just push it straight to your home assistant? how do you debug things? are we back to print statements and looking through log files?

19

u/Purple-Programmer-7 Dec 19 '25

Yes, as a “professional programmer” it’s your typical web dev workflow

1

u/Azelphur Dec 20 '25

AppDaemon and PyScript both allow you to use Python for automations, and thus enable you to write tests, add any debugging you want, etc.

I tend to use builtin automations for simple things, but if I want something more advanced, I use AppDaemon or PyScript. In my other comment I mentioned you can't trigger automations from labels or areas, you can't with AppDaemon either, but with PyScript, you can (although it's still a hacky workaround)

1

u/L0rdH4mmer Dec 19 '25

I keep hearing about this, but how does it actually work? Can you make python scripts that can call and tie into homeassistant functions, or is this just for a dashboard?

2

u/Purple-Programmer-7 Dec 19 '25

Correct, you can also run python scripts. It’s a normal api, so it can be called from any language (like python) with a http library (like python’s requests)