Note
This is just a fork of tdudek/samsung-remote-models-2014-and-newer that was slightly modified to work with homebridge-samsungtv-control.
Samsung TV Remote for models 2014+
This project is a proof of concept to remote control Samsung TV models 2014+ which require encrypted communication with the internal web service of the TV.
Credits go to https://github.com/Ape/samsungctl/issues/22.
Models working
Until now I could test the connection with my own TV. If you have any new insights with other models, please share your results, so I can update the following list.
Demo
To try out the API quickly, there is a demo which can be found in the ./example/
directory.
To start the demo, please use the following commands:
$ yarn install
$ yarn start
This will start a server at http://localhost:3000.
After the server is started, open the URL in your browser. You will see a demo UI, which allows you to easily connect to your TV.

Getting Started
To use the API within your project, you will need to follow these steps:
Configuration
The following configuraiton details are required:
const deviceConfig = {
ip: '192.168.178.50',
appId: '721b6fce-4ee6-48ba-8045-955a539edadb',
userId: '654321',
}
Usage
Create and initialize an instance of the SamsungTv library:
const SamsungTv = require('samsung-remote-pin-paired')
const deviceConfig = {
}
const tv = new SamsungTv(deviceConfig)
await tv.init()
Then request the PIN:
await tv.requestPin()
The PIN should appear at your TV.
Confirm the PIN and establish connection:
const identity = await tv.confirmPin('9603')
await tv.connect()
After the connection is established, use SamsungTv#sendKey() to send keys:
tv.sendKey('KEY_MUTE')
Examples
Here you can find examples how to use the library: