added sorted list of devices discovered
This commit is contained in:
parent
eead389056
commit
b039baea5b
7 changed files with 15 additions and 71 deletions
|
|
@ -45,7 +45,7 @@ class PlejdApi extends EventEmitter {
|
|||
|
||||
login() {
|
||||
console.log('plejd-api: login()');
|
||||
console.log('logging into ' + this.siteName);
|
||||
console.log('plejd-api: logging into ' + this.siteName);
|
||||
const self = this;
|
||||
|
||||
const instance = axios.create({
|
||||
|
|
@ -100,7 +100,8 @@ class PlejdApi extends EventEmitter {
|
|||
self.site = response.data.result.find(x => x.site.title == self.siteName);
|
||||
self.cryptoKey = self.site.plejdMesh.cryptoKey;
|
||||
|
||||
callback(self.cryptoKey);
|
||||
this.emit('ready', self.cryptoKey);
|
||||
//callback(self.cryptoKey);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('error: unable to retrieve the crypto key. error: ' + error + ' (code: ' + error.response.status + ')');
|
||||
|
|
|
|||
|
|
@ -198,7 +198,8 @@ class PlejdService extends EventEmitter {
|
|||
}
|
||||
|
||||
if (!uuid) {
|
||||
this.device = Object.values(this.devices)[this.deviceIdx];
|
||||
this.sortedDevices = Object.values(this.devices).sort((a, b) => b.rssi - a.rssi);
|
||||
this.device = sortedDevices[this.deviceIdx];
|
||||
}
|
||||
else {
|
||||
this.device = this.devices[uuid];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Plejd",
|
||||
"version": "0.2.8",
|
||||
"version": "0.2.9",
|
||||
"slug": "plejd",
|
||||
"description": "Adds support for the Swedish home automation devices from Plejd.",
|
||||
"url": "https://github.com/icanos/hassio-plejd/",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ const mqtt = require('./mqtt');
|
|||
const fs = require('fs');
|
||||
const PlejdService = require('./ble');
|
||||
|
||||
const version = "0.2.8";
|
||||
const version = "0.2.9";
|
||||
|
||||
async function main() {
|
||||
console.log('starting Plejd add-on v. ' + version);
|
||||
|
|
@ -15,7 +15,7 @@ async function main() {
|
|||
const client = new mqtt.MqttClient(config.mqttBroker, config.mqttUsername, config.mqttPassword);
|
||||
|
||||
plejdApi.once('loggedIn', () => {
|
||||
plejdApi.getCryptoKey((cryptoKey) => {
|
||||
plejdApi.on('ready', (cryptoKey) => {
|
||||
const devices = plejdApi.getDevices();
|
||||
|
||||
client.on('connected', () => {
|
||||
|
|
@ -62,6 +62,8 @@ async function main() {
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
plejdApi.getCryptoKey();
|
||||
});
|
||||
|
||||
plejdApi.login();
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ class MqttClient extends EventEmitter {
|
|||
logger(`sending discovery for ${device.name}`);
|
||||
|
||||
let payload = getDiscoveryPayload(device);
|
||||
console.log(`discovered ${device.type}: ${device.name} with Plejd ID ${device.id}.`);
|
||||
console.log(`plejd-mqtt: discovered ${device.type} named ${device.name} with PID ${device.id}.`);
|
||||
|
||||
self.deviceMap[device.id] = payload.unique_id;
|
||||
|
||||
|
|
|
|||
66
plejd/package-lock.json
generated
66
plejd/package-lock.json
generated
|
|
@ -14,9 +14,9 @@
|
|||
}
|
||||
},
|
||||
"@icanos/noble": {
|
||||
"version": "1.9.2-6",
|
||||
"resolved": "https://registry.npmjs.org/@icanos/noble/-/noble-1.9.2-6.tgz",
|
||||
"integrity": "sha512-+NxEW7nNEueqX8MknTdno3AZeFode56tzN+dMDW0TJjW96XG822DhoHmHeQZRylTd74r/8M5c4Sb9x/m45yiPw==",
|
||||
"version": "1.9.2-9",
|
||||
"resolved": "https://registry.npmjs.org/@icanos/noble/-/noble-1.9.2-9.tgz",
|
||||
"integrity": "sha512-u4zJS+Rl1cBJAd+Z0DiBCOqKhNOUor5fiT6Jtl3WAcF9QlAS+O22HC9yUaQB5DzcfpS5DpBdMpglUTG3xV/kQA==",
|
||||
"requires": {
|
||||
"@abandonware/bluetooth-hci-socket": "^0.5.3-3",
|
||||
"debug": "^4.1.1",
|
||||
|
|
@ -24,11 +24,6 @@
|
|||
"node-addon-api": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"@types/zen-observable": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.0.tgz",
|
||||
"integrity": "sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg=="
|
||||
},
|
||||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
|
|
@ -139,11 +134,6 @@
|
|||
"readable-stream": "> 1.0.0 < 3.0.0"
|
||||
}
|
||||
},
|
||||
"callsites": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
|
||||
},
|
||||
"chownr": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
|
||||
|
|
@ -321,11 +311,6 @@
|
|||
"ext": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"esm": {
|
||||
"version": "3.2.25",
|
||||
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
|
||||
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
|
||||
},
|
||||
"event-emitter": {
|
||||
"version": "0.3.5",
|
||||
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
|
||||
|
|
@ -565,14 +550,6 @@
|
|||
"resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
|
||||
"integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI="
|
||||
},
|
||||
"is-observable": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz",
|
||||
"integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==",
|
||||
"requires": {
|
||||
"symbol-observable": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"is-relative": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
|
||||
|
|
@ -841,11 +818,6 @@
|
|||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
|
||||
},
|
||||
"observable-fns": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.4.0.tgz",
|
||||
"integrity": "sha512-2BFtEqza7sjLpgImAmagHK97mBwh3+bkwAZS/qF/4n2S8RzKsbdsdOczRBh+Piz7QgQZRAjTzI5vtxtOUgU+cQ=="
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
|
|
@ -1118,11 +1090,6 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
|
||||
},
|
||||
"symbol-observable": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
|
||||
"integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
|
||||
},
|
||||
"tar": {
|
||||
"version": "4.4.13",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
|
||||
|
|
@ -1175,20 +1142,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"threads": {
|
||||
"version": "1.0.0-beta.9",
|
||||
"resolved": "https://registry.npmjs.org/threads/-/threads-1.0.0-beta.9.tgz",
|
||||
"integrity": "sha512-ZjpQvqA78p+y4jtlhnQsKc8V9AwUvrWwOhy9FkFKWO24JHKte3oWllmjvUw896YqrZymsJvqJwlbUHV1CpVtKw==",
|
||||
"requires": {
|
||||
"@types/zen-observable": "^0.8.0",
|
||||
"callsites": "^3.1.0",
|
||||
"debug": "^4.1.1",
|
||||
"is-observable": "^1.1.0",
|
||||
"observable-fns": "^0.4.0",
|
||||
"tiny-worker": ">= 2",
|
||||
"zen-observable": "^0.8.14"
|
||||
}
|
||||
},
|
||||
"through2": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
|
||||
|
|
@ -1207,14 +1160,6 @@
|
|||
"xtend": "~4.0.0"
|
||||
}
|
||||
},
|
||||
"tiny-worker": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz",
|
||||
"integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==",
|
||||
"requires": {
|
||||
"esm": "^3.2.25"
|
||||
}
|
||||
},
|
||||
"to-absolute-glob": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
|
||||
|
|
@ -1337,11 +1282,6 @@
|
|||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
|
||||
},
|
||||
"zen-observable": {
|
||||
"version": "0.8.15",
|
||||
"resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
|
||||
"integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@
|
|||
"mqtt": "^3.0.0",
|
||||
"sleep": "^6.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue