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
TCL TV Control
By: David Bowdler
Updated: May 3, 2026
Version: 1.88
Full control of TCL Android TVs from your RTI system over ADB. Includes a built-in browser-based remote control UI with now-playing artwork, app launcher, transport controls, and Australian free-to-air channel branding — embeddable in any RTI panel page or open from any phone, tablet, or browser on the local network.
The driver communicates with the TV over your local network using ADB. No cloud account required for control.
What's New
- Built-in Web Object remote control UI — now-playing artwork, app launcher, transport controls, embeddable in any RTI panel page
- Australian free-to-air channel icons & now-playing info — ABC, SBS, Seven, Nine, Ten, plus their multichannels
- Zero-lag keypresses via persistent shell tunnel — no per-key ADB overhead
- Auto info-bar suppression — stops the TV's periodic info banner from interrupting playback
- Wake-on-LAN support for powering up the TV from cold
- Scene triggers fired by app open/close events
Web Object UI — Built-In Remote
The driver hosts a complete browser-based remote control UI that runs inside an RTI Web Object on your touchpanel. Each TCL TV instance gets its own URL.
- Now Playing: currently playing app, title, artwork, and Australian FTA channel branding when on Live TV
- App Launcher: grid of installed apps with icons — tap to launch
- Transport Controls: play, pause, stop, next, previous, seek forward/backward
- D-Pad Navigation: Up, Down, Left, Right, Select, Back, Home, Menu
- Volume: slider with mute toggle
- Power: on/off button with Wake-on-LAN
- Settings panel: accent colour, background, shadow-box depth, customisable per device
Australian Free-to-Air Support
When the TV is tuned to Live TV on an Australian network, the Web Object UI displays branded channel icons and now-playing show info for:
- ABC, ABC Kids, ABC Family, ABC Entertains, ABC News
- SBS, SBS Viceland, SBS Food, SBS World Movies, NITV
- Seven, 7TWO, 7mate, 7flix, 7Bravo
- Nine, 9Gem, 9Go!, 9Life, 9Rush
- Ten, 10 Bold, 10 Peach, 10 Shake, Nickelodeon
This is a unique feature for the Australian market — viewers see the channel logo and current programme on their RTI panel, not just a generic "TV" placeholder.
Features
- Built-in Web Object remote control UI hosted on the RTI processor
- Australian FTA channel icons and now-playing info
- Zero-lag keypresses via persistent shell tunnel
- Full navigation, media, and volume control
- Power control with Wake-on-LAN
- Browse and launch installed apps from RTI panel or Web Object
- Auto info-bar suppression for uninterrupted viewing
- Scene triggers with app open/close events
- Now-playing metadata feedback (title, artist, artwork)
- ADB protocol over TCP/IP — no cloud dependency
- Telnet debug console for live troubleshooting
Control Functions
- Power On / Off / Toggle (with Wake-on-LAN)
- Navigation: Up, Down, Left, Right, Select, Back, Home, Menu
- Media: Play, Pause, Stop, Play/Pause Toggle, Next, Previous
- Seek: Forward, Backward (configurable interval)
- Volume: Up, Down, Set, Mute Toggle
- App: Launch by package name, Launch by index from list
- Channel: Up, Down, direct channel select
- Scenes: Trigger via app open/close events
Compatible Devices
- TCL Android TVs running Android TV 9 or later
- TCL Google TVs (BeyondTV2 series tested)
- Compatible with most Android TV-based TCL models from 2020 onwards
- Any TCL TV with ADB over TCP/IP enabled
Requirements
- RTI XP-8 processor
- Integration Designer 11.4 or later
- TCL Android TV with ADB debugging enabled
- TV and RTI processor on the same local network
- Free 2-hour trial mode — no licence key required for testing
TCL TV Control Driver v1.88
Smart Home Programming
Overview
This driver controls TCL Android TVs over ADB via TCP/IP. Full two-way feedback including Live TV channel name, EPG (current + next program, description, rating, end-time countdown), HDMI-connected-device state via CEC, input-source tracking, and app launch/state detection.
Web Object UI
The driver includes a rich Web Object UI for RTI touchpanels – D-pad, transport, app launcher, Live TV info (channel name, program title, rating, time left), and HDMI source switching with highlight of the active input.
URL format:
https://shpdrivers.services/tcltv/?mac=<PROCESSOR_MAC>_<DEVICE_IP>&transport=ws
Where:
<PROCESSOR_MAC> – 12-char processor MAC, no colons (e.g. 0015260AEC70). Find it in Integration Designer under the processor's properties, or on the sticker underneath.
<DEVICE_IP> – the IP of the TCL TV (same value you entered in the driver's "Device IP" setting).
Example:
https://shpdrivers.services/tcltv/?mac=0015260AEC70_192.168.1.79&transport=ws
Multiple drivers on one processor:
Each driver instance gets its own URL using that instance's device IP, so each Web Object tracks a different TV.
Driver 1 (TV at .65): https://shpdrivers.services/tcltv/?mac=0015260AEC70_192.168.1.65&transport=ws
Driver 2 (TV at .66): https://shpdrivers.services/tcltv/?mac=0015260AEC70_192.168.1.66&transport=ws
System Variables
Every piece of feedback is exposed as a System Variable in Integration Designer – bind them to labels, use them in macro conditions, etc.
Device:
Connected – boolean connection state
CurrentInput – "HDMI 1", "HDMI 2", "Tuner", "Composite", "Component"
DeviceName, AndroidVersion, DeviceMAC
Tuner / Live TV:
ChannelName – current channel as scanned by the TV ("SBS VICELAND HD", "Channel 9 Brisbane", etc.)
ChannelSID, ChannelTSID, ChannelOnID – DVB service identifiers
EPG (current and next program):
EpgNowTitle – program title now playing
EpgNowDesc – broadcaster synopsis (when supplied)
EpgNowStart, EpgNowEnd – UTC ms timestamps (for countdowns)
EpgNowRating – G, PG, M, MA15+, AV15+, R18+
EpgNextTitle, EpgNextDesc, EpgNextStart
HDMI CEC (per port 1-4):
Hdmi1DeviceName – "Apple TV", "Sonos Beam", etc. (populated when a CEC-capable device is plugged in)
Hdmi1DevicePower – boolean, true when the connected device is on
Events (macro triggers):
CONNECTED, DISCONNECTED, AUTH_REQUIRED
INPUT_CHANGED, CHANNEL_CHANGED, EPG_UPDATED
HDMI1_DEVICE_ON, HDMI1_DEVICE_OFF, HDMI1_DEVICE_ATTACHED, HDMI1_DEVICE_DETACHED (× 4 ports)
SCREEN_ON, SCREEN_OFF, APP_CHANGED
Setup
Step 1: Enable ADB over network on the TV
Settings > System > About > "Android TV OS build" (tap 7 times to enable Developer Mode)
Settings > System > Developer options
Enable "USB debugging" – or if the option is named "Network debugging", enable that
Step 2: Find the TV's IP address
Settings > Network & Internet > select your connection
Static IP reservation on your router is recommended so it doesn't change
Step 3: Configure the driver
Enter the TV's IP address in the "Device IP" setting
Leave ADB Port at 5555 (default)
Step 4: Authorise the connection
On first connect the TV will show "Allow USB debugging from this computer?" – tick "Always allow" and hit OK
The driver handles re-authorisation automatically if the TV ever loses the key
Live TV Channel Names
The driver auto-scrapes channel names directly from the TV's internal scan database on every channel change – no mapping needed for most cases.
Optional "SID to Channel Name Mapping" config field lets you override names if you want cleaner labels (e.g. "9 Brisbane" instead of "Channel 9 Brisbane"). Format: SID=Name separated by semicolons or newlines.
EPG data (program title, description, rating, times) is loaded automatically after each channel change by briefly triggering the TV's built-in info bar. Current + next program are exposed as sysvars and fire an EPG_UPDATED event.
TV-model differences for EPG:
Newer TCL sets (e.g. BeyondTV2, Android 11+) log a full programme schedule via the EpgDataModel.transformEpgInfo tag. The driver scrapes this and populates BOTH the current programme (EpgNowTitle etc.) and the upcoming programme (EpgNextTitle etc.).
Older sets (e.g. TCL BeyondTV, Android 9) only emit the currently-displayed programme via the com.tcl.infoBar.BigInfoBarFocus tag – one programme per INFO press. On these TVs the driver populates EpgNowTitle / EpgNowStart / EpgNowEnd / EpgNowDesc / EpgNowRating but the EpgNext* sysvars stay empty. There is no way to retrieve the next programme on these older models.
Wake-from-Sleep Limitation (Older Firmware)
2020-era TCL firmware (model codename BeyondTV, Android 9, build AP04): this generation of TCL Android TV genuinely cannot be woken over IP once it has entered standby. The entire SoC suspends – ADB (port 5555), the Cast receiver (port 8009), the DIAL listener (port 8008), and even ICMP ping all stop responding within roughly 30 seconds of KEYCODE_SLEEP. Tested and confirmed not working on this firmware:
KEYCODE_WAKEUP, KEYCODE_POWER via ADB
Wake-on-LAN magic packets (the WoL setting does not exist in this firmware)
Cast Channel CONNECT + LAUNCH on port 8009
DIAL HTTP launch on port 8008
Fresh ADB CNXN handshake (TCP connects, handshake never completes)
Only the IR receiver and the HDMI-CEC chip remain alive in standby. The working wake paths on these older sets are:
Physical IR remote
HDMI-CEC PowerOn from a connected source (Apple TV, Chromecast, Fire Stick, or any AVR with CEC pass-through) – the source's power-on signal reaches the TV through the HDMI port's CEC chip, which stays awake even in deep standby
An IR blaster wired to the RTI processor pointed at the TV's IR receiver
Recommended workaround on these TVs:
In Activity Selected macros, send the power-on to a CEC-capable source's driver first (e.g. Apple TV, Chromecast, or your AVR if the TV is on its HDMI ARC); the source CEC-wakes the TV. The TCL driver reconnects automatically once the TV is up.
Optionally enable the Keep Device Awake config setting and avoid sending Power \ Sleep on Room OFF. The TV stays on, never enters the unwakeable deep state, and CEC handles the wake on the rare occasions it does sleep.
Power \ Sleep itself works correctly – it is only the wake direction that fails on this firmware.
Newer TCL Google TVs (Android 11+, codename BeyondTV2 and later) implement the standard Android "Network Standby" feature and do not have this limitation – all IP wake paths work as expected.
HDMI Input Switching
The driver discovers the TV's HDMI / Tuner / AV input IDs at connect time via the Android TvInputManager, then switches inputs using the native content://android.media.tv/passthrough intent – reliable on TCL where the standard HDMI keycodes don't work.
Available inputs: HDMI 1, HDMI 2, HDMI 3, HDMI 4, Tuner, AV / Composite, Component, plus the source picker overlay. The driver only maps inputs the TV actually exposes – on smaller models (e.g. 3-port sets) the missing port is silently skipped.
HDMI CEC device names: the per-port Hdmi1DeviceName / Hdmi2DeviceName etc. sysvars require HDMI CEC to be enabled on the TV (Settings > Display & Sound > HDMI control / "T-Link" / "Bravia Sync"). When CEC is disabled the sysvars stay empty even with devices plugged in. Same applies to Hdmi*DevicePower feedback and the HDMI*_DEVICE_* events.
Volume
Volume control uses the TV's internal speakers by default. If you have a soundbar over HDMI ARC, enable CEC volume control in TV settings (Display & Sound > HDMI) and the remote keys will route through the ARC device.
Debug Console
Connect via telnet to port 12515 on the RTI processor for live debugging:
telnet <processor-ip> 12515
Useful commands: status, shell <cmd>, key <code>, apps, media, vol, launch <pkg>, reboot, help for the full list.
Troubleshooting
"Auth Required" event fires repeatedly – look at the TV screen for the "Allow USB debugging?" prompt and accept it with "Always allow".
Cannot connect – verify ADB debugging is enabled on the TV, IP address is correct, and port 5555 is open (a static IP reservation on your router helps).
Apps list is empty – the driver needs a few seconds after connecting to fetch apps. Tapping the Apps tab in the Web Object triggers an auto-refresh.
EPG data missing – some broadcasters (e.g. news / radio channels) don't transmit descriptions or ratings. Title + start/end times should always populate when you change channel.
Licensing
Licence keys can be purchased from the Smart Home Programming Driver Store. A 120-minute trial runs automatically so you can verify compatibility before buying.
Store: https://shpdrivers.services/store/
Email: david@smarthomeprogramming.com.au
Support
For bug reports, technical support, or feature requests, please use the ticket system in your account at the Driver Store.
Terms of Service
All drivers are provided "as is" without warranty of any kind. You use this software at your own risk. A free trial is included so you can verify compatibility with your system before purchasing – do not purchase a licence if you have not tested the driver on your hardware. Full terms: https://smarthomeprogramming.com.au/store/terms.html
Copyright 2026 Smart Home Programming. All rights reserved.
This driver is sold through the Smart Home Programming Driver Store. A free 2-hour trial mode is included so you can verify compatibility with your system before purchasing.
Free Trial
The driver operates in a 2-hour trial mode without a licence key. The trial provides full functionality and resets each time the RTI processor is rebooted.
Purchasing a Licence
- Create an account at https://shpdrivers.services/store/
- Add the TCL Smart TV driver to your cart
- Enter your RTI processor MAC address during checkout
- Complete payment and receive your licence key by email
- Enter the licence key in the driver configuration in Integration Designer
Licence Terms
- One licence per RTI processor (bound to the processor's MAC address)
- Includes free updates for the lifetime of the driver
- Multi-processor sites: a separate licence key is required for each processor
- Licence keys are non-transferable between processors
Support & Refunds
Use the free 2-hour trial mode to verify compatibility before purchasing. Refunds are available within 14 days if the driver does not work as described and we cannot resolve the issue.
For technical support, contact david@smarthomeprogramming.com.au or use the support ticket system in your account at the Driver Store.
Full terms: https://smarthomeprogramming.com.au/store/terms.html