@homebridge-plugins/homebridge-wemo 7.0.1-beta.0 → 7.2.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/CHANGELOG.md CHANGED
@@ -2,7 +2,34 @@
2
2
 
3
3
  All notable changes to homebridge-wemo will be documented in this file.
4
4
 
5
- ## 7.0.0 (2025-03-22)
5
+ ## v7.2.0 (2025-07-13)
6
+
7
+ ### Notable Changes
8
+
9
+ - fix custom plugin config modal styles in ui 5
10
+ - fix eve characteristics for hb 2
11
+
12
+ ### Other Changes
13
+
14
+ - github repo maintenance
15
+ - add permissions to workflows
16
+ - improvements to the deprecate workflow
17
+
18
+ ## v7.1.0 (2025-07-12)
19
+
20
+ ⚠️ This plugin no longer officially supports Node `v16` and `v18`, however there is no reason why it shouldn't work on these versions.
21
+
22
+ ### Notable Changes
23
+
24
+ - set supported node versions to `v20`, `v22` and `v24`
25
+ - set `strictValidation` to `true` in the config schema file
26
+
27
+ ### Other Changes
28
+
29
+ - github repo maintenance
30
+ - updated dependencies
31
+
32
+ ## v7.0.0 (2025-03-22)
6
33
 
7
34
  ### Changed
8
35
 
@@ -19,7 +46,7 @@ All notable changes to homebridge-wemo will be documented in this file.
19
46
 
20
47
  - Support for node 16
21
48
 
22
- ## 6.1.2 (2023-09-18)
49
+ ## v6.1.2 (2023-09-18)
23
50
 
24
51
  ⚠️ Note this will be the last version of the plugin to support Node 16.
25
52
  - Node 16 moves to 'end of life' on 2023-09-11 ([more info](https://nodejs.org/en/blog/announcements/nodejs16-eol))
@@ -34,7 +61,7 @@ All notable changes to homebridge-wemo will be documented in this file.
34
61
 
35
62
  - Properly ignore serial numbers if they aren't already in upper case
36
63
 
37
- ## 6.1.1 (2023-08-28)
64
+ ## v6.1.1 (2023-08-28)
38
65
 
39
66
  ### Changed
40
67
 
@@ -44,7 +71,7 @@ All notable changes to homebridge-wemo will be documented in this file.
44
71
 
45
72
  - Show config option `outletInUseTrue` even when `showAs` is not selected
46
73
 
47
- ## 6.1.0 (2023-06-17)
74
+ ## v6.1.0 (2023-06-17)
48
75
 
49
76
  ### Added
50
77
 
@@ -55,27 +82,27 @@ All notable changes to homebridge-wemo will be documented in this file.
55
82
  - Bump `node` supported versions to v16.20.0 or v18.16.0 or v20.1.0
56
83
  - Updated dependencies
57
84
 
58
- ## 6.0.4 (2023-05-01)
85
+ ## v6.0.4 (2023-05-01)
59
86
 
60
87
  ### Changed
61
88
 
62
89
  - README changes
63
90
  - Dependency updates
64
91
 
65
- ## 6.0.3 (2023-04-22)
92
+ ## v6.0.3 (2023-04-22)
66
93
 
67
94
  ### Changed
68
95
 
69
96
  - Update dependencies
70
97
  - Bump `node` supported versions to v16.20.0 or v18.16.0 or v20.0.0
71
98
 
72
- ## 6.0.2 (2023-04-10)
99
+ ## v6.0.2 (2023-04-10)
73
100
 
74
101
  ### Changed
75
102
 
76
103
  - Bump `xml2js` dependency
77
104
 
78
- ## 6.0.1 (2023-04-05)
105
+ ## v6.0.1 (2023-04-05)
79
106
 
80
107
  ### Changed
81
108
 
@@ -86,7 +113,7 @@ All notable changes to homebridge-wemo will be documented in this file.
86
113
 
87
114
  - Eve switch values for light switches
88
115
 
89
- ## 6.0.0 (2023-03-11)
116
+ ## v6.0.0 (2023-03-11)
90
117
 
91
118
  ### Breaking
92
119
 
@@ -100,14 +127,14 @@ All notable changes to homebridge-wemo will be documented in this file.
100
127
  - Bump `homebridge` recommended version to v1.6.0 or v2.0.0-beta
101
128
  - Bump `node` recommended versions to v16.19.1 or v18.15.0
102
129
 
103
- ## 5.0.5 (2022-10-16)
130
+ ## v5.0.5 (2022-10-16)
104
131
 
105
132
  ### Changed
106
133
 
107
134
  - Bump `node` recommended versions to v14.20.1 or v16.18.0 or v18.11.0
108
135
  - Bump `axios` to v1.1.3
109
136
 
110
- ## 5.0.4 (2022-09-25)
137
+ ## v5.0.4 (2022-09-25)
111
138
 
112
139
  ### Changed
113
140
 
@@ -116,7 +143,7 @@ All notable changes to homebridge-wemo will be documented in this file.
116
143
  - Bump `node` recommended versions to v14.20.1 or v16.17.1
117
144
  - Updated dev dependencies
118
145
 
119
- ## 5.0.3 (2022-06-08)
146
+ ## v5.0.3 (2022-06-08)
120
147
 
121
148
  ### Changed
122
149
 
@@ -127,19 +154,19 @@ All notable changes to homebridge-wemo will be documented in this file.
127
154
  - Fix a Crockpot issue when plugin receives off value
128
155
  - A potential issue showing errors in the logs
129
156
 
130
- ## 5.0.2 (2022-05-28)
157
+ ## v5.0.2 (2022-05-28)
131
158
 
132
159
  ### Changed
133
160
 
134
161
  - More fixes and refactoring
135
162
 
136
- ## 5.0.1 (2022-05-28)
163
+ ## v5.0.1 (2022-05-28)
137
164
 
138
165
  ### Fixed
139
166
 
140
167
  - An error message when initialising Wemo motion devices
141
168
 
142
- ## 5.0.0 (2022-05-28)
169
+ ## v5.0.0 (2022-05-28)
143
170
 
144
171
  ### Potentially Breaking Changes
145
172
 
@@ -152,7 +179,7 @@ All notable changes to homebridge-wemo will be documented in this file.
152
179
  - Bump `ip` to v2.0.0
153
180
  - Bump `node` recommended versions to v14.19.3 or v16.15.0
154
181
 
155
- ## 4.7.3 (2022-04-29)
182
+ ## v4.7.3 (2022-04-29)
156
183
 
157
184
  ### Changed
158
185
 
@@ -164,7 +191,7 @@ All notable changes to homebridge-wemo will be documented in this file.
164
191
  - Node 18 `networkInterfaces` fix
165
192
  - Note that Homebridge nor this plugin do not _officially_ support Node 18 until October 2022
166
193
 
167
- ## 4.7.2 (2022-03-20)
194
+ ## v4.7.2 (2022-03-20)
168
195
 
169
196
  ### Changed
170
197
 
@@ -176,14 +203,14 @@ All notable changes to homebridge-wemo will be documented in this file.
176
203
  - Some fixes for Wemo Crockpot
177
204
  - Accessory name logging on http receive device update failures
178
205
 
179
- ## 4.7.1 (2022-02-27)
206
+ ## v4.7.1 (2022-02-27)
180
207
 
181
208
  ### Changed
182
209
 
183
210
  - Bump `axios` to v0.26.0
184
211
  - Bump `node` recommended versions to v14.19.0 or v16.14.0
185
212
 
186
- ## 4.7.0 (2022-02-08)
213
+ ## v4.7.0 (2022-02-08)
187
214
 
188
215
  ### Added
189
216
 
@@ -193,7 +220,7 @@ All notable changes to homebridge-wemo will be documented in this file.
193
220
 
194
221
  - Characteristic warning for Wemo Humidifier
195
222
 
196
- ## 4.6.0 (2022-01-28)
223
+ ## v4.6.0 (2022-01-28)
197
224
 
198
225
  See ⚠️ for potentially breaking changes
199
226
 
@@ -214,7 +241,7 @@ See ⚠️ for potentially breaking changes
214
241
  - HomeKit 'No Response' issue with Wemo Maker
215
242
  - Unsupported devices will now only show once in the log when first discovered
216
243
 
217
- ## 4.5.4 (2022-01-13)
244
+ ## v4.5.4 (2022-01-13)
218
245
 
219
246
  ### Changed
220
247
 
@@ -224,26 +251,26 @@ See ⚠️ for potentially breaking changes
224
251
 
225
252
  - Plugin crash for older versions of Homebridge
226
253
 
227
- ## 4.5.3 (2022-01-05)
254
+ ## v4.5.3 (2022-01-05)
228
255
 
229
256
  ### Changed
230
257
 
231
258
  - Bump `homebridge` recommended version to v1.3.9
232
259
 
233
- ## 4.5.2 (2021-12-30)
260
+ ## v4.5.2 (2021-12-30)
234
261
 
235
262
  ### Changed
236
263
 
237
264
  - Plugin will log HAPNodeJS version on startup
238
265
  - Default UPnP interval increased to `300` (5 minute interval)
239
266
 
240
- ## 4.5.1 (2021-12-22)
267
+ ## v4.5.1 (2021-12-22)
241
268
 
242
269
  ### Fixed
243
270
 
244
271
  - Option to specify the subscription time for UPnP subscriptions, eero users _may_ benefit from increasing this value
245
272
 
246
- ## 4.5.0 (2021-12-21)
273
+ ## v4.5.0 (2021-12-21)
247
274
 
248
275
  ### Added
249
276
 
@@ -253,7 +280,7 @@ See ⚠️ for potentially breaking changes
253
280
 
254
281
  - Moved commonly used configuration options out of the 'Optional Settings' section for easier access
255
282
 
256
- ## 4.4.0 (2021-12-08)
283
+ ## v4.4.0 (2021-12-08)
257
284
 
258
285
  See ⚠️ for breaking changes
259
286
 
@@ -271,7 +298,7 @@ See ⚠️ for breaking changes
271
298
 
272
299
  - ⚠️ Removed the `manualDevices[]` config entry, the same functionality is available in the device-type specific sections
273
300
 
274
- ## 4.3.0 (2021-11-18)
301
+ ## v4.3.0 (2021-11-18)
275
302
 
276
303
  ### Added
277
304
 
@@ -282,7 +309,7 @@ See ⚠️ for breaking changes
282
309
 
283
310
  - An `undefined` logging entry for the Wemo Insight
284
311
 
285
- ## 4.2.6 (2021-10-31)
312
+ ## v4.2.6 (2021-10-31)
286
313
 
287
314
  ### Changed
288
315
 
@@ -290,7 +317,7 @@ See ⚠️ for breaking changes
290
317
  - Bump `node` recommended versions to v14.18.1 or v16.13.0
291
318
  - Bump `axios` to v0.24.0
292
319
 
293
- ## 4.2.5 (2021-10-20)
320
+ ## v4.2.5 (2021-10-20)
294
321
 
295
322
  ### Changed
296
323
 
@@ -300,7 +327,7 @@ See ⚠️ for breaking changes
300
327
 
301
328
  - An Eve app 'no data' gap for garage devices when restarting the plugin
302
329
 
303
- ## 4.2.4 (2021-10-16)
330
+ ## v4.2.4 (2021-10-16)
304
331
 
305
332
  ### Changed
306
333
 
@@ -312,25 +339,25 @@ See ⚠️ for breaking changes
312
339
 
313
340
  - An error when trying to unregister a hidden accessory from Homebridge
314
341
 
315
- ## 4.2.3 (2021-10-03)
342
+ ## v4.2.3 (2021-10-03)
316
343
 
317
344
  ### Changed
318
345
 
319
346
  - Bump `axios` to v0.22.0
320
347
 
321
- ## 4.2.2 (2021-09-30)
348
+ ## v4.2.2 (2021-09-30)
322
349
 
323
350
  ### Fixed
324
351
 
325
352
  - Increase UPnP subscription time to 130 seconds to fix instances of `412` error
326
353
 
327
- ## 4.2.1 (2021-09-30)
354
+ ## v4.2.1 (2021-09-30)
328
355
 
329
356
  ### Changed
330
357
 
331
358
  - Recommended node versions bumped to v14.18.0 or v16.10.0
332
359
 
333
- ## 4.2.0 (2021-09-28)
360
+ ## v4.2.0 (2021-09-28)
334
361
 
335
362
  ### Added
336
363
 
@@ -340,14 +367,14 @@ See ⚠️ for breaking changes
340
367
 
341
368
  - UPnP callback url now uses the accessory UUID (not the UDN) so the plugin immediately knows which accessory a notification relates to
342
369
 
343
- ## 4.1.6 (2021-09-09)
370
+ ## v4.1.6 (2021-09-09)
344
371
 
345
372
  ### Changed
346
373
 
347
374
  - `configureAccessory` function simplified to reduce chance of accessory cache retrieval failing
348
375
  - Bump `axios` to v0.21.4
349
376
 
350
- ## 4.1.5 (2021-09-05)
377
+ ## v4.1.5 (2021-09-05)
351
378
 
352
379
  ### Changed
353
380
 
@@ -355,25 +382,25 @@ See ⚠️ for breaking changes
355
382
  - Recommended node version bumped to v14.17.6
356
383
  - Bump `axios` to v0.21.3
357
384
 
358
- ## 4.1.4 (2021-08-22)
385
+ ## v4.1.4 (2021-08-22)
359
386
 
360
387
  ### Changed
361
388
 
362
389
  - Ignore `pywemo` virtual device type `urn:Belkin:device:switch:1`
363
390
 
364
- ## 4.1.3 (2021-08-18)
391
+ ## v4.1.3 (2021-08-18)
365
392
 
366
393
  ### Fixed
367
394
 
368
395
  - Better handling of NodeSSDP `No sockets available, cannot start.` error
369
396
 
370
- ## 4.1.2 (2021-08-17)
397
+ ## v4.1.2 (2021-08-17)
371
398
 
372
399
  ### Fixed
373
400
 
374
401
  - An unhandled rejection error when initialising Wemo Link
375
402
 
376
- ## 4.1.1 (2021-08-12)
403
+ ## v4.1.1 (2021-08-12)
377
404
 
378
405
  ### Changed
379
406
 
@@ -384,7 +411,7 @@ See ⚠️ for breaking changes
384
411
 
385
412
  - Fixed title of `debugNodeSSDP` setting (only visible in HOOBS)
386
413
 
387
- ## 4.1.0 (2021-08-10)
414
+ ## v4.1.0 (2021-08-10)
388
415
 
389
416
  ### Added
390
417
 
@@ -437,7 +464,7 @@ See ⚠️ for breaking changes
437
464
  - Please start to move any entries you have from the manual devices section to the appropriate device section
438
465
  - Any entries in the manual devices section will continue to work (ie this is not a breaking change)
439
466
 
440
- ## 4.0.0 (2021-07-29)
467
+ ## v4.0.0 (2021-07-29)
441
468
 
442
469
  ### Added
443
470
 
@@ -456,26 +483,26 @@ See ⚠️ for breaking changes
456
483
  - Devices can be ignored by entering a serial number in the relevant device section and ticking 'Hide From HomeKit'
457
484
  - It is recommended to set up your ignored devices **before** updating to avoid losing your list of serial numbers
458
485
 
459
- ## 3.4.2 (2021-07-27)
486
+ ## v3.4.2 (2021-07-27)
460
487
 
461
488
  ### Fixed
462
489
 
463
490
  - An issue preventing Wemo Outlets being exposed as `Switch` or `AirPurifier` types
464
491
 
465
- ## 3.4.1 (2021-07-24)
492
+ ## v3.4.1 (2021-07-24)
466
493
 
467
494
  ### Fixed
468
495
 
469
496
  - Use new plugin alias in config schema file
470
497
 
471
- ## 3.4.0 (2021-07-24)
498
+ ## v3.4.0 (2021-07-24)
472
499
 
473
500
  ### Changed
474
501
 
475
502
  - Plugin name from `homebridge-platform-wemo` to `homebridge-wemo`
476
503
  - Plugin alias from `BelkinWeMo` to `Wemo`
477
504
 
478
- ## 3.3.0 (2021-07-22)
505
+ ## v3.3.0 (2021-07-22)
479
506
 
480
507
  ### Added
481
508
 
@@ -495,19 +522,19 @@ See ⚠️ for breaking changes
495
522
 
496
523
  - Logging status for the Wemo Maker sensor (when exposed as a Switch) was incorrectly reversed
497
524
 
498
- ## 3.2.2 (2021-07-08)
525
+ ## v3.2.2 (2021-07-08)
499
526
 
500
527
  ### Changes
501
528
 
502
529
  - Revert node version bump to v14.17.3 (back to v14.17.2)
503
530
 
504
- ## 3.2.1 (2021-07-07)
531
+ ## v3.2.1 (2021-07-07)
505
532
 
506
533
  ### Fixed
507
534
 
508
535
  - An issue initialising Wemo light switch devices ([#262](https://github.com/homebridge-plugins/homebridge-wemo/issues/262))
509
536
 
510
- ## 3.2.0 (2021-07-07)
537
+ ## v3.2.0 (2021-07-07)
511
538
 
512
539
  ### Added
513
540
 
@@ -546,7 +573,7 @@ See ⚠️ for breaking changes
546
573
  - `overrideDisabledLogging` setting for each accessory type (replaced with `overrideLogging` setting)
547
574
  - `showAsSwitch` setting for Wemo Outlets (replaced with `showAs` setting)
548
575
 
549
- ## 3.1.0 (2021-05-26)
576
+ ## v3.1.0 (2021-05-26)
550
577
 
551
578
  ### Added
552
579
 
@@ -557,7 +584,7 @@ See ⚠️ for breaking changes
557
584
  - Use `standard-prettier` code formatting
558
585
  - Recommended node version bump to v14.17.0
559
586
 
560
- ## 3.0.9 (2021-05-10)
587
+ ## v3.0.9 (2021-05-10)
561
588
 
562
589
  ### Changed
563
590
 
@@ -565,7 +592,7 @@ See ⚠️ for breaking changes
565
592
  - Update the correct corresponding characteristic after the 'No Response' timeout
566
593
  - Ensure user is using at least Homebridge v1.3.0
567
594
 
568
- ## 3.0.8 (2021-05-04)
595
+ ## v3.0.8 (2021-05-04)
569
596
 
570
597
  ### Changed
571
598
 
@@ -573,20 +600,20 @@ See ⚠️ for breaking changes
573
600
  - Accessory 'identify' function will now add an entry to the log
574
601
  - Backend refactoring, function and variable name changes
575
602
 
576
- ## 3.0.7 (2021-04-27)
603
+ ## v3.0.7 (2021-04-27)
577
604
 
578
605
  ### Changed
579
606
 
580
607
  - Display Wemo Insight 'on time' as HH:MM:SS in logs
581
608
  - More consistent logging on device errors, and helpful info for common errors
582
609
 
583
- ## 3.0.6 (2021-04-24)
610
+ ## v3.0.6 (2021-04-24)
584
611
 
585
612
  ### Fixed
586
613
 
587
614
  - Fix 'time on' and 'total consumption' calculations for Wemo Insights
588
615
 
589
- ## 3.0.5 (2021-04-16)
616
+ ## v3.0.5 (2021-04-16)
590
617
 
591
618
  ### Changed
592
619
 
@@ -596,25 +623,25 @@ See ⚠️ for breaking changes
596
623
 
597
624
  - Fix characteristic NaN warning for `LastActivation`
598
625
 
599
- ## 3.0.4 (2021-04-14)
626
+ ## v3.0.4 (2021-04-14)
600
627
 
601
628
  ### Fixed
602
629
 
603
630
  - Ensure 'No Response' is removed from Wemo Makers when discovered
604
631
 
605
- ## 3.0.3 (2021-04-14)
632
+ ## v3.0.3 (2021-04-14)
606
633
 
607
634
  ### Fixed
608
635
 
609
636
  - Fixes a characteristic issue with Wemo Maker devices
610
637
 
611
- ## 3.0.2 (2021-04-13)
638
+ ## v3.0.2 (2021-04-13)
612
639
 
613
640
  ### Fixed
614
641
 
615
642
  - Fix for `Cannot read property 'updateCharacteristic' of undefined` on plugin startup
616
643
 
617
- ## 3.0.1 (2021-04-13)
644
+ ## v3.0.1 (2021-04-13)
618
645
 
619
646
  ### Requirements
620
647
 
@@ -638,7 +665,7 @@ See ⚠️ for breaking changes
638
665
  - Updated README to reflect minimum supported Homebridge/HOOBS and Node versions
639
666
  - Updated recommended Node to v14.16.1
640
667
 
641
- ## 2.15.2 (2021-03-21)
668
+ ## v2.15.2 (2021-03-21)
642
669
 
643
670
  ### Changed
644
671
 
@@ -649,13 +676,13 @@ See ⚠️ for breaking changes
649
676
 
650
677
  - Correct `debugFakegato` setting to type boolean
651
678
 
652
- ## 2.15.1 (2021-03-17)
679
+ ## v2.15.1 (2021-03-17)
653
680
 
654
681
  ### Changed
655
682
 
656
683
  - Modified config schema to show titles/descriptions for non Homebridge UI users
657
684
 
658
- ## 2.15.0 (2021-03-14)
685
+ ## v2.15.0 (2021-03-14)
659
686
 
660
687
  ### Added
661
688
 
@@ -671,7 +698,7 @@ See ⚠️ for breaking changes
671
698
  - Adaptive Lighting now requires Homebridge 1.3 release
672
699
  - **Wemo Crockpot** polling interval will be stopped if Homebridge shuts down
673
700
 
674
- ## 2.14.0 (2021-03-02)
701
+ ## v2.14.0 (2021-03-02)
675
702
 
676
703
  ### Added
677
704
 
@@ -686,7 +713,7 @@ See ⚠️ for breaking changes
686
713
  - Plugin will now check if a device is ignored by the device USN at an earlier stage of being discovered
687
714
  - Updated minimum Node to v14.16.0
688
715
 
689
- ## 2.13.0 (2021-02-17)
716
+ ## v2.13.0 (2021-02-17)
690
717
 
691
718
  ### Added
692
719
 
@@ -706,7 +733,7 @@ See ⚠️ for breaking changes
706
733
 
707
734
  - Fixes a uuid error when adding Insights to Homebridge
708
735
 
709
- ## 2.12.0 (2021-02-13)
736
+ ## v2.12.0 (2021-02-13)
710
737
 
711
738
  ### Added
712
739
 
@@ -726,7 +753,7 @@ See ⚠️ for breaking changes
726
753
  - Fakegato library formatting and simplification
727
754
  - [Backend] Code refactoring
728
755
 
729
- ## 2.11.0 (2021-02-01)
756
+ ## v2.11.0 (2021-02-01)
730
757
 
731
758
  ### Changed
732
759
 
@@ -747,7 +774,7 @@ See ⚠️ for breaking changes
747
774
  - Properly catch exceptions on SSDP search errors
748
775
  - Fixes a bug when initialising Garage Doors
749
776
 
750
- ## 2.10.0 (2021-01-30)
777
+ ## v2.10.0 (2021-01-30)
751
778
 
752
779
  ### Added
753
780
 
@@ -779,7 +806,7 @@ See ⚠️ for breaking changes
779
806
 
780
807
  - Fixes an issue where the Insight would consistently log outlet-in-use between true and false
781
808
 
782
- ## 2.9.1 (2021-01-21)
809
+ ## v2.9.1 (2021-01-21)
783
810
 
784
811
  ### Changed
785
812
 
@@ -791,7 +818,7 @@ See ⚠️ for breaking changes
791
818
 
792
819
  - Fixes a 'multiple callback' issue with Fakegato history service
793
820
 
794
- ## 2.9.0 (2021-01-14)
821
+ ## v2.9.0 (2021-01-14)
795
822
 
796
823
  ### Added
797
824
 
package/README.md CHANGED
@@ -7,13 +7,13 @@
7
7
 
8
8
  Homebridge plugin to integrate Wemo devices into HomeKit
9
9
 
10
- [![npm](https://img.shields.io/npm/v/homebridge-wemo/latest?label=latest)](https://www.npmjs.com/package/homebridge-wemo)
11
- [![npm](https://img.shields.io/npm/v/homebridge-wemo/beta?label=beta)](https://github.com/homebridge-plugins/homebridge-wemo/wiki/Beta-Version)
10
+ [![npm](https://img.shields.io/npm/v/@homebridge-plugins/homebridge-wemo/latest?label=latest)](https://www.npmjs.com/package/@homebridge-plugins/homebridge-wemo)
11
+ [![npm](https://img.shields.io/npm/v/@homebridge-plugins/homebridge-wemo/beta?label=beta)](https://github.com/homebridge-plugins/homebridge-wemo/wiki/Beta-Version)
12
12
 
13
13
  [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
14
14
  [![hoobs-certified](https://badgen.net/badge/HOOBS/certified/yellow?label=hoobs)](https://plugins.hoobs.org/plugin/homebridge-wemo)
15
15
 
16
- [![npm](https://img.shields.io/npm/dt/homebridge-wemo)](https://www.npmjs.com/package/homebridge-wemo)
16
+ [![npm](https://img.shields.io/npm/dt/@homebridge-plugins/homebridge-wemo)](https://www.npmjs.com/package/@homebridge-plugins/homebridge-wemo)
17
17
  [![Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=hb-discord)](https://discord.com/channels/432663330281226270/742733745743855627)
18
18
 
19
19
  </span>
@@ -25,10 +25,15 @@ Homebridge plugin to integrate Wemo devices into HomeKit
25
25
  - will attempt to control your devices via a local HTTP request
26
26
  - will attempt to establish a UPnP connection to your devices to listen for external changes (if disabled, HTTP polling is used)
27
27
 
28
+ > [!NOTE]
29
+ > This plugin does not use the Wemo cloud service - it is designed to work entirely on your local network.
30
+ > This means that the plugin should continue to work after the Wemo cloud service is discontinued.
31
+ > See [issue #203](https://github.com/homebridge-plugins/homebridge-wemo/issues/203) for more information.
32
+
28
33
  ### Prerequisites
29
34
 
30
35
  - To use this plugin, you will need to already have:
31
- - [Node](https://nodejs.org): latest version of `v18`, `v20` or `v22` - any other major version is not supported.
36
+ - [Node](https://nodejs.org): latest version of `v20`, `v22` or `v24` - any other major version is not supported.
32
37
  - [Homebridge](https://homebridge.io): `v1.6` - refer to link for more information and installation instructions.
33
38
  - For the UPnP connection, make sure your Homebridge instance has an allocated IP from the same IP network or VLAN as your Wemo devices. Otherwise, you should disable the UPnP connection to avoid connection errors.
34
39
 
@@ -5,6 +5,7 @@
5
5
  "customUiPath": "./lib/homebridge-ui",
6
6
  "headerDisplay": "<p align=\"center\"><img width=\"60%\" src=\"https://user-images.githubusercontent.com/43026681/126868557-d0983348-d124-4247-bea9-7dcc62849cdf.png\"></p><p align=\"center\">For help and support please visit our <a href=\"https://github.com/homebridge-plugins/homebridge-wemo/wiki\">GitHub Wiki</a>. We hope you find this plugin useful!</p>",
7
7
  "singular": true,
8
+ "strictValidation": true,
8
9
  "schema": {
9
10
  "type": "object",
10
11
  "properties": {
package/eslint.config.js CHANGED
@@ -8,8 +8,6 @@ export default antfu(
8
8
  rules: {
9
9
  'curly': ['error', 'multi-line'],
10
10
  'new-cap': 'off',
11
- 'import/extensions': ['error', 'ignorePackages'],
12
- 'import/order': 0,
13
11
  'jsdoc/check-alignment': 'warn',
14
12
  'jsdoc/check-line-alignment': 'warn',
15
13
  'jsdoc/require-returns-check': 0,
@@ -1,3 +1,39 @@
1
+ <style>
2
+ .dark-mode {
3
+ background-color: #242424;
4
+ color: lightgrey;
5
+
6
+ .form-control {
7
+ background-color: #333333 !important;
8
+ border: none !important;
9
+ color: #eeeeee !important;
10
+ }
11
+
12
+ thead, tbody, tr {
13
+ border-style: hidden;
14
+ }
15
+
16
+ th {
17
+ color: #eeeeee !important;
18
+ font-weight: 500 !important;
19
+ }
20
+ }
21
+ select {
22
+ background-image:
23
+ linear-gradient(45deg, transparent 50%, gray 50%),
24
+ linear-gradient(135deg, gray 50%, transparent 50%),
25
+ linear-gradient(to right, #ccc, #ccc);
26
+ background-position:
27
+ calc(100% - 20px) calc(1em + 2px),
28
+ calc(100% - 15px) calc(1em + 2px),
29
+ calc(100% - 2.5em) 0.5em;
30
+ background-size:
31
+ 5px 5px,
32
+ 5px 5px,
33
+ 1px 1.5em;
34
+ background-repeat: no-repeat;
35
+ }
36
+ </style>
1
37
  <p class="text-center">
2
38
  <img
3
39
  src="https://user-images.githubusercontent.com/43026681/126868557-d0983348-d124-4247-bea9-7dcc62849cdf.png"
@@ -28,7 +64,7 @@
28
64
  <select class="form-control" id="deviceSelect"></select>
29
65
  </div>
30
66
  </form>
31
- <table class="table w-100" id="deviceTable" style="display: none;">
67
+ <table class="table w-100 mt-3" id="deviceTable" style="display: none;">
32
68
  <thead>
33
69
  <tr class="table-active">
34
70
  <th scope="col" style="width: 40%;">Device Name</th>
@@ -1,9 +1,5 @@
1
- import { inherits } from 'node:util'
2
-
3
1
  export default class {
4
2
  constructor(api) {
5
- this.hapServ = api.hap.Service
6
- this.hapChar = api.hap.Characteristic
7
3
  this.uuids = {
8
4
  currentConsumption: 'E863F10D-079E-48FF-8F27-9C2605A29F52',
9
5
  totalConsumption: 'E863F10C-079E-48FF-8F27-9C2605A29F52',
@@ -15,108 +11,128 @@ export default class {
15
11
  closedDuration: 'E863F119-079E-48FF-8F27-9C2605A29F52',
16
12
  timesOpened: 'E863F129-079E-48FF-8F27-9C2605A29F52',
17
13
  }
18
- const self = this
19
- this.CurrentConsumption = function CurrentConsumption() {
20
- self.hapChar.call(this, 'Current Consumption', self.uuids.currentConsumption)
21
- this.setProps({
22
- format: api.hap.Formats.UINT16,
23
- unit: 'W',
24
- maxValue: 100000,
25
- minValue: 0,
26
- minStep: 1,
27
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
28
- })
29
- this.value = this.getDefaultValue()
14
+
15
+ const uuids = this.uuids
16
+
17
+ this.CurrentConsumption = class extends api.hap.Characteristic {
18
+ constructor() {
19
+ super('Current Consumption', uuids.currentConsumption)
20
+ this.setProps({
21
+ format: api.hap.Formats.UINT16,
22
+ unit: 'W',
23
+ maxValue: 100000,
24
+ minValue: 0,
25
+ minStep: 1,
26
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
27
+ })
28
+ this.value = this.getDefaultValue()
29
+ }
30
30
  }
31
- this.TotalConsumption = function TotalConsumption() {
32
- self.hapChar.call(this, 'Total Consumption', self.uuids.totalConsumption)
33
- this.setProps({
34
- format: api.hap.Formats.FLOAT,
35
- unit: 'kWh',
36
- maxValue: 100000000000,
37
- minValue: 0,
38
- minStep: 0.01,
39
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
40
- })
41
- this.value = this.getDefaultValue()
31
+
32
+ this.TotalConsumption = class extends api.hap.Characteristic {
33
+ constructor() {
34
+ super('Total Consumption', uuids.totalConsumption)
35
+ this.setProps({
36
+ format: api.hap.Formats.FLOAT,
37
+ unit: 'kWh',
38
+ maxValue: 100000000000,
39
+ minValue: 0,
40
+ minStep: 0.01,
41
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
42
+ })
43
+ this.value = this.getDefaultValue()
44
+ }
42
45
  }
43
- this.Voltage = function Voltage() {
44
- self.hapChar.call(this, 'Voltage', self.uuids.voltage)
45
- this.setProps({
46
- format: api.hap.Formats.FLOAT,
47
- unit: 'V',
48
- maxValue: 100000000000,
49
- minValue: 0,
50
- minStep: 1,
51
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
52
- })
53
- this.value = this.getDefaultValue()
46
+
47
+ this.Voltage = class extends api.hap.Characteristic {
48
+ constructor() {
49
+ super('Voltage', uuids.voltage)
50
+ this.setProps({
51
+ format: api.hap.Formats.FLOAT,
52
+ unit: 'V',
53
+ maxValue: 100000000000,
54
+ minValue: 0,
55
+ minStep: 1,
56
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
57
+ })
58
+ this.value = this.getDefaultValue()
59
+ }
54
60
  }
55
- this.ElectricCurrent = function ElectricCurrent() {
56
- self.hapChar.call(this, 'Electric Current', self.uuids.electricCurrent)
57
- this.setProps({
58
- format: api.hap.Formats.FLOAT,
59
- unit: 'A',
60
- maxValue: 100000000000,
61
- minValue: 0,
62
- minStep: 0.1,
63
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
64
- })
65
- this.value = this.getDefaultValue()
61
+
62
+ this.ElectricCurrent = class extends api.hap.Characteristic {
63
+ constructor() {
64
+ super('Electric Current', uuids.electricCurrent)
65
+ this.setProps({
66
+ format: api.hap.Formats.FLOAT,
67
+ unit: 'A',
68
+ maxValue: 100000000000,
69
+ minValue: 0,
70
+ minStep: 0.1,
71
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
72
+ })
73
+ this.value = this.getDefaultValue()
74
+ }
66
75
  }
67
- this.ResetTotal = function ResetTotal() {
68
- self.hapChar.call(this, 'Reset Total', self.uuids.resetTotal)
69
- this.setProps({
70
- format: api.hap.Formats.UINT32,
71
- unit: api.hap.Units.seconds,
72
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY, api.hap.Perms.PAIRED_WRITE],
73
- })
74
- this.value = this.getDefaultValue()
76
+
77
+ this.ResetTotal = class extends api.hap.Characteristic {
78
+ constructor() {
79
+ super('Reset Total', uuids.resetTotal)
80
+ this.setProps({
81
+ format: api.hap.Formats.UINT32,
82
+ unit: api.hap.Units.seconds,
83
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY, api.hap.Perms.PAIRED_WRITE],
84
+ })
85
+ this.value = this.getDefaultValue()
86
+ }
75
87
  }
76
- this.LastActivation = function LastActivation() {
77
- self.hapChar.call(this, 'Last Activation', self.uuids.lastActivation)
78
- this.setProps({
79
- format: api.hap.Formats.UINT32,
80
- unit: api.hap.Units.SECONDS,
81
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
82
- })
83
- this.value = this.getDefaultValue()
88
+
89
+ this.LastActivation = class extends api.hap.Characteristic {
90
+ constructor() {
91
+ super('Last Activation', uuids.lastActivation)
92
+ this.setProps({
93
+ format: api.hap.Formats.UINT32,
94
+ unit: api.hap.Units.SECONDS,
95
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
96
+ })
97
+ this.value = this.getDefaultValue()
98
+ }
84
99
  }
85
- this.OpenDuration = function OpenDuration() {
86
- self.hapChar.call(this, 'Open Duration', self.uuids.openDuration)
87
- this.setProps({
88
- format: api.hap.Formats.UINT32,
89
- unit: api.hap.Units.SECONDS,
90
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY, api.hap.Perms.PAIRED_WRITE],
91
- })
92
- this.value = this.getDefaultValue()
100
+
101
+ this.OpenDuration = class extends api.hap.Characteristic {
102
+ constructor() {
103
+ super('Open Duration', uuids.openDuration)
104
+ this.setProps({
105
+ format: api.hap.Formats.UINT32,
106
+ unit: api.hap.Units.SECONDS,
107
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY, api.hap.Perms.PAIRED_WRITE],
108
+ })
109
+ this.value = this.getDefaultValue()
110
+ }
93
111
  }
94
- this.ClosedDuration = function ClosedDuration() {
95
- self.hapChar.call(this, 'Closed Duration', self.uuids.closedDuration)
96
- this.setProps({
97
- format: api.hap.Formats.UINT32,
98
- unit: api.hap.Units.SECONDS,
99
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY, api.hap.Perms.PAIRED_WRITE],
100
- })
101
- this.value = this.getDefaultValue()
112
+
113
+ this.ClosedDuration = class extends api.hap.Characteristic {
114
+ constructor() {
115
+ super('Closed Duration', uuids.closedDuration)
116
+ this.setProps({
117
+ format: api.hap.Formats.UINT32,
118
+ unit: api.hap.Units.SECONDS,
119
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY, api.hap.Perms.PAIRED_WRITE],
120
+ })
121
+ this.value = this.getDefaultValue()
122
+ }
102
123
  }
103
- this.TimesOpened = function TimesOpened() {
104
- self.hapChar.call(this, 'Times Opened', self.uuids.timesOpened)
105
- this.setProps({
106
- format: api.hap.Formats.UINT32,
107
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
108
- })
109
- this.value = this.getDefaultValue()
124
+
125
+ this.TimesOpened = class extends api.hap.Characteristic {
126
+ constructor() {
127
+ super('Times Opened', uuids.timesOpened)
128
+ this.setProps({
129
+ format: api.hap.Formats.UINT32,
130
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.NOTIFY],
131
+ })
132
+ this.value = this.getDefaultValue()
133
+ }
110
134
  }
111
- inherits(this.CurrentConsumption, this.hapChar)
112
- inherits(this.TotalConsumption, this.hapChar)
113
- inherits(this.Voltage, this.hapChar)
114
- inherits(this.ElectricCurrent, this.hapChar)
115
- inherits(this.LastActivation, this.hapChar)
116
- inherits(this.ResetTotal, this.hapChar)
117
- inherits(this.OpenDuration, this.hapChar)
118
- inherits(this.ClosedDuration, this.hapChar)
119
- inherits(this.TimesOpened, this.hapChar)
135
+
120
136
  this.CurrentConsumption.UUID = this.uuids.currentConsumption
121
137
  this.TotalConsumption.UUID = this.uuids.totalConsumption
122
138
  this.Voltage.UUID = this.uuids.voltage
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.0.1-beta.0",
5
+ "version": "7.2.0",
6
6
  "description": "Homebridge plugin to integrate Wemo devices into HomeKit.",
7
7
  "author": {
8
8
  "name": "bwp91",
@@ -48,15 +48,15 @@
48
48
  "main": "lib/index.js",
49
49
  "engines": {
50
50
  "homebridge": "^1.6.0 || ^2.0.0-beta.0",
51
- "node": "^18.20.8 || ^20.19.0 || ^22.14.0"
51
+ "node": "^20 || ^22 || ^24"
52
52
  },
53
53
  "scripts": {
54
- "lint": "eslint . --fix",
55
- "rebuild": "rm -rf package-lock.json && rm -rf node_modules && npm install"
54
+ "lint": "eslint . --max-warnings=0",
55
+ "lint:fix": "npm run lint -- --fix"
56
56
  },
57
57
  "dependencies": {
58
- "@homebridge/plugin-ui-utils": "^2.0.2",
59
- "axios": "^1.8.4",
58
+ "@homebridge/plugin-ui-utils": "^2.1.0",
59
+ "axios": "^1.10.0",
60
60
  "ip": "^2.0.1",
61
61
  "node-ssdp": "^4.0.1",
62
62
  "p-queue": "^8.1.0",
@@ -64,7 +64,6 @@
64
64
  "xmlbuilder": "^15.1.1"
65
65
  },
66
66
  "devDependencies": {
67
- "@antfu/eslint-config": "^4.12.0",
68
- "eslint": "^9.24.0"
67
+ "@antfu/eslint-config": "^4.16.2"
69
68
  }
70
69
  }