Guide
Hearth Guide: Set Up One Remote for Every TV
Hearth finds the TVs on your Wi-Fi and turns every phone in the house into one fast remote. Here is setup, each brand, every mode and what to do when a TV stops answering.
What it is · Set it up · Each brand · Turning TVs on · The remote · The whole house · When it breaks · Settings · Privacy · FAQ
What Hearth is
Hearth is an open-source universal remote for the smart TVs in your home. It gives every phone, tablet and computer in the house the same controller: power, D-pad, volume, apps, inputs and even a message on screen. No accounts and no cloud: the remote talks straight to the TVs on your home network.
It works with LG webOS (2014 and newer), Samsung Tizen (2016 and newer), Roku players and Roku TVs, Google TV and Android TV, and Apple TV (tvOS 15 and newer). The live demo runs the real app with pretend TVs, so you can press every button first.
Set it up
- Pick a computer that stays on. A Mac mini, an old laptop or a Raspberry Pi on your Wi-Fi works. Install Node.js 20.19 or newer. For "what's playing" on an Apple TV, also install Python 3.10 or newer; without it Apple TVs still get the full remote.
- Run
npm run upin the Hearth folder. It installs what it needs, starts Hearth in the background and prints a link and a QR code. Running it again is safe: it never starts a second copy. - Open the link on your phone. Scan the QR code or type the address it shows (something like
http://your-computer.local:8770). The phone has to be on the same Wi-Fi. - Type the house code once. Being on the Wi-Fi isn't enough to press buttons. A new phone types the 6-digit house code, which you can see with
npm run codeon the computer or under Settings, Phones in this house, on a phone that's already in. A family member can also show you a one-time invite QR code that works for one phone within a day. - Add your TVs. Turn the TV on and tap Set up a TV. Hearth looks for it, walks you through that brand's connect step, and asks which room it's in. New TVs that appear later show up as a "New TV nearby" banner.
A short tour points at each feature the first time; replay it with the ? button.
Connecting each brand
Turning TVs on from your phone
A TV that's switched off isn't on the network, so Hearth wakes it with a Wake-on-LAN signal. Most brands need one setting switched on once, and the setup's last screen names the right one for your model:
- LG: Hearth turns on the TV's "Turn on via Wi-Fi" setting for you after pairing.
- Samsung: Settings, General, Network, Expert Settings, Power On with Mobile.
- Roku: nothing to set; it wakes from standby. A stick powered by the TV's USB port dies with the TV, so give it the wall adapter.
- Apple TV: nothing to set. Waking it also turns the TV on over HDMI.
- Google TV: power needs the unlocked full remote.
Once that's set, any button wakes a sleeping TV: press a key or open an app and Hearth turns the TV on first, then sends the press. If a TV still won't wake, open its settings and tap Turn on from your phone. That coach walks through the plan for your model, tests it live, and can use a Roku or Apple TV on that TV's HDMI to switch it on instead.
Using the remote
The remote changes with what's on the TV. When something is playing it becomes the Watch screen; when you're looking for something it's the D-pad; a web browser gets a trackpad and keyboard; a game gets a gamepad. You can always switch yourself with the Remote, Watch, Trackpad and Gamepad bar.
| Mode | On a phone | On a keyboard |
|---|---|---|
| Remote | Tap a direction or OK. Hold to repeat, faster the longer you hold. Drag across the pad like a trackpad to fly through rows. Hold OK for a long press (a real hold on Samsung, Roku and Apple TV). | Arrows, Enter for OK, Backspace or Esc for back, H home, + - volume, M mute. |
| Watch | Tap anywhere to play or pause. Tap or swipe a side to skip, hold a side to scrub, swipe down to go back. Browse brings back the D-pad. | Same keys as Remote. |
| Trackpad | Slide one finger to move, tap to click, two-finger tap for back, two-finger drag to scroll. Type in the text box to send letters to the TV. | Type straight onto the TV. |
| Gamepad | A sideways controller: A is OK (hold for a long press), B is back, X is play or pause, Y is info, shoulders skip and change volume. | X play, I info, [ ] rewind and forward. |
On a computer, 1 to 4 switch modes and ? lists the shortcuts. Every press buzzes back (iPhone needs iOS 18 or newer), and a long-press on a TV card opens its settings.
Controlling the whole house
- Power: tap the power button to toggle this TV. Hold it, or Hold: all off on the house screen, until the bar fills to turn off every TV.
- Watch on every TV: the house screen has a row of popular apps (YouTube, YouTube TV, Netflix, Prime Video, Disney+, Max, Hulu and more). Hold one to open it on every TV, waking any that are off. Each TV answers with a check or a cross and the reason, such as "not installed".
- Scenes: tap New scene and say what you want in plain words, like "turn on the living room TV and open Netflix" or "mute the kids' TV at 8:30 on school nights". Hearth drafts the steps, Try it now runs them live, and you save it if it's right.
- Pull to refresh: pull down on the house or a remote and every TV re-reads what it's doing. What you see always comes from the TV itself, re-checked right after every press.
When a TV stops answering
Tap Fix connection. It appears on a TV's card after a press fails, on the remote's "Not responding" banner, in the TV's settings and in Health. It checks, in order: is the TV on the network; if not, wake it; still nothing, look for it at a new address (routers sometimes move TVs, and Hearth follows them); reconnect; check it still trusts Hearth; and if it doesn't, take you straight to the right pairing step.
Health (the pulse icon) gives every TV a report card for how quickly it answers, how reliable it is and how well it wakes, plus What your TVs cost: add your power bill and Hearth works out what each TV costs a day, a month and a year, from the hours it was really on and watts estimated from its size and year.
Settings and looks
- Three skins: Aurora, Classic (70s hi-fi) and 8-bit, a pocket game console with a dot-matrix screen that tells you what the TV is doing. Aurora and Classic come in Light (the default), Dark or Auto.
- Sound and buzz can each be turned off. With your phone's Reduce Motion setting on, the old-TV power-on animation is skipped.
Privacy
On your home network, finding TVs and every press stay on the network. Pairing keys live in ~/.hearth/tvs.json on the computer, readable only by your user, and are never sent to a browser. The optional AI help (scene drafting, model guides, reading a power bill) swaps TV and room names for placeholders and strips email addresses, links and long numbers before anything leaves. A PDF power bill is read on your phone; only the price and kWh lines are sent. Your own Hearth never shows ads; only the public demo carries one small banner under it, as described in the ad policy. The iPhone app's data use is in its privacy policy.
FAQ
Why does my TV turn itself off after about 15 minutes?
A timer on the TV is doing it, usually No Signal Power Off or Auto Power Off. Hearth spots the pattern and the remote's banner says Turns itself off after ~15 min; tap it for the setting to change. On a Samsung that's under Eco Solution.
"No TVs answered." Now what?
Make sure the TV is really on and on the same network as the computer running Hearth; guest Wi-Fi keeps devices apart. You can also add a TV by the IP address shown in its network settings. On a Mac, allow Node under Privacy and Security, Local Network.
How do I remove a lost phone?
Open Settings, Phones in this house, and hold the phone's entry: it's cut off at once. You can also pick a new house code there; phones already in stay in.
What happens when I leave home?
The app doesn't show an error. It turns into Light Racer, a light-cycle game, and the remote comes back by itself when you're home again. Swipe to steer, tap a side to turn, hold to boost. The offline copy plays anywhere once it's on your home screen.
Hearth: Universal TV Remote · Support · Privacy policy