# Home Assistant: let Hermes see and control your smart home

> Install the official homeassistant plugin to give Hermes smart-home tools and react to entity state changes.

Canonical: https://hermeswatcher.com/tools/home-assistant  
Kind: Integration · Skills, plugins & MCP  
Last reviewed: Oct 29, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## What it is for

The Home Assistant plugin, maintained by Nous Research and installed from the plugin catalog, does two jobs. It adds a toolset that lets the agent list entities, read their state, list services and call them, for example turning on a light. It also connects to Home Assistant as a gateway platform, so state changes on entities you choose to watch can reach the agent, and replies come back as persistent notifications. It suits home automation, presence-based routines and status questions. Risky service domains such as shell_command and python_script are blocked by design. This is event ingestion plus notifications and device tools, not a generic phone messenger. These notes describe the official docs; the catalog plugin implementation is maintained in a separate repository.

## What you need

- A running Home Assistant instance and a Long-Lived Access Token (short-lived session tokens do not work)
- The homeassistant plugin installed for each Hermes profile that needs it
- Network access from Hermes to the Home Assistant URL

## Setting it up

1. Run `hermes plugins install homeassistant` (or `hermes -p <profile> plugins install homeassistant` for another profile)
2. In Home Assistant, open your profile and create a Long-Lived Access Token
3. Add HASS_TOKEN and, if not the default http://homeassistant.local:8123, HASS_URL to ~/.hermes/.env
4. Set platforms.homeassistant.extra.watch_domains or watch_entities in config.yaml if you want state-change events, then start `hermes gateway`
5. Set HASS_HOME_CHANNEL for a bare `deliver=homeassistant` target, or use `homeassistant:<notify target>`. Keep watch filters for inbound events; service credentials differ from human-message allowlists.

## How to check it works

- `hermes plugins list` shows the plugin as installed and enabled
- Run `curl -H "Authorization: Bearer <token>" <url>/api/` and expect an "API running" message
- After `hermes gateway` starts, Home Assistant appears as a connected platform

## Limits

- No events are forwarded unless watch_domains, watch_entities or watch_all is set; watch_all is not recommended
- Home Assistant events bypass user allowlists and pairing
- Environment changes only apply after restarting the gateway; a 401 error usually means the wrong token type or URL

## Messaging setup

[All messaging platforms](https://hermeswatcher.com/messaging)
- [Setup guide](https://hermeswatcher.com/learn/messaging-gateway-explained)

## Sources

- [Hermes Agent docs: Home Assistant](https://hermes-agent.nousresearch.com/docs/user-guide/messaging/homeassistant)
- [Hermes Agent docs: Plugins](https://hermes-agent.nousresearch.com/docs/user-guide/features/plugins)
- [Official Hermes Agent source: website/docs/user-guide/messaging/homeassistant.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/homeassistant.md#L10-L32)
- [Official Hermes Agent source: website/docs/user-guide/messaging/homeassistant.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/homeassistant.md#L146-L153)
- [Official Hermes Agent source: website/docs/user-guide/messaging/homeassistant.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/homeassistant.md#L204-L240)
- [Official Hermes Agent source: website/docs/user-guide/messaging/homeassistant.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/homeassistant.md#L210-L226)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
