Product spec
Hermes adds judgment on top of Home Assistant, for the rules you can’t write as YAML.
Who it’s for
- The HA tinkerer with forty automations whose next ten are things like “warm the house before whoever’s home first, most days”. Fixed triggers can’t say “most days”.
- A household where automations keep annoying someone. You can state rules in plain language (“never turn off the reading lamp while someone’s in the chair”).
A day, three weeks in
07:10. Bedroom motion. Hermes does nothing; memory says mornings are quiet.
08:02. Everyone’s out. Hermes checks the climate and the upstairs window, lowers the heating, and notes for tonight’s review that windows get left open on school-run mornings.
17:40. Lamps on, no message. You told it to act silently on established patterns.
20:47. The garage passes the 90-minute nudge threshold
you approved last week. One message, one yes, one
ha_call_service.
23:30. The nightly cron proposes one pattern and trims one. Memory stays under its cap.
What it won’t do
- Replace your automations. Safety logic (smoke alarm turns lights on, leak sensor shuts water off) stays in HA, where it runs when a model API is down.
- Voice. It’s text over your messaging app.
- Move locks or the alarm on its own. They need an
explicit yes, enforced by
approvals.modeand by leaving those entities out of the watch lists (setup). - Remember people separately. Hermes keeps one memory per profile, and per-member memory in a group chat isn’t documented. Separate profiles are in the family assistant plan.
- Run offline. Every decision is a model call. Your sensors stay on the LAN only with a local model, and small local models handle event streams worse than this plan assumes.
Expect about fifteen good rules and two good nudges a day. If you count actions per hour, it will look lazy. I designed it that way.