From my smart home user-stories:
For my home, I want a centralised abstracted event hub for connecting sensor/actor devices together, so I can separate “automation logic” from “interfacing code” – even better if the interfacing code is done for me!
Home Assistant handles this nicely.
Previously I’d been wiring things together in a very ad-hoc fashion.
My “smart doorbell” had the logic to connect to Slack and
SES to send me notifications,
my cameras had similar logic replicated, et cetera.
Event-handling and automation code lived on each device, and coordinating and managing it all was a pain.
Enter Home Assistant, which acts as a generalised abstraction layer and centralised event-bus between all the things.
You tell it about your devices (“components” - it has support for nearly a thousand),
it provides you with a nice interface for manual control,
and powerful but easy-to-write “automations” to hook everything together.