Comment by joshvm

20 hours ago

Can't speak for OP, but just get Home Assistant running and play around. It'll work in Docker in anything, but it's a good use for an old Raspberry Pi. There isn't much more of a stack than that, and HA is by far the most polished OSS solution.

It's got some sharp edges - every time I've done a major auto-update it's broken something critical. You can run it alongside other controllers like the Hue Bridge, which is nice to have as a backup (since 90% of what most people connect is smart lighting). Probably the most useful simple automation I have is an motion activated dim light in the bathroom at night, but that's using Hue.

Then look at ESPHome, which is an ecosystem for making your own DIY sensors and controllers that can feed into HA. For example we have a Sensirion air quality sensor that triggers a smart switch connected to a fan if the particulate level gets high when cooking. You can go a very long way with on/off to control non-smart devices, and your sensors don't need to be particularly accurate (like absolute PM2.5) as long as the conditon you trigger on is repeatable.

The only thing to think about is what hardware ecosystem makes sense for you. For example there's at least four different competing standards for connectivity (WiFi, Zigbee, Z-Wave, Matter/Thread, etc). So getting a Zigbee dongle isn't a bad idea because then you can connect any IKEA or Hue device (among others).

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

RE ".....if the particulate level gets high when cooking ....." What is the particale counter level you use ? The number ? Just curious.

  • If over 100 ug/m3 for 2 minutes, turn on, if under 10 for 10, turn off. If someone's cooking, there is a very predictable spike that peaks in the low hundreds and then decays (super-) exponentially. It was surprising to see how long it takes to get back to ambient. I think you'd have to cook a steak with the stove extractor off to hit 1000 and our hard-wired smoke alarm would definitely be going off. I have no idea how absolutely accurate the SEN55 is, but the background level is usually below 5. I don't live in a particularly polluted place, so that seems reasonable. NOx is almost always zero.

Same. I use the hue automations to handle the lights. HA is for everything else.

The hue motion sensors pay for themselves pretty quickly.