@homebridge-plugins/homebridge-wemo 7.5.1 → 7.5.2
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/CHANGELOG.md +6 -0
- package/lib/platform.js +19 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@homebridge-plugins/homebridge-wemo` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## v7.5.2 (2026-07-14)
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- fix: never pass the hidden wemo link accessory to the homebridge cache so saving no longer fails
|
|
10
|
+
|
|
5
11
|
## v7.5.1 (2026-07-12)
|
|
6
12
|
|
|
7
13
|
### Changed
|
package/lib/platform.js
CHANGED
|
@@ -415,8 +415,7 @@ export default class {
|
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
// Update the changes to the accessory to the platform
|
|
418
|
-
this.
|
|
419
|
-
devicesInHB.set(accessory.UUID, accessory)
|
|
418
|
+
this.saveAccessoryUpdate(accessory)
|
|
420
419
|
})
|
|
421
420
|
|
|
422
421
|
// Set up the listener server for device notifications
|
|
@@ -971,8 +970,7 @@ export default class {
|
|
|
971
970
|
)
|
|
972
971
|
|
|
973
972
|
// Update any changes to the accessory to the platform
|
|
974
|
-
this.
|
|
975
|
-
devicesInHB.set(uuidSub, subAcc)
|
|
973
|
+
this.saveAccessoryUpdate(subAcc)
|
|
976
974
|
} catch (err) {
|
|
977
975
|
// Catch any errors during the process
|
|
978
976
|
const eText = parseError(err)
|
|
@@ -1241,14 +1239,27 @@ export default class {
|
|
|
1241
1239
|
}
|
|
1242
1240
|
|
|
1243
1241
|
// Update any changes to the accessory to the platform
|
|
1244
|
-
this.
|
|
1245
|
-
devicesInHB.set(uuid, accessory)
|
|
1242
|
+
this.saveAccessoryUpdate(accessory)
|
|
1246
1243
|
} catch (err) {
|
|
1247
1244
|
// Catch any errors during the process
|
|
1248
1245
|
this.log.warn('[%s] %s %s.', device.friendlyName, platformLang.devNotInit, parseError(err))
|
|
1249
1246
|
}
|
|
1250
1247
|
}
|
|
1251
1248
|
|
|
1249
|
+
saveAccessoryUpdate(accessory) {
|
|
1250
|
+
// Persist any context/characteristic changes to Homebridge, then keep the
|
|
1251
|
+
// accessory in our in-memory map. Hidden accessories (the Wemo Link hub) are
|
|
1252
|
+
// deliberately never registered (see addAccessory), so they have no associated
|
|
1253
|
+
// plugin, and Homebridge 2 adds any accessory passed to
|
|
1254
|
+
// updatePlatformAccessories to its cached list, where every cache save then
|
|
1255
|
+
// fails to serialize it ('Cannot serialize accessory ...'). We still keep them
|
|
1256
|
+
// in devicesInHB so lookups continue to work.
|
|
1257
|
+
if (!accessory.context.hidden) {
|
|
1258
|
+
this.api.updatePlatformAccessories([accessory])
|
|
1259
|
+
}
|
|
1260
|
+
devicesInHB.set(accessory.UUID, accessory)
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1252
1263
|
addAccessory(device, isPri, hidden = false) {
|
|
1253
1264
|
const accName = device.friendlyName || device.deviceId || device.serialNumber
|
|
1254
1265
|
try {
|
|
@@ -1328,8 +1339,7 @@ export default class {
|
|
|
1328
1339
|
|
|
1329
1340
|
// Remove the accessory from the pending connection list
|
|
1330
1341
|
existSerialsToConnect = existSerialsToConnect.filter(el => el !== deviceData.serialNumber)
|
|
1331
|
-
this.
|
|
1332
|
-
devicesInHB.set(accessory.UUID, accessory)
|
|
1342
|
+
this.saveAccessoryUpdate(accessory)
|
|
1333
1343
|
}
|
|
1334
1344
|
|
|
1335
1345
|
disableUPNP(accessory, err) {
|
|
@@ -1343,8 +1353,7 @@ export default class {
|
|
|
1343
1353
|
existSerialsToConnect.push(accessory.context.serialNumber)
|
|
1344
1354
|
|
|
1345
1355
|
// Update any changes to the accessory to the platform
|
|
1346
|
-
this.
|
|
1347
|
-
devicesInHB.set(accessory.UUID, accessory)
|
|
1356
|
+
this.saveAccessoryUpdate(accessory)
|
|
1348
1357
|
|
|
1349
1358
|
// Perform a http poll to see if the device is still reachable
|
|
1350
1359
|
if (accessory.control?.requestDeviceUpdate) {
|
package/package.json
CHANGED