further rewrites

This commit is contained in:
Marcus Westin 2020-01-17 15:00:54 +00:00
parent 7a1ee5a504
commit 18b94288e3
2 changed files with 11 additions and 9 deletions

View file

@ -71,7 +71,7 @@ class PlejdApi extends EventEmitter {
}) })
.catch((error) => { .catch((error) => {
if (error.response.status === 400) { if (error.response.status === 400) {
console.log('error: server returned status 400. probably invalid credentials, please verify.'); console.log('error: server returned status 400. probably invalid credentials, please verify.');
} }
else { else {
console.log('error: unable to retrieve session token response: ' + error); console.log('error: unable to retrieve session token response: ' + error);
@ -100,10 +100,11 @@ class PlejdApi extends EventEmitter {
self.site = response.data.result.find(x => x.site.title == self.siteName); self.site = response.data.result.find(x => x.site.title == self.siteName);
self.cryptoKey = self.site.plejdMesh.cryptoKey; self.cryptoKey = self.site.plejdMesh.cryptoKey;
callback(self.cryptoKey); //callback(self.cryptoKey);
this.emit('ready', self.cryptoKey);
}) })
.catch((error) => { .catch((error) => {
console.log('error: unable to retrieve the crypto key. error: ' + error + ' (code: ' + error.response.status + ')'); console.log('error: unable to retrieve the crypto key. error: ' + error);
return Promise.reject('unable to retrieve the crypto key. error: ' + error); return Promise.reject('unable to retrieve the crypto key. error: ' + error);
}); });
} }
@ -172,9 +173,9 @@ class PlejdApi extends EventEmitter {
typeName: 'Room', typeName: 'Room',
dimmable: roomDevices[roomId].find(x => x.dimmable).length > 0 dimmable: roomDevices[roomId].find(x => x.dimmable).length > 0
}; };
logger(JSON.stringify(newDevice)); logger(JSON.stringify(newDevice));
devices.push(newDevice); devices.push(newDevice);
} }
} }
@ -204,7 +205,7 @@ class PlejdApi extends EventEmitter {
// Unknown // Unknown
return { name: "-unknown-", type: 'light', dimmable: false }; return { name: "-unknown-", type: 'light', dimmable: false };
case 10: case 10:
return { name: "-unknown-", type: 'light', dimmable: false }; return { name: "-unknown-", type: 'light', dimmable: false };
case 12: case 12:
// Unknown // Unknown
return { name: "-unknown-", type: 'light', dimmable: false }; return { name: "-unknown-", type: 'light', dimmable: false };

View file

@ -1,21 +1,22 @@
const api = require('./api'); const api = require('./api');
const mqtt = require('./mqtt'); const mqtt = require('./mqtt');
const fs = require('fs'); const fs = require('fs');
const PlejdService = require('./ble'); const PlejdService = require('./ble.bluez');
const version = "0.2.8"; const version = "0.2.8";
async function main() { async function main() {
console.log('starting Plejd add-on v. ' + version); console.log('starting Plejd add-on v. ' + version);
const rawData = fs.readFileSync('/data/plejd.json'); const rawData = fs.readFileSync('plejd.json');
const config = JSON.parse(rawData); const config = JSON.parse(rawData);
const plejdApi = new api.PlejdApi(config.site, config.username, config.password); const plejdApi = new api.PlejdApi(config.site, config.username, config.password);
const client = new mqtt.MqttClient(config.mqttBroker, config.mqttUsername, config.mqttPassword); const client = new mqtt.MqttClient(config.mqttBroker, config.mqttUsername, config.mqttPassword);
plejdApi.once('loggedIn', () => { plejdApi.once('loggedIn', () => {
plejdApi.getCryptoKey((cryptoKey) => { plejdApi.getCryptoKey();//(cryptoKey) => {
plejdApi.on('ready', (cryptoKey) => {
const devices = plejdApi.getDevices(); const devices = plejdApi.getDevices();
client.on('connected', () => { client.on('connected', () => {