Skip to content

Home Assistant

icemanxbe edited this page Jun 17, 2026 · 1 revision

Home Assistant Integration

Home Assistant (HA) is entirely optional. MeadOS never requires it and never stores your data in it. If you do have an HA instance, connecting it unlocks live temperatures, automatic gravity readings and push notifications.

What it adds

  • Live temperatures per fermenter and per cellar cabinet, with history charts pulled from the HA recorder.
  • Hydrometer integrations — iSpindel, Tilt and RAPT readings pre-fill a gravity log entry (you still confirm and save).
  • Push notifications for due brewing tasks via the HA companion app.
  • Label images picked from HA media storage.
  • An optional status summary entity (sensor.meadows_data) that feeds a ready-made Lovelace dashboard card (Settings → HA Companion Card).

Setup

In Settings → Home Assistant:

  1. Enter an internal/LAN HA URL (e.g. http://homeassistant.local:8123).
  2. Optionally enter an external URL (Nabu Casa, your reverse proxy) — MeadOS tries the internal one first, then the external.
  3. Paste a long-lived access token (HA → your profile → Security → Long-lived access tokens).
  4. Save.

That's it — no configuration.yaml edits, no CORS changes and no mixed-content problems, because the MeadOS server talks to HA on your behalf (a server-side proxy). The browser never calls HA directly.

How the token is handled

The HA token is held server-side only. It never rides the synced data blob, so it can't leak through a shared or exported state, and other devices can't read it.

The proxy only forwards a small allowlist of HA endpoints — reading entity states, fetching history, and sending notifications via the notify service. It will not forward HA configuration, admin, or service-restart calls. So even though MeadOS can talk to HA, a compromised browser session can't drive your whole smart home through it.

Because MeadOS can reach HA, the MeadOS server and HA effectively share one trust boundary — if you expose MeadOS to the internet, protect it with the external-access password.

See also

Clone this wiki locally