npm install androidtv-remote
After first succeeded pairing, you can reuse generated certs with getCertificate()
by sending it in constructor options.
let host = "192.168.1.12";
let options = {
pairing_port : 6467,
remote_port : 6466,
name : 'androidtv-remote',
cert: {},
}
let androidRemote = new AndroidRemote(host, options)
androidRemote.on('secret', () => {
line.question("Code : ", async (code) => {
androidRemote.sendCode(code);
});
});
androidRemote.on('powered', (powered) => {
console.debug("Powered : " + powered)
});
androidRemote.on('volume', (volume) => {
console.debug("Volume : " + volume.level + '/' + volume.maximum + " | Muted : " + volume.muted);
});
androidRemote.on('current_app', (current_app) => {
console.debug("Current App : " + current_app);
});
androidRemote.on('ready', async () => {
let cert = androidRemote.getCertificate();
androidRemote.sendKey(RemoteKeyCode.MUTE, RemoteDirection.SHORT)
androidRemote.sendAppLink("https://www.disneyplus.com");
});
let started = await androidRemote.start();
Emitted when androidtv ask for code.
Emitted when androidtv is powering on/off.
Emitted when androidtv is changing volume/mute.
Emitted when androidtv is changing current app.
Emitted when androidtv has a problem : by example when you send a wrong app_link with sendAppLink(app_link)
.
code
: You need to pass the shown code on the TV when asked
KeyCode
: Any key of https://developer.android.com/reference/android/view/KeyEvent?hl=frDirection
:START_LONG
: Start long pushEND_LONG
: Stop long pushSHORT
: Simple push
app_link
: You can find them in some Android apps by seeking 'android:host' in Android-Manifest- You can use jadx to decompile the Android app and read Android-Manifest
- Example : "https://www.netflix.com/title.*"
- If you need to decrypt some new messages from android TV, pass an Hexa form of buffer here : https://protogen.marcgravell.com/decode
- You can take a look at my other package for homebridge that use this current one: homebridge-plugin-androidtv
MIT