androidtv-remote
Installation
npm install androidtv-remote
Usage
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();
Events
Event: secret
Emitted when androidtv ask for code.
Event: powered
Emitted when androidtv is powering on/off.
Event: volume
Emitted when androidtv is changing volume/mute.
Event: current_app
Emitted when androidtv is changing current app.
Event: error
Emitted when androidtv has a problem : by example when you send a wrong app_link with sendAppLink(app_link)
.
Commands
Command: sendCode(code)
-
code
: You need to pass the shown code on the TV when asked
Command: sendKey(KeyCode, Direction)
-
KeyCode
: Any key of https://developer.android.com/reference/android/view/KeyEvent?hl=fr -
Direction
:-
START_LONG
: Start long push -
END_LONG
: Stop long push -
SHORT
: Simple push
-
Command : sendAppLink(app_link)
-
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.*"
Others
- 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
License
MIT