homebridge-plejd 1.3.8 → 1.3.9
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +4 -0
- package/dist/{plejdPlatformAccessory.d.ts → PlejdHbAccessory.d.ts} +5 -5
- package/dist/{plejdPlatformAccessory.js → PlejdHbAccessory.js} +9 -8
- package/dist/PlejdHbAccessory.js.map +1 -0
- package/dist/{plejdPlatform.d.ts → PlejdHbPlatform.d.ts} +8 -8
- package/dist/{plejdPlatform.js → PlejdHbPlatform.js} +29 -29
- package/dist/PlejdHbPlatform.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/plejdApi.d.ts +4 -8
- package/dist/plejdApi.js +75 -118
- package/dist/plejdApi.js.map +1 -1
- package/dist/plejdService.d.ts +2 -2
- package/dist/plejdService.js +51 -52
- package/dist/plejdService.js.map +1 -1
- package/dist/plejdUtils.js +8 -8
- package/package.json +3 -6
- package/dist/plejdPlatform.js.map +0 -1
- package/dist/plejdPlatformAccessory.js.map +0 -1
package/CHANGELOG.md
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
import { PlatformAccessory } from
|
2
|
-
import { Device } from
|
3
|
-
import {
|
1
|
+
import { PlatformAccessory } from 'homebridge';
|
2
|
+
import { Device } from './model/device.js';
|
3
|
+
import { PlejdHbPlatform } from './PlejdHbPlatform.js';
|
4
4
|
/**
|
5
5
|
* Platform Accessory
|
6
6
|
* An instance of this class is created for each accessory your platform registers
|
7
7
|
* Each accessory may expose multiple services of different service types.
|
8
8
|
*/
|
9
|
-
export declare class
|
9
|
+
export declare class PlejdHbAccessory {
|
10
10
|
private readonly platform;
|
11
11
|
private readonly accessory;
|
12
12
|
readonly device: Device;
|
13
13
|
private service;
|
14
14
|
private state;
|
15
|
-
constructor(platform:
|
15
|
+
constructor(platform: PlejdHbPlatform, accessory: PlatformAccessory, device: Device);
|
16
16
|
updateState: (isOn: boolean, brightness?: number) => void;
|
17
17
|
private setOn;
|
18
18
|
private getOn;
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import { PLATFORM_NAME } from
|
1
|
+
import { PLATFORM_NAME } from './settings.js';
|
2
2
|
/**
|
3
3
|
* Platform Accessory
|
4
4
|
* An instance of this class is created for each accessory your platform registers
|
5
5
|
* Each accessory may expose multiple services of different service types.
|
6
6
|
*/
|
7
|
-
export class
|
7
|
+
export class PlejdHbAccessory {
|
8
8
|
platform;
|
9
9
|
accessory;
|
10
10
|
device;
|
@@ -48,14 +48,15 @@ export class PlejdPlatformAccessoryHandler {
|
|
48
48
|
this.service.setCharacteristic(this.platform.Characteristic.Name, this.device.name);
|
49
49
|
}
|
50
50
|
updateState = (isOn, brightness) => {
|
51
|
+
this.platform.log.info(`Got trigger on ${this.device.name} | to ${isOn ? 'On' : 'off'} | brightness: ${brightness}`);
|
51
52
|
this.state.isOn = isOn;
|
52
|
-
this.platform.log.debug(
|
53
|
+
this.platform.log.debug('updateState | Sending isOn', isOn);
|
53
54
|
this.service
|
54
55
|
.getCharacteristic(this.platform.Characteristic.On)
|
55
56
|
.updateValue(isOn);
|
56
57
|
if (brightness) {
|
57
58
|
this.state.brightness = Math.round(brightness);
|
58
|
-
this.platform.log.debug(
|
59
|
+
this.platform.log.debug('update state | Sending brightness', this.state.brightness);
|
59
60
|
this.service
|
60
61
|
.getCharacteristic(this.platform.Characteristic.Brightness)
|
61
62
|
.updateValue(this.state.brightness);
|
@@ -65,12 +66,12 @@ export class PlejdPlatformAccessoryHandler {
|
|
65
66
|
};
|
66
67
|
setOn = async (value) => {
|
67
68
|
const newVal = value;
|
68
|
-
this.platform.log.info(`Updating state | ${this.device.name} | to ${newVal ?
|
69
|
+
this.platform.log.info(`Updating state | ${this.device.name} | to ${newVal ? 'On' : 'off'} | from ${this.state.isOn ? 'On' : 'Off'}`);
|
69
70
|
this.updateState(newVal, this.state.brightness);
|
70
71
|
this.platform.plejdService?.updateState(this.device.identifier, newVal, null);
|
71
72
|
};
|
72
73
|
getOn = async () => {
|
73
|
-
this.platform.log.debug(
|
74
|
+
this.platform.log.debug('Get Characteristic On', this.device.name, this.state.isOn);
|
74
75
|
return this.state.isOn;
|
75
76
|
};
|
76
77
|
setBrightness = async (value) => {
|
@@ -80,8 +81,8 @@ export class PlejdPlatformAccessoryHandler {
|
|
80
81
|
this.platform.plejdService?.updateState(this.device.identifier, this.state.isOn, newVal);
|
81
82
|
};
|
82
83
|
getBrightness = async () => {
|
83
|
-
this.platform.log.debug(
|
84
|
+
this.platform.log.debug('Get Characteristic Brightness', this.device.name, this.state.brightness);
|
84
85
|
return this.state.brightness;
|
85
86
|
};
|
86
87
|
}
|
87
|
-
//# sourceMappingURL=
|
88
|
+
//# sourceMappingURL=PlejdHbAccessory.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PlejdHbAccessory.js","sourceRoot":"","sources":["../src/PlejdHbAccessory.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from
|
2
|
-
import {
|
3
|
-
import { UserInputConfig } from
|
4
|
-
import { Device } from
|
5
|
-
import { PlejdService } from
|
6
|
-
import { Site } from
|
7
|
-
export declare class
|
1
|
+
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
|
2
|
+
import { PlejdHbAccessory } from './PlejdHbAccessory.js';
|
3
|
+
import { UserInputConfig } from './model/userInputConfig.js';
|
4
|
+
import { Device } from './model/device.js';
|
5
|
+
import { PlejdService } from './plejdService.js';
|
6
|
+
import { Site } from './model/plejdSite.js';
|
7
|
+
export declare class PlejdHbPlatform implements DynamicPlatformPlugin {
|
8
8
|
readonly log: Logger;
|
9
9
|
readonly config: PlatformConfig;
|
10
10
|
readonly homebridgeApi: API;
|
@@ -13,7 +13,7 @@ export declare class PlejdPlatform implements DynamicPlatformPlugin {
|
|
13
13
|
userInputConfig?: UserInputConfig;
|
14
14
|
plejdService?: PlejdService;
|
15
15
|
readonly accessories: PlatformAccessory[];
|
16
|
-
readonly plejdHandlers:
|
16
|
+
readonly plejdHandlers: PlejdHbAccessory[];
|
17
17
|
constructor(log: Logger, config: PlatformConfig, homebridgeApi: API);
|
18
18
|
configurePlejd: () => void;
|
19
19
|
configureDevices: (log: Logger, config: PlatformConfig, site?: Site) => void;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { PLATFORM_NAME, PLEJD_ADDONS, PLEJD_LIGHTS, PLUGIN_NAME, } from
|
2
|
-
import {
|
3
|
-
import { PlejdService } from
|
4
|
-
import PlejdRemoteApi from
|
5
|
-
export class
|
1
|
+
import { PLATFORM_NAME, PLEJD_ADDONS, PLEJD_LIGHTS, PLUGIN_NAME, } from './settings.js';
|
2
|
+
import { PlejdHbAccessory } from './PlejdHbAccessory.js';
|
3
|
+
import { PlejdService } from './plejdService.js';
|
4
|
+
import PlejdRemoteApi from './plejdApi.js';
|
5
|
+
export class PlejdHbPlatform {
|
6
6
|
log;
|
7
7
|
config;
|
8
8
|
homebridgeApi;
|
@@ -17,15 +17,15 @@ export class PlejdPlatform {
|
|
17
17
|
this.log = log;
|
18
18
|
this.config = config;
|
19
19
|
this.homebridgeApi = homebridgeApi;
|
20
|
-
this.log.debug(
|
21
|
-
homebridgeApi.on(
|
20
|
+
this.log.debug('Finished initializing platform:', this.config.platform);
|
21
|
+
homebridgeApi.on('didFinishLaunching', this.configurePlejd);
|
22
22
|
this.Characteristic = homebridgeApi.hap.Characteristic;
|
23
23
|
this.Service = homebridgeApi.hap.Service;
|
24
24
|
}
|
25
25
|
configurePlejd = () => {
|
26
26
|
if (this.config.password && this.config.site && this.config.username) {
|
27
|
-
this.log.info(
|
28
|
-
this.log.info(
|
27
|
+
this.log.info('Using login information to fetch devices & crypto key');
|
28
|
+
this.log.info('Any devices added manually will update the downloaded devices');
|
29
29
|
const pApi = new PlejdRemoteApi(this.log, this.config.site, this.config.username, this.config.password, true);
|
30
30
|
pApi
|
31
31
|
.getPlejdRemoteSite()
|
@@ -35,16 +35,17 @@ export class PlejdPlatform {
|
|
35
35
|
else if (this.config.crypto_key &&
|
36
36
|
this.config.devices &&
|
37
37
|
this.config.devices.count > 0) {
|
38
|
-
this.log.info(
|
38
|
+
this.log.info('Using supplied crypto key & devices');
|
39
39
|
this.configureDevices(this.log, this.config, undefined);
|
40
40
|
}
|
41
41
|
else {
|
42
|
-
this.log.warn(
|
42
|
+
this.log.warn('No settings are prepared, either supply crypto key & devices OR username, password & site');
|
43
43
|
}
|
44
44
|
};
|
45
45
|
configureDevices = (log, config, site) => {
|
46
46
|
const devices = config.devices || [];
|
47
47
|
if (site) {
|
48
|
+
this.log.info('Using remote site information for:', site.site.title);
|
48
49
|
config.crypto_key = site.plejdMesh.cryptoKey;
|
49
50
|
const items = [];
|
50
51
|
// Extract devices
|
@@ -58,7 +59,7 @@ export class PlejdPlatform {
|
|
58
59
|
}
|
59
60
|
const room = site.rooms.find((x) => x.roomId === item.roomId);
|
60
61
|
let identifier = site.inputAddress[id][0];
|
61
|
-
if (dim.endsWith(
|
62
|
+
if (dim.endsWith('-02') &&
|
62
63
|
items.find((a) => a.identifier === identifier) !== undefined) {
|
63
64
|
identifier += 1;
|
64
65
|
}
|
@@ -77,7 +78,7 @@ export class PlejdPlatform {
|
|
77
78
|
const pre = devices.findIndex((x) => x.identifier === item.identifier);
|
78
79
|
if (pre !== -1) {
|
79
80
|
if (devices[pre].hidden) {
|
80
|
-
log.debug(
|
81
|
+
log.debug('Hiding device |', devices[pre]);
|
81
82
|
devices.splice(pre);
|
82
83
|
}
|
83
84
|
else {
|
@@ -94,25 +95,25 @@ export class PlejdPlatform {
|
|
94
95
|
devices[i].isDimmer = PLEJD_LIGHTS.includes(devices[i].model);
|
95
96
|
}
|
96
97
|
else {
|
97
|
-
log.error(
|
98
|
+
log.error('Missing device model |', devices[i].name);
|
98
99
|
}
|
99
100
|
if (devices[i].identifier) {
|
100
101
|
devices[i].uuid = this.generateId(devices[i].identifier.toString());
|
101
102
|
}
|
102
103
|
else {
|
103
|
-
log.error(
|
104
|
+
log.error('Missing device identifier |', devices[i].name);
|
104
105
|
}
|
105
106
|
}
|
106
107
|
if (!config.crypto_key) {
|
107
|
-
log.error(
|
108
|
+
log.error('No Crypto key was found in the configuration. Check the plugin documentation for more info');
|
108
109
|
}
|
109
|
-
const cryptoKey = Buffer.from(config.crypto_key.replace(/-/g,
|
110
|
+
const cryptoKey = Buffer.from(config.crypto_key.replace(/-/g, ''), 'hex');
|
110
111
|
this.userInputConfig = {
|
111
112
|
devices: devices,
|
112
113
|
cryptoKey: cryptoKey,
|
113
114
|
};
|
114
|
-
log.info(
|
115
|
-
log.info(
|
115
|
+
log.info('Plejd Crypto Key:', config.crypto_key);
|
116
|
+
log.info('Plejd Devices connected to HomeKit:', this.userInputConfig.devices);
|
116
117
|
this.plejdService = new PlejdService(this.userInputConfig, log, this.onPlejdUpdates.bind(this));
|
117
118
|
this.discoverDevices();
|
118
119
|
};
|
@@ -121,7 +122,7 @@ export class PlejdPlatform {
|
|
121
122
|
* It should be used to setup event handlers for characteristics and update respective values.
|
122
123
|
*/
|
123
124
|
configureAccessory = (accessory) => {
|
124
|
-
this.log.info(
|
125
|
+
this.log.info('Loading accessory from cache | ', accessory.displayName);
|
125
126
|
this.accessories.push(accessory);
|
126
127
|
};
|
127
128
|
discoverDevices = () => {
|
@@ -130,14 +131,13 @@ export class PlejdPlatform {
|
|
130
131
|
if (notRegistered.length > 0) {
|
131
132
|
this.homebridgeApi.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, notRegistered);
|
132
133
|
}
|
133
|
-
this.log.debug("registering devices", this.userInputConfig?.devices);
|
134
134
|
for (const device of this.userInputConfig.devices) {
|
135
135
|
if (device.hidden) {
|
136
136
|
continue;
|
137
137
|
}
|
138
138
|
const existingAccessory = this.accessories.find((accessory) => accessory.UUID === device.uuid);
|
139
139
|
if (existingAccessory) {
|
140
|
-
this.plejdHandlers.push(new
|
140
|
+
this.plejdHandlers.push(new PlejdHbAccessory(this, existingAccessory, device));
|
141
141
|
}
|
142
142
|
else {
|
143
143
|
this.addNewDevice(device);
|
@@ -146,14 +146,14 @@ export class PlejdPlatform {
|
|
146
146
|
};
|
147
147
|
addNewDevice = (device) => {
|
148
148
|
let name = device.name;
|
149
|
-
this.log.info(
|
149
|
+
this.log.info('Adding new accessory |', name);
|
150
150
|
if (device.room) {
|
151
|
-
name = device.room +
|
151
|
+
name = device.room + ' - ' + name;
|
152
152
|
}
|
153
153
|
const accessory = new this.homebridgeApi.platformAccessory(device.name, device.uuid);
|
154
154
|
accessory.context.device = device;
|
155
155
|
// See above.
|
156
|
-
this.plejdHandlers.push(new
|
156
|
+
this.plejdHandlers.push(new PlejdHbAccessory(this, accessory, device));
|
157
157
|
// link the accessory to your platform
|
158
158
|
this.homebridgeApi.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [
|
159
159
|
accessory,
|
@@ -175,11 +175,11 @@ export class PlejdPlatform {
|
|
175
175
|
if (device.isDimmer) {
|
176
176
|
const ser = existingAccessory.getService(this.Service.Lightbulb);
|
177
177
|
if (!ser) {
|
178
|
-
this.log.warn(
|
178
|
+
this.log.warn('Unable to get service');
|
179
179
|
}
|
180
180
|
const on = ser?.getCharacteristic(this.Characteristic.On);
|
181
181
|
if (!on) {
|
182
|
-
this.log.warn(
|
182
|
+
this.log.warn('Unable to get Characteristic [On]');
|
183
183
|
}
|
184
184
|
on?.updateValue(isOn);
|
185
185
|
if (brightness !== undefined) {
|
@@ -202,7 +202,7 @@ export class PlejdPlatform {
|
|
202
202
|
this.onPlejdUpdates(identifier, isOn, brightness);
|
203
203
|
}
|
204
204
|
else {
|
205
|
-
this.log.info(
|
205
|
+
this.log.info('Unable find HomKit device associated with incoming Plejd update |', device);
|
206
206
|
}
|
207
207
|
}
|
208
208
|
};
|
@@ -210,4 +210,4 @@ export class PlejdPlatform {
|
|
210
210
|
return this.homebridgeApi.hap.uuid.generate(input);
|
211
211
|
};
|
212
212
|
}
|
213
|
-
//# sourceMappingURL=
|
213
|
+
//# sourceMappingURL=PlejdHbPlatform.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PlejdHbPlatform.js","sourceRoot":"","sources":["../src/PlejdHbPlatform.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import { PLATFORM_NAME, PLUGIN_NAME } from
|
2
|
-
import {
|
1
|
+
import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
|
2
|
+
import { PlejdHbPlatform } from './PlejdHbPlatform.js';
|
3
3
|
/**
|
4
4
|
* This method registers the platform with Homebridge
|
5
5
|
*/
|
6
6
|
export default (api) => {
|
7
|
-
api.registerPlatform(PLUGIN_NAME, PLATFORM_NAME,
|
7
|
+
api.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, PlejdHbPlatform);
|
8
8
|
};
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,eAAe,CAAC,GAAQ,EAAE,EAAE;IAC1B,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC,CAAC"}
|
package/dist/plejdApi.d.ts
CHANGED
@@ -1,17 +1,13 @@
|
|
1
|
-
|
2
|
-
import
|
3
|
-
|
4
|
-
import { Site } from "./model/plejdSite.js";
|
5
|
-
export default class PlejdRemoteApi extends EventEmitter {
|
1
|
+
import { Logger } from 'homebridge';
|
2
|
+
import { Site } from './model/plejdSite.js';
|
3
|
+
export default class PlejdRemoteApi {
|
6
4
|
log: Logger;
|
7
5
|
siteName: string;
|
8
6
|
username: string;
|
9
7
|
password: string;
|
10
8
|
includeRoomsAsLights: boolean;
|
11
|
-
sessionToken?: string;
|
12
|
-
site?: Site;
|
13
9
|
constructor(log: Logger, siteName: string, username: string, password: string, includeRoomsAsLights: boolean);
|
14
|
-
getPlejdRemoteSite
|
10
|
+
getPlejdRemoteSite(): Promise<Site>;
|
15
11
|
private login;
|
16
12
|
private getSites;
|
17
13
|
private getSite;
|
package/dist/plejdApi.js
CHANGED
@@ -1,143 +1,100 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
const API_SITE_DETAILS_URL = "functions/getSiteById";
|
8
|
-
export default class PlejdRemoteApi extends EventEmitter {
|
1
|
+
const API_APP_ID = 'zHtVqXt8k4yFyk2QGmgp48D9xZr2G94xWYnF4dak';
|
2
|
+
const API_BASE_URL = 'https://cloud.plejd.com/parse/';
|
3
|
+
const API_LOGIN_URL = 'login';
|
4
|
+
const API_SITE_LIST_URL = 'functions/getSiteList';
|
5
|
+
const API_SITE_DETAILS_URL = 'functions/getSiteById';
|
6
|
+
export default class PlejdRemoteApi {
|
9
7
|
log;
|
10
8
|
siteName;
|
11
9
|
username;
|
12
10
|
password;
|
13
11
|
includeRoomsAsLights;
|
14
|
-
sessionToken;
|
15
|
-
site;
|
16
12
|
constructor(log, siteName, username, password, includeRoomsAsLights) {
|
17
|
-
super();
|
18
13
|
this.log = log;
|
19
14
|
this.includeRoomsAsLights = includeRoomsAsLights;
|
20
15
|
this.siteName = siteName;
|
21
16
|
this.username = username;
|
22
17
|
this.password = password;
|
23
18
|
}
|
24
|
-
getPlejdRemoteSite
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
resolve(site);
|
33
|
-
})
|
34
|
-
.catch((e) => {
|
35
|
-
this.log.error(`${e}`);
|
36
|
-
reject(e);
|
37
|
-
});
|
38
|
-
})
|
39
|
-
.catch((e) => {
|
40
|
-
this.log.error(`${e}`);
|
41
|
-
reject(e);
|
42
|
-
});
|
43
|
-
})
|
44
|
-
.catch((e) => {
|
45
|
-
this.log.error(`${e}`);
|
46
|
-
reject(e);
|
47
|
-
});
|
48
|
-
});
|
49
|
-
};
|
50
|
-
login = () => {
|
51
|
-
const instance = axios.create({
|
52
|
-
baseURL: API_BASE_URL,
|
19
|
+
async getPlejdRemoteSite() {
|
20
|
+
const token = await this.login();
|
21
|
+
const site = await this.getSites(token);
|
22
|
+
return await this.getSite(site, token);
|
23
|
+
}
|
24
|
+
async login() {
|
25
|
+
const response = await fetch(API_BASE_URL + API_LOGIN_URL, {
|
26
|
+
method: 'POST',
|
53
27
|
headers: {
|
54
|
-
|
55
|
-
|
28
|
+
'X-Parse-Application-Id': API_APP_ID,
|
29
|
+
'Content-Type': 'application/json',
|
56
30
|
},
|
57
|
-
|
58
|
-
return new Promise((resolve, reject) => {
|
59
|
-
instance
|
60
|
-
.post(API_LOGIN_URL, {
|
31
|
+
body: JSON.stringify({
|
61
32
|
username: this.username,
|
62
33
|
password: this.password,
|
63
|
-
})
|
64
|
-
.then((response) => {
|
65
|
-
this.log.debug("plejd-api: got session token response");
|
66
|
-
this.sessionToken = response.data.sessionToken;
|
67
|
-
if (!this.sessionToken) {
|
68
|
-
reject("no session token received.");
|
69
|
-
return;
|
70
|
-
}
|
71
|
-
resolve(response.data.sessionToken);
|
72
|
-
})
|
73
|
-
.catch((error) => {
|
74
|
-
if (error.response.status === 400) {
|
75
|
-
reject("error: server returned status 400. probably invalid credentials, please verify.");
|
76
|
-
}
|
77
|
-
else {
|
78
|
-
reject("error: unable to retrieve session token response: " + error);
|
79
|
-
}
|
80
|
-
});
|
34
|
+
}),
|
81
35
|
});
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
36
|
+
if (!response.ok) {
|
37
|
+
if (response.status === 400) {
|
38
|
+
throw new Error('error: server returned status 400. probably invalid credentials, please verify.');
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
throw new Error('error: unable to retrieve session token response: ' + response.statusText);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
const data = await response.json();
|
45
|
+
this.log.debug('plejd-api: got session token response');
|
46
|
+
if (!data.sessionToken) {
|
47
|
+
throw new Error('no session token received.');
|
48
|
+
}
|
49
|
+
return data.sessionToken;
|
50
|
+
}
|
51
|
+
async getSites(token) {
|
52
|
+
this.log.debug('Sending POST to ' + API_BASE_URL + API_SITE_LIST_URL);
|
53
|
+
const response = await fetch(API_BASE_URL + API_SITE_LIST_URL, {
|
54
|
+
method: 'POST',
|
86
55
|
headers: {
|
87
|
-
|
88
|
-
|
89
|
-
|
56
|
+
'X-Parse-Application-Id': API_APP_ID,
|
57
|
+
'X-Parse-Session-Token': token,
|
58
|
+
'Content-Type': 'application/json',
|
90
59
|
},
|
91
60
|
});
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
});
|
108
|
-
});
|
109
|
-
};
|
110
|
-
getSite = (site) => {
|
111
|
-
const instance = axios.create({
|
112
|
-
baseURL: API_BASE_URL,
|
61
|
+
if (!response.ok) {
|
62
|
+
throw new Error('plejd-api: unable to retrieve list of sites. error: ' + response.statusText);
|
63
|
+
}
|
64
|
+
const data = await response.json();
|
65
|
+
this.log.debug('plejd-api: got detailed sites response');
|
66
|
+
const site = data.result.find((x) => x.site.title === this.siteName);
|
67
|
+
if (!site) {
|
68
|
+
throw new Error('failed to find a site named ' + this.siteName);
|
69
|
+
}
|
70
|
+
return site;
|
71
|
+
}
|
72
|
+
async getSite(site, token) {
|
73
|
+
this.log.debug('Sending POST to ' + API_BASE_URL + API_SITE_DETAILS_URL);
|
74
|
+
const response = await fetch(API_BASE_URL + API_SITE_DETAILS_URL, {
|
75
|
+
method: 'POST',
|
113
76
|
headers: {
|
114
|
-
|
115
|
-
|
116
|
-
|
77
|
+
'X-Parse-Application-Id': API_APP_ID,
|
78
|
+
'X-Parse-Session-Token': token,
|
79
|
+
'Content-Type': 'application/json',
|
117
80
|
},
|
81
|
+
body: JSON.stringify({ siteId: site.site.siteId }),
|
118
82
|
});
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
}
|
136
|
-
})
|
137
|
-
.catch((error) => {
|
138
|
-
return reject("plejd-api: unable to retrieve the crypto key. error: " + error);
|
139
|
-
});
|
140
|
-
});
|
141
|
-
};
|
83
|
+
if (!response.ok) {
|
84
|
+
throw new Error('plejd-api: unable to retrieve the crypto key. error: ' + response.statusText);
|
85
|
+
}
|
86
|
+
const data = await response.json();
|
87
|
+
this.log.debug('plejd-api: got site details response');
|
88
|
+
if (data.result.length === 0) {
|
89
|
+
throw new Error('No devices found');
|
90
|
+
}
|
91
|
+
const res = data.result[0];
|
92
|
+
if (res) {
|
93
|
+
return res;
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
throw new Error('No Crypto has been retrieved yet');
|
97
|
+
}
|
98
|
+
}
|
142
99
|
}
|
143
100
|
//# sourceMappingURL=plejdApi.js.map
|
package/dist/plejdApi.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plejdApi.js","sourceRoot":"","sources":["../src/plejdApi.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"plejdApi.js","sourceRoot":"","sources":["../src/plejdApi.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAC9D,MAAM,YAAY,GAAG,gCAAgC,CAAC;AACtD,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAClD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAwBrD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,GAAG,CAAS;IACZ,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,oBAAoB,CAAU;IAE9B,YACE,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,oBAA6B;QAE7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,GAAG,aAAa,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,wBAAwB,EAAE,UAAU;gBACpC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAa;QAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,GAAG,iBAAiB,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,wBAAwB,EAAE,UAAU;gBACpC,uBAAuB,EAAE,KAAK;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAC/C,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAe,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAAa,EAAE,KAAa;QAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,GAAG,oBAAoB,CAAC,CAAC;QAEzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,GAAG,oBAAoB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,wBAAwB,EAAE,UAAU;gBACpC,uBAAuB,EAAE,KAAK;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SACnD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF"}
|
package/dist/plejdService.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { Logger } from
|
2
|
-
import { UserInputConfig } from
|
1
|
+
import { Logger } from 'homebridge';
|
2
|
+
import { UserInputConfig } from './model/userInputConfig.js';
|
3
3
|
export declare class PlejdService {
|
4
4
|
private readonly config;
|
5
5
|
readonly log: Logger;
|
package/dist/plejdService.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
import { plejdChalResp as plejdCharResp, plejdEncodeDecode, reverseBuffer, } from
|
2
|
-
import { randomBytes } from
|
3
|
-
import noble from
|
4
|
-
import { PLEJD_WRITE_TIMEOUT } from
|
5
|
-
const NOBLE_IS_POWER_ON =
|
1
|
+
import { plejdChalResp as plejdCharResp, plejdEncodeDecode, reverseBuffer, } from './plejdUtils.js';
|
2
|
+
import { randomBytes } from 'crypto';
|
3
|
+
import noble from '@abandonware/noble';
|
4
|
+
import { PLEJD_WRITE_TIMEOUT } from './settings.js';
|
5
|
+
const NOBLE_IS_POWER_ON = 'oweredOn';
|
6
6
|
/**
|
7
7
|
* Plejd BLE UUIDs
|
8
8
|
*/
|
@@ -17,15 +17,15 @@ var PlejdCharacteristics;
|
|
17
17
|
})(PlejdCharacteristics || (PlejdCharacteristics = {}));
|
18
18
|
var PlejdCommand;
|
19
19
|
(function (PlejdCommand) {
|
20
|
-
PlejdCommand["UpdateState"] = "
|
21
|
-
PlejdCommand["StateBrightness"] = "
|
22
|
-
PlejdCommand["Brightness"] = "
|
23
|
-
PlejdCommand["
|
24
|
-
PlejdCommand["
|
25
|
-
PlejdCommand["RequestResponse"] = "
|
26
|
-
PlejdCommand["RequestNoResponse"] = "
|
27
|
-
PlejdCommand["RequestReadValue"] = "
|
28
|
-
PlejdCommand["ButtonClick"] = "
|
20
|
+
PlejdCommand["UpdateState"] = "0097";
|
21
|
+
PlejdCommand["StateBrightness"] = "00c8";
|
22
|
+
PlejdCommand["Brightness"] = "0098";
|
23
|
+
PlejdCommand["Scene"] = "0021";
|
24
|
+
PlejdCommand["Time"] = "001b";
|
25
|
+
PlejdCommand["RequestResponse"] = "0102";
|
26
|
+
PlejdCommand["RequestNoResponse"] = "0110";
|
27
|
+
PlejdCommand["RequestReadValue"] = "0103";
|
28
|
+
PlejdCommand["ButtonClick"] = "0006";
|
29
29
|
})(PlejdCommand || (PlejdCommand = {}));
|
30
30
|
export class PlejdService {
|
31
31
|
config;
|
@@ -45,9 +45,9 @@ export class PlejdService {
|
|
45
45
|
this.dataCharacteristic = null;
|
46
46
|
this.connectedPeripheral = null;
|
47
47
|
this.sendQueue = [];
|
48
|
-
noble.on(
|
49
|
-
noble.on(
|
50
|
-
this.log.debug(
|
48
|
+
noble.on('stateChange', (state) => this.stateChange(state));
|
49
|
+
noble.on('warning', (msg) => {
|
50
|
+
this.log.debug('Noble warning: ', msg);
|
51
51
|
});
|
52
52
|
}
|
53
53
|
/// Brightness should be between 1-100
|
@@ -58,45 +58,45 @@ export class PlejdService {
|
|
58
58
|
}
|
59
59
|
const dimming = brightness !== null;
|
60
60
|
const command = isOn && dimming ? PlejdCommand.Brightness : PlejdCommand.UpdateState;
|
61
|
-
const on = isOn ?
|
62
|
-
let payload = Buffer.from(identifier.toString(16).padStart(2,
|
61
|
+
const on = isOn ? '01' : '00';
|
62
|
+
let payload = Buffer.from(identifier.toString(16).padStart(2, '0') +
|
63
63
|
PlejdCommand.RequestNoResponse +
|
64
64
|
command +
|
65
|
-
on,
|
65
|
+
on, 'hex');
|
66
66
|
if (dimming) {
|
67
67
|
const dim = Math.round(2.55 * brightness); // Convert to Plejd 0-255
|
68
68
|
this.log.debug(`Dim value sent over BLE ${dim}`);
|
69
69
|
payload = Buffer.concat([
|
70
70
|
payload,
|
71
|
-
Buffer.from(dim.toString(16).padStart(4,
|
71
|
+
Buffer.from(dim.toString(16).padStart(4, '0'), 'hex'),
|
72
72
|
]);
|
73
73
|
}
|
74
|
-
this.log.debug(
|
74
|
+
this.log.debug('UpdateState:', this.addressBuffer.toString('hex'), payload.toString('hex'));
|
75
75
|
const data = plejdEncodeDecode(this.config.cryptoKey, this.addressBuffer, payload);
|
76
76
|
this.sendQueue.push(data);
|
77
77
|
};
|
78
78
|
// -------------- Private -------------- \\
|
79
79
|
stateChange = (state) => {
|
80
80
|
if (state !== NOBLE_IS_POWER_ON) {
|
81
|
-
this.log.debug(
|
81
|
+
this.log.debug('stateChange | Stopped | ' + state);
|
82
82
|
noble.stopScanning();
|
83
83
|
}
|
84
|
-
this.log.debug(
|
84
|
+
this.log.debug('stateChange | Started | ' + state);
|
85
85
|
this.startConnection();
|
86
86
|
};
|
87
87
|
startConnection = () => {
|
88
|
-
if (this.connectedPeripheral === null || noble._state !==
|
88
|
+
if (this.connectedPeripheral === null || noble._state !== 'poweredOn') {
|
89
89
|
noble.startScanning([PlejdCharacteristics.Service], false, (e) => {
|
90
90
|
if (e) {
|
91
|
-
this.log.error(
|
91
|
+
this.log.error('Unable to start scanning', e);
|
92
92
|
}
|
93
93
|
});
|
94
|
-
noble.once(
|
94
|
+
noble.once('discover', (peripheral) => this.discover(peripheral));
|
95
95
|
}
|
96
96
|
else {
|
97
97
|
this.connectedPeripheral?.cancelConnect();
|
98
98
|
this.connectedPeripheral.connect((e) => {
|
99
|
-
this.log.error(
|
99
|
+
this.log.error('Unable to reconnect', e);
|
100
100
|
});
|
101
101
|
}
|
102
102
|
};
|
@@ -116,7 +116,7 @@ export class PlejdService {
|
|
116
116
|
const addr = peripheral.address;
|
117
117
|
this.log.info(`Connected | ${peripheral.advertisement.localName} (addr: ${addr})`);
|
118
118
|
this.connectedPeripheral = peripheral;
|
119
|
-
this.addressBuffer = reverseBuffer(Buffer.from(String(addr).replace(/:/g,
|
119
|
+
this.addressBuffer = reverseBuffer(Buffer.from(String(addr).replace(/:/g, ''), 'hex'));
|
120
120
|
const services = [PlejdCharacteristics.Service];
|
121
121
|
const characteristics = [
|
122
122
|
PlejdCharacteristics.Data,
|
@@ -131,19 +131,19 @@ export class PlejdService {
|
|
131
131
|
}
|
132
132
|
this.discovered(peripheral, services, characteristics);
|
133
133
|
});
|
134
|
-
peripheral.once(
|
135
|
-
this.log.info(
|
134
|
+
peripheral.once('disconnect', () => {
|
135
|
+
this.log.info('Peripheral disconnected');
|
136
136
|
});
|
137
137
|
};
|
138
138
|
discovered = (peripheral, services, characteristics) => {
|
139
|
-
characteristics.forEach((c) => this.log.info(
|
139
|
+
characteristics.forEach((c) => this.log.info('Characteristic: ', c.uuid));
|
140
140
|
const authChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.Auth);
|
141
141
|
const lastDataChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.LastData);
|
142
142
|
const pingChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.Ping);
|
143
143
|
this.dataCharacteristic =
|
144
144
|
peripheral?.services[0]?.characteristics?.find((char) => char.uuid === PlejdCharacteristics.Data) ?? null;
|
145
145
|
if (!authChar || !lastDataChar || !pingChar) {
|
146
|
-
this.log.error(
|
146
|
+
this.log.error('Unable to extract characteristic during discovery', authChar, lastDataChar, pingChar);
|
147
147
|
return;
|
148
148
|
}
|
149
149
|
this.plejdAuth(authChar, () => {
|
@@ -151,27 +151,27 @@ export class PlejdService {
|
|
151
151
|
this.startPlejdQueue();
|
152
152
|
lastDataChar.subscribe((error) => {
|
153
153
|
if (error) {
|
154
|
-
this.log.error(
|
154
|
+
this.log.error('Error subscribing | ' + error);
|
155
155
|
return;
|
156
156
|
}
|
157
|
-
lastDataChar.on(
|
157
|
+
lastDataChar.on('data', (data, isNotification) => this.gotData(data, isNotification));
|
158
158
|
});
|
159
159
|
});
|
160
160
|
};
|
161
161
|
plejdAuth = (authChar, callback) => {
|
162
162
|
authChar.write(Buffer.from([0x00]), false, (error) => {
|
163
163
|
if (error) {
|
164
|
-
this.log.error(
|
164
|
+
this.log.error('Error writing auth start | ' + error);
|
165
165
|
return;
|
166
166
|
}
|
167
167
|
authChar.read((error, data) => {
|
168
168
|
if (error) {
|
169
|
-
this.log.error(
|
169
|
+
this.log.error('Error reading auth | ' + error);
|
170
170
|
return;
|
171
171
|
}
|
172
172
|
authChar.write(plejdCharResp(this.config.cryptoKey, data), false, (error) => {
|
173
173
|
if (error) {
|
174
|
-
this.log.error(
|
174
|
+
this.log.error('Error writing auth char | ' + error);
|
175
175
|
return;
|
176
176
|
}
|
177
177
|
callback();
|
@@ -215,12 +215,12 @@ export class PlejdService {
|
|
215
215
|
const ping = randomBytes(1);
|
216
216
|
pingChar.write(ping, false, (error) => {
|
217
217
|
if (error) {
|
218
|
-
this.log.error(
|
218
|
+
this.log.error('Error sending ping | ' + error);
|
219
219
|
return callback(false);
|
220
220
|
}
|
221
221
|
pingChar.read((error, pong) => {
|
222
222
|
if (error) {
|
223
|
-
this.log.error(
|
223
|
+
this.log.error('Error reading pong | ' + error);
|
224
224
|
return callback(false);
|
225
225
|
}
|
226
226
|
if (((ping[0] + 1) & 0xff) !== pong[0]) {
|
@@ -240,7 +240,7 @@ export class PlejdService {
|
|
240
240
|
}
|
241
241
|
clearInterval(this.pingTimer);
|
242
242
|
if (this.connectedPeripheral) {
|
243
|
-
this.log.info(
|
243
|
+
this.log.info('Disconnecting peripheral');
|
244
244
|
this.connectedPeripheral.disconnect();
|
245
245
|
}
|
246
246
|
if (callback) {
|
@@ -251,32 +251,31 @@ export class PlejdService {
|
|
251
251
|
if (!this.addressBuffer || this.addressBuffer?.byteLength === 0) {
|
252
252
|
return;
|
253
253
|
}
|
254
|
-
this.log.debug("GotData:", this.config.cryptoKey, this.addressBuffer, data);
|
255
254
|
const decodedData = plejdEncodeDecode(this.config.cryptoKey, this.addressBuffer, data);
|
256
255
|
const id = parseInt(decodedData[0].toString(), 10);
|
257
|
-
const command = decodedData.toString(
|
258
|
-
const isOn = parseInt(decodedData.toString(
|
256
|
+
const command = decodedData.toString('hex', 3, 5);
|
257
|
+
const isOn = parseInt(decodedData.toString('hex', 5, 6), 10) === 1;
|
259
258
|
const commandType = Object.values(PlejdCommand).find((x) => x.toString() === command) ??
|
260
|
-
|
259
|
+
'Unknown';
|
261
260
|
const d = {
|
262
261
|
id: id,
|
263
262
|
command: command,
|
264
263
|
commandType: commandType,
|
265
264
|
on: isOn,
|
266
265
|
Notification: isNotification,
|
267
|
-
payload: decodedData.toString(
|
266
|
+
payload: decodedData.toString('hex'),
|
268
267
|
};
|
269
|
-
this.log.debug(
|
268
|
+
this.log.debug('GotData', d);
|
270
269
|
switch (command) {
|
271
270
|
case PlejdCommand.Time: {
|
272
|
-
const arg = parseInt(reverseBuffer(decodedData.subarray(5, 9)).toString(
|
271
|
+
const arg = parseInt(reverseBuffer(decodedData.subarray(5, 9)).toString('hex'), 16);
|
273
272
|
const date = new Date(arg * 1000);
|
274
|
-
this.log.debug(
|
273
|
+
this.log.debug('Time sync: ' + date.toString());
|
275
274
|
break;
|
276
275
|
}
|
277
276
|
case PlejdCommand.Brightness:
|
278
277
|
case PlejdCommand.StateBrightness: {
|
279
|
-
const dim = parseInt(decodedData.toString(
|
278
|
+
const dim = parseInt(decodedData.toString('hex', 7, 8), 16);
|
280
279
|
// Convert to Homebridge 1-100
|
281
280
|
const converted = dim === 0 ? 1 : (100 / 255) * dim;
|
282
281
|
this.onUpdate(id, isOn, converted);
|
@@ -293,14 +292,14 @@ export class PlejdService {
|
|
293
292
|
}
|
294
293
|
default: {
|
295
294
|
this.onUpdate(id, isOn);
|
296
|
-
this.log.debug(`Unknown | command: ${command} | id: ${id} | ${decodedData.toString(
|
295
|
+
this.log.debug(`Unknown | command: ${command} | id: ${id} | ${decodedData.toString('hex')}`);
|
297
296
|
}
|
298
297
|
}
|
299
298
|
};
|
300
299
|
plejdWrite = (dataChar, data) => {
|
301
300
|
dataChar.write(data, false, (error) => {
|
302
301
|
if (error) {
|
303
|
-
this.log.error(
|
302
|
+
this.log.error('Error writing data | ' + error);
|
304
303
|
return;
|
305
304
|
}
|
306
305
|
});
|
package/dist/plejdService.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plejdService.js","sourceRoot":"","sources":["../src/plejdService.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"plejdService.js","sourceRoot":"","sources":["../src/plejdService.ts"],"names":[],"mappings":"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"}
|
package/dist/plejdUtils.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { createCipheriv, createHash } from
|
1
|
+
import { createCipheriv, createHash } from 'crypto';
|
2
2
|
export const plejdChalResp = (key, chal) => {
|
3
|
-
const intermediate = createHash(
|
3
|
+
const intermediate = createHash('sha256').update(xor(key, chal)).digest();
|
4
4
|
const part1 = intermediate.slice(0, 16);
|
5
5
|
const part2 = intermediate.slice(16);
|
6
6
|
return xor(part1, part2);
|
@@ -11,16 +11,16 @@ export const plejdEncodeDecode = (key, addressBuffer, data) => {
|
|
11
11
|
addressBuffer,
|
12
12
|
addressBuffer.subarray(0, 4),
|
13
13
|
]);
|
14
|
-
const cipher = createCipheriv(
|
14
|
+
const cipher = createCipheriv('aes-128-ecb', key, '');
|
15
15
|
cipher.setAutoPadding(false);
|
16
|
-
let ct = cipher.update(buf).toString(
|
17
|
-
ct += cipher.final().toString(
|
18
|
-
const ctBuff = Buffer.from(ct,
|
19
|
-
let output =
|
16
|
+
let ct = cipher.update(buf).toString('hex');
|
17
|
+
ct += cipher.final().toString('hex');
|
18
|
+
const ctBuff = Buffer.from(ct, 'hex');
|
19
|
+
let output = '';
|
20
20
|
for (let i = 0, length = data.length; i < length; i++) {
|
21
21
|
output += String.fromCharCode(data[i] ^ ctBuff[i % 16]);
|
22
22
|
}
|
23
|
-
return Buffer.from(output,
|
23
|
+
return Buffer.from(output, 'ascii');
|
24
24
|
};
|
25
25
|
export const reverseBuffer = (src) => {
|
26
26
|
const buffer = Buffer.allocUnsafe(src.length);
|
package/package.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
"displayName": "Plejd",
|
4
4
|
"name": "homebridge-plejd",
|
5
5
|
"author": "Herlix",
|
6
|
-
"version": "1.3.
|
6
|
+
"version": "1.3.9",
|
7
7
|
"description": "HomeKit support for the Plejd BLE platform using Homebridge",
|
8
8
|
"license": "Apache-2.0",
|
9
9
|
"type": "module",
|
@@ -23,14 +23,11 @@
|
|
23
23
|
"lint": "eslint src/**.ts --max-warnings=0",
|
24
24
|
"watch": "npm run build && npm link && nodemon",
|
25
25
|
"build": "rimraf ./dist && tsc",
|
26
|
-
"prepublishOnly": "npm run build"
|
26
|
+
"prepublishOnly": "npm run lint && npm run build"
|
27
27
|
},
|
28
28
|
"keywords": ["homebridge-plugin", "plejd"],
|
29
29
|
"dependencies": {
|
30
|
-
"@abandonware/noble": "^1.9.2-25"
|
31
|
-
"axios": "^1.3",
|
32
|
-
"events": "^3.3",
|
33
|
-
"lodash": "^4.17"
|
30
|
+
"@abandonware/noble": "^1.9.2-25"
|
34
31
|
},
|
35
32
|
"devDependencies": {
|
36
33
|
"@types/noble": "^0.0.44",
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"plejdPlatform.js","sourceRoot":"","sources":["../src/plejdPlatform.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"plejdPlatformAccessory.js","sourceRoot":"","sources":["../src/plejdPlatformAccessory.ts"],"names":[],"mappings":"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"}
|