# Link Home Assistant

> Let your Thalovant devices control your home through Home Assistant, from the Thalovant integration in HACS, with nothing to open on your network.

Source: https://docs.thalovant.com/manage/home-assistant/

---
Say "turn off the kitchen light" to any Thalovant device, at home or away, and
Home Assistant does it. The link runs from Home Assistant to your hub, so you
set it up from Home Assistant, not from the Thalovant dashboard.

## How a Request Reaches Your Home

When one of your devices hears something meant for the home, your hub passes
the sentence to your Home Assistant. Assist, Home Assistant's own voice
assistant, works out what you meant and acts on it. Its answer comes back to
the hub, and the device that asked says it out loud.

Everything else you ask, the weather or a timer, still goes to the hub's usual
skills. Only home requests take the detour.

## What You Need

You need Home Assistant 2026.9 or later with [HACS](https://hacs.xyz)
installed, and a Thalovant account. You also need a hub that can link Home
Assistant — your own hubs and public hubs such as Daily Desk both can.

On the Free plan you link to a public hub; [more on that below](#on-the-free-plan).

## Install the Integration

The integration isn't in HACS's default list yet, so you add it as a custom
repository first. It takes a minute.

1. **Open HACS** in Home Assistant.
2. **Add the repository.** Open the menu (three dots, top right), choose
   **Custom repositories**, paste `https://github.com/thalovant/ha-thalovant`,
   pick the type **Integration**, and select **Add**.
3. **Download it.** Search HACS for **Thalovant**, open it, and select
   **Download**.
4. **Restart Home Assistant.** The integration loads on the next start.

If your Home Assistant is set up for My Home Assistant links, [open the
Thalovant repository in HACS](https://my.home-assistant.io/redirect/hacs_repository/?owner=thalovant&repository=ha-thalovant&category=integration)
does steps 1 and 2 for you.

## Link Your Hub

1. **Add the integration.** Go to **Settings** > **Devices & services**,
   select **Add integration**, and choose **Thalovant**.
2. **Get a code.** Select **Submit**. Home Assistant shows a link and an
   eight-character code.
3. **Approve the sign-in.** Open the link and sign in to Thalovant. The page
   names the request **Home Assistant** and marks it as a Thalovant-registered
   app. Check the code matches, then select **Approve access**.
4. **Pick the hub.** Back in Home Assistant, the dialog has moved on by itself.
   Hubs that can link come first; any that can't are shown with the reason.
5. **Wait for the hub.** A new link takes about a minute and a half to be let
   in. Home Assistant adds the integration once it's ready.

You'll know it worked when the integration's **Hub connection** sensor is on,
and your hub's Connections page lists the link with the type **Home
Assistant**. Ask any of your devices to turn something on to try it.

Each hub is its own link. To reach your home from a second hub, add the
integration again and pick that hub.

## What Your Voice Can Reach

Only what you've exposed to Assist. Home Assistant decides that under
**Settings** > **Voice assistants** > **Expose**, and the same list applies to
requests from Thalovant. If a device isn't there, Thalovant can't touch it.
Home Assistant's guide to [exposing devices to
Assist](https://www.home-assistant.io/voice_control/voice_remote_expose_devices/)
covers names and aliases, which matter here as much as in Home Assistant's own
voice dialog.

The hub sends the sentences that sound like home control:

- turning lights, plugs and fans on or off, and dimming lights;
- opening and closing blinds, shades, gates and the garage;
- locking and unlocking doors;
- setting the thermostat, and running a scene;
- asking whether a door is locked or the garage is open.

English and French work today. Home Assistant answers in the language the
device spoke.

Assist's built-in agent answers by default. To use another conversation agent
you've installed, open the integration and select **Configure**. A slower
agent still has to answer within ten seconds, or the device says Home
Assistant took too long.

## Tell It Which Room Once

Say "turn off the lights" with no room, and Assist picks the lights in the
room of the device that heard you, the way it does for one of Home Assistant's
own voice satellites. For that, Home Assistant has to know where each
Thalovant device lives.

Every Thalovant device that speaks through the link gets a device of its own in
Home Assistant, under the hub's, the first time it asks for something. Give it
an area:

1. **Ask the device something once**, so it shows up.
2. **Open it.** Go to **Settings** > **Devices & services** > **Thalovant**,
   and open the device listed under your hub.
3. **Set its area**, the room the device is in.

The device takes the name you gave it in Thalovant. Rename it in Home
Assistant and your name is kept. A device with no area behaves as before:
Assist has no room to go on, so name the room in the sentence.

This needs version 0.2.0 of the integration or later. HACS offers the update
if you installed an older one.

## When Home Assistant Asks Back

Sometimes Assist needs more before it acts. Say "turn on the light" in a room
with two, and it asks "Which light?". The device keeps listening after the
question, so answer as you would a person, "the desk lamp", with no wake word.
Your answer goes back to Home Assistant as part of the same exchange, and it
finishes the job.

If you say nothing, the question is forgotten after a couple of minutes, and
the next thing you ask starts fresh.

## Who Can Reach Your Home

Only devices signed in to your own Thalovant account, on the hub you linked.
The hub looks up who owns the device that spoke, and sends the request to that
account's Home Assistant and no one else's. The name a device gives itself
plays no part in it.

That holds on public hubs too. Anyone can talk to Daily Desk, and none of
their devices can reach your Home Assistant.

## What Stays in Your Home

Home Assistant opens the link itself, the way a Thalovant speaker connects to
its hub. There's no port to forward, no Nabu Casa needed, and no Home Assistant
token ever leaves your home.

What does travel: the sentence the device heard and its language, from the hub
to Home Assistant, and Assist's spoken answer back. Home Assistant never sends
a sentence of its own into the hub, and your list of entities stays at home.

Home Assistant keeps two things from the setup. One is the connection's keys.
The other is a Thalovant sign-in limited to listing your hubs and managing its
own link, which you can see and revoke under
[API tokens](/account/api-tokens/). The integration's diagnostics leave out
tokens, keys, and anything that was said.

## On the Free Plan

A Free account links Home Assistant to public hubs, such as Daily Desk. The
link doesn't use your one connection, so your phone or speaker keeps its place,
and signing in from Home Assistant doesn't use your API token either.

There's one link per hub for each account. See [what Free allows](/start/free-tier/)
for the rest of the plan.

## When a Request Doesn't Work

The device tells you what went wrong in a sentence. These are the ones you
might hear.

**"Your Home Assistant isn't linked yet"** or **"I'm not connected to your
home yet."** This hub has no Home Assistant link for the account the device is
signed in to. Link it from Home Assistant, and
check that the device and Home Assistant use the same Thalovant account.

**"I can't reach your Home Assistant right now."** The link exists but Home
Assistant isn't on the other end. Check that Home Assistant is running and that
its **Hub connection** sensor is on. The link comes back by itself after a
restart or a network drop, so a minute later the same request usually works.

**"Home Assistant didn't understand that" or "couldn't find that device."**
Try the same sentence in Assist inside Home Assistant. If it fails there too,
the device isn't exposed to Assist, or you said a different name than the one
it has.

**"Home Assistant took too long to answer."** The conversation agent needed
more than the ten seconds the hub waits. A large language model agent is the
usual cause.

**"Home control isn't available on this hub right now."** This hub can't pass
requests to Home Assistant at the moment. Nothing on your side will fix it.

## Messages in Home Assistant

**"Your Thalovant plan links Home Assistant to public hubs only."** Pick a
public hub such as Daily Desk, or upgrade to link your own.

**"Another Home Assistant is already linked to this hub."** Your account has a
link on this hub already. Remove it from Connections, then link again.

**The code expired, or the sign-in was declined.** Select **Submit** for a new
code.

**Home Assistant asks you to sign in again.** The hub stopped accepting the
link, usually because it was removed from Connections. Follow the notification.
Home Assistant makes a new link and only asks for a new sign-in when the old one
no longer works.

### After a Hub Key Change

Every hub has a security key, and Home Assistant remembers the one it saw when
you linked. If the hub answers with a different key, Home Assistant stops
talking to it and raises a repair: "answered with a different security key".

That's expected after a hub is replaced or reset. In that case open
**Settings** > **Devices & services** > **Thalovant** and follow the request to
re-authenticate. Re-linking trusts the key the hub has now.

If you didn't expect a change, look at the hub on your Thalovant dashboard
before you re-link.

  Don't paste the sign-in code, your connection's keys, or Home Assistant
  diagnostics with tokens into a public support thread.

## Unlink Home Assistant

Delete the integration's entry under **Settings** > **Devices & services** >
**Thalovant**. That removes the link from the hub. The Thalovant sign-in is
shared by this account's Home Assistant entries, so it is revoked only when
you remove the last one. If Thalovant can't be reached at that moment, remove
the link from Connections, where it's listed as Home Assistant, and revoke
the sign-in under [API tokens](/account/api-tokens/) if it is no longer needed.

Removing it from Connections first works too. Home Assistant then asks you to
sign in again, and you can delete the entry there.
