This plugin adds Samsung TV's available in your local network to homebridge. Just install the plugin in the Homebridge UI in the Plugin tab, turn on all your Samsung TV's so they can be discovered and restart homebridge. Also if you update the plugin it is recommended to start your TV's before restarting homebridge since there might be some internal changes that need to be updated.
After you started homebridge you should see the device names with their usn in the homebridge log. To customize a device, add an object with the usn (including
uuid:) and any option you want to modify to the devices list under the
SamsungTVControl platform. You could e.g. change the initial name like so:
Younger TV's (2014+) might require being paired before the plugin is able to remote control them. The plugin comes with a command line utility that among other things can run the pairing procecure and give you a token you then add to the configuration. If pairing is required and you didn't add the token to your configuration yet, have a look at the homebridge logs to see the possible commands to pair your tv. The pairing commands look like this
npx homebridge-samsungtv-control pair1 <ip> <mac>
npx homebridge-samsungtv-control pair1 18.104.22.168 21:2F:B7:1F:DF:F0
npx homebridge-samsungtv-control pair2 <ip> <mac>
npx homebridge-samsungtv-control pair2 22.214.171.124 21:2F:B7:1F:DF:F0
For pair2 you can also try port 8001 like
npx homebridge-samsungtv-control pair2 126.96.36.199 21:2F:B7:1F:DF:F0 --port 8001.
You can also test if your TV supports the legacy protocol without pairing like this:
npx homebridge-samsungtv-control legacy <ip> <mac>
npx homebridge-samsungtv-control legacy 188.8.131.52 21:2F:B7:1F:DF:F0
When the script finished pairing it tries to send the mute key to your tv for you to be able to check if it worked. If you didn't observe mute being toggled on your TV you might try the other commands.
Add TV's to home app
There is a homekit limitation that allows only one TV per bridge. Therefore each TV will be exposed as external accessory and will not show up when only the homebridge-bridge was added. To add each of your Samsung TV's
- Open the Home App
+in the top right corner to add a device
- Then click on Don't Have a Code or Can't scan?
- The found TV should appear under Nearby Accessories ... click on it
- Use the pin that you configured under
config > bridge > pin
Turning on a TV
Some Samsung TV's (actually all I was able to test) turn off their network card when being turned off completely. Therefore these models cannot be turned on again by this plugin since they are just not reachable over the network. However some newer models might support Wake-on-LAN or WoWLAN which this plugin tries to use to turn your TV back on.
By default only TV will be added as input source which triggers sending the TV key to e.g. get back to the tuner when hdmi was previously selected. The
inputs property allows you to add extra inputs to e.g. switch channels, start sleep mode or open an app (if supported). Each input requires a
name which represents the input name and a
keys property which is either a string containing numbers only, a comma seperated list of keys or a single app name from the list below. The keys will then be send to the tv with a delay of
500ms (or what you configured) in between.
Here is an example:
- List of apps - The support for opening apps is unclear. These however won't work when paired with
- List of keys - You just have to test which keys work on your tv and which don't since this differs strongly between all the models. Casing doesn't matter and you can also leave away
KEY_for convenience as seen in the example. If you need to send a key multiple times in row you can add e.g.
*3to send it three times.
Note: Unfortunatelly when editing inputs it might be required to remove the tv from homekit and add it again after homebridge restarted for the home app to see the changes.