@homebridge-plugins/homebridge-wemo 7.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +809 -0
  2. package/LICENSE +21 -0
  3. package/README.md +66 -0
  4. package/config.schema.json +814 -0
  5. package/eslint.config.js +50 -0
  6. package/lib/connection/http.js +174 -0
  7. package/lib/connection/upnp.js +155 -0
  8. package/lib/device/coffee.js +167 -0
  9. package/lib/device/crockpot.js +380 -0
  10. package/lib/device/dimmer.js +280 -0
  11. package/lib/device/heater.js +416 -0
  12. package/lib/device/humidifier.js +379 -0
  13. package/lib/device/index.js +39 -0
  14. package/lib/device/insight.js +353 -0
  15. package/lib/device/lightswitch.js +154 -0
  16. package/lib/device/link-bulb.js +467 -0
  17. package/lib/device/link-hub.js +63 -0
  18. package/lib/device/maker-garage.js +426 -0
  19. package/lib/device/maker-switch.js +202 -0
  20. package/lib/device/motion.js +148 -0
  21. package/lib/device/outlet.js +148 -0
  22. package/lib/device/purifier.js +468 -0
  23. package/lib/device/simulation/purifier-insight.js +357 -0
  24. package/lib/device/simulation/purifier.js +159 -0
  25. package/lib/device/simulation/switch-insight.js +315 -0
  26. package/lib/device/simulation/switch.js +154 -0
  27. package/lib/fakegato/LICENSE +21 -0
  28. package/lib/fakegato/fakegato-history.js +814 -0
  29. package/lib/fakegato/fakegato-storage.js +108 -0
  30. package/lib/fakegato/fakegato-timer.js +125 -0
  31. package/lib/fakegato/uuid.js +27 -0
  32. package/lib/homebridge-ui/public/index.html +315 -0
  33. package/lib/homebridge-ui/server.js +10 -0
  34. package/lib/index.js +8 -0
  35. package/lib/platform.js +1423 -0
  36. package/lib/utils/colour.js +135 -0
  37. package/lib/utils/constants.js +129 -0
  38. package/lib/utils/eve-chars.js +130 -0
  39. package/lib/utils/functions.js +52 -0
  40. package/lib/utils/lang-en.js +125 -0
  41. package/package.json +70 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,809 @@
1
+ # Change Log
2
+
3
+ All notable changes to homebridge-wemo will be documented in this file.
4
+
5
+ ## 7.0.0 (2024-03-22)
6
+
7
+ ### Changed
8
+
9
+ - Fixed for `hap-nodejs` v1.0.0
10
+ - Updated dependencies
11
+ - Bump `node` recommended versions to v18.20.7 or v20.19.0 or v22.14.0
12
+ - Updated `eslint` and use new code style
13
+
14
+ ### Fixed
15
+
16
+ - Setup issues with Wemo Link devices
17
+
18
+ ### Removed
19
+
20
+ - Support for node 16
21
+
22
+ ## 6.1.2 (2023-09-18)
23
+
24
+ ⚠️ Note this will be the last version of the plugin to support Node 16.
25
+ - Node 16 moves to 'end of life' on 2023-09-11 ([more info](https://nodejs.org/en/blog/announcements/nodejs16-eol))
26
+ - This is in-line with the Homebridge guidelines on supporting node versions ([more info](https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js/))
27
+ - If you are currently using Node 16, now is a good time to upgrade to Node 18 or 20 (see the link above for more info)
28
+
29
+ ### Changed
30
+
31
+ - Bump `node` supported versions to v16.20.1 or v18.17.1 or v20.7.0
32
+
33
+ ### Fixed
34
+
35
+ - Properly ignore serial numbers if they aren't already in upper case
36
+
37
+ ## 6.1.1 (2023-08-28)
38
+
39
+ ### Changed
40
+
41
+ - Updated dependencies
42
+
43
+ ### Fixed
44
+
45
+ - Show config option `outletInUseTrue` even when `showAs` is not selected
46
+
47
+ ## 6.1.0 (2023-06-17)
48
+
49
+ ### Added
50
+
51
+ - Configuration option to force enable a Wemo Insight to always show outlet in use to true
52
+
53
+ ### Changed
54
+
55
+ - Bump `node` supported versions to v16.20.0 or v18.16.0 or v20.1.0
56
+ - Updated dependencies
57
+
58
+ ## 6.0.4 (2023-05-01)
59
+
60
+ ### Changed
61
+
62
+ - README changes
63
+ - Dependency updates
64
+
65
+ ## 6.0.3 (2023-04-22)
66
+
67
+ ### Changed
68
+
69
+ - Update dependencies
70
+ - Bump `node` supported versions to v16.20.0 or v18.16.0 or v20.0.0
71
+
72
+ ## 6.0.2 (2023-04-10)
73
+
74
+ ### Changed
75
+
76
+ - Bump `xml2js` dependency
77
+
78
+ ## 6.0.1 (2023-04-05)
79
+
80
+ ### Changed
81
+
82
+ - Simplify log welcome messages
83
+ - Bump `node` recommended versions to v16.20.0 or v18.15.0
84
+
85
+ ### Fixed
86
+
87
+ - Eve switch values for light switches
88
+
89
+ ## 6.0.0 (2023-03-11)
90
+
91
+ ### Breaking
92
+
93
+ - Remove official support for Node 14
94
+ - Remove option to disable plugin - this is now available in the Homebridge UI
95
+ - Remove option for debug logging - this will be enabled when using a beta version of the plugin
96
+ - Remove individual accessory logging options to simplify the config
97
+
98
+ ### Changed
99
+
100
+ - Bump `homebridge` recommended version to v1.6.0 or v2.0.0-beta
101
+ - Bump `node` recommended versions to v16.19.1 or v18.15.0
102
+
103
+ ## 5.0.5 (2022-10-16)
104
+
105
+ ### Changed
106
+
107
+ - Bump `node` recommended versions to v14.20.1 or v16.18.0 or v18.11.0
108
+ - Bump `axios` to v1.1.3
109
+
110
+ ## 5.0.4 (2022-09-25)
111
+
112
+ ### Changed
113
+
114
+ - Correct parameters for `updatePlatformAccessories()`
115
+ - Updated `homebridge` recommended version to v1.5.0
116
+ - Bump `node` recommended versions to v14.20.1 or v16.17.1
117
+ - Updated dev dependencies
118
+
119
+ ## 5.0.3 (2022-06-08)
120
+
121
+ ### Changed
122
+
123
+ - Bump `node` recommended versions to v14.19.3 or v16.15.1
124
+
125
+ ### Fixed
126
+
127
+ - Fix a Crockpot issue when plugin receives off value
128
+ - A potential issue showing errors in the logs
129
+
130
+ ## 5.0.2 (2022-05-28)
131
+
132
+ ### Changed
133
+
134
+ - More fixes and refactoring
135
+
136
+ ## 5.0.1 (2022-05-28)
137
+
138
+ ### Fixed
139
+
140
+ - An error message when initialising Wemo motion devices
141
+
142
+ ## 5.0.0 (2022-05-28)
143
+
144
+ ### Potentially Breaking Changes
145
+
146
+ ⚠️ The minimum required version of Homebridge is now v1.4.0
147
+ ⚠️ The minimum required version of Node is now v14
148
+
149
+ ### Changed
150
+
151
+ - Changed to ESM package
152
+ - Bump `ip` to v2.0.0
153
+ - Bump `node` recommended versions to v14.19.3 or v16.15.0
154
+
155
+ ## 4.7.3 (2022-04-29)
156
+
157
+ ### Changed
158
+
159
+ - Bump `axios` to v0.27.2
160
+ - Bump `node` recommended versions to v14.19.1 or v16.15.0
161
+
162
+ ### Fixed
163
+
164
+ - Node 18 `networkInterfaces` fix
165
+ - Note that Homebridge nor this plugin do not _officially_ support Node 18 until October 2022
166
+
167
+ ## 4.7.2 (2022-03-20)
168
+
169
+ ### Changed
170
+
171
+ - Bump `axios` to v0.26.1
172
+ - Bump `node` recommended versions to v14.19.1 or v16.14.2
173
+
174
+ ### Fixed
175
+
176
+ - Some fixes for Wemo Crockpot
177
+ - Accessory name logging on http receive device update failures
178
+
179
+ ## 4.7.1 (2022-02-27)
180
+
181
+ ### Changed
182
+
183
+ - Bump `axios` to v0.26.0
184
+ - Bump `node` recommended versions to v14.19.0 or v16.14.0
185
+
186
+ ## 4.7.0 (2022-02-08)
187
+
188
+ ### Added
189
+
190
+ - Support for `HumidifierB` model of Wemo Humidifiers
191
+
192
+ ### Fixed
193
+
194
+ - Characteristic warning for Wemo Humidifier
195
+
196
+ ## 4.6.0 (2022-01-28)
197
+
198
+ See ⚠️ for potentially breaking changes
199
+
200
+ ### Added
201
+
202
+ - Support for Wemo Coffee Maker
203
+ - Config option to hide device connection errors from the log
204
+
205
+ ### Changed
206
+
207
+ - ⚠️ Config option added to manually enable colour control for Wemo Link bulbs
208
+ - Some bulbs that don't support colour control seem to report that they incorrectly do
209
+ - Bump `axios` to v0.25.0
210
+ - Bump `homebridge` recommended version to v1.4.0
211
+
212
+ ### Fixed
213
+
214
+ - HomeKit 'No Response' issue with Wemo Maker
215
+ - Unsupported devices will now only show once in the log when first discovered
216
+
217
+ ## 4.5.4 (2022-01-13)
218
+
219
+ ### Changed
220
+
221
+ - Bump `node` recommended versions to v14.18.3 or v16.13.2
222
+
223
+ ### Fixed
224
+
225
+ - Plugin crash for older versions of Homebridge
226
+
227
+ ## 4.5.3 (2022-01-05)
228
+
229
+ ### Changed
230
+
231
+ - Bump `homebridge` recommended version to v1.3.9
232
+
233
+ ## 4.5.2 (2021-12-30)
234
+
235
+ ### Changed
236
+
237
+ - Plugin will log HAPNodeJS version on startup
238
+ - Default UPnP interval increased to `300` (5 minute interval)
239
+
240
+ ## 4.5.1 (2021-12-22)
241
+
242
+ ### Fixed
243
+
244
+ - Option to specify the subscription time for UPnP subscriptions, eero users _may_ benefit from increasing this value
245
+
246
+ ## 4.5.0 (2021-12-21)
247
+
248
+ ### Added
249
+
250
+ - Option to specify the subscription time for UPnP subscriptions, eero users _may_ benefit from increasing this value
251
+
252
+ ### Changed
253
+
254
+ - Moved commonly used configuration options out of the 'Optional Settings' section for easier access
255
+
256
+ ## 4.4.0 (2021-12-08)
257
+
258
+ See ⚠️ for breaking changes
259
+
260
+ ### Changed
261
+
262
+ - Allow a custom name for the Air Purifier since the device name in the Wemo app is not available to the plugin
263
+ - Bump `homebridge` recommended version to v1.3.8
264
+ - Bump `node` recommended versions to v14.18.2 or v16.13.1
265
+
266
+ ### Fixed
267
+
268
+ - Fixed a characteristic warning for the Air Purifier
269
+
270
+ ### Removed
271
+
272
+ - ⚠️ Removed the `manualDevices[]` config entry, the same functionality is available in the device-type specific sections
273
+
274
+ ## 4.3.0 (2021-11-18)
275
+
276
+ ### Added
277
+
278
+ - Colour support for supported Wemo bulbs
279
+ - Filter status information for Wemo Holmes Purifier
280
+
281
+ ### Fixed
282
+
283
+ - An `undefined` logging entry for the Wemo Insight
284
+
285
+ ## 4.2.6 (2021-10-31)
286
+
287
+ ### Changed
288
+
289
+ - Increase range of scanned ports from `49151` to `49159`
290
+ - Bump `node` recommended versions to v14.18.1 or v16.13.0
291
+ - Bump `axios` to v0.24.0
292
+
293
+ ## 4.2.5 (2021-10-20)
294
+
295
+ ### Changed
296
+
297
+ - Some small changes to Fakegato debug logging
298
+
299
+ ### Fixed
300
+
301
+ - An Eve app 'no data' gap for garage devices when restarting the plugin
302
+
303
+ ## 4.2.4 (2021-10-16)
304
+
305
+ ### Changed
306
+
307
+ - Recommended node versions bumped to v14.18.1 or v16.11.1
308
+ - Recommended Homebridge bumped to v1.3.5
309
+ - Bump `axios` to v0.23.0
310
+
311
+ ### Fixed
312
+
313
+ - An error when trying to unregister a hidden accessory from Homebridge
314
+
315
+ ## 4.2.3 (2021-10-03)
316
+
317
+ ### Changed
318
+
319
+ - Bump `axios` to v0.22.0
320
+
321
+ ## 4.2.2 (2021-09-30)
322
+
323
+ ### Fixed
324
+
325
+ - Increase UPnP subscription time to 130 seconds to fix instances of `412` error
326
+
327
+ ## 4.2.1 (2021-09-30)
328
+
329
+ ### Changed
330
+
331
+ - Recommended node versions bumped to v14.18.0 or v16.10.0
332
+
333
+ ## 4.2.0 (2021-09-28)
334
+
335
+ ### Added
336
+
337
+ - `wemoClient.callback_url` configuration option to override the UPnP callback URL
338
+
339
+ ### Changed
340
+
341
+ - UPnP callback url now uses the accessory UUID (not the UDN) so the plugin immediately knows which accessory a notification relates to
342
+
343
+ ## 4.1.6 (2021-09-09)
344
+
345
+ ### Changed
346
+
347
+ - `configureAccessory` function simplified to reduce chance of accessory cache retrieval failing
348
+ - Bump `axios` to v0.21.4
349
+
350
+ ## 4.1.5 (2021-09-05)
351
+
352
+ ### Changed
353
+
354
+ - Use `serialNumber` for accessory name if `friendlyName` not present
355
+ - Recommended node version bumped to v14.17.6
356
+ - Bump `axios` to v0.21.3
357
+
358
+ ## 4.1.4 (2021-08-22)
359
+
360
+ ### Changed
361
+
362
+ - Ignore `pywemo` virtual device type `urn:Belkin:device:switch:1`
363
+
364
+ ## 4.1.3 (2021-08-18)
365
+
366
+ ### Fixed
367
+
368
+ - Better handling of NodeSSDP `No sockets available, cannot start.` error
369
+
370
+ ## 4.1.2 (2021-08-17)
371
+
372
+ ### Fixed
373
+
374
+ - An unhandled rejection error when initialising Wemo Link
375
+
376
+ ## 4.1.1 (2021-08-12)
377
+
378
+ ### Changed
379
+
380
+ - **Platform Versions**
381
+ - Recommended node version bumped to v14.17.5
382
+
383
+ ### Fixed
384
+
385
+ - Fixed title of `debugNodeSSDP` setting (only visible in HOOBS)
386
+
387
+ ## 4.1.0 (2021-08-10)
388
+
389
+ ### Added
390
+
391
+ - **New Mode: `semi`**
392
+ - This mode will attempt to auto discover the devices you have configured in the settings and will ignore any discovered devices that aren't configured. This mode will also initialise manual devices you have configured.
393
+ - In this mode, the plugin will skip the discovery process whilst all devices have been found and haven't reported an error
394
+ - **UPnP & HTTP Polling Options**
395
+ - Global option to disable UPnP
396
+ - UPnP offers real-time notifications to the plugin on external changes, but can be problematic if your devices are on a different ip network or VLAN to your Homebridge instance
397
+ - HTTP Polling will be used if UPnP has been disabled
398
+ - Option to override choice of UPnP or HTTP polling per device
399
+ - HTTP polling interval configuration option
400
+ - **All Devices**
401
+ - A log warning and a hap error when controlling a device before it has been initially discovered
402
+ - **Wemo Links**
403
+ - New configuration section for Wemo Links, with options to manually specify an IP/URL and ignore the device (+ all subdevices)
404
+
405
+ ### Changed
406
+
407
+ - **UPnP & HTTP Polling**
408
+ - Controlling a device will be attempted regardless of the UPnP connection status if the plugin has cached IP and port info
409
+ - When the UPnP connection fails and reconnects, the plugin will no longer reinitialise the device as new. Instead, the subscriptions will restart with any updated IP and port information.
410
+ - UPnP subscription `setTimeout`s will be cancelled on Homebridge shutdown event
411
+ - Plugin will now properly unsubscribe from UPnP events on Homebridge shutdown event
412
+ - **Manual Mode**
413
+ - In `manual` mode, the plugin will skip the discovery process whilst all devices have been found and haven't reported an error
414
+ - **Logging**
415
+ - The dreaded `awaiting (re)connection` repeated message has been removed
416
+ - The plugin will continue to repeatedly log any devices that are awaiting initial discovery on plugin startup
417
+ - If an already-discovered device reports a HTTP/UPnP error in due course, the plugin will log the error **once**, and log again when the connection has been re-established
418
+ - **Wemo Dimmers**
419
+ - Some newer models of the Wemo Dimmer maybe don't support UPnP?
420
+ - The plugin will no longer automatically HTTP poll newer versions of these dimmer devices
421
+ - To re-enable the polling, set up an entry for your device in the configuration and change the 'Listener Type' to 'HTTP'
422
+ - **Wemo Crockpot**
423
+ - The polling interval will now adhere to the global 'Polling Interval' setting (rather than hard-coded 30 seconds)
424
+ - **Backend**
425
+ - Discovery increment count now resets from 3 to 0 to avoid manipulating large numbers over time
426
+ - Reduced UPnP subscription time from 150 to 120 seconds
427
+ - Some code refactoring
428
+
429
+ ### Fixed
430
+
431
+ - **Wemo Dimmers**
432
+ - When turning on, the plugin requests an updated brightness value, which if fails, will no longer affect the outcome of the original switch-on request
433
+
434
+ ### Deprecated
435
+
436
+ - Manual devices configuration section
437
+ - Please start to move any entries you have from the manual devices section to the appropriate device section
438
+ - Any entries in the manual devices section will continue to work (ie this is not a breaking change)
439
+
440
+ ## 4.0.0 (2021-07-29)
441
+
442
+ ### Added
443
+
444
+ - **Configuration**
445
+ - Plugin will now check for duplicate device ID entries in the config and ignore them
446
+
447
+ ### Changed
448
+
449
+ - ⚠️ **Platform Versions**
450
+ - Recommended node version bumped to v14.17.4
451
+ - Recommended homebridge version bumped to v1.3.4
452
+
453
+ ### Removed
454
+
455
+ - ⚠️ `ignoredDevices[]` configuration entry
456
+ - Devices can be ignored by entering a serial number in the relevant device section and ticking 'Hide From HomeKit'
457
+ - It is recommended to set up your ignored devices **before** updating to avoid losing your list of serial numbers
458
+
459
+ ## 3.4.2 (2021-07-27)
460
+
461
+ ### Fixed
462
+
463
+ - An issue preventing Wemo Outlets being exposed as `Switch` or `AirPurifier` types
464
+
465
+ ## 3.4.1 (2021-07-24)
466
+
467
+ ### Fixed
468
+
469
+ - Use new plugin alias in config schema file
470
+
471
+ ## 3.4.0 (2021-07-24)
472
+
473
+ ### Changed
474
+
475
+ - Plugin name from `homebridge-platform-wemo` to `homebridge-wemo`
476
+ - Plugin alias from `BelkinWeMo` to `Wemo`
477
+
478
+ ## 3.3.0 (2021-07-22)
479
+
480
+ ### Added
481
+
482
+ - **Plugin UI**
483
+ - A device can now be ignored/removed from Homebridge by the `ignoreDevice` setting in the device configuration sections
484
+ - Set a manual IP/URL for a device with the `manualIP` setting in the device configuration sections
485
+ - **Wemo Makers**
486
+ - Option to reverse the polarity of open and closed states of the sensor when exposed as a `Switch+ContactSensor`
487
+
488
+ ### Changed
489
+
490
+ - **Plugin UI**
491
+ - `label` field now appears first in the device configuration sections
492
+ - 'Network Settings' moved inside 'Optional Settings'
493
+
494
+ ### Fixed
495
+
496
+ - Logging status for the Wemo Maker sensor (when exposed as a Switch) was incorrectly reversed
497
+
498
+ ## 3.2.2 (2021-07-08)
499
+
500
+ ### Changes
501
+
502
+ - Revert node version bump to v14.17.3 (back to v14.17.2)
503
+
504
+ ## 3.2.1 (2021-07-07)
505
+
506
+ ### Fixed
507
+
508
+ - An issue initialising Wemo light switch devices ([#262](https://github.com/homebridge-plugins/homebridge-wemo/issues/262))
509
+
510
+ ## 3.2.0 (2021-07-07)
511
+
512
+ ### Added
513
+
514
+ - **Accessory Logging**
515
+ - `overrideLogging` setting per device type (to replace the removed `overrideDisabledLogging`), which can be set to (and will override the global device logging and debug logging settings):
516
+ - `"default"` to follow the global device update and debug logging setting for this accessory (default if setting not set)
517
+ - `"standard"` to enable device update logging but disable debug logging for this accessory
518
+ - `"debug"` to enable device update and debug logging for this accessory
519
+ - `"disable"` to disable device update and debug logging for this accessory
520
+ - **Wemo Outlets & Insights**
521
+ - More consistent settings to expose these devices as an _Outlet_ (default), _Switch_ or _AirPurifier_ accessory types
522
+ - **Wemo Bulbs**
523
+ - Transition time config option for brightness and colour temperature changes for Wemo Bulbs (via Link)
524
+ - Remove Adaptive Lighting feature from a device by setting the `adaptiveLightingShift` to `-1`
525
+ - **Node-SSDP**
526
+ - Added option to enable node-ssdp library debugging
527
+
528
+ ### Changed
529
+
530
+ - **Homebridge UI**
531
+ - More interactive Homebridge UI - device configuration will expand once device ID entered
532
+ - **Wemo Crockpot**
533
+ - Changed the cooking-time-remaining format in logs to HH:MM
534
+ - **Other**
535
+ - Small changes to the startup logging
536
+ - Recommended node version bump to v14.17.3
537
+
538
+ ### Fixed
539
+
540
+ - A `device.serviceList.service.forEach is not a function` log warning
541
+
542
+ ### Removed
543
+
544
+ - `ContactSensorState` and other unused characteristics removed from Wemo Maker's `GarageDoorOpener` service
545
+ - `OutletInUse` characteristic from Wemo Outlet (not Insight) as this value is always the same as the actual state
546
+ - `overrideDisabledLogging` setting for each accessory type (replaced with `overrideLogging` setting)
547
+ - `showAsSwitch` setting for Wemo Outlets (replaced with `showAs` setting)
548
+
549
+ ## 3.1.0 (2021-05-26)
550
+
551
+ ### Added
552
+
553
+ - Expose a Wemo Outlet as a _AirPurifier_ accessory type [[#257](https://github.com/homebridge-plugins/homebridge-wemo/issues/257)]
554
+
555
+ ### Changed
556
+
557
+ - Use `standard-prettier` code formatting
558
+ - Recommended node version bump to v14.17.0
559
+
560
+ ## 3.0.9 (2021-05-10)
561
+
562
+ ### Changed
563
+
564
+ - Reduce 'No Response' timeout to 2 seconds
565
+ - Update the correct corresponding characteristic after the 'No Response' timeout
566
+ - Ensure user is using at least Homebridge v1.3.0
567
+
568
+ ## 3.0.8 (2021-05-04)
569
+
570
+ ### Changed
571
+
572
+ - Update config schema title and description for 'Manual Devices'
573
+ - Accessory 'identify' function will now add an entry to the log
574
+ - Backend refactoring, function and variable name changes
575
+
576
+ ## 3.0.7 (2021-04-27)
577
+
578
+ ### Changed
579
+
580
+ - Display Wemo Insight 'on time' as HH:MM:SS in logs
581
+ - More consistent logging on device errors, and helpful info for common errors
582
+
583
+ ## 3.0.6 (2021-04-24)
584
+
585
+ ### Fixed
586
+
587
+ - Fix 'time on' and 'total consumption' calculations for Wemo Insights
588
+
589
+ ## 3.0.5 (2021-04-16)
590
+
591
+ ### Changed
592
+
593
+ - Update wiki links in the Homebridge plugin-ui
594
+
595
+ ### Fixed
596
+
597
+ - Fix characteristic NaN warning for `LastActivation`
598
+
599
+ ## 3.0.4 (2021-04-14)
600
+
601
+ ### Fixed
602
+
603
+ - Ensure 'No Response' is removed from Wemo Makers when discovered
604
+
605
+ ## 3.0.3 (2021-04-14)
606
+
607
+ ### Fixed
608
+
609
+ - Fixes a characteristic issue with Wemo Maker devices
610
+
611
+ ## 3.0.2 (2021-04-13)
612
+
613
+ ### Fixed
614
+
615
+ - Fix for `Cannot read property 'updateCharacteristic' of undefined` on plugin startup
616
+
617
+ ## 3.0.1 (2021-04-13)
618
+
619
+ ### Requirements
620
+
621
+ - **Homebridge Users**
622
+ - This plugin has a minimum requirement of Homebridge v1.3.3
623
+ - **HOOBS Users**
624
+ - This plugin has a minimum requirement of HOOBS v3.3.4
625
+
626
+ ### Added
627
+
628
+ - For auto-discovered devices and devices manually-defined with a full address for which the given port does not work, the port scanner will now check to see if a different port is working and setup the device using this new port
629
+ - On Homebridge restart, devices will show as 'No Response' until discovered
630
+ - 'No Response' messages for devices if controlled and unsuccessful (and this status will be reverted after 5 seconds)
631
+ - Debug log messages showing data sent to devices when controlled
632
+
633
+ ### Changed
634
+
635
+ - Use the new `.onGet`/`.onSet` methods available in Homebridge v1.3
636
+ - Logs will show IP and port on device initiation instead of mac address
637
+ - Updated plugin-ui 'Support' page links to match GitHub readme file
638
+ - Updated README to reflect minimum supported Homebridge/HOOBS and Node versions
639
+ - Updated recommended Node to v14.16.1
640
+
641
+ ## 2.15.2 (2021-03-21)
642
+
643
+ ### Changed
644
+
645
+ - More welcome messages
646
+ - Updated `plugin-ui-utils` dependency
647
+
648
+ ### Fixed
649
+
650
+ - Correct `debugFakegato` setting to type boolean
651
+
652
+ ## 2.15.1 (2021-03-17)
653
+
654
+ ### Changed
655
+
656
+ - Modified config schema to show titles/descriptions for non Homebridge UI users
657
+
658
+ ## 2.15.0 (2021-03-14)
659
+
660
+ ### Added
661
+
662
+ - Device's current state will be requested immediately when initialised into Homebridge
663
+ - Optional polling setting for newer **Wemo Dimmers** that don't automatically notify the plugin when the brightness is changed externally
664
+ - Optional 'timeout' setting for **Wemo Insight** to configure a minimum time between wattage log entries
665
+
666
+ ### Changed
667
+
668
+ - Open/close time setting for **Wemo Makers** will be hidden if device is set to expose as switch
669
+ - **Wemo Makers** no longer need 'dummy' contact sensor to view Eve history
670
+ - For this reason, the `exposeContactSensor` setting is now redundant and so has been removed
671
+ - Adaptive Lighting now requires Homebridge 1.3 release
672
+ - **Wemo Crockpot** polling interval will be stopped if Homebridge shuts down
673
+
674
+ ## 2.14.0 (2021-03-02)
675
+
676
+ ### Added
677
+
678
+ - A `label` setting per device group which has no effect except to help identify the device when editing the configuration
679
+ - [experimental] Expose a Contact Sensor service for your Wemo Maker (via the plugin settings, when configured as a Garage Door) to show more information in the Eve app, including:
680
+ - when the door was last open
681
+ - how many times it's been opened
682
+ - for how long the garage door was open each time
683
+
684
+ ### Changed
685
+
686
+ - Plugin will now check if a device is ignored by the device USN at an earlier stage of being discovered
687
+ - Updated minimum Node to v14.16.0
688
+
689
+ ## 2.13.0 (2021-02-17)
690
+
691
+ ### Added
692
+
693
+ - **Configuration**
694
+ - Explicitly enable device logging _per_ device if you have `disableDeviceLogging` set to `true`
695
+ - `brightnessStep` option to specify a brightness step in the Home app per Wemo Dimmer/Bulb
696
+ - `adaptiveLightingShift` option to offset the Adaptive Lighting values per Wemo Bulb
697
+ - Plugin-UI shows an status icon next to the reachability + shows device firmware
698
+ - In debug mode, the plugin will log each device's customised options when initialised
699
+
700
+ ### Changed
701
+
702
+ - Raised minimum Homebridge beta required for Adaptive Lighting to 1.3.0-beta.58
703
+ - Disable Adaptive Lighting if the plugin detects a significant colour change (i.e. controlled externally)
704
+
705
+ ### Fixed
706
+
707
+ - Fixes a uuid error when adding Insights to Homebridge
708
+
709
+ ## 2.12.0 (2021-02-13)
710
+
711
+ ### Added
712
+
713
+ - A queue for device loading to improve reliability for users with a lot of Wemo devices
714
+ - Configuration checks to highlight any unnecessary or incorrectly formatted settings you have
715
+ - Network Settings section to the Homebridge UI where you can configure the settings that were the `wemoClient` settings
716
+ - Links to 'Configuration' and 'Uninstall' wiki pages in the plugin-ui
717
+
718
+ ### Changed
719
+
720
+ - ⚠️ `disableDiscovery`, `noMotionTimer`, `doorOpenTimer` and `outletAsSwitch` settings no longer have any effect
721
+ - Adapted port scanning method which now checks the reachability of the `setup.xml` file
722
+ - Hide unused modes for `HeaterCooler` services for Wemo Heater, Dehumidifier, Purifier and Crockpot
723
+ - Error messages refactored to show the most useful information
724
+ - Updated minimum Homebridge to v1.1.7
725
+ - Updated minimum Node to v14.15.5
726
+ - Fakegato library formatting and simplification
727
+ - [Backend] Code refactoring
728
+
729
+ ## 2.11.0 (2021-02-01)
730
+
731
+ ### Changed
732
+
733
+ - **Configuration Changes**
734
+ - These changes are backwards compatible with existing setups
735
+ - New 'Wemo Outlets' section to define outlets to show as switches
736
+ - Removal of `removeByName` from the UI, this setting is still available manually
737
+ - Deprecation of the following settings:
738
+ - `disableDiscovery` - now has no effect
739
+ - `doorOpenTimer` - now configured per Wemo Maker device in the 'Wemo Makers' section
740
+ - `noMotionTimer` - now configured per Wemo Motion device in the 'Wemo Motions' section
741
+ - `outletAsSwitch` - now configured per Wemo Outlet device in the 'Wemo Outlets' section
742
+ - These deprecated settings have their own section in the plugin UI
743
+ - Clean up the plugin-ui by removing unnecessary descriptions
744
+
745
+ ### Fixed
746
+
747
+ - Properly catch exceptions on SSDP search errors
748
+ - Fixes a bug when initialising Garage Doors
749
+
750
+ ## 2.10.0 (2021-01-30)
751
+
752
+ ### Added
753
+
754
+ - New configuration option `mode` to choose between:
755
+ - `mode: "auto"` the plugin will auto-discover devices **and** configure manual devices (default if option not set)
756
+ - `mode: "manual"` the plugin will **only** configure manual devices
757
+ - Support for the Wemo Outdoor Plug
758
+ - [Experimental] Automatic port scan for manual devices
759
+ - Use a full address `http://192.168.1.X:49153/setup.xml` as before to fully configure a manual device
760
+ - Use an IP `192.168.1.X` to let the plugin scan between ports 49152 - 49155 and choose the correct port
761
+ - Set a custom `noMotionTimer` per Wemo motion device (NetCam/Motion Sensor)
762
+ - If this is not configured then the plugin will continue to use the global `noMotionTimer` setting per motion device
763
+ - If the global setting is not configured then the plugin will use the default of 60 seconds
764
+ - Cumulative `TotalConsumption` for Insight devices
765
+ - This changes the current method of resetting each day
766
+ - This can be reverted back to resetting each day in the plugin settings with the `showTodayTC` config option
767
+ - Set a custom `wattDiff` (wattage difference) for Insight devices - the plugin will not log consecutive wattage updates if the difference from the previous is less than this value (default: `0`)
768
+
769
+ ### Changed
770
+
771
+ - `discoveryInterval` now needs a minimum value of `15` and discovery cannot be disabled
772
+ - Existing configurations with lower value will be disregarded and `15` will be used
773
+ - The option of disabling the discovery interval has been removed as this interval is essential for correcting connection issues for all your Wemo devices
774
+ - Logging for manual devices that cause errors when loading (e.g. IP/port change)
775
+ - More consistent and clearer error logging
776
+ - Updated plugin-ui-utils dep and use new method to get cached accessories
777
+
778
+ ### Fixed
779
+
780
+ - Fixes an issue where the Insight would consistently log outlet-in-use between true and false
781
+
782
+ ## 2.9.1 (2021-01-21)
783
+
784
+ ### Changed
785
+
786
+ - Minimum Homebridge beta needed for Adaptive Lighting bumped to beta-46
787
+ - Fakegato logging disabled in Homebridge `debug` mode, can be explicitly enabled with `debugFakegato`
788
+ - Unsupported device types to show urn in logs
789
+
790
+ ### Fixed
791
+
792
+ - Fixes a 'multiple callback' issue with Fakegato history service
793
+
794
+ ## 2.9.0 (2021-01-14)
795
+
796
+ ### Added
797
+
798
+ - New configuration option `removeByName` to remove 'orphan' accessories from the cache
799
+ - (Backend) Gracefully close listener server and ssdp client on Homebridge shutdown
800
+ - Created CHANGELOG.md
801
+
802
+ ### Changed
803
+
804
+ - Modifications to the layout of the plugin settings screen
805
+ - Removal of maximum value for `number` types on plugin settings screen
806
+ - Remove `renewing subscription` log entries which appeared repetitively in plugin `debug` mode
807
+ - `subscription error` log entries will now always appear, not just when in plugin `debug` mode
808
+ - Changes to startup log messages
809
+ - Backend code changes