| Developer: | Ryan Buckner's Plugins Like this plugin? Show your appreciation! |
| Category: | A/V and IR Equipment |
| Github: | Github Repo |
| License: | MIT License |
| Assistance: | Get help! |
| Plugin ID: | com.ryanbuckner.indigoplugin.samsungtv |
| Latest release: | v2026.1.2 released on Nov. 9, 2026 |
| Release downloaded: | 5 times |
| Requires: | Indigo v2022.1.0 or higher |
| (Check the Releases tab below for older releases that may have different requirements) | |
| Download latest release |

Control your Samsung Smart TVs from Indigo: turn them on and off, change volume, inputs, channels and apps, and use the TV's state in triggers, schedules and Control Pages.
It works with Samsung Smart TVs from 2013 and earlier through today's models, entirely on your home network. No SmartThings account or cloud service needed.
This plugin is not endorsed by or affiliated with Samsung.
7, 704, or 7-1), channel up/down, previous channel.| 2016 and newer | 2014–2015 (H / J models) | 2013 and older | |
|---|---|---|---|
| On/off status, volume and mute level | ✅ | ✅ | ✅ |
| Turn on / off | ✅ | ✅ | ✅ |
| Volume, mute, remote buttons, channels, inputs | ✅ | ✅ | ✅ |
| Launch apps / see the current app | ✅ | — | — |
| Send Text, Open URL, Press and Hold | ✅ | — | — |
Not sure what year your TV is? The plugin tells you when you click Detect TV.
Download SamsungTV.indigoPlugin and double-click it to install.
That's it. The TV's status shows in Indigo within a few seconds.
The TV never asked me to Allow, or said no? On the TV, open Settings → General → External Device Manager → Device Connection Manager. Allow the Indigo entry (or delete it and pair again). Setting Access Notification to First time only stops repeat prompts.
A TV can only be found while it's turned on. If a TV is off, the plugin finds it the next time someone turns it on.
The TV works like any on/off device. The standard Turn On, Turn Off and Toggle buttons work in the Indigo client, on Control Pages, and anywhere else Indigo controls devices.
Add these to Action Groups, Triggers and Schedules (choose SamsungTV as the action type):
| Action | What it does |
|---|---|
| Turn On / Turn Off / Toggle TV On/Off | Power control |
| Set Volume | Jump to an exact volume, 0–100 |
| Increase / Decrease Volume | One step up or down |
| Set Mute | Mute on, off, or toggle |
| Select Source / Input | TV, HDMI 1–4, AV, Component |
| Change Channel | Go to a channel number, e.g. 7, 704, 7-1 |
| Launch App | Open an app installed on the TV (or enter an app ID) |
| Send Remote Command | Press one remote button, picked from a list |
| Send Key Sequence | Press several buttons in a row, e.g. HOME, RIGHT, RIGHT, ENTER, with repeats and a pause between presses |
| Press and Hold Key | Hold a button down for a few seconds |
| Send Key Code | Press any button by its Samsung code, e.g. KEY_RED |
| Send Text | Type into a search box on the TV |
| Open URL in TV Browser | Open a web page on the TV |
| Refresh Installed Apps | Reload the app list after installing new apps on the TV |
| Refresh Data | Check the TV's status right now |
| Run Diagnostics | Check the connection to this TV and explain any problem in the event log |
| State | Example values |
|---|---|
| Power Status | on, standby, off |
| Volume Level | 0–100 |
| Is Muted | true / false |
| Current App | Netflix, YouTube, … |
| Current Source | HDMI 1, TV, Smart Hub (an app is running) |
| Model | QN65Q80T, UN48JU6400, … |
| Previous IP Address | the TV's address before it last changed |
| IP Address Changed At | when the plugin last updated the TV's address |
Example trigger: Device State Changed → Living Room TV → Current App → becomes equal to → Netflix → run your "Movie Mode" action group.
| Trigger | When it fires |
|---|---|
| TV IP Address Changed | The plugin found a TV at a new IP address and updated it. Pick one TV or Any Samsung TV. |
Example: SamsungTV → TV IP Address Changed → Any Samsung TV → send yourself an email or push notification, as a reminder to reserve the TV's address in your router. The TV's Previous IP Address state tells you which address it moved from.
| Menu Item | What it does |
|---|---|
| Discover Samsung TVs on Network | Finds Samsung TVs that are turned on and lists their IP addresses in the event log (takes about 20 seconds) |
| Run Diagnostics on All TVs | Checks every configured TV and explains any problem in the event log |
| List Configured Device Info | Lists each TV's IP, model and MAC address in the event log |
| Toggle Debug / Toggle Detailed State Logging | Extra logging for troubleshooting |
You can also control TVs from Indigo Python scripts:
plugin = indigo.server.getPlugin("com.ryanbuckner.indigoplugin.samsungtv")
tv = indigo.devices["Living Room TV"] # your device name
# Power
indigo.device.turnOn(tv.id)
indigo.device.turnOff(tv.id)
# Volume and mute
plugin.executeAction("setVolume", deviceId=tv.id, props={"volumeLevel": "20"})
plugin.executeAction("setMute", deviceId=tv.id, props={"muteMode": "on"}) # on / off / toggle
# Inputs, channels and apps
plugin.executeAction("selectSource", deviceId=tv.id, props={"sourceId": "HDMI 1"})
plugin.executeAction("changeChannel", deviceId=tv.id, props={"channel": "7-1"})
plugin.executeAction("launchApp", deviceId=tv.id, props={"appName": "Netflix"})
# Remote buttons
plugin.executeAction("sendCommand", deviceId=tv.id, props={"commandCode": "home"})
plugin.executeAction("sendKeySequence", deviceId=tv.id,
props={"keySequence": "HOME, RIGHT, RIGHT, ENTER", "repeats": "1", "delay": "0.5"})
# Read the TV's state
print(tv.onState, tv.states["status"], tv.states["volumeLevel"], tv.states["currentApp"])
Example: movie night
plugin = indigo.server.getPlugin("com.ryanbuckner.indigoplugin.samsungtv")
tv = indigo.devices["Living Room TV"]
if not tv.onState:
indigo.device.turnOn(tv.id)
indigo.server.sleep(10) # give the TV time to start up
plugin.executeAction("selectSource", deviceId=tv.id, props={"sourceId": "HDMI 1"})
plugin.executeAction("setVolume", deviceId=tv.id, props={"volumeLevel": "20"})
Start with Plugins → SamsungTV → Run Diagnostics on All TVs. It checks each TV and writes a plain-English explanation of any problem to the event log.
Still stuck? Set Debug Logging to Debug in the plugin settings, reproduce the problem, and post the event log on the Indigo forum.
| Released on: | Nov. 9, 2026 |
| Requires: | Indigo v2022.1.0+ |
| Downloaded: | 5 times |
| Download this release | |
2026.1.2 - If a TV's IP address changes, the plugin now finds it and updates the device automatically. You can turn this on or off in Plugin Config and set how often it checks (15, 30, 45 or 60 minutes). - A new TV IP Address Changed trigger, plus two new states: Previous IP Address and IP Address Changed At. - The plugin's log output now follows the logging level you choose in Plugin Config.
| Released on: | Nov. 9, 2026 |
| Requires: | Indigo v2022.1.0+ |
| Downloaded: | 4 times |
| Download this release | |
2026.1.0: Support for more Samsung TV generations
Highlights
Upgrading: install over your existing version. Your TVs are detected automatically. 2014–2015 TVs need a one‑time PIN pairing (Edit Device → Pair / Authorize) before remote buttons work.