Skip to content

OVOS & Home Assistant

In a nutshell

OVOS and Home Assistant (HA) are two different open-source projects. They can work together in two separate, independent directions: OVOS can lend its speech engines to Home Assistant's own voice pipeline, or a skill on OVOS can control devices inside Home Assistant. You can use either one alone, or both at once. They don't depend on each other. This page explains both directions and links to the details.

There is no single "OVOS + Home Assistant" switch. There are two unrelated integrations, and it's easy to conflate them. Pick the one, or both, that matches what you're trying to do:

Direction What it does Runs where Details
HA uses OVOS's engines Home Assistant's own Assist voice pipeline uses an OVOS wake word, speech-to-text, or text-to-speech plugin instead of (or alongside) its built-in ones A small OVOS-side bridge process, reachable from HA over the network Wyoming Bridges
OVOS controls HA devices Your OVOS assistant understands utterances like "turn on the lights" and relays them to your Home Assistant instance A skill running inside OVOS See below
Full OVOS inside HAOS OVOS Core and its skills run as Home Assistant Supervisor add-ons and answer through Assist Add-ons on the HAOS host, installed from the Add-on Store See below

Direction 1: Home Assistant uses OVOS's speech engines

Home Assistant's own voice assistant feature (Assist) can use external speech components over the Wyoming protocol, the same protocol Rhasspy and other open voice tools speak. OVOS ships three small bridge packages (wyoming-ovos-stt, wyoming-ovos-tts, wyoming-ovos-wakeword) that each expose one installed OVOS plugin as a Wyoming server. This lets Home Assistant point Assist at, say, an OVOS STT plugin without knowing anything about the OVOS plugin system underneath.

This is useful if you already have OVOS plugins configured and tuned, such as a particular STT model or TTS voice, and want Home Assistant's own Assist pipeline to use them. It saves you from running a second, separately configured set of speech engines just for HA.

See Wyoming Bridges for installation, configuration, and the exact HA-side setup (adding a Wyoming integration pointed at the bridge's host and port).

Pick one brain, not both

The two directions correspond to two different architectures. With the Wyoming bridges, Home Assistant is the brain: HA's Assist pipeline runs the wake word and intents, borrowing OVOS's speech engines. With OVOS satellites (HiveMind), OVOS is the brain and controls HA as one of its skills. Do not combine a Wyoming wake-word bridge with a HiveMind mic satellite on the same device — you would run two competing wake-word pipelines. Decide which system owns the conversation first, then follow only that direction's pages.


Direction 2: OVOS controls Home Assistant devices

To have your OVOS assistant turn on lights, adjust a thermostat, or run a scene, you install a skill that talks to your existing Home Assistant instance over its REST/WebSocket API.

The old PHAL plugin is gone

An earlier integration, ovos-PHAL-plugin-homeassistant, has been removed. The current, maintained path is the skill-homeassistant skill (maintained by OscillateLabs) listed below — see Deprecated & Removed Repositories for the retirement note.

Setting it up

You need two things from your Home Assistant instance before installing the skill:

  1. The URL of your Home Assistant instance (e.g. http://homeassistant.local:8123).
  2. A long-lived access token. Generate one from your Home Assistant user profile page (Settings → your profile → Long-Lived Access Tokens → Create Token) and keep it secret. It grants the same access as your account.

With those two in hand, either:

  • Tick the homeassistant feature in the ovos-installer, offered for the ovos/listener profiles on the virtualenv or containers install method. The installer prompts you for the URL and token during setup, or

    RaspOVOS users: this doesn't apply to you

    The homeassistant feature above belongs to the ovos-installer flow, for setups installed via that installer. If you're on a RaspOVOS image (flashed straight to an SD card or USB drive), you never run ovos-installer — install the skill directly with the command below instead.

  • Install the skill yourself afterwards. On RaspOVOS, use ovos-install, which installs with the correct version constraints:

    ovos-install skill-homeassistant
    
    On any other setup, use pip install instead:
    pip install skill-homeassistant
    
    Then configure it with your instance's URL and token (see the skill's own repository for the configuration key names), and restart OVOS to load it. Skill settings live in ~/.config/mycroft/skills/<skill_id>/settings.json, which Skill Settings covers in full.

Example utterances

Actual phrasing and which devices respond depend entirely on how your own devices, areas, and scenes are named inside Home Assistant:

  • "Turn on the living room lights."
  • "Turn off the kitchen lights."
  • "Tell home assistant to set the thermostat to 20 degrees."
  • "Tell home assistant to activate the movie night scene."

Thermostats and scenes have no dedicated intent in the skill: the "tell home assistant to …" phrasing forwards the rest of the sentence to Home Assistant's own Assist conversation API, which handles anything HA itself can parse. Lights, switches, and sensors get dedicated intents with barer phrasing.

See What can I say? — Smart Home for the skill's catalog entry.


Direction 3: Full OVOS inside Home Assistant OS

Community project, not maintained by OpenVoiceOS

haos-ovos-addons and its companion ha-ovos-integration are third-party projects, not part of the OpenVoiceOS org. Install-from-store convenience trades off against depending on someone else's packaging; check the repos' own state before relying on them.

haos-ovos-addons packages the OVOS Wyoming bridges, ovos-core, ovos-persona, skill sets, and debugging tools (ovos-busmon, ovos-tui, ovos-control-panel) as installable HAOS Supervisor add-ons: Settings → Add-ons → Add-on Store → ⋮ → Repositories, add the repo URL, then install add-ons from the store like any other. No manual config files.

For just better STT/TTS/wake word in Assist, the ovos-wyoming-* add-ons alone are enough — they're the same bridges described in Direction 1 above, just packaged for one-click install. For full OVOS skills running through Assist, add ovos-core and ovos-skills, then install ha-ovos-integration via HACS to expose OVOS config and skill settings as HA entities and pick OpenVoiceOS as the Assist conversation agent.



Read next: Wyoming Bridges Related: HiveMind · STT Server · TTS Server · Production Operations