homebridge-plejd 1.4.8 → 1.4.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,7 @@
1
+ #### 1.4.7 (2024-08-16)
2
+
3
+ Catch all Noble errors, refactor ping pong and message queue logic.
4
+
1
5
  #### 1.4.7 (2024-08-15)
2
6
 
3
7
  Yet another try at the re-connection issue.
@@ -5,9 +5,9 @@ export declare class PlejdService {
5
5
  readonly log: Logger;
6
6
  private readonly onUpdate;
7
7
  private connectedPeripheral;
8
- private addressBuffer;
9
- private dataCharacteristic;
10
8
  private sendQueue;
9
+ private plejdTimeout;
10
+ private queueTimeout;
11
11
  constructor(config: UserInputConfig, log: Logger, onUpdate: (identifier: number, isOn: boolean, dim?: number) => void);
12
12
  /**
13
13
  *
@@ -22,12 +22,13 @@ export declare class PlejdService {
22
22
  private onDiscover;
23
23
  private discoverCaracteristics;
24
24
  private setupDevice;
25
- private sendToDeviceQueued;
26
25
  private handleQueuedMessages;
27
26
  private startPlejdPing;
28
27
  private handleNotification;
29
28
  private setupCommunication;
30
29
  private authenticate;
31
- private connected;
32
- private startScanning;
30
+ private storedPeripheralConnected;
31
+ private tryStartScanning;
32
+ private tryDisconnect;
33
+ private getAddressBuffer;
33
34
  }
@@ -2,7 +2,6 @@ import { plejdChalResp as plejdCharResp, plejdEncodeDecode, reverseBuffer, } fro
2
2
  import { randomBytes } from "crypto";
3
3
  import noble from "@abandonware/noble";
4
4
  import { PLEJD_PING_TIMEOUT, PLEJD_WRITE_TIMEOUT } from "./settings.js";
5
- import { delay } from "./utils.js";
6
5
  /**
7
6
  * Plejd BLE UUIDs
8
7
  */
@@ -32,9 +31,9 @@ export class PlejdService {
32
31
  log;
33
32
  onUpdate;
34
33
  connectedPeripheral = null;
35
- addressBuffer = null;
36
- dataCharacteristic = null;
37
34
  sendQueue = [];
35
+ plejdTimeout = null;
36
+ queueTimeout = null;
38
37
  constructor(config, log, onUpdate) {
39
38
  this.config = config;
40
39
  this.log = log;
@@ -49,7 +48,8 @@ export class PlejdService {
49
48
  * @param brightness: The new brightness of the device between 0-100
50
49
  */
51
50
  updateState = async (identifier, isOn, brightness) => {
52
- if (!this.connected() || !this.addressBuffer) {
51
+ const addressBuffer = this.getAddressBuffer();
52
+ if (!this.storedPeripheralConnected() || !addressBuffer) {
53
53
  return;
54
54
  }
55
55
  const payload = Buffer.from(!brightness || brightness === 0
@@ -64,16 +64,13 @@ export class PlejdService {
64
64
  Math.round(2.55 * brightness)
65
65
  .toString(16)
66
66
  .padStart(4, "0"), "hex");
67
- const data = plejdEncodeDecode(this.config.cryptoKey, this.addressBuffer, payload);
68
- this.sendToDeviceQueued(data);
67
+ const data = plejdEncodeDecode(this.config.cryptoKey, addressBuffer, payload);
68
+ this.sendQueue.unshift(data);
69
69
  };
70
70
  configureBLE = () => {
71
71
  noble.on("stateChange", async (state) => {
72
72
  this.log.debug(`Noble State changed: ${state}`);
73
- if (state === "poweredOn") {
74
- this.log.info("Scanning for Plejd devices as we started...");
75
- await this.startScanning();
76
- }
73
+ await this.tryStartScanning();
77
74
  });
78
75
  noble.on("warning", (msg) => {
79
76
  this.log.warn("Noble warning: ", msg);
@@ -84,8 +81,8 @@ export class PlejdService {
84
81
  onDiscover = async (peripheral) => {
85
82
  this.log.info(`Discovered | ${peripheral.advertisement.localName} | addr: ${peripheral.address} | RSSI: ${peripheral.rssi} dB`);
86
83
  await noble.stopScanningAsync();
87
- if (this.connected()) {
88
- await this.connectedPeripheral?.disconnectAsync();
84
+ if (this.storedPeripheralConnected()) {
85
+ this.tryDisconnect(this.connectedPeripheral);
89
86
  }
90
87
  try {
91
88
  await peripheral.connectAsync();
@@ -93,17 +90,15 @@ export class PlejdService {
93
90
  }
94
91
  catch (error) {
95
92
  this.log.error(`Connecting failed | ${peripheral.advertisement.localName} | addr: ${peripheral.address}) - err: ${error}`);
96
- await peripheral?.disconnectAsync();
93
+ await this.tryDisconnect(this.connectedPeripheral);
94
+ await this.tryDisconnect(peripheral);
97
95
  noble.reset();
98
- await this.startScanning();
96
+ await this.tryStartScanning();
99
97
  return;
100
98
  }
101
99
  this.connectedPeripheral = peripheral.once("disconnect", async () => {
102
100
  this.log.info("Disconnected from mesh");
103
- if (noble._state === "poweredOn") {
104
- this.log.info("Scanning for Plejd devices as we are disconnected from mesh...");
105
- await this.startScanning();
106
- }
101
+ await this.tryStartScanning();
107
102
  });
108
103
  let characteristics;
109
104
  try {
@@ -112,27 +107,15 @@ export class PlejdService {
112
107
  }
113
108
  catch (e) {
114
109
  this.log.error("Failed to discover characteristics, disconnecting. Error:", e);
115
- if (peripheral.state === "connected") {
116
- await peripheral.disconnectAsync();
117
- this.startScanning();
118
- }
119
- return;
120
- }
121
- if (!characteristics) {
122
- this.log.error("Error: No characteristics found, disconnecting and scanning again...");
123
- if (peripheral.state === "connected") {
124
- await peripheral.disconnectAsync();
125
- this.startScanning();
126
- }
110
+ await this.tryDisconnect(peripheral);
111
+ this.tryStartScanning();
127
112
  return;
128
113
  }
129
114
  await this.setupDevice(peripheral, characteristics);
130
- await this.handleQueuedMessages();
131
115
  };
132
116
  discoverCaracteristics = async (peripheral) => {
133
117
  const addr = peripheral.address;
134
118
  this.log.info(`Connected to mesh | ${peripheral.advertisement.localName} (addr: ${addr})`);
135
- this.addressBuffer = reverseBuffer(Buffer.from(String(addr).replace(/:/g, ""), "hex"));
136
119
  const services = [PlejdCharacteristics.Service];
137
120
  const characteristicIds = [
138
121
  PlejdCharacteristics.Data,
@@ -140,76 +123,65 @@ export class PlejdService {
140
123
  PlejdCharacteristics.Auth,
141
124
  PlejdCharacteristics.Ping,
142
125
  ];
143
- try {
144
- return (await peripheral.discoverSomeServicesAndCharacteristicsAsync(services, characteristicIds)).characteristics;
145
- }
146
- catch (error) {
147
- this.log.error(`Failed to setup device | ${peripheral.advertisement.localName} (addr: ${addr}) - err: ${error}`);
148
- return;
149
- }
126
+ const { characteristics } = await peripheral.discoverSomeServicesAndCharacteristicsAsync(services, characteristicIds);
127
+ return characteristics;
150
128
  };
151
129
  setupDevice = async (peripheral, characteristics) => {
152
130
  const authChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.Auth);
153
131
  const lastDataChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.LastData);
154
132
  const pingChar = characteristics.find((char) => char.uuid === PlejdCharacteristics.Ping);
155
- this.dataCharacteristic =
156
- peripheral?.services[0]?.characteristics?.find((char) => char.uuid === PlejdCharacteristics.Data) ?? null;
157
- if (!authChar || !lastDataChar || !pingChar) {
133
+ const dataChar = peripheral?.services[0]?.characteristics?.find((char) => char.uuid === PlejdCharacteristics.Data) ?? null;
134
+ if (!authChar || !lastDataChar || !pingChar || !dataChar) {
158
135
  this.log.error("Unable to extract characteristic during discovery", authChar, lastDataChar, pingChar);
159
136
  return;
160
137
  }
161
138
  await this.authenticate(authChar);
162
- await this.setupCommunication(pingChar, lastDataChar);
139
+ await this.setupCommunication(pingChar, lastDataChar, dataChar);
163
140
  };
164
- sendToDeviceQueued = async (data) => {
165
- this.sendQueue.unshift(data);
166
- if (this.sendQueue.length === 1) {
167
- await this.handleQueuedMessages();
141
+ handleQueuedMessages = (dataChar) => {
142
+ if (this.queueTimeout) {
143
+ clearTimeout(this.queueTimeout);
168
144
  }
169
- };
170
- handleQueuedMessages = async () => {
171
- while (this.sendQueue.length > 0 &&
172
- this.dataCharacteristic &&
173
- this.connected()) {
145
+ this.queueTimeout = setTimeout(async () => {
174
146
  const data = this.sendQueue.pop();
175
- if (!data) {
147
+ if (!data || !this.storedPeripheralConnected()) {
148
+ this.handleQueuedMessages(dataChar);
176
149
  return;
177
150
  }
178
- this.log.debug(`BLE command sent to ${this.addressBuffer?.toString("hex") ?? "Unknown"} | ${data.length} bytes | ${data.toString("hex")}`);
151
+ this.log.debug(`BLE command sent to ${this.getAddressBuffer()?.toString("hex") ?? "Unknown"} | ${data.length} bytes | ${data.toString("hex")}`);
179
152
  try {
180
- await this.dataCharacteristic.writeAsync(data, false);
153
+ await dataChar.writeAsync(data, false);
154
+ this.handleQueuedMessages(dataChar);
181
155
  }
182
156
  catch (error) {
183
- this.log.error("Failed to send data to device, will retry: ", error);
184
157
  this.sendQueue.unshift(data);
185
- return;
158
+ this.log.error("Failed to send data to device, will retry: ", error);
186
159
  }
187
- await delay(PLEJD_WRITE_TIMEOUT);
188
- }
160
+ }, PLEJD_WRITE_TIMEOUT);
189
161
  };
190
- startPlejdPing = async (pingChar) => {
191
- while (this.connected() && pingChar) {
192
- try {
193
- const ping = randomBytes(1);
194
- pingChar.writeAsync(ping, false);
195
- const pong = await pingChar.readAsync();
196
- if (((ping[0] + 1) & 0xff) !== pong[0]) {
197
- this.log.error("Ping pong communication failed, missing pong response");
162
+ startPlejdPing = (pingChar) => {
163
+ if (this.plejdTimeout) {
164
+ clearTimeout(this.plejdTimeout);
165
+ }
166
+ this.plejdTimeout = setTimeout(async () => {
167
+ if (pingChar) {
168
+ try {
169
+ const ping = randomBytes(1);
170
+ await pingChar.writeAsync(ping, false);
171
+ const pong = await pingChar.readAsync();
172
+ if (((ping[0] + 1) & 0xff) !== pong[0]) {
173
+ this.log.error("Ping pong communication failed, missing pong response");
174
+ }
175
+ this.startPlejdPing(pingChar);
176
+ }
177
+ catch (error) {
178
+ this.log.warn("Ping failed, device disconnected, will retry to connect to mesh: ", error);
198
179
  }
199
- await delay(PLEJD_PING_TIMEOUT);
200
- }
201
- catch (error) {
202
- this.log.warn("Ping failed, device disconnected, will retry to connect to mesh: ", error);
203
180
  }
204
- }
181
+ }, PLEJD_PING_TIMEOUT);
205
182
  };
206
- handleNotification = async (data, isNotification) => {
207
- if (!this.connected() ||
208
- !this.addressBuffer ||
209
- this.addressBuffer?.byteLength === 0) {
210
- return;
211
- }
212
- const decodedData = plejdEncodeDecode(this.config.cryptoKey, this.addressBuffer, data);
183
+ handleNotification = async (data, isNotification, addressBuffer) => {
184
+ const decodedData = plejdEncodeDecode(this.config.cryptoKey, addressBuffer, data);
213
185
  const id = parseInt(decodedData[0].toString(), 10);
214
186
  const command = decodedData.toString("hex", 3, 5);
215
187
  const isOn = parseInt(decodedData.toString("hex", 5, 6), 10) === 1;
@@ -254,23 +226,61 @@ export class PlejdService {
254
226
  }
255
227
  }
256
228
  };
257
- setupCommunication = async (pingChar, lastDataChar) => {
229
+ setupCommunication = async (pingChar, lastDataChar, dataChar) => {
258
230
  this.startPlejdPing(pingChar);
259
- await lastDataChar.subscribeAsync();
260
- lastDataChar.on("data", async (data, isNotification) => {
261
- if (!this.connected()) {
262
- await lastDataChar.unsubscribeAsync();
263
- return;
264
- }
265
- await this.handleNotification(data, isNotification);
266
- });
231
+ this.handleQueuedMessages(dataChar);
232
+ const addressBuffer = this.getAddressBuffer();
233
+ if (!addressBuffer) {
234
+ this.log.error("Failed to get address buffer", this.connectedPeripheral?.address);
235
+ return;
236
+ }
237
+ try {
238
+ await lastDataChar.subscribeAsync();
239
+ lastDataChar.on("data", async (data, isNotification) => {
240
+ if (!this.storedPeripheralConnected()) {
241
+ await lastDataChar.unsubscribeAsync();
242
+ return;
243
+ }
244
+ await this.handleNotification(data, isNotification, addressBuffer);
245
+ });
246
+ }
247
+ catch (e) {
248
+ this.log.error("Failed to subscribe to Plejd device", e);
249
+ }
267
250
  };
268
251
  authenticate = async (authChar) => {
269
- await authChar.writeAsync(Buffer.from([0x00]), false);
270
- const data = await authChar.readAsync();
271
- await authChar.writeAsync(plejdCharResp(this.config.cryptoKey, data), false);
252
+ try {
253
+ await authChar.writeAsync(Buffer.from([0x00]), false);
254
+ const data = await authChar.readAsync();
255
+ await authChar.writeAsync(plejdCharResp(this.config.cryptoKey, data), false);
256
+ }
257
+ catch (e) {
258
+ this.log.error("Failed to authenticate to Plejd device", e);
259
+ }
260
+ };
261
+ storedPeripheralConnected = () => this.connectedPeripheral !== null &&
262
+ this.connectedPeripheral.state === "connected";
263
+ tryStartScanning = async () => {
264
+ try {
265
+ if (noble._state === "poweredOn") {
266
+ this.log.info("Scanning for Plejd devices");
267
+ await noble.startScanningAsync([PlejdCharacteristics.Service], false);
268
+ }
269
+ }
270
+ catch (e) {
271
+ this.log.error("Failed to start scanning for Plejd devices", e);
272
+ }
273
+ };
274
+ tryDisconnect = async (peripheral) => {
275
+ try {
276
+ await peripheral?.disconnectAsync();
277
+ }
278
+ catch (e) {
279
+ this.log.debug("Failed to disconnect from previous peripheral", e);
280
+ }
272
281
  };
273
- connected = () => this.connectedPeripheral && this.connectedPeripheral.state === "connected";
274
- startScanning = async () => await noble.startScanningAsync([PlejdCharacteristics.Service], false);
282
+ getAddressBuffer = () => this.connectedPeripheral?.address
283
+ ? reverseBuffer(Buffer.from(String(this.connectedPeripheral?.address).replace(/:/g, ""), "hex"))
284
+ : null;
275
285
  }
276
286
  //# sourceMappingURL=plejdService.js.map
@@ -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/eslint.config.js CHANGED
@@ -2,10 +2,9 @@ import globals from "globals";
2
2
  import pluginJs from "@eslint/js";
3
3
  import tseslint from "typescript-eslint";
4
4
 
5
-
6
5
  export default [
7
- {files: ["**/*.{js,mjs,cjs,ts}"]},
8
- {languageOptions: { globals: globals.browser }},
6
+ { files: ["**/*.{js,mjs,cjs,ts}"] },
7
+ { languageOptions: { globals: globals.browser } },
9
8
  pluginJs.configs.recommended,
10
9
  ...tseslint.configs.recommended,
11
- ];
10
+ ];
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "displayName": "Plejd",
4
4
  "name": "homebridge-plejd",
5
5
  "author": "Herlix",
6
- "version": "1.4.8",
6
+ "version": "1.4.9",
7
7
  "description": "HomeKit support for the Plejd BLE platform using Homebridge",
8
8
  "license": "Apache-2.0",
9
9
  "type": "module",