Comment by Larrikin

1 day ago

Home Assistant is nice for this crowd in that you can actually use a real programming language to do the automations. I went with PyScript but NodeRed is very popular as well. No need for YAML

Can you? I should give it another try. I remember giving it a look a few years ago and it looked like a considerable amount of the setup was going to take place through a web GUI and then be persisted in its internal database. For a server I have to maintain over time, I'd rather things be as stateless as possible so that the cost of doing a scripted redeploy is basically zero.

  • PyScript runs inside HA and IIRC the Python in it has some quirks because of it.

    AppDaemon[0] runs alongside it and is more "real" Python, it mostly just responds to events sent to it.

    NodeRED has a direct integration and is (in my experience) best for complex state machines as you can easily debug them and actually see the logic work.

    They also have a REST API to trigger things and a Websocket API if you need more real-time stuff (subscribing to events instead of querying states)

    Then there is just straight up MQTT, where you need to do it all yourself.

    What HA shines is that it tends to have ready-made community integrations with _everything_. And enough users for each that if something breaks, people will notice and it'll be fixed promptly.

    [0] https://github.com/AppDaemon/appdaemon