@homebridge-plugins/homebridge-wemo 7.7.1-beta.0 → 7.7.1-beta.1

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 CHANGED
@@ -12,6 +12,8 @@ All notable changes to `@homebridge-plugins/homebridge-wemo` will be documented
12
12
  - fix: send a colour change when only the saturation moves, and mend the al cleanup
13
13
  - fix: explain a port clash on the notification listener instead of crashing the bridge
14
14
  - fix: stop gating a few log lines on a debug setting that was never readable
15
+ - fix: keep an accessory when a device answers without its service list
16
+ - fix: cancel a garage door's settle timer when homebridge shuts down
15
17
 
16
18
  ## v7.7.0 (2026-08-02)
17
19
 
package/lib/platform.js CHANGED
@@ -531,6 +531,13 @@ export default class {
531
531
  if (accessory.control?.pollingInterval) {
532
532
  clearInterval(accessory.control.pollingInterval)
533
533
  }
534
+ // A garage door part-way through opening or closing has a timer waiting to
535
+ // write its settled state. That was left running, so it fired against a
536
+ // torn-down accessory and held the process open until it did.
537
+ if (accessory.control?.movingTimer) {
538
+ clearTimeout(accessory.control.movingTimer)
539
+ accessory.control.movingTimer = false
540
+ }
534
541
  if (accessory.client) {
535
542
  accessory.client.stopSubscriptions()
536
543
  }
@@ -842,10 +849,15 @@ export default class {
842
849
  }
843
850
  })
844
851
  } else {
845
- // Device has no services so is useless to Homebridge
846
- if (devicesInHB.has(uuid)) {
847
- this.removeAccessory(devicesInHB.get(uuid))
848
- }
852
+ // Device has no services so cannot be set up on this run.
853
+ //
854
+ // The cached accessory used to be unregistered here. A setup document
855
+ // that arrives truncated, or from a device part-way through a reboot,
856
+ // parses fine but has no serviceList - and one of those was enough to
857
+ // take the accessory out of HomeKit along with its room, its scenes and
858
+ // any automations using it. A later restart brings it back as a brand new
859
+ // accessory, so none of that comes back with it. Leave it alone: it shows
860
+ // as No Response until the device answers properly again.
849
861
  throw new Error(platformLang.noServices)
850
862
  }
851
863
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@homebridge-plugins/homebridge-wemo",
3
3
  "alias": "Wemo",
4
4
  "type": "module",
5
- "version": "7.7.1-beta.0",
5
+ "version": "7.7.1-beta.1",
6
6
  "description": "Homebridge plugin to integrate Wemo devices into HomeKit.",
7
7
  "author": {
8
8
  "name": "bwp91",