homebridge-deconz 1.0.22 → 1.0.24
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/README.md +1 -1
- package/cli/deconz.js +1 -1
- package/cli/otau.js +1 -1
- package/cli/ui.js +1 -1
- package/homebridge-ui/public/index.html +1 -1
- package/homebridge-ui/public/index.old.html +1 -1
- package/homebridge-ui/server.js +1 -1
- package/index.js +1 -1
- package/lib/Deconz/Device.js +1 -1
- package/lib/Deconz/Resource.js +94 -1
- package/lib/Deconz/index.js +1 -1
- package/lib/DeconzAccessory/AirPurifier.js +1 -1
- package/lib/DeconzAccessory/Gateway.js +1 -1
- package/lib/DeconzAccessory/Light.js +2 -1
- package/lib/DeconzAccessory/Sensor.js +1 -1
- package/lib/DeconzAccessory/Thermostat.js +1 -1
- package/lib/DeconzAccessory/WarningDevice.js +1 -1
- package/lib/DeconzAccessory/WindowCovering.js +1 -1
- package/lib/DeconzAccessory/index.js +1 -1
- package/lib/DeconzPlatform.js +2 -3
- package/lib/DeconzService/AirPressure.js +1 -1
- package/lib/DeconzService/AirPurifier.js +1 -1
- package/lib/DeconzService/AirQuality.js +1 -1
- package/lib/DeconzService/Alarm.js +1 -1
- package/lib/DeconzService/Battery.js +1 -1
- package/lib/DeconzService/Button.js +1 -1
- package/lib/DeconzService/CarbonMonoxide.js +1 -1
- package/lib/DeconzService/Consumption.js +1 -1
- package/lib/DeconzService/Contact.js +1 -1
- package/lib/DeconzService/Daylight.js +1 -1
- package/lib/DeconzService/Flag.js +1 -1
- package/lib/DeconzService/Gateway.js +1 -1
- package/lib/DeconzService/Humidity.js +1 -1
- package/lib/DeconzService/Label.js +1 -1
- package/lib/DeconzService/Leak.js +1 -1
- package/lib/DeconzService/Light.js +1 -1
- package/lib/DeconzService/LightLevel.js +1 -1
- package/lib/DeconzService/LightsResource.js +1 -1
- package/lib/DeconzService/Motion.js +1 -1
- package/lib/DeconzService/Outlet.js +1 -1
- package/lib/DeconzService/Power.js +1 -1
- package/lib/DeconzService/Schedule.js +1 -1
- package/lib/DeconzService/SensorsResource.js +1 -1
- package/lib/DeconzService/Smoke.js +1 -1
- package/lib/DeconzService/Status.js +1 -1
- package/lib/DeconzService/Switch.js +1 -1
- package/lib/DeconzService/Temperature.js +1 -1
- package/lib/DeconzService/Thermostat.js +1 -1
- package/lib/DeconzService/Valve.js +1 -1
- package/lib/DeconzService/WarningDevice.js +1 -1
- package/lib/DeconzService/WindowCovering.js +1 -1
- package/lib/DeconzService/index.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
</span>
|
17
17
|
|
18
18
|
## Homebridge plugin for deCONZ
|
19
|
-
Copyright © 2022-
|
19
|
+
Copyright © 2022-2025 Erik Baauw. All rights reserved.
|
20
20
|
|
21
21
|
### Introduction
|
22
22
|
This [Homebridge](https://github.com/homebridge/homebridge) plugin exposes to Apple's [HomeKit](http://www.apple.com/ios/home/) ZigBee devices (lights, plugs, sensors, switches, ...) and virtual devices on a deCONZ gateway by dresden elektronik.
|
package/cli/deconz.js
CHANGED
package/cli/otau.js
CHANGED
package/cli/ui.js
CHANGED
package/homebridge-ui/server.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
// homebridge-deconz/homebridge-ui/server.js
|
2
2
|
//
|
3
3
|
// Homebridge plug-in for deCONZ.
|
4
|
-
// Copyright © 2022-
|
4
|
+
// Copyright © 2022-2025 Erik Baauw. All rights reserved.
|
5
5
|
|
6
6
|
import { UiServer } from 'hb-lib-tools/UiServer'
|
7
7
|
import { Discovery } from 'hb-deconz-tools/Discovery'
|
package/index.js
CHANGED
package/lib/Deconz/Device.js
CHANGED
package/lib/Deconz/Resource.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// homebridge-deconz/lib/Deconz/Resource.js
|
2
|
-
// Copyright © 2022-
|
2
|
+
// Copyright © 2022-2025 Erik Baauw. All rights reserved.
|
3
3
|
//
|
4
4
|
// Homebridge plugin for deCONZ.
|
5
5
|
|
@@ -466,6 +466,30 @@ class Resource {
|
|
466
466
|
break
|
467
467
|
}
|
468
468
|
break
|
469
|
+
case 'EcoDim':
|
470
|
+
switch (this.model) {
|
471
|
+
case 'ED-10013':
|
472
|
+
case 'ED-10014':
|
473
|
+
case 'ED-10015':
|
474
|
+
// Sunricher 8-button remote clone, see #239.
|
475
|
+
if (this.endpoint === '01') {
|
476
|
+
buttons.push([1, 'On 1', SINGLE | LONG])
|
477
|
+
buttons.push([2, 'Off 1', SINGLE | LONG])
|
478
|
+
} else if (this.endpoint === '02') {
|
479
|
+
buttons.push([3, 'On 2', SINGLE | LONG])
|
480
|
+
buttons.push([4, 'Off 2', SINGLE | LONG])
|
481
|
+
} else if (this.endpoint === '03') {
|
482
|
+
buttons.push([5, 'On 3', SINGLE | LONG])
|
483
|
+
buttons.push([6, 'Off 3', SINGLE | LONG])
|
484
|
+
} else if (this.endpoint === '04') {
|
485
|
+
buttons.push([7, 'On 4', SINGLE | LONG])
|
486
|
+
buttons.push([8, 'Off 4', SINGLE | LONG])
|
487
|
+
}
|
488
|
+
break
|
489
|
+
default:
|
490
|
+
break
|
491
|
+
}
|
492
|
+
break
|
469
493
|
case 'ELKO':
|
470
494
|
switch (this.model) {
|
471
495
|
case 'ElkoDimmerRemoteZHA': // ELKO ESH 316 Endevender RF, see #922.
|
@@ -743,6 +767,30 @@ class Resource {
|
|
743
767
|
break
|
744
768
|
}
|
745
769
|
break
|
770
|
+
case 'Namron AS':
|
771
|
+
switch (this.model) {
|
772
|
+
case '4512703':
|
773
|
+
case '4512721':
|
774
|
+
case '4512772':
|
775
|
+
// Sunricher 8-button remote clone, see #239.
|
776
|
+
if (this.endpoint === '01') {
|
777
|
+
buttons.push([1, 'On 1', SINGLE | LONG])
|
778
|
+
buttons.push([2, 'Off 1', SINGLE | LONG])
|
779
|
+
} else if (this.endpoint === '02') {
|
780
|
+
buttons.push([3, 'On 2', SINGLE | LONG])
|
781
|
+
buttons.push([4, 'Off 2', SINGLE | LONG])
|
782
|
+
} else if (this.endpoint === '03') {
|
783
|
+
buttons.push([5, 'On 3', SINGLE | LONG])
|
784
|
+
buttons.push([6, 'Off 3', SINGLE | LONG])
|
785
|
+
} else if (this.endpoint === '04') {
|
786
|
+
buttons.push([7, 'On 4', SINGLE | LONG])
|
787
|
+
buttons.push([8, 'Off 4', SINGLE | LONG])
|
788
|
+
}
|
789
|
+
break
|
790
|
+
default:
|
791
|
+
break
|
792
|
+
}
|
793
|
+
break
|
746
794
|
case 'OSRAM':
|
747
795
|
switch (this.model) {
|
748
796
|
case 'Lightify Switch Mini':
|
@@ -840,6 +888,29 @@ class Resource {
|
|
840
888
|
buttons.push([6, 'Bottom Both', SINGLE | LONG])
|
841
889
|
}
|
842
890
|
break
|
891
|
+
case 'ROBB smarrt':
|
892
|
+
switch (this.model) {
|
893
|
+
case 'ROB_200-007-0':
|
894
|
+
case 'ROB_200-025-0':
|
895
|
+
// Sunricher 8-button remote clone, see #239.
|
896
|
+
if (this.endpoint === '01') {
|
897
|
+
buttons.push([1, 'On 1', SINGLE | LONG])
|
898
|
+
buttons.push([2, 'Off 1', SINGLE | LONG])
|
899
|
+
} else if (this.endpoint === '02') {
|
900
|
+
buttons.push([3, 'On 2', SINGLE | LONG])
|
901
|
+
buttons.push([4, 'Off 2', SINGLE | LONG])
|
902
|
+
} else if (this.endpoint === '03') {
|
903
|
+
buttons.push([5, 'On 3', SINGLE | LONG])
|
904
|
+
buttons.push([6, 'Off 3', SINGLE | LONG])
|
905
|
+
} else if (this.endpoint === '04') {
|
906
|
+
buttons.push([7, 'On 4', SINGLE | LONG])
|
907
|
+
buttons.push([8, 'Off 4', SINGLE | LONG])
|
908
|
+
}
|
909
|
+
break
|
910
|
+
default:
|
911
|
+
break
|
912
|
+
}
|
913
|
+
break
|
843
914
|
case 'Schneider Electric':
|
844
915
|
if (this.model === 'FLS/AIRLINK/4' || this.model === 'FLS/SYSTEM-M/4') {
|
845
916
|
buttons.push([1, 'Top Right', SINGLE | LONG])
|
@@ -891,6 +962,28 @@ class Resource {
|
|
891
962
|
break
|
892
963
|
}
|
893
964
|
break
|
965
|
+
case 'THE LIGHT GROUP AS':
|
966
|
+
switch (this.model) {
|
967
|
+
case 'S57003':
|
968
|
+
// Sunricher 8-button remote clone, see #239.
|
969
|
+
if (this.endpoint === '01') {
|
970
|
+
buttons.push([1, 'On 1', SINGLE | LONG])
|
971
|
+
buttons.push([2, 'Off 1', SINGLE | LONG])
|
972
|
+
} else if (this.endpoint === '02') {
|
973
|
+
buttons.push([3, 'On 2', SINGLE | LONG])
|
974
|
+
buttons.push([4, 'Off 2', SINGLE | LONG])
|
975
|
+
} else if (this.endpoint === '03') {
|
976
|
+
buttons.push([5, 'On 3', SINGLE | LONG])
|
977
|
+
buttons.push([6, 'Off 3', SINGLE | LONG])
|
978
|
+
} else if (this.endpoint === '04') {
|
979
|
+
buttons.push([7, 'On 4', SINGLE | LONG])
|
980
|
+
buttons.push([8, 'Off 4', SINGLE | LONG])
|
981
|
+
}
|
982
|
+
break
|
983
|
+
default:
|
984
|
+
break
|
985
|
+
}
|
986
|
+
break
|
894
987
|
case '_TZ3000_arfwfgoa':
|
895
988
|
switch (this.model) {
|
896
989
|
case 'TS0042': // Tuys 2-button switch, single endpoint
|
package/lib/Deconz/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// homebridge-deconz/lib/DeconzAccessory/Light.js
|
2
|
-
// Copyright © 2022-
|
2
|
+
// Copyright © 2022-2025 Erik Baauw. All rights reserved.
|
3
3
|
//
|
4
4
|
// Homebridge plugin for deCONZ.
|
5
5
|
|
@@ -29,6 +29,7 @@ class Light extends DeconzAccessory {
|
|
29
29
|
}).on('didSet', (value) => {
|
30
30
|
gateway.context.settingsById[device.id].serviceName = value
|
31
31
|
})
|
32
|
+
gateway.context.settingsById[device.id].serviceName = this.values.serviceName
|
32
33
|
|
33
34
|
this.service = this.createService(device.resource, {
|
34
35
|
primaryService: true,
|
package/lib/DeconzPlatform.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// homebridge-deconz/lib/DeconzPlatform.js
|
2
|
-
// Copyright © 2022-
|
2
|
+
// Copyright © 2022-2025 Erik Baauw. All rights reserved.
|
3
3
|
//
|
4
4
|
// Homebridge plugin for deCONZ.
|
5
5
|
|
@@ -21,7 +21,6 @@ class DeconzPlatform extends Platform {
|
|
21
21
|
this.parseConfigJson(configJson)
|
22
22
|
this.debug('config: %j', this.config)
|
23
23
|
|
24
|
-
this.initJobs = []
|
25
24
|
this
|
26
25
|
.on('accessoryRestored', this.accessoryRestored)
|
27
26
|
.once('heartbeat', this.init)
|
@@ -59,7 +58,7 @@ class DeconzPlatform extends Platform {
|
|
59
58
|
.intKey('waitTimePut', 0, 50)
|
60
59
|
.intKey('waitTimePutGroup', 0, 1000)
|
61
60
|
.intKey('waitTimeResend', 100, 1000)
|
62
|
-
.
|
61
|
+
.intKey('waitTimeReset', 10, 2000)
|
63
62
|
.intKey('waitTimeUpdate', 0, 500)
|
64
63
|
|
65
64
|
this.gatewayMap = {}
|
package/package.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
"ebaauw"
|
8
8
|
],
|
9
9
|
"license": "Apache-2.0",
|
10
|
-
"version": "1.0.
|
10
|
+
"version": "1.0.24",
|
11
11
|
"keywords": [
|
12
12
|
"homebridge-plugin",
|
13
13
|
"homekit",
|
@@ -31,8 +31,8 @@
|
|
31
31
|
"node": "^22||^20||^18"
|
32
32
|
},
|
33
33
|
"dependencies": {
|
34
|
-
"hb-deconz-tools": "~2.0.
|
35
|
-
"homebridge-lib": "~7.1.
|
34
|
+
"hb-deconz-tools": "~2.0.6",
|
35
|
+
"homebridge-lib": "~7.1.2"
|
36
36
|
},
|
37
37
|
"scripts": {
|
38
38
|
"prepare": "standard && rm -rf out && jsdoc -c jsdoc.json",
|