Hermes Atlas
Official Nous Research repos

hermes-homeassistant

NousResearch/hermes-homeassistant Published by Nous Research

Official Hermes Agent plugin adding a Home Assistant gateway platform and four smart-home tools

In short

hermes-homeassistant is an official Hermes Agent plugin for Home Assistant. It forwards Home Assistant state changes to the agent through a gateway platform and gives the model four tools to query and control devices.

What hermes-homeassistant does

hermes-homeassistant is the official Hermes Agent plugin for Home Assistant. It provides a gateway platform named homeassistant that subscribes to the Home Assistant WebSocket event bus and forwards state_changed events to the agent, with domain and entity filters and per-entity cooldowns. The agent's replies appear as Home Assistant persistent notifications titled Hermes Agent, and cron jobs can deliver through the notify.notify service without a running gateway.

It also supplies a homeassistant toolset with four tools for querying and controlling devices over the REST API: ha_list_entities, ha_get_state, ha_list_services and ha_call_service. The call tool refuses service domains that allow arbitrary code execution or requests to the local network, such as shell_command, python_script and rest_command. The code used to be part of Hermes core and now ships as a standalone plugin with the same names, variables and config keys, installed by hermes update for existing users. It stores no state and sends no telemetry.

Key features

  • Gateway platform that forwards Home Assistant state_changed events
  • Domain, entity and ignore filters with per-entity cooldowns
  • Four tools: ha_list_entities, ha_get_state, ha_list_services, ha_call_service
  • Cron delivery to Home Assistant notifications through notify.notify
  • Blocklist of risky service domains such as shell_command and python_script
  • Automatic reconnect with 5s to 60s backoff

When to use it

  • Letting Hermes react when a door sensor or alarm panel changes state
  • Asking Hermes to turn lights or climate devices on and off
  • Delivering scheduled Hermes results to a phone through Home Assistant notifications

Who it is for: Hermes Agent users who run Home Assistant and want the agent to monitor and control their smart home.

How it fits with Hermes Agent

Published under the NousResearch organization and described as the official Hermes Agent plugin for Home Assistant. Home Assistant support moved out of Hermes core into this plugin.

How to install hermes-homeassistant

These commands are copied from the project's README. Check the repository for the latest steps before you run them.

hermes plugins install homeassistant

Requirements: Hermes Agent 0.21.5 or newer, the aiohttp package, and a Home Assistant Long-Lived Access Token set as HASS_TOKEN

Note: No Home Assistant events are forwarded until at least one of watch_domains, watch_entities or watch_all is configured.

FAQ

What is hermes-homeassistant?

hermes-homeassistant is the official Hermes Agent plugin for Home Assistant. It adds a gateway platform for Home Assistant events and a toolset for querying and controlling devices.

How do I install hermes-homeassistant?

Run hermes plugins install homeassistant, then put your Long-Lived Access Token in ~/.hermes/.env as HASS_TOKEN. Existing Home Assistant users do not need to change anything, because hermes update installs and enables the plugin.

What do I need to run hermes-homeassistant?

You need Hermes Agent 0.21.5 or newer and a Home Assistant instance with a Long-Lived Access Token. The plugin's only Python dependency is aiohttp.

Similar official for Hermes Agent

All official

Related guides: What is Hermes Agent? · How to install Hermes Agent