Hi all,
I’ve been building a SmartThings Edge driver that controls any Google TV / Android TV device — not tied to a single brand. It talks directly to the same Android TV Remote Service protocol (v2, TLS-based pairing on port 6467, remote control on port 6466) that the official Google Home / Google TV app itself uses, so it should work on any genuine Android TV OS / Google TV device: Sony, TCL, Hisense, the Google TV Streamer, NVIDIA Shield, etc.
Built and tested primarily on a TCL Google TV so far — looking for testers on other brands/models to help shake out any device-specific quirks before I call it stable.
Features
- Power: on via Wake-on-LAN (if the TV’s MAC address is set and WoL is enabled on the TV), off via the standard power key
- Volume up/down/mute, plus an approximate
setVolume - Media playback: play/pause/stop/rewind/fast-forward
- Channel up/down
- Full Home/Back/Menu/Settings/D-pad/numeric-keypad navigation via the standard
keypadInputcapability — this gets the app’s native circular D-pad UI, not a generic button list - App launching: launch any app via the standard
mediaPresetscapability — includes a curated list of common apps (YouTube, Netflix, Disney+, Spotify, etc.) plus fully custom entries you add yourself (Settings → Custom apps), by package name — found directly on the TV underSettings → Apps → (the app), no computer needed - A built-in diagnostic: tap the refresh icon on the device to get a connectivity/TLS report logged for troubleshooting
Setup
- Join my channel: SmartThings. Add a little smartness to your things.
- In the SmartThings app: Add device → Scan for nearby devices — creates an empty “Google TV” placeholder device
- Open the device’s Settings and enter the TV’s IP address (a static/reserved IP is strongly recommended)
- A 6-character code will appear on the TV screen — enter it in the device’s Settings under “Pairing code”
- Done
Known issue #1
The Media Track Control (next/previous track) buttons on the device’s control page don’t respond to taps — confirmed this is an app-side rendering bug, not a driver issue: the exact same commands work correctly when triggered via a Routine instead of the direct UI button. Reported to SmartThings support; using a Routine is a solid workaround in the meantime.
Known issue #2 — App launching may fail after a Google Play Store update
Some testers have hit app launches failing (screen briefly flashes black, then bounces back to Home) after a Google Play Store update on the TV. Confirmed via ADB logcat: the market://launch request gets intercepted by Play Store’s “Instant Launcher” component (InstantLauncherActivity, meant for “try without installing” previews, not normal installed apps) — the launch task opens for a split second, then closes without ever handing off to the real app.
Workaround confirmed working: on the TV, go to Settings → Apps → Google Play Store → Uninstall updates. This reverts Play Store to its older (47.2.17-31 on the tested device — yours may differ), factory-bundled version, and launches work correctly again immediately. Note Play Store auto-updates itself in the background, so this may need repeating if the issue resurfaces later. This has been reported to TCL with full log evidence; will update here if I hear back.**
If something doesn’t work for you**
There’s also a standalone Python script (no SmartThings/hub needed) that checks whether a given device actually speaks this protocol before you even try pairing — useful for ruling out non-certified “Android TV-styled” boxes that don’t run genuine Android TV OS. Happy to share it if useful.
If you hit an issue, the driver logs a detailed step-by-step trace during pairing (smartthings edge:drivers:logcat) — a copy of that log is the fastest way for me to help debug.
Would love feedback from anyone running this on a non-TCL Google TV, especially Sony (I also maintain a Sony-specific driver separately, but curious how this generic one compares) or Hisense.
Thanks!


