Driver Type
Categories
- Recent Updates
- Access Control
- Amplifier
- A/V Receiver
- Climate and Pool Control
- Disc Player / Changer
- Display
- DSP
- DVR
- Irrigation / Sprinklers
- Lighting Control
- Matrix Switch
- Media Server and Player
- Multi-Room A/V
- Networking
- Power and Rack Management
- Security
- Surveillance
- Teleconferencing
- Training
- Tuner
- Utility
- Video Projector
Driver Type
Categories
- Recent Updates
- Access Control
- Amplifier
- A/V Receiver
- Climate and Pool Control
- Disc Player / Changer
- Display
- DSP
- DVR
- Irrigation / Sprinklers
- Lighting Control
- Matrix Switch
- Media Server and Player
- Multi-Room A/V
- Networking
- Power and Rack Management
- Security
- Surveillance
- Teleconferencing
- Training
- Tuner
- Utility
- Video Projector
Android TV Control
By: David Bowdler
Updated: Aug. 7, 2026
Version: 2.03
Android TV Control
Local two-way control of any Android TV, Google TV or Fire TV device over the network, built around a zero-lag key injector that makes the remote feel instant. Works over the device’s built-in ADB-over-TCP network debugging interface — streamers, dongles, boxes and TVs are all supported. Local network only — no cloud account, and nothing permanently installed on the device.
Key Features
- Zero-Lag Navigation: a tiny 3.6 KB on-device key injector runs from temporary storage and responds in about 5 milliseconds, versus roughly 750 ms for a standard shell key command. Nothing is permanently installed — the helper is removed on reboot and re-established automatically on every connection, with automatic fallback to standard key commands if it can’t start.
- Works On Any Android TV Device: verified across Android 11 through 14 — Google TV Streamer, Chromecast with Google TV, NVIDIA Shield, Fire TV, Sony / TCL / Hisense Android TVs, generic Android TV boxes and dongles.
- Full Navigation & Transport: Up/Down/Left/Right/Select/Back/Home/Menu plus Play/Pause/Stop/Next/Previous/Rewind/Fast Forward.
- App Launcher with Icons: browse the installed-app list with real icons and launch directly from a list widget.
- Now Playing Metadata: title, artist, album, episode, playback state, elapsed and duration where the running app publishes them.
- Volume with Feedback: up/down/mute/set level, with live level reported back.
- Cast Text-to-Speech Announcements: push spoken announcements to the device over the network.
- Wake-on-LAN, Deep-Link & Closed Captions: wake the device from network standby, launch a specific app or URL, and toggle captions.
- Browser Web Object Dashboard: a built-in control page for touch panels that can render web content.
Requirements
- An Android TV / Google TV / Fire TV device with Network debugging (ADB over TCP, port 5555) enabled under Developer options.
- RTI XP processor (runtime 24+).
- Device and processor on the same local network, with the device given a fixed IP address or DHCP reservation.
- One-time on-device authorization prompt accepted the first time the driver connects (standard Android ADB pairing — no app install).
How It Works
The integrator enables Network debugging on the device once and enters its IP address in Driver Properties. On first connection the device shows a standard Android authorization prompt to approve the processor — after that, the driver connects automatically on every subsequent power-up. Once connected, it copies a tiny key-injection helper into temporary storage to give navigation buttons near-instant response, while separately polling the device over the same ADB-over-TCP link for app list, playback metadata and volume. Everything runs locally between the processor and the device — no cloud account and nothing left installed.
Android TV Control Driver v2.03
Smart Home Programming
Overview
Local two-way control of Google TV, Android TV and Fire TV devices over the network using ADB-over-TCP. Full navigation and transport, app discovery and launch with icons, volume with feedback, Now Playing metadata, Cast text-to-speech announcements and a browser Web Object dashboard. No cloud account, and nothing installed on the device.
Zero-Lag Input (new in v1.60)
Navigation uses a tiny (3.6 KB) on-device key injector that the driver copies to a temporary folder and runs on demand. Key presses are injected in about 5 milliseconds instead of the ~750 ms of a normal shell key command on Android 11, so the remote feels instant. The helper is not an installed app - it lives in temporary storage, is removed on reboot, and the driver re-establishes it automatically on every connection. If it ever cannot start, the driver falls back to standard key commands and keeps working. This can be turned off with the "Zero-Lag Fast Input" setting.
Setup
1. On the device: Settings > System > About > tap Build (or Android TV OS build) seven times to enable Developer options.
2. Settings > System > Developer options > enable Network debugging / USB debugging (ADB over network, TCP port 5555).
3. Give the device a fixed IP address or a DHCP reservation.
4. In Integration Designer, add the driver and enter the device's IP in Device IP Address. Leave ADB Port at 5555.
5. Download the project to the processor. The first time it connects, the device shows an authorization prompt - select "Always allow from this computer" and OK.
6. Confirm Connection Status shows Connected and Authorised.
Features
- Navigation: Up / Down / Left / Right / Select / Back / Home / Menu.
- Transport: Play / Pause / Play-Pause / Stop / Next / Previous / Rewind / Fast Forward.
- Volume: Up / Down / Mute / Set Level, with feedback.
- Apps: browse the installed-apps list, launch by selection, with app icons. Bind Installed Apps to a list widget and Select Item as the row action.
- Now Playing: title, subtitle, artist, album, state, elapsed, duration and progress where the app publishes them.
- Power / wake, closed captions toggle, Wake-on-LAN, deep-link, and a browser Web Object dashboard.
Web Object Dashboard
The driver publishes a browser dashboard - d-pad, transport, volume, app launcher with icons and Now Playing - that you point an RTI Web Object at.
1. Tick "Enable Web Object UI" in Driver Properties (on by default).
2. Set the Web Object URL to: https://shpdrivers.services/googletv/?mac=ENDPOINT_ID
3. ENDPOINT_ID is the processor MAC address with the colons removed, in upper case, then an underscore, then the controlled device's IP address.
Example: processor 00:15:26:0F:13:59 controlling a device at 192.168.3.201 gives
https://shpdrivers.services/googletv/?mac=0015260F1359_192.168.3.201
The device IP is part of the ID by design. Every driver instance on one processor reports the same processor MAC, so without the IP suffix two devices on the same processor would overwrite each other's Now Playing and app list.
You do not have to build the URL by hand. The driver prints the exact ID and the finished URL at startup - watch TraceView, or the telnet debug console, for these two lines:
Web UI: Endpoint ID 0015260F1359_192.168.3.201
Web UI: URL for integrator: https://shpdrivers.services/googletv/?mac=0015260F1359_192.168.3.201
Copy that URL straight into the Web Object.
Optional: add &transport=ws to the end of the URL to use the WebSocket connection, which updates the page instantly instead of polling every 2.5 seconds. It falls back to polling automatically if the WebSocket cannot be established.
Key Settings
- Device IP Address: the device's IP.
- ADB Port: 5555 (default).
- Zero-Lag Fast Input: on by default; disable only if key presses misbehave on an unusual device.
- Enable Web Object UI: on by default; publishes the browser dashboard described above.
- Debug Port: telnet diagnostics port (default 12509; 0 to disable).
Licensing
The driver runs fully for a 120-minute trial after each start. Enter a licence key (tied to the processor MAC shown in the driver variables) in the Licence Key setting for permanent use. Feedback and status remain available after the trial; only control commands are gated.
Troubleshooting
- Not authorised: accept the prompt on the device. If none appears, revoke debugging authorizations on the device (Developer options) and reconnect.
- Cannot connect: confirm Network debugging is enabled and the processor and device can reach each other on the network. The driver retries on its own indefinitely, backing off 5s, 10s, 15s and so on up to 60s between attempts, so it recovers by itself after a device reboot, power blip or DHCP change - no need to press Connect.
- Slow navigation: check that Fast Input shows Ready in the debug console; if not, confirm the device allows the temporary helper to run.
- Web Object blank, or stuck with no data: the mac in the URL must include the underscore plus device IP suffix. A bare MAC address only matches installs where Device IP Address was never set. Re-copy the URL from the "Web UI: URL for integrator" line in TraceView.
- Web Object shows the wrong room: with more than one instance on a processor, each has its own device IP suffix - check the suffix in each Web Object's URL.
Support
Smart Home Programming - https://smarthomeprogramming.com.au
This driver requires a licence key tied to your RTI processor's MAC address.
- Trial: 120-minute fully functional trial — no key required
- Purchase: Visit https://smarthomeprogramming.com.au/store/ to buy a licence (AUD $89)
- Licence is per-processor — one key per XP processor