homebridge-deconz 0.0.23 → 0.0.26
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/cli/deconz.js +6 -3
- package/lib/Deconz/ApiClient.js +1 -1
- package/lib/Deconz/Resource.js +24 -4
- package/lib/Deconz/WsClient.js +7 -5
- package/lib/DeconzService/Light.js +1 -0
- package/package.json +6 -6
package/cli/deconz.js
CHANGED
@@ -711,12 +711,15 @@ class Main extends homebridgeLib.CommandLineTool {
|
|
711
711
|
.on('changed', (rtype, rid, body) => {
|
712
712
|
let resource = '/' + rtype + '/' + rid
|
713
713
|
if (Object.keys(body).length === 1) {
|
714
|
-
if (body.
|
715
|
-
resource += '/
|
716
|
-
body = body.
|
714
|
+
if (body.capabilities != null) {
|
715
|
+
resource += '/capabilities'
|
716
|
+
body = body.capabilities
|
717
717
|
} else if (body.config != null) {
|
718
718
|
resource += '/config'
|
719
719
|
body = body.config
|
720
|
+
} else if (body.state != null) {
|
721
|
+
resource += '/state'
|
722
|
+
body = body.state
|
720
723
|
}
|
721
724
|
}
|
722
725
|
this.log('%s: %s', resource, this.jsonFormatter.stringify(body))
|
package/lib/Deconz/ApiClient.js
CHANGED
@@ -152,7 +152,7 @@ class ApiClient extends homebridgeLib.HttpClient {
|
|
152
152
|
}
|
153
153
|
if (_options.phoscon) {
|
154
154
|
// options.headers = { Accept: 'application/vnd.ddel.v1' }
|
155
|
-
options.headers = { Accept: 'application/vnd.ddel.
|
155
|
+
options.headers = { Accept: 'application/vnd.ddel.v3,application/vnd.ddel.v2,application/vnd.ddel.v1.1' }
|
156
156
|
}
|
157
157
|
if (_options.apiKey) {
|
158
158
|
options.path += '/' + _options.apiKey
|
package/lib/Deconz/Resource.js
CHANGED
@@ -446,6 +446,13 @@ class Resource {
|
|
446
446
|
this.capabilities.bri = false
|
447
447
|
}
|
448
448
|
break
|
449
|
+
case 'LEDVANCE':
|
450
|
+
this.capabilities.gamut = {
|
451
|
+
r: [0.6972, 0.3027],
|
452
|
+
g: [0.1737, 0.6991],
|
453
|
+
b: [0.1227, 0.0959]
|
454
|
+
}
|
455
|
+
break
|
449
456
|
case 'LIDL Livarno Lux':
|
450
457
|
this.capabilities.ctMax = 454 // 2200 K
|
451
458
|
this.capabilities.ctMin = 153 // 6500 K
|
@@ -474,9 +481,9 @@ class Resource {
|
|
474
481
|
break
|
475
482
|
case 'OSRAM':
|
476
483
|
this.capabilities.gamut = {
|
477
|
-
r: [0.
|
478
|
-
g: [0.
|
479
|
-
b: [0.
|
484
|
+
r: [0.6850, 0.3149],
|
485
|
+
g: [0.1780, 0.7253],
|
486
|
+
b: [0.1241, 0.0578]
|
480
487
|
}
|
481
488
|
break
|
482
489
|
case 'Philips':
|
@@ -642,7 +649,7 @@ class Resource {
|
|
642
649
|
}
|
643
650
|
break
|
644
651
|
case 'TRADFRI SHORTCUT Button':
|
645
|
-
buttons.push([1, 'Button', SINGLE | LONG])
|
652
|
+
buttons.push([1, 'Button', SINGLE | DOUBLE | LONG])
|
646
653
|
break
|
647
654
|
case 'TRADFRI on/off switch':
|
648
655
|
buttons.push([1, 'On', SINGLE | LONG])
|
@@ -1036,6 +1043,19 @@ class Resource {
|
|
1036
1043
|
break
|
1037
1044
|
}
|
1038
1045
|
break
|
1046
|
+
case '_TZ3000_wkai4ga5':
|
1047
|
+
switch (this.model) {
|
1048
|
+
case 'TS0044':
|
1049
|
+
dots = true
|
1050
|
+
buttons.push([1, 'Top Left', SINGLE | DOUBLE | LONG])
|
1051
|
+
buttons.push([2, 'Top Right', SINGLE | DOUBLE | LONG])
|
1052
|
+
buttons.push([3, 'Bottom Left', SINGLE | DOUBLE | LONG])
|
1053
|
+
buttons.push([4, 'Bottom Right', SINGLE | DOUBLE | LONG])
|
1054
|
+
break
|
1055
|
+
default:
|
1056
|
+
break
|
1057
|
+
}
|
1058
|
+
break
|
1039
1059
|
case '_TZ3000_xabckq1v':
|
1040
1060
|
switch (this.model) {
|
1041
1061
|
case 'TS004F': // Tuya 4-button switch, single press only
|
package/lib/Deconz/WsClient.js
CHANGED
@@ -60,7 +60,7 @@ class WsClient extends events.EventEmitter {
|
|
60
60
|
listen () {
|
61
61
|
this.reconnect = true
|
62
62
|
const url = 'ws://' + this.config.hostname + ':' + this.config.port
|
63
|
-
this.ws = new WebSocket(url)
|
63
|
+
this.ws = new WebSocket(url, { family: 4 })
|
64
64
|
|
65
65
|
this.ws
|
66
66
|
.on('error', (error) => {
|
@@ -91,12 +91,14 @@ class WsClient extends events.EventEmitter {
|
|
91
91
|
case 'changed':
|
92
92
|
if (obj.r !== null && obj.id !== null) {
|
93
93
|
let body
|
94
|
-
if (obj.
|
95
|
-
body =
|
94
|
+
if (obj.attr != null) {
|
95
|
+
body = obj.attr
|
96
|
+
} else if (obj.capabilities != null) {
|
97
|
+
body = { capabilities: obj.capabilities }
|
96
98
|
} else if (obj.config != null) {
|
97
99
|
body = { config: obj.config }
|
98
|
-
} else if (obj.
|
99
|
-
body = obj.
|
100
|
+
} else if (obj.state != null) {
|
101
|
+
body = { state: obj.state }
|
100
102
|
}
|
101
103
|
/** Emitted when a `changed` notification has been received.
|
102
104
|
*
|
@@ -210,6 +210,7 @@ class Light extends DeconzService.LightsResource {
|
|
210
210
|
return this.adaptiveLighting.generateControl()
|
211
211
|
},
|
212
212
|
setter: async (value) => {
|
213
|
+
this.initAdaptiveLighting()
|
213
214
|
const control = this.adaptiveLighting.parseControl(value)
|
214
215
|
this.context.transitionControl = value
|
215
216
|
const response = this.adaptiveLighting.generateControlResponse()
|
package/package.json
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
"displayName": "Homebridge deCONZ",
|
5
5
|
"author": "Erik Baauw",
|
6
6
|
"license": "Apache-2.0",
|
7
|
-
"version": "0.0.
|
7
|
+
"version": "0.0.26",
|
8
8
|
"keywords": [
|
9
9
|
"homebridge-plugin",
|
10
10
|
"homekit",
|
@@ -20,13 +20,13 @@
|
|
20
20
|
"deconz": "cli/deconz.js"
|
21
21
|
},
|
22
22
|
"engines": {
|
23
|
-
"deCONZ": "2.
|
24
|
-
"homebridge": "^1.5.
|
25
|
-
"node": "^
|
23
|
+
"deCONZ": "2.19.1",
|
24
|
+
"homebridge": "^1.5.1",
|
25
|
+
"node": "^18.12.0"
|
26
26
|
},
|
27
27
|
"dependencies": {
|
28
|
-
"homebridge-lib": "~5.
|
29
|
-
"ws": "^8.
|
28
|
+
"homebridge-lib": "~5.7.2",
|
29
|
+
"ws": "^8.10.0",
|
30
30
|
"xml2js": "~0.4.23"
|
31
31
|
},
|
32
32
|
"scripts": {
|