homebridge-plejd 1.3.7 → 1.3.9

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ #### 1.3.6 (2024-06-21)
2
+
3
+ Clear out dependencies & refactor
4
+
5
+ #### 1.3.6 (2024-06-20)
6
+
7
+ Updated plejd ble characteristict
8
+
1
9
  #### 1.3.6 (2024-06-20)
2
10
 
3
11
  Fix import issues and update configurations
@@ -1,18 +1,18 @@
1
- import { PlatformAccessory } from "homebridge";
2
- import { Device } from "./model/device.js";
3
- import { PlejdPlatform } from "./plejdPlatform.js";
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 PlejdPlatformAccessoryHandler {
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: PlejdPlatform, accessory: PlatformAccessory, device: Device);
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 "./settings.js";
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 PlejdPlatformAccessoryHandler {
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("updateState | Sending isOn", isOn);
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("update state | Sending brightness", this.state.brightness);
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 ? "On" : "off"} | from ${this.state.isOn ? "On" : "Off"}`);
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("Get Characteristic On", this.device.name, this.state.isOn);
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("Get Characteristic Brightness", this.device.name, this.state.brightness);
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=plejdPlatformAccessory.js.map
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 "homebridge";
2
- import { PlejdPlatformAccessoryHandler } from "./plejdPlatformAccessory.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 PlejdPlatform implements DynamicPlatformPlugin {
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: PlejdPlatformAccessoryHandler[];
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 "./settings.js";
2
- import { PlejdPlatformAccessoryHandler } from "./plejdPlatformAccessory.js";
3
- import { PlejdService } from "./plejdService.js";
4
- import PlejdRemoteApi from "./plejdApi.js";
5
- export class PlejdPlatform {
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("Finished initializing platform:", this.config.platform);
21
- homebridgeApi.on("didFinishLaunching", this.configurePlejd);
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("Using login information to fetch devices & crypto key");
28
- this.log.info("Any devices added manually will update the downloaded devices");
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("Using supplied crypto key & devices");
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("No settings are prepared, either supply crypto key & devices OR username, password & site");
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("-02") &&
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("Hiding device |", devices[pre]);
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("Missing device model |", devices[i].name);
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("Missing device identifier |", devices[i].name);
104
+ log.error('Missing device identifier |', devices[i].name);
104
105
  }
105
106
  }
106
107
  if (!config.crypto_key) {
107
- log.error("No Crypto key was found in the configuration. Check the plugin documentation for more info");
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, ""), "hex");
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("Plejd Crypto Key:", config.crypto_key);
115
- log.info("Plejd Devices connected to HomeKit:", this.userInputConfig.devices);
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("Loading accessory from cache | ", accessory.displayName);
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 PlejdPlatformAccessoryHandler(this, existingAccessory, device));
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("Adding new accessory |", name);
149
+ this.log.info('Adding new accessory |', name);
150
150
  if (device.room) {
151
- name = device.room + " - " + name;
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 PlejdPlatformAccessoryHandler(this, accessory, device));
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("Unable to get service");
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("Unable to get Characteristic [On]");
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("Unable find HomKit device associated with incoming Plejd update |", device);
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=plejdPlatform.js.map
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
@@ -1,4 +1,4 @@
1
- import { API } from "homebridge";
1
+ import { API } from 'homebridge';
2
2
  /**
3
3
  * This method registers the platform with Homebridge
4
4
  */
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { PLATFORM_NAME, PLUGIN_NAME } from "./settings.js";
2
- import { PlejdPlatform } from "./plejdPlatform.js";
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, PlejdPlatform);
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,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,eAAe,CAAC,GAAQ,EAAE,EAAE;IAC1B,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAClE,CAAC,CAAC"}
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"}
@@ -1,17 +1,13 @@
1
- /// <reference types="node" />
2
- import EventEmitter from "events";
3
- import { Logger } from "homebridge";
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: () => Promise<Site>;
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
- import axios from "axios";
2
- import EventEmitter from "events";
3
- const API_APP_ID = "zHtVqXt8k4yFyk2QGmgp48D9xZr2G94xWYnF4dak";
4
- const API_BASE_URL = "https://cloud.plejd.com/parse/";
5
- const API_LOGIN_URL = "login";
6
- const API_SITE_LIST_URL = "functions/getSiteList";
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
- return new Promise((resolve, reject) => {
26
- this.login()
27
- .then(() => {
28
- this.getSites()
29
- .then((site) => {
30
- this.getSite(site)
31
- .then((site) => {
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
- "X-Parse-Application-Id": API_APP_ID,
55
- "Content-Type": "application/json",
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
- getSites = () => {
84
- const instance = axios.create({
85
- baseURL: API_BASE_URL,
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
- "X-Parse-Application-Id": API_APP_ID,
88
- "X-Parse-Session-Token": this.sessionToken,
89
- "Content-Type": "application/json",
56
+ 'X-Parse-Application-Id': API_APP_ID,
57
+ 'X-Parse-Session-Token': token,
58
+ 'Content-Type': 'application/json',
90
59
  },
91
60
  });
92
- return new Promise((resolve, reject) => {
93
- this.log.debug("Sending POST to " + API_BASE_URL + API_SITE_LIST_URL);
94
- instance
95
- .post(API_SITE_LIST_URL)
96
- .then((response) => {
97
- this.log.debug("plejd-api: got detailed sites response");
98
- const site = response.data.result.find((x) => x.site.title === this.siteName);
99
- if (!site) {
100
- reject("failed to find a site named " + this.siteName);
101
- return;
102
- }
103
- resolve(site);
104
- })
105
- .catch((error) => {
106
- return reject("plejd-api: unable to retrieve list of sites. error: " + error);
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
- "X-Parse-Application-Id": API_APP_ID,
115
- "X-Parse-Session-Token": this.sessionToken,
116
- "Content-Type": "application/json",
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
- return new Promise((resolve, reject) => {
120
- this.log.debug("Sending POST to " + API_BASE_URL + API_SITE_DETAILS_URL);
121
- instance
122
- .post(API_SITE_DETAILS_URL, { siteId: site.site.siteId })
123
- .then((response) => {
124
- this.log.debug("plejd-api: got site details response");
125
- if (response.data.result.length === 0) {
126
- reject("No devices fount");
127
- return;
128
- }
129
- this.site = response.data.result[0];
130
- if (this.site) {
131
- resolve(this.site);
132
- }
133
- else {
134
- reject("No Crypto has been retrieved yet");
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
@@ -1 +1 @@
1
- {"version":3,"file":"plejdApi.js","sourceRoot":"","sources":["../src/plejdApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plejdApi.js","sourceRoot":"","sources":["../src/plejdApi.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Logger } from "homebridge";
2
- import { UserInputConfig } from "./model/userInputConfig.js";
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;
@@ -1,31 +1,31 @@
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";
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
  */
9
9
  var PlejdCharacteristics;
10
10
  (function (PlejdCharacteristics) {
11
- PlejdCharacteristics["Service"] = "1ba000160854726be45040c957391b5";
12
- PlejdCharacteristics["LightLevel"] = "1ba000360854726be45040c957391b5";
13
- PlejdCharacteristics["Data"] = "1ba000460854726be45040c957391b5";
14
- PlejdCharacteristics["LastData"] = "1ba000560854726be45040c957391b5";
15
- PlejdCharacteristics["Auth"] = "1ba000960854726be45040c957391b5";
16
- PlejdCharacteristics["Ping"] = "1ba000a60854726be45040c957391b5";
11
+ PlejdCharacteristics["Service"] = "31ba000160854726be45040c957391b5";
12
+ PlejdCharacteristics["LightLevel"] = "31ba000360854726be45040c957391b5";
13
+ PlejdCharacteristics["Data"] = "31ba000460854726be45040c957391b5";
14
+ PlejdCharacteristics["LastData"] = "31ba000560854726be45040c957391b5";
15
+ PlejdCharacteristics["Auth"] = "31ba000960854726be45040c957391b5";
16
+ PlejdCharacteristics["Ping"] = "31ba000a60854726be45040c957391b5";
17
17
  })(PlejdCharacteristics || (PlejdCharacteristics = {}));
18
18
  var PlejdCommand;
19
19
  (function (PlejdCommand) {
20
- PlejdCommand["UpdateState"] = "097";
21
- PlejdCommand["StateBrightness"] = "0c8";
22
- PlejdCommand["Brightness"] = "098";
23
- PlejdCommand["Time"] = "01b";
24
- PlejdCommand["Scene"] = "021";
25
- PlejdCommand["RequestResponse"] = "102";
26
- PlejdCommand["RequestNoResponse"] = "110";
27
- PlejdCommand["RequestReadValue"] = "103";
28
- PlejdCommand["ButtonClick"] = "006";
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("stateChange", (state) => this.stateChange(state));
49
- noble.on("warning", (msg) => {
50
- this.log.debug("Noble warning: ", msg);
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 ? "01" : "00";
62
- let payload = Buffer.from(identifier.toString(16).padStart(2, "0") +
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, "hex");
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, "0"), "hex"),
71
+ Buffer.from(dim.toString(16).padStart(4, '0'), 'hex'),
72
72
  ]);
73
73
  }
74
- this.log.debug("UpdateState:", this.config.cryptoKey, this.addressBuffer, payload);
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("stateChange | Stopped | " + state);
81
+ this.log.debug('stateChange | Stopped | ' + state);
82
82
  noble.stopScanning();
83
83
  }
84
- this.log.debug("stateChange | Started | " + state);
84
+ this.log.debug('stateChange | Started | ' + state);
85
85
  this.startConnection();
86
86
  };
87
87
  startConnection = () => {
88
- if (this.connectedPeripheral === null || noble._state !== "poweredOn") {
88
+ if (this.connectedPeripheral === null || noble._state !== 'poweredOn') {
89
89
  noble.startScanning([PlejdCharacteristics.Service], false, (e) => {
90
90
  if (e) {
91
- this.log.error("Unable to start scanning", e);
91
+ this.log.error('Unable to start scanning', e);
92
92
  }
93
93
  });
94
- noble.once("discover", (peripheral) => this.discover(peripheral));
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("Unable to reconnect", e);
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, ""), "hex"));
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,18 +131,19 @@ export class PlejdService {
131
131
  }
132
132
  this.discovered(peripheral, services, characteristics);
133
133
  });
134
- peripheral.once("disconnect", () => {
135
- this.log.info("Peripheral disconnected");
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('Characteristic: ', c.uuid));
139
140
  const authChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.Auth);
140
141
  const lastDataChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.LastData);
141
142
  const pingChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.Ping);
142
143
  this.dataCharacteristic =
143
144
  peripheral?.services[0]?.characteristics?.find((char) => char.uuid === PlejdCharacteristics.Data) ?? null;
144
145
  if (!authChar || !lastDataChar || !pingChar) {
145
- this.log.error("Unable to extract characteristic during discovery", authChar, lastDataChar, pingChar);
146
+ this.log.error('Unable to extract characteristic during discovery', authChar, lastDataChar, pingChar);
146
147
  return;
147
148
  }
148
149
  this.plejdAuth(authChar, () => {
@@ -150,27 +151,27 @@ export class PlejdService {
150
151
  this.startPlejdQueue();
151
152
  lastDataChar.subscribe((error) => {
152
153
  if (error) {
153
- this.log.error("Error subscribing | " + error);
154
+ this.log.error('Error subscribing | ' + error);
154
155
  return;
155
156
  }
156
- lastDataChar.on("data", (data, isNotification) => this.gotData(data, isNotification));
157
+ lastDataChar.on('data', (data, isNotification) => this.gotData(data, isNotification));
157
158
  });
158
159
  });
159
160
  };
160
161
  plejdAuth = (authChar, callback) => {
161
162
  authChar.write(Buffer.from([0x00]), false, (error) => {
162
163
  if (error) {
163
- this.log.error("Error writing auth start | " + error);
164
+ this.log.error('Error writing auth start | ' + error);
164
165
  return;
165
166
  }
166
167
  authChar.read((error, data) => {
167
168
  if (error) {
168
- this.log.error("Error reading auth | " + error);
169
+ this.log.error('Error reading auth | ' + error);
169
170
  return;
170
171
  }
171
172
  authChar.write(plejdCharResp(this.config.cryptoKey, data), false, (error) => {
172
173
  if (error) {
173
- this.log.error("Error writing auth char | " + error);
174
+ this.log.error('Error writing auth char | ' + error);
174
175
  return;
175
176
  }
176
177
  callback();
@@ -214,12 +215,12 @@ export class PlejdService {
214
215
  const ping = randomBytes(1);
215
216
  pingChar.write(ping, false, (error) => {
216
217
  if (error) {
217
- this.log.error("Error sending ping | " + error);
218
+ this.log.error('Error sending ping | ' + error);
218
219
  return callback(false);
219
220
  }
220
221
  pingChar.read((error, pong) => {
221
222
  if (error) {
222
- this.log.error("Error reading pong | " + error);
223
+ this.log.error('Error reading pong | ' + error);
223
224
  return callback(false);
224
225
  }
225
226
  if (((ping[0] + 1) & 0xff) !== pong[0]) {
@@ -239,7 +240,7 @@ export class PlejdService {
239
240
  }
240
241
  clearInterval(this.pingTimer);
241
242
  if (this.connectedPeripheral) {
242
- this.log.info("Disconnecting peripheral");
243
+ this.log.info('Disconnecting peripheral');
243
244
  this.connectedPeripheral.disconnect();
244
245
  }
245
246
  if (callback) {
@@ -250,32 +251,31 @@ export class PlejdService {
250
251
  if (!this.addressBuffer || this.addressBuffer?.byteLength === 0) {
251
252
  return;
252
253
  }
253
- this.log.debug("GotData:", this.config.cryptoKey, this.addressBuffer, data);
254
254
  const decodedData = plejdEncodeDecode(this.config.cryptoKey, this.addressBuffer, data);
255
255
  const id = parseInt(decodedData[0].toString(), 10);
256
- const command = decodedData.toString("hex", 3, 5);
257
- const isOn = parseInt(decodedData.toString("hex", 5, 6), 10) === 1;
256
+ const command = decodedData.toString('hex', 3, 5);
257
+ const isOn = parseInt(decodedData.toString('hex', 5, 6), 10) === 1;
258
258
  const commandType = Object.values(PlejdCommand).find((x) => x.toString() === command) ??
259
- "Unknown";
259
+ 'Unknown';
260
260
  const d = {
261
261
  id: id,
262
262
  command: command,
263
263
  commandType: commandType,
264
264
  on: isOn,
265
265
  Notification: isNotification,
266
- payload: decodedData.toString("hex"),
266
+ payload: decodedData.toString('hex'),
267
267
  };
268
- this.log.debug("GotData", d);
268
+ this.log.debug('GotData', d);
269
269
  switch (command) {
270
270
  case PlejdCommand.Time: {
271
- const arg = parseInt(reverseBuffer(decodedData.subarray(5, 9)).toString("hex"), 16);
271
+ const arg = parseInt(reverseBuffer(decodedData.subarray(5, 9)).toString('hex'), 16);
272
272
  const date = new Date(arg * 1000);
273
- this.log.debug("Time sync: " + date.toString());
273
+ this.log.debug('Time sync: ' + date.toString());
274
274
  break;
275
275
  }
276
276
  case PlejdCommand.Brightness:
277
277
  case PlejdCommand.StateBrightness: {
278
- const dim = parseInt(decodedData.toString("hex", 7, 8), 16);
278
+ const dim = parseInt(decodedData.toString('hex', 7, 8), 16);
279
279
  // Convert to Homebridge 1-100
280
280
  const converted = dim === 0 ? 1 : (100 / 255) * dim;
281
281
  this.onUpdate(id, isOn, converted);
@@ -292,14 +292,14 @@ export class PlejdService {
292
292
  }
293
293
  default: {
294
294
  this.onUpdate(id, isOn);
295
- this.log.debug(`Unknown | command: ${command} | id: ${id} | ${decodedData.toString("hex")}`);
295
+ this.log.debug(`Unknown | command: ${command} | id: ${id} | ${decodedData.toString('hex')}`);
296
296
  }
297
297
  }
298
298
  };
299
299
  plejdWrite = (dataChar, data) => {
300
300
  dataChar.write(data, false, (error) => {
301
301
  if (error) {
302
- this.log.error("Error writing data | " + error);
302
+ this.log.error('Error writing data | ' + error);
303
303
  return;
304
304
  }
305
305
  });
@@ -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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"}
@@ -1,6 +1,6 @@
1
- import { createCipheriv, createHash } from "crypto";
1
+ import { createCipheriv, createHash } from 'crypto';
2
2
  export const plejdChalResp = (key, chal) => {
3
- const intermediate = createHash("sha256").update(xor(key, chal)).digest();
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("aes-128-ecb", key, "");
14
+ const cipher = createCipheriv('aes-128-ecb', key, '');
15
15
  cipher.setAutoPadding(false);
16
- let ct = cipher.update(buf).toString("hex");
17
- ct += cipher.final().toString("hex");
18
- const ctBuff = Buffer.from(ct, "hex");
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, "ascii");
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.7",
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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"}