This is an early release preview. You may encounter bugs.
Hermes for Home Assistant logo
Unclaimed

Tool voice connectors

Hermes for Home Assistant

Bundle connecting Hermes Agent to Home Assistant with a custom integration, service-call tools, and an optional wake-word/STT/TTS voice loop

B 72/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What Hermes for Home Assistant is.

Hermes for Home Assistant connects the Hermes agent to Home Assistant so the agent can answer questions about the home, call Home Assistant services, and optionally run a wake-word, speech-to-text, LLM, text-to-speech voice loop. It bundles three pieces: a Home Assistant custom integration (customcomponents/hermes/), a Hermes plugin for Home Assistant tools (plugins/homeassistant/), and a Hermes voice-stack plugin (plugins/voice_stack/).

Hermes talks to Home Assistant through its REST and WebSocket APIs using a long-lived access token. In the other direction, the voice_stack plugin starts a WebSocket receiver at ws:// :7860/api/hermes/ws, which the custom integration uses to register Hermes as an Assist conversation agent, bridge voice lifecycle events, and expose Hermes health as status sensors. The integration installs via HACS as a custom repository or by manual copy; the plugins install from a Python wheel or by copying into ~/.hermes/hermes-agent/plugins. A Home Assistant Supervisor add-on is an early scaffold.

The stack can be fully local when you pick local engines and a local model. Edge TTS is network-backed (Piper is the offline option), Porcupine wake-word detection needs a Picovoice access key (OpenWakeWord is the open-source option), and Hermes can use local or remote model providers. This bundle runs alongside Hermes' bundled Home Assistant integration: the bundled one lets Hermes operate Home Assistant as a tool provider, while this project lets Home Assistant use Hermes as a voice and chat brain.

Hermes tool Purpose
hasearchentities Search entities by name, domain, area metadata, or ID
hagetstate Fetch state and attributes for one entity
hacallservice Call a service with safety checks
hagetoverview Build a compact overview of the home
habulkcontrol Run multiple service calls and summarise results
voiceenable / voicedisable Toggle continuous wake-word listening
voicespeak / voicelisten Speak text through TTS, or record and transcribe once

Features

  • Home Assistant tools: entity search, state lookup, service calls, bulk control, scene and script discovery, and home context
  • Safety controls: blocked service domains, an optional allow-list, and JSON-line audit logging
  • Assist conversation agent: registers Hermes on the Home Assistant conversation platform
  • Status sensors: exposes Hermes health inside Home Assistant
  • Voice stack: configurable wake-word, speech-to-text, and text-to-speech engines with pipeline helpers
  • Lovelace action bar: a small dashboard card (custom:hermes-action-bar)
  • WebSocket bridge: documented protocol for HA-originated voice lifecycle events, with optional token auth
  • Install surfaces: HACS custom repository, manual copy, Python wheel, and an add-on scaffold

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Hermes for Home Assistant.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Hermes for Home Assistant →

Browse the catalogue