@homebridge-plugins/homebridge-ewelink 12.4.1 → 12.6.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,13 +2,33 @@
2
2
 
3
3
  All notable changes to homebridge-ewelink will be documented in this file.
4
4
 
5
- This project tries to adhere to [Semantic Versioning](http://semver.org/). In practice, this means that the version number will be incremented based on the following:
5
+ ## v12.6.0 (2025-07-13)
6
6
 
7
- - `MAJOR` version when a minimum supported version of `homebridge` or `node` is increased to a new major version, or when a breaking change is made to the plugin config
8
- - `MINOR` version when a new device type is added, or when a new feature is added that is backwards-compatible
9
- - `PATCH` version when backwards-compatible bug fixes are implemented
7
+ ### Notable Changes
10
8
 
11
- ## 12.4.1 (2025-03-22)
9
+ - fix custom plugin config modal styles in ui 5
10
+ - fix eve characteristics for hb 2
11
+ - fix custom characteristics for hb 2
12
+
13
+ ### Other Changes
14
+
15
+ - fix plugin name in release workflow
16
+ - add permissions to workflows
17
+ - improvements to the deprecate workflow
18
+
19
+ ## v12.5.0 (2025-07-12)
20
+
21
+ ⚠️ This plugin no longer officially supports Node `v16` and `v18`, however there is no reason why it shouldn't work on these versions.
22
+
23
+ ### Notable Changes
24
+
25
+ - set `strictValidation` to `true` in the config schema file
26
+
27
+ ### Other Changes
28
+
29
+ - github repo maintenance
30
+
31
+ ## v12.4.1 (2025-03-22)
12
32
 
13
33
  ### Changed
14
34
 
@@ -18,7 +38,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
18
38
 
19
39
  - fix hap-nodejs permissions for hb2
20
40
 
21
- ## 12.4.0 (2025-02-24)
41
+ ## v12.4.0 (2025-02-24)
22
42
 
23
43
  ### Added
24
44
 
@@ -29,14 +49,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
29
49
 
30
50
  - updated dependencies
31
51
 
32
- ## 12.3.3 (2024-10-12)
52
+ ## v12.3.3 (2024-10-12)
33
53
 
34
54
  ### Changed
35
55
 
36
56
  - added `homepage` to `package.json`
37
57
  - updated dependencies
38
58
 
39
- ## 12.3.2 (2024-10-12)
59
+ ## v12.3.2 (2024-10-12)
40
60
 
41
61
  ### Changed
42
62
 
@@ -47,7 +67,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
47
67
 
48
68
  - fixed cases where the plugin would crash when a device update fails
49
69
 
50
- ## 12.3.1 (2024-07-15)
70
+ ## v12.3.1 (2024-07-15)
51
71
 
52
72
  ### Changed
53
73
 
@@ -57,14 +77,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
57
77
 
58
78
  - fix `hap-nodejs` api refs
59
79
 
60
- ## 12.3.0 (2024-07-13)
80
+ ## v12.3.0 (2024-07-13)
61
81
 
62
82
  ### Added
63
83
 
64
84
  - Support for ZigBee Bridge Ultra with UIID `243`
65
85
  - Support for Sonoff TX-4 Ultimate with UIID `212`
66
86
 
67
- ## 12.2.1 (2024-07-13)
87
+ ## v12.2.1 (2024-07-13)
68
88
 
69
89
  ### Changed
70
90
 
@@ -72,7 +92,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
72
92
  - Updated dependencies
73
93
  - Bump `node` recommended versions to v18.20.4 or v20.15.1
74
94
 
75
- ## 12.2.0 (2024-03-27)
95
+ ## v12.2.0 (2024-03-27)
76
96
 
77
97
  ### Added
78
98
 
@@ -89,7 +109,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
89
109
 
90
110
  - Fix UIID 182/190 power readings
91
111
 
92
- ## 12.1.0 (2023-12-16)
112
+ ## v12.1.0 (2023-12-16)
93
113
 
94
114
  ### Added
95
115
 
@@ -103,7 +123,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
103
123
  - Bump `node` recommended versions to v18.19.0 or v20.10.0
104
124
  - Updated dependencies
105
125
 
106
- ## 12.0.0 (2023-10-24)
126
+ ## v12.0.0 (2023-10-24)
107
127
 
108
128
  ### Added
109
129
 
@@ -119,7 +139,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
119
139
 
120
140
  - Support for node 16
121
141
 
122
- ## 11.0.2 (2023-08-28)
142
+ ## v11.0.2 (2023-08-28)
123
143
 
124
144
  ⚠️ Note this will be the last version of the plugin to support Node 16.
125
145
  - Node 16 moves to 'end of life' on 2023-09-11 ([more info](https://nodejs.org/en/blog/announcements/nodejs16-eol))
@@ -130,14 +150,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
130
150
 
131
151
  - Update `axios` to `v1.5.0`
132
152
 
133
- ## 11.0.1 (2023-08-19)
153
+ ## v11.0.1 (2023-08-19)
134
154
 
135
155
  ### Changed
136
156
 
137
157
  - Bump `node` recommended versions to v16.20.2 or v18.17.1 or v20.5.1
138
158
  - Some code refactoring
139
159
 
140
- ## 11.0.0 (2023-07-24)
160
+ ## v11.0.0 (2023-07-24)
141
161
 
142
162
  ### Added
143
163
 
@@ -159,7 +179,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
159
179
  - Bump `node` recommended versions to v16.20.1 or v18.17.0 or v20.5.0
160
180
  - Updated dependencies
161
181
 
162
- ## 10.4.0 (2023-01-07)
182
+ ## v10.4.0 (2023-01-07)
163
183
 
164
184
  ### Added
165
185
 
@@ -176,7 +196,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
176
196
 
177
197
  - Power readings for POWR320 now show correctly
178
198
 
179
- ## 10.3.0 (2022-11-11)
199
+ ## v10.3.0 (2022-11-11)
180
200
 
181
201
  ### Added
182
202
 
@@ -187,7 +207,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
187
207
  - Bump `node` recommended versions to v14.21.1 or v16.18.1 or v18.12.1
188
208
  - Bump `ws` to v8.11.0
189
209
 
190
- ## 10.2.0 (2022-10-09)
210
+ ## v10.2.0 (2022-10-09)
191
211
 
192
212
  ### Added
193
213
 
@@ -207,7 +227,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
207
227
 
208
228
  - Incorrectly exposing Sonoff M5 devices as programmable switches
209
229
 
210
- ## 10.1.0 (2022-09-25)
230
+ ## v10.1.0 (2022-09-25)
211
231
 
212
232
  ### Added
213
233
 
@@ -229,7 +249,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
229
249
  - Bump `ws` to v8.9.0
230
250
  - Updated dev dependencies
231
251
 
232
- ## 10.0.0 (2022-07-08)
252
+ ## v10.0.0 (2022-07-08)
233
253
 
234
254
  ⚠️ After updating to this version:
235
255
  - Each time you start the plugin, you will be logged out the eWeLink app, and so I would recommend:
@@ -244,7 +264,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
244
264
 
245
265
  - Bump `node` recommended versions to v14.20.0 or v16.16.0
246
266
 
247
- ## 9.1.0 (2022-07-07)
267
+ ## v9.1.0 (2022-07-07)
248
268
 
249
269
  ⚠️ This update may remove some devices from your Homebridge instance. Unfortunately this is out my control. See [this link](https://github.com/homebridge-plugins/homebridge-ewelink/issues/385#issuecomment-1176457283).
250
270
 
@@ -257,7 +277,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
257
277
  - Bump `ws` to v8.8.0
258
278
  - Updated dev dependencies
259
279
 
260
- ## 9.0.1 (2022-06-08)
280
+ ## v9.0.1 (2022-06-08)
261
281
 
262
282
  ### Changed
263
283
 
@@ -267,7 +287,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
267
287
 
268
288
  - A potential issue showing errors in the logs
269
289
 
270
- ## 9.0.0 (2022-05-29)
290
+ ## v9.0.0 (2022-05-29)
271
291
 
272
292
  ### Potentially Breaking Changes
273
293
 
@@ -279,7 +299,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
279
299
  - Changed to ESM package
280
300
  - Bump `node` recommended versions to v14.19.3 or v16.15.0
281
301
 
282
- ## 8.15.0 (2022-05-02)
302
+ ## v8.15.0 (2022-05-02)
283
303
 
284
304
  ### Added
285
305
 
@@ -296,7 +316,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
296
316
  - Bump `ws` to v8.6.0
297
317
  - Bump `node` recommended versions to v14.19.1 or v16.15.0
298
318
 
299
- ## 8.14.0 (2022-04-17)
319
+ ## v8.14.0 (2022-04-17)
300
320
 
301
321
  ### Added
302
322
 
@@ -305,20 +325,20 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
305
325
  - Sonoff MINIR3 (UIID 138 devices) (also supports LAN mode)
306
326
  - Sonoff S-Mate (UIID 177 devices) as a Stateless Programmable Sensor
307
327
 
308
- ## 8.13.2 (2022-04-03)
328
+ ## v8.13.2 (2022-04-03)
309
329
 
310
330
  ### Changed
311
331
 
312
332
  - Updated dependencies
313
333
 
314
- ## 8.13.1 (2022-03-20)
334
+ ## v8.13.1 (2022-03-20)
315
335
 
316
336
  ### Changed
317
337
 
318
338
  - Bump `axios` to v0.26.1
319
339
  - Bump `node` recommended versions to v14.19.1 or v16.14.2
320
340
 
321
- ## 8.13.0 (2022-02-23)
341
+ ## v8.13.0 (2022-02-23)
322
342
 
323
343
  ### Added
324
344
 
@@ -328,7 +348,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
328
348
 
329
349
  - Bump `axios` to v0.26.0
330
350
 
331
- ## 8.12.0 (2022-02-12)
351
+ ## v8.12.0 (2022-02-12)
332
352
 
333
353
  ### Added
334
354
 
@@ -342,7 +362,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
342
362
  - Bump `homebridge` recommended version to v1.4.0
343
363
  - Bump `ws` to v8.5.0
344
364
 
345
- ## 8.11.2 (2022-01-23)
365
+ ## v8.11.2 (2022-01-23)
346
366
 
347
367
  ### Changed
348
368
 
@@ -352,7 +372,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
352
372
 
353
373
  - Fix LAN mode support for iFan04
354
374
 
355
- ## 8.11.1 (2022-01-15)
375
+ ## v8.11.1 (2022-01-15)
356
376
 
357
377
  ### Changed
358
378
 
@@ -362,7 +382,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
362
382
 
363
383
  - `undefined` log message on web socket error
364
384
 
365
- ## 8.11.0 (2022-01-13)
385
+ ## v8.11.0 (2022-01-13)
366
386
 
367
387
  ### Added
368
388
 
@@ -377,7 +397,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
377
397
 
378
398
  - Minor colour temperature issue for Mangotek RLD60C0E27 (UIID 33)
379
399
 
380
- ## 8.10.0 (2022-01-07)
400
+ ## v8.10.0 (2022-01-07)
381
401
 
382
402
  ### Added
383
403
 
@@ -389,20 +409,20 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
389
409
 
390
410
  - Plugin crash for older versions of Homebridge
391
411
 
392
- ## 8.9.1 (2022-01-05)
412
+ ## v8.9.1 (2022-01-05)
393
413
 
394
414
  ### Changed
395
415
 
396
416
  - Plugin will log HAPNodeJS version on startup
397
417
  - Bump `homebridge` recommended version to v1.3.9
398
418
 
399
- ## 8.9.0 (2021-12-27)
419
+ ## v8.9.0 (2021-12-27)
400
420
 
401
421
  ### Added
402
422
 
403
423
  - Option to show both 'Heat' and 'Cool' modes for the TH10/16 thermostat simulation
404
424
 
405
- ## 8.8.0 (2021-12-21)
425
+ ## v8.8.0 (2021-12-21)
406
426
 
407
427
  ### Added
408
428
 
@@ -420,13 +440,13 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
420
440
  - Some config options rearranged for easier access
421
441
  - Bump `ws` to v8.4.0
422
442
 
423
- ## 8.7.1 (2021-12-09)
443
+ ## v8.7.1 (2021-12-09)
424
444
 
425
445
  ### Fixed
426
446
 
427
447
  - Show 'Hide Channels' and 'Inched Channels' in config schema form even when no 'Show As' is selected
428
448
 
429
- ## 8.7.0 (2021-12-08)
449
+ ## v8.7.0 (2021-12-08)
430
450
 
431
451
  ### Added
432
452
 
@@ -445,7 +465,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
445
465
 
446
466
  - Potential uncaught errors updating subdevices of an RF bridge
447
467
 
448
- ## 8.6.0 (2021-11-18)
468
+ ## v8.6.0 (2021-11-18)
449
469
 
450
470
  ### Added
451
471
 
@@ -457,20 +477,20 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
457
477
 
458
478
  - An issue initialising a 2-Garage-Door simulation
459
479
 
460
- ## 8.5.0 (2021-11-03)
480
+ ## v8.5.0 (2021-11-03)
461
481
 
462
482
  ### Added
463
483
 
464
484
  - Ability to use a contact sensor simulation to show the correct state of a garage door/lock simulation
465
485
 
466
- ## 8.4.2 (2021-10-31)
486
+ ## v8.4.2 (2021-10-31)
467
487
 
468
488
  ### Changed
469
489
 
470
490
  - Bump `node` recommended versions to v14.18.1 or v16.13.0
471
491
  - Bump `axios` to v0.24.0
472
492
 
473
- ## 8.4.1 (2021-10-20)
493
+ ## v8.4.1 (2021-10-20)
474
494
 
475
495
  ### Changed
476
496
 
@@ -480,7 +500,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
480
500
 
481
501
  - An Eve app 'no data' gap for garage and contact sensor devices when restarting the plugin
482
502
 
483
- ## 8.4.0 (2021-10-16)
503
+ ## v8.4.0 (2021-10-16)
484
504
 
485
505
  ### Added
486
506
 
@@ -498,31 +518,31 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
498
518
 
499
519
  - An error when trying to unregister a hidden accessory from Homebridge
500
520
 
501
- ## 8.3.6 (2021-10-01)
521
+ ## v8.3.6 (2021-10-01)
502
522
 
503
523
  ### Changed
504
524
 
505
525
  - Bump `ws` to v8.2.3
506
526
 
507
- ## 8.3.5 (2021-10-01)
527
+ ## v8.3.5 (2021-10-01)
508
528
 
509
529
  ### Changed
510
530
 
511
531
  - Bump `axios` to v0.22.0
512
532
 
513
- ## 8.3.4 (2021-09-30)
533
+ ## v8.3.4 (2021-09-30)
514
534
 
515
535
  ### Changed
516
536
 
517
537
  - Recommended node versions bumped to v14.18.0 or v16.10.0
518
538
 
519
- ## 8.3.3 (2021-09-14)
539
+ ## v8.3.3 (2021-09-14)
520
540
 
521
541
  ## Fixed
522
542
 
523
543
  - Fixed an issue where an irrigation valve simulation would not turn off after the set time
524
544
 
525
- ## 8.3.2 (2021-09-09)
545
+ ## v8.3.2 (2021-09-09)
526
546
 
527
547
  ### Changed
528
548
 
@@ -530,7 +550,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
530
550
  - Bump `axios` to v0.21.4
531
551
  - Bump `ws` to v8.2.2
532
552
 
533
- ## 8.3.1 (2021-09-05)
553
+ ## v8.3.1 (2021-09-05)
534
554
 
535
555
  ### Changed
536
556
 
@@ -538,7 +558,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
538
558
  - Bump `axios` to v0.21.3
539
559
  - Bump `ws` to v8.2.1
540
560
 
541
- ## 8.3.0 (2021-08-26)
561
+ ## v8.3.0 (2021-08-26)
542
562
 
543
563
  ### Added
544
564
 
@@ -550,7 +570,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
550
570
 
551
571
  - 'Status By Inching' switches will no longer revert to 'off' when Homebridge is restarted
552
572
 
553
- ## 8.2.1 (2021-08-22)
573
+ ## v8.2.1 (2021-08-22)
554
574
 
555
575
  ### Changed
556
576
 
@@ -561,33 +581,33 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
561
581
  - An issue preventing DUALR3 from initialising
562
582
  - Fix for uiid `112`
563
583
 
564
- ## 8.2.0 (2021-08-22)
584
+ ## v8.2.0 (2021-08-22)
565
585
 
566
586
  ### Added
567
587
 
568
588
  - Support for UIIDs `138` `139` `140` `141`
569
589
 
570
- ## 8.1.0 (2021-08-17)
590
+ ## v8.1.0 (2021-08-17)
571
591
 
572
592
  ### Added
573
593
 
574
594
  - `inchChannels` option for multi-channel switches and outlets (where the plugin will set on/off status based on inching)
575
595
  - `language` option to have the plugin log in French, thanks to @jp-lno
576
596
 
577
- ## 8.0.2 (2021-08-12)
597
+ ## v8.0.2 (2021-08-12)
578
598
 
579
599
  ### Changed
580
600
 
581
601
  - **Platform Versions**
582
602
  - Recommended node version bumped to v14.17.5
583
603
 
584
- ## 8.0.1 (2021-08-04)
604
+ ## v8.0.1 (2021-08-04)
585
605
 
586
606
  ### Changed
587
607
 
588
608
  - Improved battery calculations for DW2 sensors
589
609
 
590
- ## 8.0.0 (2021-07-29)
610
+ ## v8.0.0 (2021-07-29)
591
611
 
592
612
  ### Important Note
593
613
 
@@ -628,7 +648,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
628
648
  - ⚠️ `ignoredDevices` configuration setting - now use the `ignoreDevice` option in the device type sections
629
649
  - ⚠️ `groups` configuration setting - now use the `showAs` option in the device type sections
630
650
 
631
- ## 7.1.0 (2021-07-10)
651
+ ## v7.1.0 (2021-07-10)
632
652
 
633
653
  ### Added
634
654
 
@@ -642,13 +662,13 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
642
662
  - A device can now be ignored/removed from Homebridge by the `ignoreDevice` setting in the device configuration sections
643
663
  - Bump `ws` dependency to v7.5.3
644
664
 
645
- ## 7.0.2 (2021-07-08)
665
+ ## v7.0.2 (2021-07-08)
646
666
 
647
667
  ### Changes
648
668
 
649
669
  - Revert node version bump to v14.17.3 (back to v14.17.2)
650
670
 
651
- ### 7.0.1 (2021-07-08)
671
+ ### v7.0.1 (2021-07-08)
652
672
 
653
673
  ### Changes
654
674
 
@@ -658,7 +678,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
658
678
 
659
679
  - An issue preventing garage doors and locks with a defined sensor from initialising
660
680
 
661
- ## 7.0.0 (2021-07-08)
681
+ ## v7.0.0 (2021-07-08)
662
682
 
663
683
  ### Important Notes
664
684
 
@@ -763,7 +783,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
763
783
  - `switchDevices[].showAsOutlet` removed - use `switchDevices[].showAs` instead
764
784
  - `ContactSensorState` and other unneeded characteristics from garage (simulation) services
765
785
 
766
- ## 6.8.0 (2021-06-14)
786
+ ## v6.8.0 (2021-06-14)
767
787
 
768
788
  ### Added
769
789
 
@@ -790,14 +810,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
790
810
 
791
811
  - Fix a logging issue for the zigbee contact sensor
792
812
 
793
- ## 6.7.1 (2021-05-27)
813
+ ## v6.7.1 (2021-05-27)
794
814
 
795
815
  ### Fixed
796
816
 
797
817
  - Fixes an issue with sensors with a garage simulation
798
818
  - Fixes an issue with TH10/16 devices with web socket timeouts
799
819
 
800
- ## 6.7.0 (2021-05-26)
820
+ ## v6.7.0 (2021-05-26)
801
821
 
802
822
  ### Added
803
823
 
@@ -817,7 +837,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
817
837
 
818
838
  - Fix internal API auth issue when using a base64 encoded password
819
839
 
820
- ## 6.6.0 (2021-05-10)
840
+ ## v6.6.0 (2021-05-10)
821
841
 
822
842
  ### Added
823
843
 
@@ -842,7 +862,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
842
862
 
843
863
  - Fixes an issue where the web socket would not close on plugin shutdown
844
864
 
845
- ## 6.5.1 (2021-05-07)
865
+ ## v6.5.1 (2021-05-07)
846
866
 
847
867
  ### Changed
848
868
 
@@ -853,7 +873,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
853
873
 
854
874
  - Fixes an initialisation issue with the 'garage' and 'obstruction detection' switch simulations
855
875
 
856
- ## 6.5.0 (2021-05-06)
876
+ ## v6.5.0 (2021-05-06)
857
877
 
858
878
  ### Added
859
879
 
@@ -864,7 +884,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
864
884
  - Any higher integer to enable the API on this fixed port
865
885
  - Documentation for the API can be seen at the base url (Homebridge IP + API port)
866
886
 
867
- ## 6.4.0 (2021-05-04)
887
+ ## v6.4.0 (2021-05-04)
868
888
 
869
889
  ### Added
870
890
 
@@ -884,7 +904,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
884
904
  - Accessory 'identify' function will now add an entry to the log
885
905
  - Backend refactoring, function and variable name changes
886
906
 
887
- ## 6.3.0 (2021-04-28)
907
+ ## v6.3.0 (2021-04-28)
888
908
 
889
909
  ### Added
890
910
 
@@ -897,7 +917,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
897
917
  - Increase ws timeout from 5 to 6 seconds
898
918
  - Decrease lan-only timeout from 10 to 9 seconds
899
919
 
900
- ## 6.2.2 (2021-04-27)
920
+ ## v6.2.2 (2021-04-27)
901
921
 
902
922
  ### Changed
903
923
 
@@ -907,14 +927,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
907
927
  - Automatically retry eWeLink login on startup in case of certain error codes
908
928
  - Update package description (remove 'with original firmware' as this is redundant for eWeLink devices)
909
929
 
910
- ## 6.2.1 (2021-04-18)
930
+ ## v6.2.1 (2021-04-18)
911
931
 
912
932
  ### Changed
913
933
 
914
934
  - Trim new lines and spaces from password when decoded from base64
915
935
  - Updated dependencies (`ws`)
916
936
 
917
- ## 6.2.0 (2021-04-16)
937
+ ## v6.2.0 (2021-04-16)
918
938
 
919
939
  ### Added
920
940
 
@@ -935,19 +955,19 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
935
955
 
936
956
  - Fix characteristic NaN warning for `LastActivation`
937
957
 
938
- ## 6.1.2 (2021-04-14)
958
+ ## v6.1.2 (2021-04-14)
939
959
 
940
960
  ### Fixed
941
961
 
942
962
  - Remove any existing humidity sensor for TH10/16 if DS18B20 sensor is used
943
963
 
944
- ## 6.1.1 (2021-04-13)
964
+ ## v6.1.1 (2021-04-13)
945
965
 
946
966
  ### Fixed
947
967
 
948
968
  - Fixed an unhandled rejection error when controlling certain CCT bulbs
949
969
 
950
- ## 6.1.0 (2021-04-12)
970
+ ## v6.1.0 (2021-04-12)
951
971
 
952
972
  ### Added
953
973
 
@@ -960,20 +980,20 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
960
980
  - No more characteristic warnings for `LastActivation` for motion and contact sensors
961
981
  - Removed logs for 'not triggered' if device has since been triggered again
962
982
 
963
- ## 6.0.3 (2021-04-08)
983
+ ## v6.0.3 (2021-04-08)
964
984
 
965
985
  ### Fixed
966
986
 
967
987
  - Revert 'No Response' messages for **DW2** devices as they go on and offline
968
988
  - Fixed the interval time length for calculating total energy consumption for relevant devices
969
989
 
970
- ## 6.0.2 (2021-04-07)
990
+ ## v6.0.2 (2021-04-07)
971
991
 
972
992
  ### Changed
973
993
 
974
994
  - Revert 'No Response' messages for **DW2** devices as they go on and offline
975
995
 
976
- ## 6.0.1 (2021-04-07)
996
+ ## v6.0.1 (2021-04-07)
977
997
 
978
998
  ### Requirements
979
999
 
@@ -996,7 +1016,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
996
1016
 
997
1017
  - Fixes a caching issue with the iFan accessory
998
1018
 
999
- ## 5.6.0 (2021-03-25)
1019
+ ## v5.6.0 (2021-03-25)
1000
1020
 
1001
1021
  ### Added
1002
1022
 
@@ -1011,7 +1031,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1011
1031
  - A new web socket address will be requested if the provided address causes errors
1012
1032
  - In particular this should fix the `ENOTFOUND as-pconnect4.coolkit.cc` error that some users in the Asia continent were receiving
1013
1033
 
1014
- ## 5.5.1 (2021-03-21)
1034
+ ## v5.5.1 (2021-03-21)
1015
1035
 
1016
1036
  ### Changed
1017
1037
 
@@ -1019,7 +1039,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1019
1039
  - More welcome messages
1020
1040
  - Updated `plugin-ui-utils` dependency
1021
1041
 
1022
- ## 5.5.0 (2021-03-17)
1042
+ ## v5.5.0 (2021-03-17)
1023
1043
 
1024
1044
  ### Added
1025
1045
 
@@ -1036,7 +1056,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1036
1056
  - Updated links on plugin-ui to match GitHub wiki
1037
1057
  - [backend] Eve characteristics abstracted into separate file for better efficiency
1038
1058
 
1039
- ## 5.4.0 (2021-03-14)
1059
+ ## v5.4.0 (2021-03-14)
1040
1060
 
1041
1061
  ### Added
1042
1062
 
@@ -1048,7 +1068,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1048
1068
 
1049
1069
  - Attempt to fix outlet polling updates so the device reports updated info rather than the previous info.
1050
1070
 
1051
- ## 5.3.0 (2021-03-10)
1071
+ ## v5.3.0 (2021-03-10)
1052
1072
 
1053
1073
  ### Added
1054
1074
 
@@ -1061,7 +1081,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1061
1081
  - For this reason, the `exposeContactSensor` setting is now redundant and so has been removed
1062
1082
  - Outlet intervals for energy calculation and updates will stop on Homebridge shutdown
1063
1083
 
1064
- ## 5.2.0 (2021-03-08)
1084
+ ## v5.2.0 (2021-03-08)
1065
1085
 
1066
1086
  ### Added
1067
1087
 
@@ -1079,13 +1099,13 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1079
1099
 
1080
1100
  - Fixes a `multiple callback` error with CCT bulb accessories
1081
1101
 
1082
- ## 5.1.1 (2021-03-02)
1102
+ ## v5.1.1 (2021-03-02)
1083
1103
 
1084
1104
  ### Fixed
1085
1105
 
1086
1106
  - Fixes an issue sending LAN updates to multi-channel devices
1087
1107
 
1088
- ## 5.1.0 (2021-03-02)
1108
+ ## v5.1.0 (2021-03-02)
1089
1109
 
1090
1110
  ### Added
1091
1111
 
@@ -1103,46 +1123,46 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1103
1123
 
1104
1124
  - Less strict threshold for determining a 'significant' colour change for disabling Adaptive Lighting
1105
1125
 
1106
- ## 5.0.6 (2021-02-26)
1126
+ ## v5.0.6 (2021-02-26)
1107
1127
 
1108
1128
  ### Fixed
1109
1129
 
1110
1130
  - Removes the extra _Switch_ service that was accidentally added to certain bulbs
1111
1131
 
1112
- ## 5.0.5 (2021-02-25)
1132
+ ## v5.0.5 (2021-02-25)
1113
1133
 
1114
1134
  ### Changed
1115
1135
 
1116
1136
  - Reverse the polarity of the leak sensor simulation
1117
1137
  - You can expose a DW2 sensor as a leak sensor using [this guide](https://www.youtube.com/watch?v=YFu2LZfrrqs) as an Accessory Simulation
1118
1138
 
1119
- ## 5.0.4 (2021-02-24)
1139
+ ## v5.0.4 (2021-02-24)
1120
1140
 
1121
1141
  ### Changed
1122
1142
 
1123
1143
  - Plugin will check that certain Accessory Simulations have been setup with the device type
1124
1144
  - Hide IP address field in plugin settings if plugin `mode` is set to `wan`
1125
1145
 
1126
- ## 5.0.3 (2021-02-24)
1146
+ ## v5.0.3 (2021-02-24)
1127
1147
 
1128
1148
  ### Changed
1129
1149
 
1130
1150
  - Remove old _Switch_ services when setting up Accessory Simulations
1131
1151
  - Add the type of Accessory Simulation to the logged options on restart
1132
1152
 
1133
- ## 5.0.2 (2021-02-24)
1153
+ ## v5.0.2 (2021-02-24)
1134
1154
 
1135
1155
  ### Fixed
1136
1156
 
1137
1157
  - Fixes an issue initialising Accessory Simulation Lock devices
1138
1158
 
1139
- ## 5.0.1 (2021-02-24)
1159
+ ## v5.0.1 (2021-02-24)
1140
1160
 
1141
1161
  ### Fixed
1142
1162
 
1143
1163
  - Fixes an issue initialising Contact Sensor devices
1144
1164
 
1145
- ## 5.0.0 (2021-02-24)
1165
+ ## v5.0.0 (2021-02-24)
1146
1166
 
1147
1167
  - ⚠️ This release includes an overhaul of the settings in particular to specific device configuration
1148
1168
  - The following options have been replaced:
@@ -1183,25 +1203,25 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1183
1203
 
1184
1204
  - Fixes a characteristic warning for _MotionDetected_ for Zigbee Motion Sensors
1185
1205
 
1186
- ## 4.7.6 (2021-02-17)
1206
+ ## v4.7.6 (2021-02-17)
1187
1207
 
1188
1208
  ### Fixed
1189
1209
 
1190
1210
  - Fixes an issue with the DW2 detecting garage door states
1191
1211
 
1192
- ## 4.7.5 (2021-02-15)
1212
+ ## v4.7.5 (2021-02-15)
1193
1213
 
1194
1214
  ### Changed
1195
1215
 
1196
1216
  - Fixes an issue with the DW2 detecting garage door states
1197
1217
 
1198
- ## 4.7.4 (2021-02-15)
1218
+ ## v4.7.4 (2021-02-15)
1199
1219
 
1200
1220
  ### Fixed
1201
1221
 
1202
1222
  - Fixes an issue when using custom RF sensors
1203
1223
 
1204
- ## 4.7.3 (2021-02-13)
1224
+ ## v4.7.3 (2021-02-13)
1205
1225
 
1206
1226
  ### Changed
1207
1227
 
@@ -1212,14 +1232,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1212
1232
  - Lighter colours appear brighter
1213
1233
  - Solid red is now easier to obtain via the Home app
1214
1234
 
1215
- ## 4.7.2 (2021-02-12)
1235
+ ## v4.7.2 (2021-02-12)
1216
1236
 
1217
1237
  ### Fixed
1218
1238
 
1219
1239
  - Fixes a bug where config items separated by a comma weren't adhered to properly
1220
1240
  - Stop subsequent warning messages if a device fails to initialise
1221
1241
 
1222
- ## 4.7.1 (2021-02-11)
1242
+ ## v4.7.1 (2021-02-11)
1223
1243
 
1224
1244
  ### Changed
1225
1245
 
@@ -1233,7 +1253,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1233
1253
 
1234
1254
  - Fixed a bug when initialising lock accessory simulations
1235
1255
 
1236
- ## 4.7.0 (2021-02-10)
1256
+ ## v4.7.0 (2021-02-10)
1237
1257
 
1238
1258
  ### Added
1239
1259
 
@@ -1267,14 +1287,14 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1267
1287
  - Fixed a bug where Adaptive Lighting would not be disabled if the colour was changed from the eWeLink app
1268
1288
  - Fixed an issue with the 'Lock' Accessory Simulation where the status would never update as 'Unlocked'
1269
1289
 
1270
- ## 4.6.1 (2021-02-02)
1290
+ ## v4.6.1 (2021-02-02)
1271
1291
 
1272
1292
  ### Changed
1273
1293
 
1274
1294
  - Extra debug logging for WS reconnection status
1275
1295
  - Updated `ws` dependency to v7.4.3
1276
1296
 
1277
- ## 4.6.0 (2021-01-30)
1297
+ ## v4.6.0 (2021-01-30)
1278
1298
 
1279
1299
  ### Added
1280
1300
 
@@ -1287,7 +1307,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1287
1307
  - Increase the timeout for LAN control to 10 seconds for LAN only settings
1288
1308
  - Show LAN update errors in the log
1289
1309
 
1290
- ## 4.5.1 (2021-01-28)
1310
+ ## v4.5.1 (2021-01-28)
1291
1311
 
1292
1312
  ### Changed
1293
1313
 
@@ -1298,7 +1318,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1298
1318
 
1299
1319
  - Fixes an issue where RF sensors would not use a custom defined type (again!)
1300
1320
 
1301
- ## 4.5.0 (2021-01-28)
1321
+ ## v4.5.0 (2021-01-28)
1302
1322
 
1303
1323
  ### Added
1304
1324
 
@@ -1314,25 +1334,25 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1314
1334
  - Fix for TH10/16 devices (shown as thermostat) where the plugin would not show the current state of the device
1315
1335
  - Fix for the display of watts/amps/volts for outlets that support this
1316
1336
 
1317
- ## 4.4.5 (2021-01-24)
1337
+ ## v4.4.5 (2021-01-24)
1318
1338
 
1319
1339
  ### Fixed
1320
1340
 
1321
1341
  - Fix where the battery for DW2 device would not update
1322
1342
 
1323
- ## 4.4.4 (2021-01-24)
1343
+ ## v4.4.4 (2021-01-24)
1324
1344
 
1325
1345
  ### Changed
1326
1346
 
1327
1347
  - Backend - better handling of errors
1328
1348
 
1329
- ## 4.4.3 (2021-01-20)
1349
+ ## v4.4.3 (2021-01-20)
1330
1350
 
1331
1351
  ### Fixed
1332
1352
 
1333
1353
  - Fixes an issue where RF sensors would not use a custom defined type
1334
1354
 
1335
- ## 4.4.2 (2021-01-20)
1355
+ ## v4.4.2 (2021-01-20)
1336
1356
 
1337
1357
  ### Changed
1338
1358
 
@@ -1342,13 +1362,13 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1342
1362
 
1343
1363
  - Fixes an issue when adding new RF bridge devices
1344
1364
 
1345
- ## 4.4.1 (2021-01-20)
1365
+ ## v4.4.1 (2021-01-20)
1346
1366
 
1347
1367
  ### Changed
1348
1368
 
1349
1369
  - Fakegato logging disabled in Homebridge `debug` mode, can be explicitly enabled with `debugFakegato`
1350
1370
 
1351
- ## 4.4.0 (2021-01-14)
1371
+ ## v4.4.0 (2021-01-14)
1352
1372
 
1353
1373
  ### Added
1354
1374
 
@@ -1364,7 +1384,7 @@ This project tries to adhere to [Semantic Versioning](http://semver.org/). In pr
1364
1384
 
1365
1385
  - Removed `Obstruction Detected` tests
1366
1386
 
1367
- ## 4.3.0 (2021-01-12)
1387
+ ## v4.3.0 (2021-01-12)
1368
1388
 
1369
1389
  ### Added
1370
1390
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022 - 2025 Ben Potter
3
+ Copyright (c) Ben Potter
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -7,13 +7,13 @@
7
7
 
8
8
  Homebridge plugin to integrate eWeLink devices into HomeKit
9
9
 
10
- [![npm](https://img.shields.io/npm/v/homebridge-ewelink/latest?label=latest)](https://www.npmjs.com/package/homebridge-ewelink)
11
- [![npm](https://img.shields.io/npm/v/homebridge-ewelink/beta?label=beta)](https://github.com/homebridge-plugins/homebridge-ewelink/wiki/Beta-Version)
10
+ [![npm](https://img.shields.io/npm/v/@homebridge-plugins/homebridge-ewelink/latest?label=latest)](https://www.npmjs.com/package/@homebridge-plugins/homebridge-ewelink)
11
+ [![npm](https://img.shields.io/npm/v/@homebridge-plugins/homebridge-ewelink/beta?label=beta)](https://github.com/homebridge-plugins/homebridge-ewelink/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-ewelink)
15
15
 
16
- [![npm](https://img.shields.io/npm/dt/homebridge-ewelink)](https://www.npmjs.com/package/homebridge-ewelink)
16
+ [![npm](https://img.shields.io/npm/dt/@homebridge-plugins/homebridge-ewelink)](https://www.npmjs.com/package/@homebridge-plugins/homebridge-ewelink)
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>
@@ -29,7 +29,7 @@ Homebridge plugin to integrate eWeLink devices into HomeKit
29
29
  ### Prerequisites
30
30
 
31
31
  - To use this plugin, you will need to already have:
32
- - [Node](https://nodejs.org): latest version of `v18`, `v20` or `v22` - any other major version is not supported.
32
+ - [Node](https://nodejs.org): latest version of `v20`, `v22` or `v24` - any other major version is not supported.
33
33
  - [Homebridge](https://homebridge.io): `v1.6` - refer to link for more information and installation instructions.
34
34
 
35
35
  ### Setup
@@ -2,6 +2,7 @@
2
2
  "pluginAlias": "eWeLink",
3
3
  "pluginType": "platform",
4
4
  "singular": true,
5
+ "strictValidation": true,
5
6
  "customUi": true,
6
7
  "customUiPath": "./lib/homebridge-ui",
7
8
  "headerDisplay": "<p align=\"center\"><img width=\"60%\" src=\"https://user-images.githubusercontent.com/43026681/101325266-63126600-3863-11eb-9382-4a2924f0e540.png\"></p><p align=\"center\">For help and support please visit our <a href=\"https://github.com/homebridge-plugins/homebridge-ewelink/wiki\">GitHub Wiki</a>. We hope you find this plugin useful!</p>",
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/101325266-63126600-3863-11eb-9382-4a2924f0e540.png"
@@ -49,7 +85,7 @@
49
85
  <select class="form-control" id="deviceSelect"></select>
50
86
  </div>
51
87
  </form>
52
- <table class="table w-100" id="deviceTable" style="display: none;">
88
+ <table class="table w-100 mt-3" id="deviceTable" style="display: none;">
53
89
  <thead>
54
90
  <tr class="table-active">
55
91
  <th scope="col" style="width: 40%;">Device Name</th>
@@ -223,10 +259,10 @@
223
259
  try {
224
260
  const currentConfig = await homebridge.getPluginConfig()
225
261
  showIntro = () => {
262
+ homebridge.disableSaveButton?.()
226
263
  const introContinue = document.getElementById('introContinue')
227
264
  introContinue.addEventListener('click', () => {
228
265
  homebridge.showSpinner()
229
- homebridge.disableSaveButton?.()
230
266
  document.getElementById('pageIntro').style.display = 'none'
231
267
  document.getElementById('menuWrapper').style.display = 'inline-flex'
232
268
  showSettings()
@@ -1,32 +1,34 @@
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
  invertSwitch: 'E965F001-079E-48FF-8F27-9C2605A29F52',
9
5
  festiveScene: 'E965F002-079E-48FF-8F27-9C2605A29F52',
10
6
  }
11
- const self = this
12
- this.InvertSwitch = function InvertSwitch() {
13
- self.hapChar.call(this, 'Invert Switch', self.uuids.invertSwitch)
14
- this.setProps({
15
- format: api.hap.Formats.BOOL,
16
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
17
- })
18
- this.value = this.getDefaultValue()
7
+
8
+ const uuids = this.uuids
9
+
10
+ this.InvertSwitch = class extends api.hap.Characteristic {
11
+ constructor() {
12
+ super('Invert Switch', uuids.invertSwitch)
13
+ this.setProps({
14
+ format: api.hap.Formats.BOOL,
15
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
16
+ })
17
+ this.value = this.getDefaultValue()
18
+ }
19
19
  }
20
- this.FestiveScene = function FestiveScene() {
21
- self.hapChar.call(this, 'Festive Scene', self.uuids.festiveScene)
22
- this.setProps({
23
- format: api.hap.Formats.BOOL,
24
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
25
- })
26
- this.value = this.getDefaultValue()
20
+
21
+ this.FestiveScene = class extends api.hap.Characteristic {
22
+ constructor() {
23
+ super('Festive Scene', uuids.festiveScene)
24
+ this.setProps({
25
+ format: api.hap.Formats.BOOL,
26
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
27
+ })
28
+ this.value = this.getDefaultValue()
29
+ }
27
30
  }
28
- inherits(this.InvertSwitch, this.hapChar)
29
- inherits(this.FestiveScene, this.hapChar)
31
+
30
32
  this.InvertSwitch.UUID = this.uuids.invertSwitch
31
33
  this.FestiveScene.UUID = this.uuids.festiveScene
32
34
  }
@@ -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
@@ -3,7 +3,7 @@
3
3
  "displayName": "Homebridge eWeLink",
4
4
  "alias": "eWeLink",
5
5
  "type": "module",
6
- "version": "12.4.1",
6
+ "version": "12.6.0",
7
7
  "description": "Homebridge plugin to integrate eWeLink devices into HomeKit.",
8
8
  "author": {
9
9
  "name": "bwp91",
@@ -54,22 +54,21 @@
54
54
  "main": "lib/index.js",
55
55
  "engines": {
56
56
  "homebridge": "^1.6.0 || ^2.0.0-beta.0",
57
- "node": "^18.20.7 || ^20.19.0 || ^22.14.0"
57
+ "node": "^20 || ^22 || ^24"
58
58
  },
59
59
  "scripts": {
60
- "lint": "eslint . --fix",
61
- "rebuild": "rm -rf package-lock.json && rm -rf node_modules && npm install"
60
+ "lint": "eslint . --max-warnings=0",
61
+ "lint:fix": "npm run lint -- --fix"
62
62
  },
63
63
  "dependencies": {
64
- "@homebridge/plugin-ui-utils": "^2.0.1",
65
- "axios": "^1.8.4",
64
+ "@homebridge/plugin-ui-utils": "^2.1.0",
65
+ "axios": "^1.10.0",
66
66
  "node-persist": "^4.0.4",
67
67
  "p-queue": "^8.1.0",
68
- "websocket-as-promised": "^3.0.0",
69
- "ws": "^8.18.1"
68
+ "websocket-as-promised": "^3.0.1",
69
+ "ws": "^8.18.3"
70
70
  },
71
71
  "devDependencies": {
72
- "@antfu/eslint-config": "^4.10.2",
73
- "eslint": "^9.23.0"
72
+ "@antfu/eslint-config": "^4.16.2"
74
73
  }
75
74
  }