> ## Documentation Index
> Fetch the complete documentation index at: https://docs.readout.tv/llms.txt
> Use this file to discover all available pages before exploring further.

# The home agent

> A small program on a computer at home that lets the app switch your TVs and lights.

Readout lives on the internet, but TVs and lights only take commands from inside your home. The
home agent bridges the two: a small program on a computer at home that stays on, on the same Wi-Fi
as the TVs. It connects out to Readout, so there's nothing to set up on your router.

With it, the app can:

* switch a TV to the captions with one tap, or by itself when captioning starts
* be a [remote](https://docs.readout.tv/home/remote.md) for the TVs, a Chromecast, a Roku, an Apple TV or a Google Nest speaker
* run the [TV schedule](https://docs.readout.tv/home/schedule.md): reminders, messages, shows and slideshows
* switch and flash the [lights and plugs](https://docs.readout.tv/home/lights-and-sounds.md)

> [!TIP]
>
> A [Raspberry Pi at the TV](https://docs.readout.tv/home/raspberry-pi.md) runs the home agent too, and is Readout's screen
> for that TV. If you're getting a Pi, you don't need another computer.

## Set it up on a Mac or Linux computer

**1. Copy the command**

In the app, open **TVs and phones** and find **Switch the TV to captions from here**. It shows
a command with your address filled in.

**2. Paste it into Terminal**

On the computer that stays on, open Terminal and paste the command. It needs Node.js 22.9 or
later ([nodejs.org](https://nodejs.org)); on a Raspberry Pi, it fetches Node.js itself.

**3. Scan the QR code**

It looks for TVs, then shows a QR code. Scan it with the phone or tablet you caption with, or
type the code under it into the app.

**4. Allow it on the local network**

On a Mac, if it asks whether "node" may find devices on your local network, choose **Allow**.
A firewall such as Little Snitch asks too: allow it, **Forever**.

It keeps running in the background, starts again by itself after a restart, and updates itself.

## On an Android phone

For a home with no computer that stays on, Readout's Android app can run the agent on a phone that
stays at home: **Menu → Home agents → This phone → Use as the home agent**.

## After it's running

**TVs and phones** lists the TVs the agent found. Tap **Show captions** on one. Its gear opens its
settings: how it shows captions (its web browser, or the input where a streaming stick or computer
shows them), and **Switch when captioning starts**.

* The agent looks for TVs every minute. To look now, just after turning a TV on, say, tap
  **Look for TVs**.
* To leave out a TV you don't use (a neighbor's, say), tap **Edit** above the TVs, then **Hide**.
* The agent belongs to the account, so every phone and computer signed in to it can use it.

## Moving it to another account

A paired agent shows no code, so nobody can take it by typing one. Forget it under
**Menu → Home agents** first, then run the same command again.

To remove it from a computer, run the same command with `-s uninstall` on the end:
`... | sh -s uninstall`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.