From 5d453c3200e2ec09c8887f3bac3897a87363db07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Desnos=20Benoi=CC=82t?= Date: Thu, 17 Feb 2022 07:19:35 +0100 Subject: [PATCH] Unpairing feature + version bump --- package.json | 2 +- src/homebridge/DeviceManager.js | 1 + src/homebridge/admin/api.js | 5 +++++ src/homebridge/admin/static/index.html | 1 + src/homebridge/admin/static/index.js | 7 +++++++ 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c3c9f01..516df67 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homebridge-androidtv", - "version": "2.1.0", + "version": "2.2.0", "description": "Homebridge plugin to control your AndroidTV / Freebox Player Pop / Freemox Mini 4k", "main": "dist/index.js", "engines": { diff --git a/src/homebridge/DeviceManager.js b/src/homebridge/DeviceManager.js index 2a9275a..52e9aab 100644 --- a/src/homebridge/DeviceManager.js +++ b/src/homebridge/DeviceManager.js @@ -151,6 +151,7 @@ class DeviceManager extends EventEmitter { device.paired = false; device.android_remote.cert = {}; this.save(); + return device; } async pair(host){ diff --git a/src/homebridge/admin/api.js b/src/homebridge/admin/api.js index 6718f16..b2c3409 100644 --- a/src/homebridge/admin/api.js +++ b/src/homebridge/admin/api.js @@ -18,6 +18,11 @@ function api(deviceManager) { res.json(deviceManager.get(req.params.host).toJSON()); }); + api.put('/devices/:host/unpair', async (req, res) => { + await deviceManager.unpair(req.params.host); + res.json(deviceManager.get(req.params.host).toJSON()); + }); + api.put('/devices/:host/secret', async(req, res) => { let device = await deviceManager.sendCode(req.params.host, req.body.code); diff --git a/src/homebridge/admin/static/index.html b/src/homebridge/admin/static/index.html index d5497f1..8c35cbf 100644 --- a/src/homebridge/admin/static/index.html +++ b/src/homebridge/admin/static/index.html @@ -44,6 +44,7 @@
It seems that no AndroidTV is connected and powered on this network
+
diff --git a/src/homebridge/admin/static/index.js b/src/homebridge/admin/static/index.js index 32562e9..f82e775 100644 --- a/src/homebridge/admin/static/index.js +++ b/src/homebridge/admin/static/index.js @@ -27,6 +27,13 @@ const Devices = { this.devices[device.host] = response.data; }); }, + unpair: function (device){ + console.log('Unpair ' + device.host); + axios.put('api/devices/' + device.host + '/unpair').then((response) => { + console.log('Unpaired', response); + this.devices[device.host] = response.data; + }); + }, send_code: function (device){ console.log('sendCode ' + device.host + ' ' + this.code); axios.put('api/devices/' + device.host + '/secret', {code:this.code}).then((response) => {