@willieee802/zigbee-herdsman 0.18.3 → 0.19.21
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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +67 -0
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +8 -1
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +1 -0
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +25 -20
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +0 -2
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +0 -1
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +7 -9
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +3 -2
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -0
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +6 -0
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/controller/events.d.ts +1 -1
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/controller/events.js +1 -0
- package/dist/controller/events.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +22 -22
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +74 -69
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/zcl/index.d.ts +2 -1
- package/dist/zcl/index.d.ts.map +1 -1
- package/dist/zcl/index.js.map +1 -1
- package/dist/zcl/zclFrame.d.ts +2 -7
- package/dist/zcl/zclFrame.d.ts.map +1 -1
- package/dist/zcl/zclFrame.js.map +1 -1
- package/dist/zcl/zclHeader.d.ts +9 -0
- package/dist/zcl/zclHeader.d.ts.map +1 -0
- package/dist/zcl/zclHeader.js +3 -0
- package/dist/zcl/zclHeader.js.map +1 -0
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,8 @@ const device_1 = __importDefault(require("./device"));
|
|
|
36
36
|
const debug_1 = __importDefault(require("debug"));
|
|
37
37
|
const assert_1 = __importDefault(require("assert"));
|
|
38
38
|
const debug = {
|
|
39
|
-
info: (0, debug_1.default)(
|
|
40
|
-
error: (0, debug_1.default)(
|
|
39
|
+
info: (0, debug_1.default)("zigbee-herdsman:controller:endpoint"),
|
|
40
|
+
error: (0, debug_1.default)("zigbee-herdsman:controller:endpoint"),
|
|
41
41
|
};
|
|
42
42
|
class Endpoint extends entity_1.default {
|
|
43
43
|
// Getters/setters
|
|
@@ -45,7 +45,7 @@ class Endpoint extends entity_1.default {
|
|
|
45
45
|
return this._binds
|
|
46
46
|
.map((entry) => {
|
|
47
47
|
let target = null;
|
|
48
|
-
if (entry.type ===
|
|
48
|
+
if (entry.type === "endpoint") {
|
|
49
49
|
const device = device_1.default.byIeeeAddr(this.databaseID, entry.deviceIeeeAddress);
|
|
50
50
|
if (device) {
|
|
51
51
|
target = device.getEndpoint(entry.endpointID);
|
|
@@ -55,16 +55,20 @@ class Endpoint extends entity_1.default {
|
|
|
55
55
|
target = group_1.default.byGroupID(entry.groupID, this.databaseID);
|
|
56
56
|
}
|
|
57
57
|
if (target) {
|
|
58
|
-
return {
|
|
58
|
+
return {
|
|
59
|
+
target,
|
|
60
|
+
cluster: Zcl.Utils.getCluster(entry.cluster, this.getDevice().manufacturerID),
|
|
61
|
+
};
|
|
59
62
|
}
|
|
60
63
|
else {
|
|
61
64
|
return undefined;
|
|
62
65
|
}
|
|
63
|
-
})
|
|
66
|
+
})
|
|
67
|
+
.filter((b) => b !== undefined);
|
|
64
68
|
}
|
|
65
69
|
get configuredReportings() {
|
|
66
70
|
return this._configuredReportings.map((entry) => {
|
|
67
|
-
const cluster = Zcl.Utils.getCluster(entry.cluster,
|
|
71
|
+
const cluster = Zcl.Utils.getCluster(entry.cluster, entry.manufacturerCode);
|
|
68
72
|
let attribute;
|
|
69
73
|
if (cluster.hasAttribute(entry.attrId)) {
|
|
70
74
|
attribute = cluster.getAttribute(entry.attrId);
|
|
@@ -104,36 +108,36 @@ class Endpoint extends entity_1.default {
|
|
|
104
108
|
this.sendInProgress = false;
|
|
105
109
|
}
|
|
106
110
|
/**
|
|
107
|
-
|
|
108
|
-
|
|
111
|
+
* Get device of this endpoint
|
|
112
|
+
*/
|
|
109
113
|
getDevice() {
|
|
110
114
|
return device_1.default.byIeeeAddr(this.databaseID, this.deviceIeeeAddress);
|
|
111
115
|
}
|
|
112
116
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
* @param {number|string} clusterKey
|
|
118
|
+
* @returns {boolean}
|
|
119
|
+
*/
|
|
116
120
|
supportsInputCluster(clusterKey) {
|
|
117
121
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
118
122
|
return this.inputClusters.includes(cluster.ID);
|
|
119
123
|
}
|
|
120
124
|
/**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
125
|
+
* @param {number|string} clusterKey
|
|
126
|
+
* @returns {boolean}
|
|
127
|
+
*/
|
|
124
128
|
supportsOutputCluster(clusterKey) {
|
|
125
129
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
126
130
|
return this.outputClusters.includes(cluster.ID);
|
|
127
131
|
}
|
|
128
132
|
/**
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
* @returns {Zcl.TsType.Cluster[]}
|
|
134
|
+
*/
|
|
131
135
|
getInputClusters() {
|
|
132
136
|
return this.clusterNumbersToClusters(this.inputClusters);
|
|
133
137
|
}
|
|
134
138
|
/**
|
|
135
|
-
|
|
136
|
-
|
|
139
|
+
* @returns {Zcl.TsType.Cluster[]}
|
|
140
|
+
*/
|
|
137
141
|
getOutputClusters() {
|
|
138
142
|
return this.clusterNumbersToClusters(this.outputClusters);
|
|
139
143
|
}
|
|
@@ -141,11 +145,11 @@ class Endpoint extends entity_1.default {
|
|
|
141
145
|
return clusterNumbers.map((c) => Zcl.Utils.getCluster(c, this.getDevice().manufacturerID));
|
|
142
146
|
}
|
|
143
147
|
/*
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
* CRUD
|
|
149
|
+
*/
|
|
146
150
|
static fromDatabaseRecord(record, deviceNetworkAddress, deviceIeeeAddress, databaseID) {
|
|
147
151
|
// Migrate attrs to attributes
|
|
148
|
-
for (const entry of Object.values(record.clusters).filter((e) => e.hasOwnProperty(
|
|
152
|
+
for (const entry of Object.values(record.clusters).filter((e) => e.hasOwnProperty("attrs"))) {
|
|
149
153
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
150
154
|
// @ts-ignore
|
|
151
155
|
entry.attributes = entry.attrs;
|
|
@@ -212,7 +216,7 @@ class Endpoint extends entity_1.default {
|
|
|
212
216
|
`${this.pendingRequests.size}, ${fastPolling})`);
|
|
213
217
|
for (const request of this.pendingRequests) {
|
|
214
218
|
if (fastPolling ||
|
|
215
|
-
(request.sendWhen !==
|
|
219
|
+
(request.sendWhen !== "fastpoll" && request.sendPolicy !== "bulk")) {
|
|
216
220
|
try {
|
|
217
221
|
const result = await request.send();
|
|
218
222
|
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): send success`);
|
|
@@ -239,7 +243,7 @@ class Endpoint extends entity_1.default {
|
|
|
239
243
|
filterRequests(newRequest) {
|
|
240
244
|
var _a, _b;
|
|
241
245
|
if (this.pendingRequests.size === 0 ||
|
|
242
|
-
!(typeof newRequest.frame.getCommand ===
|
|
246
|
+
!(typeof newRequest.frame.getCommand === "function")) {
|
|
243
247
|
return;
|
|
244
248
|
}
|
|
245
249
|
const clusterID = newRequest.frame.Cluster.ID;
|
|
@@ -248,23 +252,24 @@ class Endpoint extends entity_1.default {
|
|
|
248
252
|
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): ZCL ${newRequest.frame.getCommand().name} ` + `command, filter requests. Before: ${this.pendingRequests.size}`);
|
|
249
253
|
for (const request of this.pendingRequests) {
|
|
250
254
|
if (((_b = (_a = request === null || request === void 0 ? void 0 : request.frame) === null || _a === void 0 ? void 0 : _a.Cluster) === null || _b === void 0 ? void 0 : _b.ID) === undefined ||
|
|
251
|
-
typeof request.frame.getCommand !==
|
|
255
|
+
typeof request.frame.getCommand !== "function") {
|
|
252
256
|
continue;
|
|
253
257
|
}
|
|
254
|
-
if ([
|
|
258
|
+
if (["bulk", "queue", "immediate"].includes(request.sendPolicy)) {
|
|
255
259
|
continue;
|
|
256
260
|
}
|
|
257
261
|
/* istanbul ignore else */
|
|
258
262
|
if (request.frame.Cluster.ID === clusterID &&
|
|
259
263
|
request.frame.getCommand().ID === commandID) {
|
|
260
264
|
/* istanbul ignore else */
|
|
261
|
-
if (newRequest.sendPolicy ===
|
|
265
|
+
if (newRequest.sendPolicy === "keep-payload" &&
|
|
262
266
|
JSON.stringify(request.frame.Payload) === JSON.stringify(payload)) {
|
|
263
267
|
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): Merge duplicate request`);
|
|
264
268
|
this.pendingRequests.delete(request);
|
|
265
269
|
newRequest.moveCallbacks(request);
|
|
266
270
|
}
|
|
267
|
-
else if ((newRequest.sendPolicy ===
|
|
271
|
+
else if ((newRequest.sendPolicy === "keep-command" ||
|
|
272
|
+
newRequest.sendPolicy === "keep-cmd-undiv") &&
|
|
268
273
|
Array.isArray(request.frame.Payload)) {
|
|
269
274
|
const filteredPayload = request.frame.Payload.filter((oldEl) => !payload.find((newEl) => oldEl.attrId === newEl.attrId));
|
|
270
275
|
if (filteredPayload.length == 0) {
|
|
@@ -277,7 +282,7 @@ class Endpoint extends entity_1.default {
|
|
|
277
282
|
}
|
|
278
283
|
this.pendingRequests.delete(request);
|
|
279
284
|
}
|
|
280
|
-
else if (newRequest.sendPolicy !==
|
|
285
|
+
else if (newRequest.sendPolicy !== "keep-cmd-undiv") {
|
|
281
286
|
// remove all duplicate attributes if we shall not write undivided
|
|
282
287
|
request.frame.Payload = filteredPayload;
|
|
283
288
|
debug.info(`Request Queue (${this.deviceIeeeAddress}/${this.ID}): ` +
|
|
@@ -293,15 +298,15 @@ class Endpoint extends entity_1.default {
|
|
|
293
298
|
}) {
|
|
294
299
|
const logPrefix = `Request Queue (${this.deviceIeeeAddress}/${this.ID}): `;
|
|
295
300
|
const request = new request_1.default(func, frame, this.getDevice().pendingRequestTimeout, options.sendWhen, options.sendPolicy);
|
|
296
|
-
if (request.sendPolicy !==
|
|
301
|
+
if (request.sendPolicy !== "bulk") {
|
|
297
302
|
// Check if such a request is already in the queue and remove the old one(s) if necessary
|
|
298
303
|
this.filterRequests(request);
|
|
299
304
|
}
|
|
300
305
|
// send without queueing if sendWhen or sendPolicy is 'immediate' or if the device has no timeout set
|
|
301
|
-
if (request.sendWhen ===
|
|
302
|
-
request.sendPolicy ===
|
|
306
|
+
if (request.sendWhen === "immediate" ||
|
|
307
|
+
request.sendPolicy === "immediate" ||
|
|
303
308
|
!this.getDevice().pendingRequestTimeout) {
|
|
304
|
-
if (this.getDevice().defaultSendRequestWhen !==
|
|
309
|
+
if (this.getDevice().defaultSendRequestWhen !== "immediate") {
|
|
305
310
|
debug.info(logPrefix +
|
|
306
311
|
`send ${frame.getCommand().name} request immediately ` +
|
|
307
312
|
`(sendWhen=${options.sendWhen})`);
|
|
@@ -309,7 +314,7 @@ class Endpoint extends entity_1.default {
|
|
|
309
314
|
return request.send();
|
|
310
315
|
}
|
|
311
316
|
// If this is a bulk message, we queue directly.
|
|
312
|
-
if (request.sendPolicy ===
|
|
317
|
+
if (request.sendPolicy === "bulk") {
|
|
313
318
|
debug.info(logPrefix +
|
|
314
319
|
`queue request (${this.pendingRequests.size} / ${this.sendInProgress})))`);
|
|
315
320
|
return this.queueRequest(request);
|
|
@@ -326,8 +331,8 @@ class Endpoint extends entity_1.default {
|
|
|
326
331
|
}
|
|
327
332
|
}
|
|
328
333
|
/*
|
|
329
|
-
|
|
330
|
-
|
|
334
|
+
* Zigbee functions
|
|
335
|
+
*/
|
|
331
336
|
checkStatus(payload) {
|
|
332
337
|
const codes = Array.isArray(payload)
|
|
333
338
|
? payload.map((i) => i.status)
|
|
@@ -365,7 +370,7 @@ class Endpoint extends entity_1.default {
|
|
|
365
370
|
`${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
|
|
366
371
|
debug.info(log);
|
|
367
372
|
try {
|
|
368
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(),
|
|
373
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), "report", cluster.ID, payload, options.reservedBits);
|
|
369
374
|
await this.sendRequest(frame, options);
|
|
370
375
|
}
|
|
371
376
|
catch (error) {
|
|
@@ -403,7 +408,7 @@ class Endpoint extends entity_1.default {
|
|
|
403
408
|
`${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
|
|
404
409
|
debug.info(log);
|
|
405
410
|
try {
|
|
406
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), options.writeUndiv ?
|
|
411
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), options.writeUndiv ? "writeUndiv" : "write", cluster.ID, payload, options.reservedBits);
|
|
407
412
|
const result = await this.sendRequest(frame, options);
|
|
408
413
|
if (!options.disableResponse) {
|
|
409
414
|
this.checkStatus(result.frame.Payload);
|
|
@@ -416,12 +421,12 @@ class Endpoint extends entity_1.default {
|
|
|
416
421
|
}
|
|
417
422
|
}
|
|
418
423
|
async writeResponse(clusterKey, transactionSequenceNumber, attributes, options) {
|
|
419
|
-
(0, assert_1.default)(!options || !options.hasOwnProperty(
|
|
424
|
+
(0, assert_1.default)(!options || !options.hasOwnProperty("transactionSequenceNumber"), "Use parameter");
|
|
420
425
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
421
426
|
options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
|
|
422
427
|
const payload = [];
|
|
423
428
|
for (const [nameOrID, value] of Object.entries(attributes)) {
|
|
424
|
-
if (value.hasOwnProperty(
|
|
429
|
+
if (value.hasOwnProperty("status")) {
|
|
425
430
|
if (cluster.hasAttribute(nameOrID)) {
|
|
426
431
|
const attribute = cluster.getAttribute(nameOrID);
|
|
427
432
|
payload.push({ attrId: attribute.ID, status: value.status });
|
|
@@ -437,7 +442,7 @@ class Endpoint extends entity_1.default {
|
|
|
437
442
|
throw new Error(`Missing attribute 'status'`);
|
|
438
443
|
}
|
|
439
444
|
}
|
|
440
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber,
|
|
445
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, "writeRsp", cluster.ID, payload, options.reservedBits);
|
|
441
446
|
const log = `WriteResponse ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
442
447
|
`${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
|
|
443
448
|
debug.info(log);
|
|
@@ -457,12 +462,12 @@ class Endpoint extends entity_1.default {
|
|
|
457
462
|
const payload = [];
|
|
458
463
|
for (const attribute of attributes) {
|
|
459
464
|
payload.push({
|
|
460
|
-
attrId: typeof attribute ===
|
|
465
|
+
attrId: typeof attribute === "number"
|
|
461
466
|
? attribute
|
|
462
467
|
: cluster.getAttribute(attribute).ID,
|
|
463
468
|
});
|
|
464
469
|
}
|
|
465
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(),
|
|
470
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), "read", cluster.ID, payload, options.reservedBits);
|
|
466
471
|
const log = `Read ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
467
472
|
`${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
|
|
468
473
|
debug.info(log);
|
|
@@ -483,7 +488,7 @@ class Endpoint extends entity_1.default {
|
|
|
483
488
|
}
|
|
484
489
|
}
|
|
485
490
|
async readResponse(clusterKey, transactionSequenceNumber, attributes, options) {
|
|
486
|
-
(0, assert_1.default)(!options || !options.hasOwnProperty(
|
|
491
|
+
(0, assert_1.default)(!options || !options.hasOwnProperty("transactionSequenceNumber"), "Use parameter");
|
|
487
492
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
488
493
|
options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
|
|
489
494
|
const payload = [];
|
|
@@ -509,7 +514,7 @@ class Endpoint extends entity_1.default {
|
|
|
509
514
|
throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
|
|
510
515
|
}
|
|
511
516
|
}
|
|
512
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber,
|
|
517
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, "readRsp", cluster.ID, payload, options.reservedBits);
|
|
513
518
|
const log = `ReadResponse ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
514
519
|
`${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
|
|
515
520
|
debug.info(log);
|
|
@@ -524,7 +529,7 @@ class Endpoint extends entity_1.default {
|
|
|
524
529
|
}
|
|
525
530
|
addBinding(clusterKey, target) {
|
|
526
531
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
527
|
-
if (typeof target ===
|
|
532
|
+
if (typeof target === "number") {
|
|
528
533
|
target =
|
|
529
534
|
group_1.default.byGroupID(target, this.databaseID) ||
|
|
530
535
|
group_1.default.create(target, this.databaseID);
|
|
@@ -534,13 +539,13 @@ class Endpoint extends entity_1.default {
|
|
|
534
539
|
this._binds.push({
|
|
535
540
|
cluster: cluster.ID,
|
|
536
541
|
groupID: target.groupID,
|
|
537
|
-
type:
|
|
542
|
+
type: "group",
|
|
538
543
|
});
|
|
539
544
|
}
|
|
540
545
|
else {
|
|
541
546
|
this._binds.push({
|
|
542
547
|
cluster: cluster.ID,
|
|
543
|
-
type:
|
|
548
|
+
type: "endpoint",
|
|
544
549
|
deviceIeeeAddress: target.deviceIeeeAddress,
|
|
545
550
|
endpointID: target.ID,
|
|
546
551
|
});
|
|
@@ -550,8 +555,8 @@ class Endpoint extends entity_1.default {
|
|
|
550
555
|
}
|
|
551
556
|
async bind(clusterKey, target) {
|
|
552
557
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
553
|
-
const type = target instanceof Endpoint ?
|
|
554
|
-
if (typeof target ===
|
|
558
|
+
const type = target instanceof Endpoint ? "endpoint" : "group";
|
|
559
|
+
if (typeof target === "number") {
|
|
555
560
|
target =
|
|
556
561
|
group_1.default.byGroupID(target, this.databaseID) ||
|
|
557
562
|
group_1.default.create(target, this.databaseID);
|
|
@@ -577,7 +582,7 @@ class Endpoint extends entity_1.default {
|
|
|
577
582
|
}
|
|
578
583
|
async unbind(clusterKey, target) {
|
|
579
584
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
580
|
-
const type = target instanceof Endpoint ?
|
|
585
|
+
const type = target instanceof Endpoint ? "endpoint" : "group";
|
|
581
586
|
const destinationAddress = target instanceof Endpoint
|
|
582
587
|
? target.deviceIeeeAddress
|
|
583
588
|
: target instanceof group_1.default
|
|
@@ -590,7 +595,7 @@ class Endpoint extends entity_1.default {
|
|
|
590
595
|
debug.info(log);
|
|
591
596
|
try {
|
|
592
597
|
await entity_1.default.getAdapterByID(this.databaseID).unbind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
|
|
593
|
-
if (typeof target ===
|
|
598
|
+
if (typeof target === "number" &&
|
|
594
599
|
group_1.default.byGroupID(target, this.databaseID)) {
|
|
595
600
|
target = group_1.default.byGroupID(target, this.databaseID);
|
|
596
601
|
}
|
|
@@ -607,10 +612,10 @@ class Endpoint extends entity_1.default {
|
|
|
607
612
|
}
|
|
608
613
|
}
|
|
609
614
|
async defaultResponse(commandID, status, clusterID, transactionSequenceNumber, options) {
|
|
610
|
-
(0, assert_1.default)(!options || !options.hasOwnProperty(
|
|
615
|
+
(0, assert_1.default)(!options || !options.hasOwnProperty("transactionSequenceNumber"), "Use parameter");
|
|
611
616
|
options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, null);
|
|
612
617
|
const payload = { cmdId: commandID, statusCode: status };
|
|
613
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber,
|
|
618
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, "defaultRsp", clusterID, payload, options.reservedBits);
|
|
614
619
|
const log = `DefaultResponse ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
615
620
|
`${clusterID}(${commandID}, ${JSON.stringify(options)})`;
|
|
616
621
|
debug.info(log);
|
|
@@ -629,7 +634,7 @@ class Endpoint extends entity_1.default {
|
|
|
629
634
|
options = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
|
|
630
635
|
const payload = items.map((item) => {
|
|
631
636
|
let dataType, attrId;
|
|
632
|
-
if (typeof item.attribute ===
|
|
637
|
+
if (typeof item.attribute === "object") {
|
|
633
638
|
dataType = item.attribute.type;
|
|
634
639
|
attrId = item.attribute.ID;
|
|
635
640
|
}
|
|
@@ -650,7 +655,7 @@ class Endpoint extends entity_1.default {
|
|
|
650
655
|
repChange: item.reportableChange,
|
|
651
656
|
};
|
|
652
657
|
});
|
|
653
|
-
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(),
|
|
658
|
+
const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), "configReport", cluster.ID, payload, options.reservedBits);
|
|
654
659
|
const log = `ConfigureReporting ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
655
660
|
`${cluster.name}(${JSON.stringify(items)}, ${JSON.stringify(options)})`;
|
|
656
661
|
debug.info(log);
|
|
@@ -660,10 +665,9 @@ class Endpoint extends entity_1.default {
|
|
|
660
665
|
this.checkStatus(result.frame.Payload);
|
|
661
666
|
}
|
|
662
667
|
for (const e of payload) {
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
}
|
|
668
|
+
this._configuredReportings = this._configuredReportings.filter((c) => !(c.attrId === e.attrId &&
|
|
669
|
+
c.cluster === cluster.ID &&
|
|
670
|
+
c.manufacturerCode === options.manufacturerCode));
|
|
667
671
|
}
|
|
668
672
|
for (const entry of payload) {
|
|
669
673
|
if (entry.maxRepIntval !== 0xffff) {
|
|
@@ -673,6 +677,7 @@ class Endpoint extends entity_1.default {
|
|
|
673
677
|
minRepIntval: entry.minRepIntval,
|
|
674
678
|
maxRepIntval: entry.maxRepIntval,
|
|
675
679
|
repChange: entry.repChange,
|
|
680
|
+
manufacturerCode: options.manufacturerCode,
|
|
676
681
|
});
|
|
677
682
|
}
|
|
678
683
|
}
|
|
@@ -706,7 +711,7 @@ class Endpoint extends entity_1.default {
|
|
|
706
711
|
var _a;
|
|
707
712
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
708
713
|
const command = cluster.getCommand(commandKey);
|
|
709
|
-
const hasResponse = command.hasOwnProperty(
|
|
714
|
+
const hasResponse = command.hasOwnProperty("response");
|
|
710
715
|
options = this.getOptionsWithDefaults(options, hasResponse, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
|
|
711
716
|
const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, options.disableDefaultResponse, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, options.reservedBits);
|
|
712
717
|
const log = `Command ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
@@ -725,7 +730,7 @@ class Endpoint extends entity_1.default {
|
|
|
725
730
|
}
|
|
726
731
|
}
|
|
727
732
|
async commandResponse(clusterKey, commandKey, payload, options, transactionSequenceNumber) {
|
|
728
|
-
(0, assert_1.default)(!options || !options.hasOwnProperty(
|
|
733
|
+
(0, assert_1.default)(!options || !options.hasOwnProperty("transactionSequenceNumber"), "Use parameter");
|
|
729
734
|
const cluster = Zcl.Utils.getCluster(clusterKey);
|
|
730
735
|
const command = cluster.getCommandResponse(commandKey);
|
|
731
736
|
transactionSequenceNumber =
|
|
@@ -782,19 +787,19 @@ class Endpoint extends entity_1.default {
|
|
|
782
787
|
};
|
|
783
788
|
}
|
|
784
789
|
async addToGroup(group) {
|
|
785
|
-
await this.command(
|
|
790
|
+
await this.command("genGroups", "add", {
|
|
786
791
|
groupid: group.groupID,
|
|
787
|
-
groupname:
|
|
792
|
+
groupname: "",
|
|
788
793
|
});
|
|
789
794
|
group.addMember(this);
|
|
790
795
|
}
|
|
791
796
|
/**
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
797
|
+
* Remove endpoint from a group, accepts both a Group and number as parameter.
|
|
798
|
+
* The number parameter type should only be used when removing from a group which is not known
|
|
799
|
+
* to zigbee-herdsman.
|
|
800
|
+
*/
|
|
796
801
|
async removeFromGroup(group) {
|
|
797
|
-
await this.command(
|
|
802
|
+
await this.command("genGroups", "remove", {
|
|
798
803
|
groupid: group instanceof group_1.default ? group.groupID : group,
|
|
799
804
|
});
|
|
800
805
|
if (group instanceof group_1.default) {
|
|
@@ -802,7 +807,7 @@ class Endpoint extends entity_1.default {
|
|
|
802
807
|
}
|
|
803
808
|
}
|
|
804
809
|
async removeFromAllGroups() {
|
|
805
|
-
await this.command(
|
|
810
|
+
await this.command("genGroups", "removeAll", {}, { disableDefaultResponse: true });
|
|
806
811
|
this.removeFromAllGroupsDatabase();
|
|
807
812
|
}
|
|
808
813
|
removeFromAllGroupsDatabase() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
package/dist/zcl/index.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ import PowerSource from './definition/powerSource';
|
|
|
10
10
|
import EndpointDeviceType from './definition/endpointDeviceType';
|
|
11
11
|
import ManufacturerCode from './definition/manufacturerCode';
|
|
12
12
|
import ZclFrame from './zclFrame';
|
|
13
|
+
import ZclHeader from './zclHeader';
|
|
13
14
|
import ZclStatusError from './zclStatusError';
|
|
14
15
|
import * as TsType from './tstype';
|
|
15
|
-
export { Cluster, Direction, FrameType, Status, DataType, Foundation, ZclFrame, Utils, PowerSource, TsType, ManufacturerCode, FrameControl, EndpointDeviceType, ZclStatusError, };
|
|
16
|
+
export { Cluster, Direction, FrameType, Status, DataType, Foundation, ZclFrame, Utils, PowerSource, TsType, ManufacturerCode, FrameControl, EndpointDeviceType, ZclStatusError, ZclHeader, };
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|