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.
- UE48H6270 (confirmed by paolog89)
- UE48H6400 (confirmed by kkapitan)
- UE48J6300 (confirmed by luca-angemi)
- UE48JS9000 (confirmed by Iniaki)
- UE50HU6900 (confirmed by Holland1)
- UE50JU6800 (confirmed by Jeroen-R)
- UE55H6400 (confirmed by axel3rd)
- UE55HU7500 (confirmed by riemers)
- UE55JS8500 (confirmed by twistedpixel)
- UE55JU6800 (confirmed by fquinto)
- UE55JU7505 (confirmed by holmie)
- UE55JU7590
- UN40JU6000 (confirmed by vsnine)
- UN60JS7000 (confirmed by nspinelli)
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 = // address of the TV device ip: '192.168.178.50' // your client identification appId: '721b6fce-4ee6-48ba-8045-955a539edadb' // user id for the connection with the TV userId: '654321'
Usage
Create and initialize an instance of the SamsungTv library:
const SamsungTv = const deviceConfig = // ... const tv = deviceConfigawait tv// await tv.init(identity) // if paired before
Then request the PIN:
await tv
The PIN should appear at your TV.
Confirm the PIN and establish connection:
const identity = await tvawait tv
After the connection is established, use SamsungTv#sendKey() to send keys:
tv
Examples
Here you can find examples how to use the library: