Tablo Meets Home Assistant — control your Tablo 4th-gen DVR (cold TV → watching in one tap)
I have a Tablo 4th-generation OTA DVR and wanted real Home Assistant control over it — not just "launch an app," but actually go from a dark, powered-off TV to watching live channel 2.1 with a single tap or voice command. I couldn't find anything that did it, so I built a custom integration. Sharing it in case it's useful to other Tablo + HA folks.
What it does
Logs in with your Tablo account and auto-discovers your device — no IP hunting.
media_playerentity with your whole channel lineup as selectable sources.
Current-channel sensor showing what you last tuned to.
set_channelservice — tune by channel number (2.1) or identifier.
The fun part: point set_channelat a Roku and it powers on the Roku/TV, opens the Tablo app, and deep-links straight to the live channel — all in one call. No multi-step script gymnastics.
Multi-Roku aware: one Tablo, many Rokus — send a different channel to each.
Plays nicely with scripts and voice assistants (Alexa/Google via HA Cloud).
One call, cold TV to watching
action: tablo_remote.set_channel
data:
channel_number: "2.1"
roku_entity_id: media_player.living_room_roku
Drop that in a script, expose the script to Alexa, and "Alexa, turn on Watch News" brings the TV up on the channel. I use it in a "Morning" routine that dims the lights and starts the news.
Install (HACS custom repo)
- HACS → ⋮ → Custom repositories
- Add
https://github.com/dgshue/TabloHARemote, category Integration - Download, restart, then Settings → Devices & Services → Add Integration → Tablo Meets Home Assistant, and enter your Tablo account credentials.
Requirements
- A Tablo 4th-gen device + account, on the same network as HA
- For the Roku power-on / app-launch / deep-link features: the Roku integration installed with your Roku as a
media_player, and the Tablo app installed on that Roku
Notes / honest caveats
- Current-channel state is optimistic (what HA last commanded; resets on restart).
- No re-auth flow yet — if the cloud token expires, remove/re-add the integration.
- Built on the great API spadework in tablo2plex — thanks to that project.
Still early days, so feedback, issues, and PRs are very welcome. If you've got a Tablo gathering dust because it was hard to automate, give it a shot and let me know how it goes. ![]()