homebridge-myleviton 3.7.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
  [![Tests](https://github.com/tbaur/homebridge-myleviton/actions/workflows/test.yml/badge.svg)](https://github.com/tbaur/homebridge-myleviton/actions/workflows/test.yml)
4
4
  [![npm version](https://img.shields.io/npm/v/homebridge-myleviton?style=flat-square)](https://www.npmjs.com/package/homebridge-myleviton)
5
5
  [![npm downloads](https://img.shields.io/npm/dt/homebridge-myleviton?style=flat-square)](https://www.npmjs.com/package/homebridge-myleviton)
6
- [![Node.js](https://img.shields.io/badge/node-%3E%3D20-green)](https://nodejs.org)
6
+ [![Node.js](https://img.shields.io/badge/node-22%20%7C%7C%2024%20%7C%7C%2026-green)](https://nodejs.org)
7
7
  [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=flat)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
8
- [![Homebridge](https://img.shields.io/badge/homebridge-%3E%3D1.6.0-purple)](https://homebridge.io)
8
+ [![Homebridge](https://img.shields.io/badge/homebridge-2.x-purple)](https://homebridge.io)
9
9
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
10
10
 
11
11
  Control your **My Leviton Decora Smart** WiFi devices through Apple HomeKit using Homebridge.
@@ -124,8 +124,8 @@ The plugin itself talks to Leviton over TLS only (`https`/`wss`), redacts passwo
124
124
 
125
125
  ## Requirements
126
126
 
127
- - Homebridge 1.6.0+ or 2.0+
128
- - Node.js 20+
127
+ - Homebridge 2.x
128
+ - Node.js 22, 24, or 26
129
129
  - My Leviton account with registered devices
130
130
 
131
131
  ## More Info
@@ -33,6 +33,7 @@ export declare const PERSISTENCE_FILE_NAME = ".homebridge-myleviton-state.json";
33
33
  * Stores device states for faster startup and offline resilience
34
34
  */
35
35
  export declare class DevicePersistence {
36
+ /** Undefined when Homebridge gave us no storage directory; see the constructor. */
36
37
  private readonly storagePath;
37
38
  private readonly maxAge;
38
39
  private readonly maxDevices;
@@ -40,7 +41,17 @@ export declare class DevicePersistence {
40
41
  private deviceStates;
41
42
  private loaded;
42
43
  private dirty;
44
+ /**
45
+ * @param storagePath Absolute path inside the Homebridge storage directory.
46
+ * When omitted, persistence is disabled rather than relocated: Homebridge
47
+ * requires plugin files to live under its storage directory, and the old
48
+ * fallback to `$HOME` or `/tmp` put a world-writable path in the load path,
49
+ * where another local user could pre-create the file we parse at boot.
50
+ * The in-memory cache still works for the life of the process.
51
+ */
43
52
  constructor(storagePath?: string, config?: Partial<PersistenceConfig>);
53
+ /** True when state can actually be read from and written to disk. */
54
+ get isEnabled(): boolean;
44
55
  /**
45
56
  * Load persisted device states from disk
46
57
  */
@@ -96,7 +107,8 @@ export declare class DevicePersistence {
96
107
  deviceCount: number;
97
108
  loaded: boolean;
98
109
  dirty: boolean;
99
- storagePath: string;
110
+ storagePath: string | undefined;
111
+ enabled: boolean;
100
112
  };
101
113
  }
102
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/api/persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAmB,YAAY,EAAE,MAAM,UAAU,CAAA;AAEnF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,iBAAiB,CAGjE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AAEvE;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2B;IAEnD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;gBAET,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAWzE;;OAEG;IACH,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAuCzC;;OAEG;IACH,IAAI,IAAI,OAAO;IAsCf;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAgB1E;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAO9D;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAKxD;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAc,GAAG,OAAO;IAQ9D;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAWtD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAKlD;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,QAAQ,IAAI;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,OAAO,CAAA;QACf,KAAK,EAAE,OAAO,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;KACpB;CAQF;AAQD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACtC,iBAAiB,CAKnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/api/persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAmB,YAAY,EAAE,MAAM,UAAU,CAAA;AAEnF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,iBAAiB,CAGjE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AAEvE;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2B;IAEnD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;IAErB;;;;;;;OAOG;gBACS,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAezE,qEAAqE;IACrE,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;IA4CzC;;OAEG;IACH,IAAI,IAAI,OAAO;IA4Cf;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAgB1E;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAO9D;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAKxD;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAc,GAAG,OAAO;IAQ9D;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAWtD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAKlD;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,QAAQ,IAAI;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,OAAO,CAAA;QACf,KAAK,EAAE,OAAO,CAAA;QACd,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,OAAO,EAAE,OAAO,CAAA;KACjB;CASF;AAQD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACtC,iBAAiB,CAKnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -45,7 +45,6 @@ exports.DevicePersistence = exports.PERSISTENCE_FILE_NAME = exports.DEFAULT_PERS
45
45
  exports.getDevicePersistence = getDevicePersistence;
46
46
  exports.resetGlobalPersistence = resetGlobalPersistence;
47
47
  const fs = __importStar(require("fs"));
48
- const path = __importStar(require("path"));
49
48
  const sanitizers_1 = require("../utils/sanitizers");
50
49
  /**
51
50
  * Default persistence configuration
@@ -63,6 +62,7 @@ exports.PERSISTENCE_FILE_NAME = '.homebridge-myleviton-state.json';
63
62
  * Stores device states for faster startup and offline resilience
64
63
  */
65
64
  class DevicePersistence {
65
+ /** Undefined when Homebridge gave us no storage directory; see the constructor. */
66
66
  storagePath;
67
67
  maxAge;
68
68
  maxDevices;
@@ -70,12 +70,28 @@ class DevicePersistence {
70
70
  deviceStates = new Map();
71
71
  loaded = false;
72
72
  dirty = false;
73
+ /**
74
+ * @param storagePath Absolute path inside the Homebridge storage directory.
75
+ * When omitted, persistence is disabled rather than relocated: Homebridge
76
+ * requires plugin files to live under its storage directory, and the old
77
+ * fallback to `$HOME` or `/tmp` put a world-writable path in the load path,
78
+ * where another local user could pre-create the file we parse at boot.
79
+ * The in-memory cache still works for the life of the process.
80
+ */
73
81
  constructor(storagePath, config = {}) {
74
82
  const merged = { ...exports.DEFAULT_PERSISTENCE_CONFIG, ...config };
75
- this.storagePath = storagePath || path.join(process.env.HOME || '/tmp', exports.PERSISTENCE_FILE_NAME);
83
+ this.storagePath = storagePath;
76
84
  this.maxAge = merged.maxAge ?? 24 * 60 * 60 * 1000;
77
85
  this.maxDevices = merged.maxDevices ?? 200;
78
86
  this.onWarn = merged.onWarn;
87
+ if (!this.storagePath) {
88
+ this.onWarn?.('Homebridge did not provide a storage directory, so device state will not persist '
89
+ + 'across restarts. Caching still works for this session.');
90
+ }
91
+ }
92
+ /** True when state can actually be read from and written to disk. */
93
+ get isEnabled() {
94
+ return this.storagePath !== undefined;
79
95
  }
80
96
  /**
81
97
  * Load persisted device states from disk
@@ -84,6 +100,10 @@ class DevicePersistence {
84
100
  if (this.loaded) {
85
101
  return this.deviceStates;
86
102
  }
103
+ if (!this.storagePath) {
104
+ this.loaded = true;
105
+ return this.deviceStates;
106
+ }
87
107
  try {
88
108
  if (fs.existsSync(this.storagePath)) {
89
109
  const data = fs.readFileSync(this.storagePath, 'utf8');
@@ -119,6 +139,9 @@ class DevicePersistence {
119
139
  * Save device states to disk
120
140
  */
121
141
  save() {
142
+ if (!this.storagePath) {
143
+ return false;
144
+ }
122
145
  if (!this.dirty && this.loaded) {
123
146
  return true; // Nothing to save
124
147
  }
@@ -140,9 +163,11 @@ class DevicePersistence {
140
163
  timestamp: Date.now(),
141
164
  devices,
142
165
  }, null, 2);
143
- // Write atomically using temp file
166
+ // Write atomically using temp file. The mode is explicit because rename
167
+ // carries it onto the live file, so the default umask would decide who
168
+ // can read the device inventory.
144
169
  const tempPath = `${this.storagePath}.tmp`;
145
- fs.writeFileSync(tempPath, data, 'utf8');
170
+ fs.writeFileSync(tempPath, data, { encoding: 'utf8', mode: 0o600 });
146
171
  fs.renameSync(tempPath, this.storagePath);
147
172
  this.dirty = false;
148
173
  return true;
@@ -226,6 +251,9 @@ class DevicePersistence {
226
251
  clear() {
227
252
  this.deviceStates.clear();
228
253
  this.dirty = true;
254
+ if (!this.storagePath) {
255
+ return;
256
+ }
229
257
  try {
230
258
  if (fs.existsSync(this.storagePath)) {
231
259
  fs.unlinkSync(this.storagePath);
@@ -263,6 +291,7 @@ class DevicePersistence {
263
291
  loaded: this.loaded,
264
292
  dirty: this.dirty,
265
293
  storagePath: this.storagePath,
294
+ enabled: this.isEnabled,
266
295
  };
267
296
  }
268
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/api/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/api/persistence.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
@@ -379,7 +379,10 @@ class LevitonWebSocket {
379
379
  this.timers.push(timer);
380
380
  return;
381
381
  }
382
- const delay = Math.min(this.config.initialReconnectDelay * Math.pow(2, this.reconnectAttempt), this.config.maxReconnectDelay);
382
+ // Jittered so that several Homebridge instances on one Leviton account do
383
+ // not all reconnect on the same tick after an outage.
384
+ const backoff = Math.min(this.config.initialReconnectDelay * Math.pow(2, this.reconnectAttempt), this.config.maxReconnectDelay);
385
+ const delay = Math.round(backoff * (0.8 + Math.random() * 0.4));
383
386
  this.logger.info(`WebSocket reconnecting in ${Math.round(delay / 1000)}s (${this.reconnectAttempt + 1}/${this.config.maxReconnectAttempts})`);
384
387
  const timer = setTimeout(() => {
385
388
  this.removeTimer(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/api/websocket.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,20 @@ export declare class LevitonDecoraSmartPlatform {
169
169
  * Uses case-insensitive comparison for robustness
170
170
  */
171
171
  private findAccessoryByDevice;
172
+ /**
173
+ * Unregisters accessories whose device is no longer in the Leviton account.
174
+ *
175
+ * Without this the cached list only ever grows: a switch the user removes or
176
+ * replaces stays in HomeKit as a tile that never updates and whose taps fail.
177
+ *
178
+ * Only ever called with a complete, non-empty discovery result. A partial or
179
+ * empty response must not reach here, because treating it as authoritative
180
+ * would delete accessories that are merely temporarily missing — taking the
181
+ * user's rooms, scenes and automations with them.
182
+ *
183
+ * @returns Number of accessories removed
184
+ */
185
+ private removeOrphanedAccessories;
172
186
  /**
173
187
  * Removes an accessory from Homebridge cache and local tracking
174
188
  */
@@ -213,7 +227,7 @@ export declare class LevitonDecoraSmartPlatform {
213
227
  * Sets up a basic switch/outlet service
214
228
  */
215
229
  private setupBasicService;
216
- private getServiceByNameOrType;
230
+ private getServiceOfType;
217
231
  private syncServiceName;
218
232
  private syncExistingServiceNames;
219
233
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -167,7 +167,7 @@ class LevitonDecoraSmartPlatform {
167
167
  });
168
168
  // Setup device persistence
169
169
  const storagePath = api?.user?.storagePath?.()
170
- ? path.join(api.user.storagePath(), '.homebridge-myleviton-state.json')
170
+ ? path.join(api.user.storagePath(), persistence_1.PERSISTENCE_FILE_NAME)
171
171
  : undefined;
172
172
  this.devicePersistence = new persistence_1.DevicePersistence(storagePath, {
173
173
  onWarn: (msg) => this.log.warn(msg),
@@ -319,11 +319,15 @@ class LevitonDecoraSmartPlatform {
319
319
  newDevices++;
320
320
  }
321
321
  }
322
+ // Safe here and not earlier: discovery returned a non-empty device list,
323
+ // so anything still cached and unmatched really is gone from the account.
324
+ const removedCount = this.removeOrphanedAccessories(devices);
322
325
  this.lastCloudDeviceCount = devices.length;
323
326
  this.lastStatelessCount = statelessCount;
324
327
  this.lastExcludedCount = excludedCount;
325
328
  const controllableCount = devices.length - excludedCount - statelessCount;
326
- this.log.info(`Found ${devices.length} Leviton devices: ${controllableCount} controllable (${cachedCount} cached, ${newDevices} new), ${statelessCount} stateless skipped, ${excludedCount} excluded by config`);
329
+ const removedText = removedCount > 0 ? `, ${removedCount} removed` : '';
330
+ this.log.info(`Found ${devices.length} Leviton devices: ${controllableCount} controllable (${cachedCount} cached, ${newDevices} new), ${statelessCount} stateless skipped, ${excludedCount} excluded by config${removedText}`);
327
331
  // Start polling
328
332
  this.startPolling();
329
333
  this.discoveryComplete = true;
@@ -471,17 +475,22 @@ class LevitonDecoraSmartPlatform {
471
475
  // Get current brightness for change detection
472
476
  let currentBrightness;
473
477
  let newBrightness;
478
+ // Clamp to the range each characteristic actually advertises. A device
479
+ // can report a level above its own ceiling, and pushing that through
480
+ // makes HAP reject the value and log it on every WebSocket update.
474
481
  if (fanService) {
475
482
  // Fans allow 0 rotation speed
476
- newBrightness = Math.max(0, brightness);
477
- currentBrightness = fanService.getCharacteristic(hap.Characteristic.RotationSpeed).value;
478
- fanService.getCharacteristic(hap.Characteristic.RotationSpeed).updateValue(newBrightness);
483
+ const speedChar = fanService.getCharacteristic(hap.Characteristic.RotationSpeed);
484
+ newBrightness = (0, validators_1.clampLevel)(brightness, speedChar.props?.minValue ?? 0, speedChar.props?.maxValue ?? 100);
485
+ currentBrightness = speedChar.value;
486
+ speedChar.updateValue(newBrightness);
479
487
  }
480
488
  else if (lightService) {
481
489
  // Dimmers have minimum brightness of 1
482
- newBrightness = Math.max(1, brightness);
483
- currentBrightness = lightService.getCharacteristic(hap.Characteristic.Brightness).value;
484
- lightService.getCharacteristic(hap.Characteristic.Brightness).updateValue(newBrightness);
490
+ const brightnessChar = lightService.getCharacteristic(hap.Characteristic.Brightness);
491
+ newBrightness = (0, validators_1.clampLevel)(brightness, brightnessChar.props?.minValue ?? 1, brightnessChar.props?.maxValue ?? 100);
492
+ currentBrightness = brightnessChar.value;
493
+ brightnessChar.updateValue(newBrightness);
485
494
  }
486
495
  // No else — switches/outlets don't have brightness, just skip to power update
487
496
  // Log brightness change if different and not from recent HomeKit command
@@ -845,6 +854,39 @@ class LevitonDecoraSmartPlatform {
845
854
  return cachedSerial === deviceSerial;
846
855
  });
847
856
  }
857
+ /**
858
+ * Unregisters accessories whose device is no longer in the Leviton account.
859
+ *
860
+ * Without this the cached list only ever grows: a switch the user removes or
861
+ * replaces stays in HomeKit as a tile that never updates and whose taps fail.
862
+ *
863
+ * Only ever called with a complete, non-empty discovery result. A partial or
864
+ * empty response must not reach here, because treating it as authoritative
865
+ * would delete accessories that are merely temporarily missing — taking the
866
+ * user's rooms, scenes and automations with them.
867
+ *
868
+ * @returns Number of accessories removed
869
+ */
870
+ removeOrphanedAccessories(devices) {
871
+ const liveSerials = new Set(devices
872
+ .map(device => String(device.serial || '').trim().toUpperCase())
873
+ .filter(serial => serial.length > 0));
874
+ const orphans = this.accessories.filter((accessory) => {
875
+ // The connectivity sensor is synthesized by the plugin, not discovered.
876
+ if (accessory.context?.connectivity) {
877
+ return false;
878
+ }
879
+ const serial = String(accessory.context?.device?.serial || '').trim().toUpperCase();
880
+ // An accessory with no serial cannot be matched against discovery, so it
881
+ // is left alone rather than deleted on a guess.
882
+ return serial.length > 0 && !liveSerials.has(serial);
883
+ });
884
+ for (const orphan of orphans) {
885
+ this.log.info(`Removing "${orphan.displayName}" — no longer in your My Leviton account`);
886
+ this.removeCachedAccessory(orphan);
887
+ }
888
+ return orphans.length;
889
+ }
848
890
  /**
849
891
  * Removes an accessory from Homebridge cache and local tracking
850
892
  */
@@ -979,7 +1021,7 @@ class LevitonDecoraSmartPlatform {
979
1021
  */
980
1022
  async setupLightbulbService(accessory, device) {
981
1023
  const serviceName = this.getHapDeviceName(device);
982
- const existingService = this.getServiceByNameOrType(accessory, hap.Service.Lightbulb, serviceName);
1024
+ const existingService = this.getServiceOfType(accessory, hap.Service.Lightbulb);
983
1025
  const fallbackStatus = existingService
984
1026
  ? this.getCurrentServiceStatus(existingService, hap.Characteristic.Brightness)
985
1027
  : undefined;
@@ -990,8 +1032,7 @@ class LevitonDecoraSmartPlatform {
990
1032
  const minBrightness = status.minLevel || 1;
991
1033
  const maxBrightness = status.maxLevel || 100;
992
1034
  // Ensure brightness is within valid range (0 is invalid for HomeKit Brightness which has minValue=1)
993
- const rawBrightness = typeof status.brightness === 'number' ? status.brightness : 0;
994
- const safeBrightness = rawBrightness < minBrightness ? minBrightness : rawBrightness;
1035
+ const safeBrightness = (0, validators_1.clampLevel)(status.brightness, minBrightness, maxBrightness);
995
1036
  // Setup On characteristic
996
1037
  // No 'get' handler — Homebridge returns the cached value set by updateValue(),
997
1038
  // which is kept current by WebSocket push updates and polling fallback.
@@ -1032,7 +1073,7 @@ class LevitonDecoraSmartPlatform {
1032
1073
  */
1033
1074
  async setupFanService(accessory, device) {
1034
1075
  const serviceName = this.getHapDeviceName(device);
1035
- const existingService = this.getServiceByNameOrType(accessory, hap.Service.Fan, serviceName);
1076
+ const existingService = this.getServiceOfType(accessory, hap.Service.Fan);
1036
1077
  const fallbackStatus = existingService
1037
1078
  ? this.getCurrentServiceStatus(existingService, hap.Characteristic.RotationSpeed)
1038
1079
  : undefined;
@@ -1045,21 +1086,27 @@ class LevitonDecoraSmartPlatform {
1045
1086
  onChar.removeAllListeners('set');
1046
1087
  onChar.on('set', this.createPowerSetter(device));
1047
1088
  onChar.updateValue(status.power === POWER_ON);
1048
- // Setup RotationSpeed characteristic - set props before value
1089
+ // Setup RotationSpeed characteristic
1049
1090
  // No 'get' handler — value kept current by WebSocket + polling via updateValue()
1091
+ //
1092
+ // minLevel is the device's dimming floor, not a step size: using it as
1093
+ // minStep would let HomeKit request only multiples of it and round every
1094
+ // speed in between away. As with Brightness above, the value is written
1095
+ // before the narrower props so a cached reading cannot fail validation.
1096
+ const maxSpeed = status.maxLevel || 100;
1050
1097
  const speedChar = service.getCharacteristic(hap.Characteristic.RotationSpeed);
1051
- speedChar.setProps({ minValue: 0, maxValue: status.maxLevel || 100, minStep: status.minLevel || 1 });
1098
+ speedChar.updateValue((0, validators_1.clampLevel)(status.brightness, 0, maxSpeed));
1099
+ speedChar.setProps({ minValue: 0, maxValue: maxSpeed, minStep: 1 });
1052
1100
  speedChar.removeAllListeners('get');
1053
1101
  speedChar.removeAllListeners('set');
1054
1102
  speedChar.on('set', this.createBrightnessSetter(device));
1055
- speedChar.updateValue(status.brightness || 0);
1056
1103
  }
1057
1104
  /**
1058
1105
  * Sets up a basic switch/outlet service
1059
1106
  */
1060
1107
  async setupBasicService(accessory, device, ServiceType) {
1061
1108
  const serviceName = this.getHapDeviceName(device);
1062
- const existingService = this.getServiceByNameOrType(accessory, ServiceType, serviceName);
1109
+ const existingService = this.getServiceOfType(accessory, ServiceType);
1063
1110
  const fallbackStatus = existingService
1064
1111
  ? this.getCurrentServiceStatus(existingService)
1065
1112
  : undefined;
@@ -1074,8 +1121,11 @@ class LevitonDecoraSmartPlatform {
1074
1121
  onChar.on('set', this.createPowerSetter(device));
1075
1122
  onChar.updateValue(status.power === POWER_ON);
1076
1123
  }
1077
- getServiceByNameOrType(accessory, ServiceType, serviceName) {
1078
- return accessory.getService(ServiceType, serviceName) || accessory.getService(ServiceType);
1124
+ // Homebridge's getService takes a single argument, so the name cannot narrow
1125
+ // this lookup. Accessories here carry one service per type, which is what
1126
+ // makes lookup by type sufficient.
1127
+ getServiceOfType(accessory, ServiceType) {
1128
+ return accessory.getService(ServiceType);
1079
1129
  }
1080
1130
  syncServiceName(service, serviceName) {
1081
1131
  service.setCharacteristic(hap.Characteristic.Name, serviceName);
@@ -1647,7 +1697,7 @@ function formatDiagnosticLine(report) {
1647
1697
  */
1648
1698
  function registerPlatform(homebridge) {
1649
1699
  hap = homebridge.hap;
1650
- homebridge.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, LevitonDecoraSmartPlatform, true);
1700
+ homebridge.registerPlatform(PLUGIN_NAME, PLATFORM_NAME, LevitonDecoraSmartPlatform);
1651
1701
  }
1652
1702
  exports.default = registerPlatform;
1653
1703
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -4,76 +4,60 @@
4
4
  * Licensed under the Apache License, Version 2.0
5
5
  * See LICENSE file for full license text
6
6
  *
7
- * @fileoverview Minimal Homebridge / HAP-NodeJS type surface used by the platform
7
+ * @fileoverview Homebridge / HAP-NodeJS types used by the platform
8
+ *
9
+ * These are aliases onto the real `homebridge` typings rather than local
10
+ * re-declarations. A hand-written surface cannot be checked against anything,
11
+ * so it silently drifts: the previous version modelled a fourth parameter on
12
+ * `registerPlatform` and a second on `getService` that Homebridge does not
13
+ * accept, and both were being passed and discarded at runtime. Aliasing means
14
+ * the compiler fails when Homebridge changes instead of when a user does.
8
15
  */
16
+ import type { API, Characteristic, CharacteristicProps, HAP, PlatformAccessory as HomebridgePlatformAccessory, Service, WithUUID } from 'homebridge';
9
17
  import type { DeviceInfo } from './index';
10
- /** Accessory context shape stored on Homebridge platform accessories. */
11
- export interface AccessoryContextShape {
18
+ /**
19
+ * Accessory context stored on Homebridge platform accessories.
20
+ *
21
+ * Declared as a type alias rather than an interface so it satisfies
22
+ * Homebridge's `UnknownContext` constraint, which requires an index signature.
23
+ */
24
+ export type AccessoryContextShape = {
12
25
  device?: DeviceInfo;
13
26
  connectivity?: boolean;
14
27
  /** @deprecated Legacy field scrubbed on load — never persisted by current versions. */
15
28
  token?: string;
16
- }
17
- /** HomeKit characteristic handle (subset used by this plugin). */
18
- export interface HAPCharacteristic {
19
- value: unknown;
20
- updateValue(value: unknown): HAPCharacteristic;
21
- on(event: 'get' | 'set', handler: (...args: unknown[]) => void): HAPCharacteristic;
22
- removeAllListeners(event?: string): HAPCharacteristic;
23
- setProps(props: Record<string, unknown>): HAPCharacteristic;
24
- }
25
- /** HomeKit service handle (subset used by this plugin). */
26
- export interface HAPService {
27
- displayName?: string;
28
- getCharacteristic(uuid: unknown): HAPCharacteristic;
29
- setCharacteristic(uuid: unknown, value: unknown): HAPService;
30
- addCharacteristic(uuid: unknown): HAPCharacteristic;
31
- testCharacteristic?(uuid: unknown): boolean;
32
- }
33
- /** Cached Homebridge platform accessory. */
34
- export interface PlatformAccessory {
35
- UUID: string;
36
- displayName: string;
37
- context: AccessoryContextShape;
38
- services?: HAPService[];
39
- getService(uuid: unknown, name?: string): HAPService | undefined;
40
- addService(serviceUuid: unknown, name?: string): HAPService;
41
- updateDisplayName?(name: string): void;
42
- _associatedHAPAccessory?: {
43
- displayName?: string;
44
- };
45
- }
46
- /** Homebridge API object passed to platform constructors. */
47
- export interface HomebridgeAPI {
48
- hap: HAPModule;
49
- platformAccessory: new (displayName: string, uuid: string) => PlatformAccessory;
50
- registerPlatformAccessories(plugin: string, platform: string, accessories: PlatformAccessory[]): void;
51
- unregisterPlatformAccessories(plugin: string, platform: string, accessories: PlatformAccessory[]): void;
52
- updatePlatformAccessories(accessories: PlatformAccessory[]): void;
53
- registerPlatform(plugin: string, platform: string, constructor: unknown, isolated?: boolean): void;
54
- on(event: 'didFinishLaunching' | 'shutdown', handler: () => void | Promise<void>): void;
55
- user?: {
56
- storagePath(): string;
57
- };
58
- }
59
- /** HAP-NodeJS Characteristic registry (dynamic keys plus enums used by this plugin). */
60
- export type HAPCharacteristicRegistry = Record<string, unknown> & {
61
- ContactSensorState: {
62
- CONTACT_DETECTED: number;
63
- CONTACT_NOT_DETECTED: number;
64
- };
65
- StatusFault: {
66
- NO_FAULT: number;
67
- GENERAL_FAULT: number;
68
- };
69
29
  };
70
- /** HAP-NodeJS module (subset — Service registry is dynamic). */
71
- export interface HAPModule {
72
- uuid: {
73
- generate(seed: string): string;
74
- };
75
- Service: Record<string, unknown>;
76
- Characteristic: HAPCharacteristicRegistry;
77
- Categories?: Record<string, unknown>;
78
- }
30
+ /** Range a characteristic advertises to HomeKit, as set by `setProps`. */
31
+ export type HAPCharacteristicProps = CharacteristicProps;
32
+ /** HomeKit characteristic handle. */
33
+ export type HAPCharacteristic = Characteristic;
34
+ /** HomeKit service handle. */
35
+ export type HAPService = Service;
36
+ /** Cached Homebridge platform accessory, carrying this plugin's context. */
37
+ export type PlatformAccessory = HomebridgePlatformAccessory<AccessoryContextShape>;
38
+ /** Homebridge API object passed to platform constructors. */
39
+ export type HomebridgeAPI = API;
40
+ /** HAP-NodeJS module handed to plugins as `api.hap`. */
41
+ export type HAPModule = HAP;
42
+ /** HAP-NodeJS Characteristic registry, i.e. the static side of the class. */
43
+ export type HAPCharacteristicRegistry = HAP['Characteristic'];
44
+ /**
45
+ * A service or characteristic identified the way Homebridge identifies one: by
46
+ * its constructor off the `api.hap` registry.
47
+ *
48
+ * Both are derived from the registry rather than written out, so they track
49
+ * whatever Homebridge actually exposes. The static form is deliberate — it is
50
+ * the shape `testCharacteristic` requires, and it is accepted everywhere the
51
+ * looser instance-constructor form is.
52
+ */
53
+ export type ServiceRef = WithUUID<HAP['Service']> & (new (displayName?: string, subtype?: string) => Service);
54
+ /**
55
+ * A characteristic constructor off `api.hap.Characteristic`, such as Brightness.
56
+ *
57
+ * HAP's own accessors disagree on the shape they want — `testCharacteristic`
58
+ * takes the static side, `getCharacteristic` takes a zero-argument constructor —
59
+ * so this intersects both. Every concrete registry entry satisfies both; only
60
+ * the abstract base class does not.
61
+ */
62
+ export type CharacteristicRef = WithUUID<HAPCharacteristicRegistry> & (new () => Characteristic);
79
63
  //# sourceMappingURL=hap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hap.d.ts","sourceRoot":"","sources":["../../src/types/hap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hap.d.ts","sourceRoot":"","sources":["../../src/types/hap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EACd,mBAAmB,EACnB,GAAG,EACH,iBAAiB,IAAI,2BAA2B,EAChD,OAAO,EACP,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AAExD,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAE9C,8BAA8B;AAC9B,MAAM,MAAM,UAAU,GAAG,OAAO,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,qBAAqB,CAAC,CAAA;AAElF,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,GAAG,CAAA;AAE/B,wDAAwD;AACxD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAA;AAE3B,6EAA6E;AAC7E,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAE7D;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GACpB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAA;AAEtF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAC3B,QAAQ,CAAC,yBAAyB,CAAC,GAAG,CAAC,UAAU,cAAc,CAAC,CAAA"}
package/dist/types/hap.js CHANGED
@@ -5,7 +5,14 @@
5
5
  * Licensed under the Apache License, Version 2.0
6
6
  * See LICENSE file for full license text
7
7
  *
8
- * @fileoverview Minimal Homebridge / HAP-NodeJS type surface used by the platform
8
+ * @fileoverview Homebridge / HAP-NodeJS types used by the platform
9
+ *
10
+ * These are aliases onto the real `homebridge` typings rather than local
11
+ * re-declarations. A hand-written surface cannot be checked against anything,
12
+ * so it silently drifts: the previous version modelled a fourth parameter on
13
+ * `registerPlatform` and a second on `getService` that Homebridge does not
14
+ * accept, and both were being passed and discarded at runtime. Aliasing means
15
+ * the compiler fails when Homebridge changes instead of when a user does.
9
16
  */
10
17
  Object.defineProperty(exports, "__esModule", { value: true });
11
18
  //# sourceMappingURL=hap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hap.js","sourceRoot":"","sources":["../../src/types/hap.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
1
+ {"version":3,"file":"hap.js","sourceRoot":"","sources":["../../src/types/hap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -39,9 +39,14 @@ export declare function sanitizeObject<T extends Record<string, unknown>>(obj: T
39
39
  */
40
40
  export declare function truncate(str: string, maxLength: number, suffix?: string): string;
41
41
  /**
42
- * Mask a token for logging (show first and last few characters)
42
+ * Fingerprint a token for logging.
43
+ *
44
+ * Emits a salted hash and a length rather than any part of the token itself.
45
+ * Showing the first and last characters, as this used to, spends real entropy
46
+ * for no diagnostic gain: telling two tokens apart across log lines is the
47
+ * only thing the value is needed for, and a hash does that.
43
48
  */
44
- export declare function maskToken(token: string, visibleChars?: number): string;
49
+ export declare function maskToken(token: string): string;
45
50
  /**
46
51
  * Create a safe preview of a response body for logging
47
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/utils/sanitizers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAYlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAaD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,MAAM,CAoBjF;AAqCD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAK/E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAKjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAoBhF"}
1
+ {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/utils/sanitizers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkBH;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAYlD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAaD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,MAAM,CAoBjF;AAqCD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAK/E;AAQD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAoBhF"}
@@ -18,6 +18,7 @@ exports.truncate = truncate;
18
18
  exports.maskToken = maskToken;
19
19
  exports.createResponsePreview = createResponsePreview;
20
20
  exports.sanitizeStackTrace = sanitizeStackTrace;
21
+ const node_crypto_1 = require("node:crypto");
21
22
  /**
22
23
  * Patterns for sensitive data that should be redacted
23
24
  */
@@ -155,13 +156,28 @@ function truncate(str, maxLength, suffix = '...') {
155
156
  return str.substring(0, maxLength - suffix.length) + suffix;
156
157
  }
157
158
  /**
158
- * Mask a token for logging (show first and last few characters)
159
+ * Per-process salt so a fingerprint cannot be matched against a token that
160
+ * leaked from somewhere else, or correlated across restarts.
159
161
  */
160
- function maskToken(token, visibleChars = 4) {
161
- if (token.length <= visibleChars * 2) {
162
+ const TOKEN_FINGERPRINT_SALT = (0, node_crypto_1.randomBytes)(16);
163
+ /**
164
+ * Fingerprint a token for logging.
165
+ *
166
+ * Emits a salted hash and a length rather than any part of the token itself.
167
+ * Showing the first and last characters, as this used to, spends real entropy
168
+ * for no diagnostic gain: telling two tokens apart across log lines is the
169
+ * only thing the value is needed for, and a hash does that.
170
+ */
171
+ function maskToken(token) {
172
+ if (token.length === 0) {
162
173
  return '***';
163
174
  }
164
- return `${token.substring(0, visibleChars)}...${token.substring(token.length - visibleChars)}`;
175
+ const fingerprint = (0, node_crypto_1.createHash)('sha256')
176
+ .update(TOKEN_FINGERPRINT_SALT)
177
+ .update(token)
178
+ .digest('hex')
179
+ .substring(0, 8);
180
+ return `***${fingerprint}(len=${token.length})`;
165
181
  }
166
182
  /**
167
183
  * Create a safe preview of a response body for logging
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.js","sourceRoot":"","sources":["../../src/utils/sanitizers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitizers.js","sourceRoot":"","sources":["../../src/utils/sanitizers.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,15 @@ export declare function validatePowerState(power: unknown): PowerState;
36
36
  * Validate brightness value (0-100)
37
37
  */
38
38
  export declare function validateBrightness(brightness: unknown): number;
39
+ /**
40
+ * Clamp a device-reported level into the range a characteristic advertises.
41
+ *
42
+ * Leviton reports levels against its own floor and ceiling, which do not always
43
+ * agree with the props HomeKit was given — a device reporting 100 against a
44
+ * maxLevel of 80 makes HAP reject the value and log it on every update. A
45
+ * non-finite reading falls back to the low bound rather than reaching HomeKit.
46
+ */
47
+ export declare function clampLevel(value: unknown, min: number, max: number): number;
39
48
  /**
40
49
  * Validate plugin configuration
41
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAiBzD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmBpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAc1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAoBpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAetD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAK7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAc9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAgI7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAK7E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAQxE"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAiBzD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmBpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAc1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAoBpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAetD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAK7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAc9D;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAgI7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAK7E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAQxE"}
@@ -15,6 +15,7 @@ exports.validateSerial = validateSerial;
15
15
  exports.validateToken = validateToken;
16
16
  exports.validatePowerState = validatePowerState;
17
17
  exports.validateBrightness = validateBrightness;
18
+ exports.clampLevel = clampLevel;
18
19
  exports.validateConfig = validateConfig;
19
20
  exports.assertDefined = assertDefined;
20
21
  exports.validateNonEmptyArray = validateNonEmptyArray;
@@ -140,6 +141,20 @@ function validateBrightness(brightness) {
140
141
  }
141
142
  return Math.round(brightness);
142
143
  }
144
+ /**
145
+ * Clamp a device-reported level into the range a characteristic advertises.
146
+ *
147
+ * Leviton reports levels against its own floor and ceiling, which do not always
148
+ * agree with the props HomeKit was given — a device reporting 100 against a
149
+ * maxLevel of 80 makes HAP reject the value and log it on every update. A
150
+ * non-finite reading falls back to the low bound rather than reaching HomeKit.
151
+ */
152
+ function clampLevel(value, min, max) {
153
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
154
+ return min;
155
+ }
156
+ return Math.min(max, Math.max(min, value));
157
+ }
143
158
  /**
144
159
  * Validate plugin configuration
145
160
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-myleviton",
3
3
  "displayName": "Homebridge My Leviton",
4
- "version": "3.7.9",
4
+ "version": "4.0.0",
5
5
  "description": "A homebridge plugin for My Leviton Decora Smart devices",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -46,14 +46,15 @@
46
46
  "@typescript-eslint/parser": "^8.51.0",
47
47
  "eslint": "^10.7.0",
48
48
  "globals": "^17.7.0",
49
+ "homebridge": "^2.1.0",
49
50
  "jest": "^30.4.2",
50
51
  "nock": "^14.0.16",
51
52
  "ts-jest": "29.4.12",
52
53
  "typescript": "^6.0.3"
53
54
  },
54
55
  "engines": {
55
- "homebridge": "^1.6.0 || ^2.0.0",
56
- "node": ">=20.0.0"
56
+ "homebridge": "^2.0.0",
57
+ "node": "^22 || ^24 || ^26"
57
58
  },
58
59
  "scripts": {
59
60
  "build": "tsc",
@@ -62,8 +63,8 @@
62
63
  "prepublishOnly": "npm run clean && npm run build",
63
64
  "test": "NODE_ENV=test jest --coverage",
64
65
  "test:watch": "NODE_ENV=test jest --watch",
65
- "test:unit": "NODE_ENV=test jest --coverage --testPathPattern=tests/unit",
66
- "test:integration": "NODE_ENV=test jest --testPathPattern=tests/integration --collectCoverage=false",
66
+ "test:unit": "NODE_ENV=test jest --coverage --testPathPatterns=tests/unit",
67
+ "test:integration": "NODE_ENV=test jest --testPathPatterns=tests/integration --collectCoverage=false",
67
68
  "lint": "eslint . --ignore-pattern node_modules --ignore-pattern dist --ignore-pattern coverage",
68
69
  "lint:fix": "eslint . --fix --ignore-pattern node_modules --ignore-pattern dist --ignore-pattern coverage"
69
70
  },