zigbee-herdsman 0.40.2 → 0.41.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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +15 -0
- package/dist/adapter/adapter.d.ts +2 -4
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +15 -17
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -2
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +65 -65
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +44 -44
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +43 -43
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +6 -6
- package/dist/adapter/deconz/driver/parser.js.map +1 -1
- package/dist/adapter/deconz/driver/writer.js +3 -3
- package/dist/adapter/deconz/driver/writer.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +1 -2
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +144 -149
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +3 -1
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/ember/adapter/requestQueue.js +9 -12
- package/dist/adapter/ember/adapter/requestQueue.js.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.js +23 -20
- package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +139 -138
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.js +71 -75
- package/dist/adapter/ember/uart/ash.js.map +1 -1
- package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
- package/dist/adapter/ember/uart/parser.js +3 -6
- package/dist/adapter/ember/uart/parser.js.map +1 -1
- package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
- package/dist/adapter/ember/uart/queues.js +3 -1
- package/dist/adapter/ember/uart/queues.js.map +1 -1
- package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
- package/dist/adapter/ember/uart/writer.js +3 -6
- package/dist/adapter/ember/uart/writer.js.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts +0 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +3 -7
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +1 -2
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +23 -22
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +1 -3
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +67 -64
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +61 -50
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +8 -12
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +5 -5
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +2 -2
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +2 -2
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +46 -46
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/writer.js +3 -6
- package/dist/adapter/ezsp/driver/writer.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -29
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts +1 -4
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +51 -60
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +1 -2
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +23 -22
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +6 -6
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js +4 -7
- package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +18 -25
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -2
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +50 -50
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/frame.js +8 -8
- package/dist/adapter/zigate/driver/frame.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +5 -4
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +23 -23
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/controller/controller.d.ts +1 -3
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +47 -56
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.d.ts.map +1 -1
- package/dist/controller/database.js +3 -5
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +13 -20
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
- package/dist/controller/helpers/requestQueue.js +15 -25
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +44 -49
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +14 -18
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/group.d.ts.map +1 -1
- package/dist/controller/model/group.js +8 -11
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/touchlink.js +21 -24
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +14 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/zcl/buffaloZcl.d.ts.map +1 -1
- package/dist/zcl/buffaloZcl.js +3 -9
- package/dist/zcl/buffaloZcl.js.map +1 -1
- package/package.json +4 -4
- package/dist/adapter/zigate/debug.d.ts +0 -8
- package/dist/adapter/zigate/debug.d.ts.map +0 -1
- package/dist/adapter/zigate/debug.js +0 -20
- package/dist/adapter/zigate/debug.js.map +0 -1
- package/dist/controller/logger-stub.d.ts +0 -7
- package/dist/controller/logger-stub.d.ts.map +0 -1
- package/dist/controller/logger-stub.js +0 -3
- package/dist/controller/logger-stub.js.map +0 -1
|
@@ -30,18 +30,15 @@ const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTr
|
|
|
30
30
|
const endpoint_1 = __importDefault(require("./endpoint"));
|
|
31
31
|
const entity_1 = __importDefault(require("./entity"));
|
|
32
32
|
const utils_1 = require("../../utils");
|
|
33
|
-
const debug_1 = __importDefault(require("debug"));
|
|
34
33
|
const Zcl = __importStar(require("../../zcl"));
|
|
35
34
|
const assert_1 = __importDefault(require("assert"));
|
|
36
35
|
const helpers_1 = require("../helpers");
|
|
36
|
+
const logger_1 = require("../../utils/logger");
|
|
37
37
|
/**
|
|
38
38
|
* @ignore
|
|
39
39
|
*/
|
|
40
40
|
const OneJanuary2000 = new Date('January 01, 2000 00:00:00 UTC+00:00').getTime();
|
|
41
|
-
const
|
|
42
|
-
error: (0, debug_1.default)('zigbee-herdsman:controller:device:error'),
|
|
43
|
-
log: (0, debug_1.default)('zigbee-herdsman:controller:device:log'),
|
|
44
|
-
};
|
|
41
|
+
const NS = 'zh:controller:device';
|
|
45
42
|
class Device extends entity_1.default {
|
|
46
43
|
ID;
|
|
47
44
|
_applicationVersion;
|
|
@@ -208,7 +205,7 @@ class Device extends entity_1.default {
|
|
|
208
205
|
}
|
|
209
206
|
// Respond to enroll requests
|
|
210
207
|
if (frame.isSpecific() && frame.isCluster('ssIasZone') && frame.isCommand('enrollReq')) {
|
|
211
|
-
debug
|
|
208
|
+
logger_1.logger.debug(`IAS - '${this.ieeeAddr}' responding to enroll response`, NS);
|
|
212
209
|
const payload = { enrollrspcode: 0, zoneid: 23 };
|
|
213
210
|
await endpoint.command('ssIasZone', 'enrollRsp', payload, { disableDefaultResponse: true });
|
|
214
211
|
}
|
|
@@ -242,7 +239,7 @@ class Device extends entity_1.default {
|
|
|
242
239
|
await endpoint.readResponse(frame.Cluster.ID, frame.Header.transactionSequenceNumber, response, { srcEndpoint: dataPayload.destinationEndpoint });
|
|
243
240
|
}
|
|
244
241
|
catch (error) {
|
|
245
|
-
|
|
242
|
+
logger_1.logger.error(`Read response to ${this.ieeeAddr} failed`, NS);
|
|
246
243
|
}
|
|
247
244
|
}
|
|
248
245
|
}
|
|
@@ -254,19 +251,19 @@ class Device extends entity_1.default {
|
|
|
254
251
|
startFastPolling: true,
|
|
255
252
|
fastPollTimeout: 0,
|
|
256
253
|
};
|
|
257
|
-
debug
|
|
254
|
+
logger_1.logger.debug(`check-in from ${this.ieeeAddr}: accepting fast-poll`, NS);
|
|
258
255
|
await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, { sendPolicy: 'immediate' });
|
|
259
256
|
// This is a good time to read the checkin interval if we haven't stored it previously
|
|
260
257
|
if (this._checkinInterval === undefined) {
|
|
261
258
|
const pollPeriod = await endpoint.read('genPollCtrl', ['checkinInterval'], { sendPolicy: 'immediate' });
|
|
262
259
|
this._checkinInterval = pollPeriod.checkinInterval / 4; // convert to seconds
|
|
263
260
|
this.resetPendingRequestTimeout();
|
|
264
|
-
debug
|
|
261
|
+
logger_1.logger.debug(`Request Queue (${this.ieeeAddr}): default expiration timeout set to ${this.pendingRequestTimeout}`, NS);
|
|
265
262
|
}
|
|
266
263
|
await Promise.all(this.endpoints.map(async (e) => e.sendPendingRequests(true)));
|
|
267
264
|
// We *must* end fast-poll when we're done sending things. Otherwise
|
|
268
265
|
// we cause undue power-drain.
|
|
269
|
-
debug
|
|
266
|
+
logger_1.logger.debug(`check-in from ${this.ieeeAddr}: stopping fast-poll`, NS);
|
|
270
267
|
await endpoint.command(frame.Cluster.ID, 'fastPollStop', {}, { sendPolicy: 'immediate' });
|
|
271
268
|
}
|
|
272
269
|
else {
|
|
@@ -274,13 +271,13 @@ class Device extends entity_1.default {
|
|
|
274
271
|
startFastPolling: false,
|
|
275
272
|
fastPollTimeout: 0,
|
|
276
273
|
};
|
|
277
|
-
debug
|
|
274
|
+
logger_1.logger.debug(`check-in from ${this.ieeeAddr}: declining fast-poll`, NS);
|
|
278
275
|
await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, { sendPolicy: 'immediate' });
|
|
279
276
|
}
|
|
280
277
|
}
|
|
281
278
|
catch (error) {
|
|
282
279
|
/* istanbul ignore next */
|
|
283
|
-
|
|
280
|
+
logger_1.logger.error(`Handling of poll check-in from ${this.ieeeAddr} failed`, NS);
|
|
284
281
|
}
|
|
285
282
|
}
|
|
286
283
|
// Send a default response if necessary.
|
|
@@ -305,7 +302,7 @@ class Device extends entity_1.default {
|
|
|
305
302
|
await endpoint.defaultResponse(frame.getCommand().ID, 0, frame.Cluster.ID, frame.Header.transactionSequenceNumber, { direction });
|
|
306
303
|
}
|
|
307
304
|
catch (error) {
|
|
308
|
-
|
|
305
|
+
logger_1.logger.error(`Default response to ${this.ieeeAddr} failed`, NS);
|
|
309
306
|
}
|
|
310
307
|
}
|
|
311
308
|
}
|
|
@@ -333,7 +330,7 @@ class Device extends entity_1.default {
|
|
|
333
330
|
pendingRequestTimeout = entry.checkinInterval * 1000; // milliseconds
|
|
334
331
|
}
|
|
335
332
|
}
|
|
336
|
-
debug
|
|
333
|
+
logger_1.logger.debug(`Request Queue (${ieeeAddr}): default expiration timeout set to ${pendingRequestTimeout}`, NS);
|
|
337
334
|
return new Device(entry.id, entry.type, ieeeAddr, networkAddress, entry.manufId, endpoints, entry.manufName, entry.powerSource, entry.modelId, entry.appVersion, entry.stackVersion, entry.zclVersion, entry.hwVersion, entry.dateCode, entry.swBuildId, entry.interviewCompleted, meta, entry.lastSeen || null, entry.checkinInterval, pendingRequestTimeout);
|
|
338
335
|
}
|
|
339
336
|
toDatabaseEntry() {
|
|
@@ -405,23 +402,23 @@ class Device extends entity_1.default {
|
|
|
405
402
|
async interview() {
|
|
406
403
|
if (this.interviewing) {
|
|
407
404
|
const message = `Interview - interview already in progress for '${this.ieeeAddr}'`;
|
|
408
|
-
debug
|
|
405
|
+
logger_1.logger.debug(message, NS);
|
|
409
406
|
throw new Error(message);
|
|
410
407
|
}
|
|
411
408
|
let error;
|
|
412
409
|
this._interviewing = true;
|
|
413
|
-
debug
|
|
410
|
+
logger_1.logger.debug(`Interview - start device '${this.ieeeAddr}'`, NS);
|
|
414
411
|
try {
|
|
415
412
|
await this.interviewInternal();
|
|
416
|
-
debug
|
|
413
|
+
logger_1.logger.debug(`Interview - completed for device '${this.ieeeAddr}'`, NS);
|
|
417
414
|
this._interviewCompleted = true;
|
|
418
415
|
}
|
|
419
416
|
catch (e) {
|
|
420
417
|
if (this.interviewQuirks()) {
|
|
421
|
-
debug
|
|
418
|
+
logger_1.logger.debug(`Interview - completed for device '${this.ieeeAddr}' because of quirks ('${e}')`, NS);
|
|
422
419
|
}
|
|
423
420
|
else {
|
|
424
|
-
debug
|
|
421
|
+
logger_1.logger.debug(`Interview - failed for device '${this.ieeeAddr}' with error '${e.stack}'`, NS);
|
|
425
422
|
error = e;
|
|
426
423
|
}
|
|
427
424
|
}
|
|
@@ -434,7 +431,7 @@ class Device extends entity_1.default {
|
|
|
434
431
|
}
|
|
435
432
|
}
|
|
436
433
|
interviewQuirks() {
|
|
437
|
-
debug
|
|
434
|
+
logger_1.logger.debug(`Interview - quirks check for '${this.modelID}'-'${this.manufacturerName}'-'${this.type}'`, NS);
|
|
438
435
|
// TuYa devices are typically hard to interview. They also don't require a full interview to work correctly
|
|
439
436
|
// e.g. no ias enrolling is required for the devices to work.
|
|
440
437
|
// Assume that in case we got both the manufacturerName and modelID the device works correctly.
|
|
@@ -448,7 +445,7 @@ class Device extends entity_1.default {
|
|
|
448
445
|
this._powerSource = this._powerSource || 'Battery';
|
|
449
446
|
this._interviewing = false;
|
|
450
447
|
this._interviewCompleted = true;
|
|
451
|
-
debug
|
|
448
|
+
logger_1.logger.debug(`Interview - quirks matched for TuYa end device`, NS);
|
|
452
449
|
return true;
|
|
453
450
|
}
|
|
454
451
|
// Some devices, e.g. Xiaomi end devices have a different interview procedure, after pairing they
|
|
@@ -471,18 +468,18 @@ class Device extends entity_1.default {
|
|
|
471
468
|
const match = Object.keys(lookup).find((key) => this.modelID && this.modelID.match(key));
|
|
472
469
|
if (match) {
|
|
473
470
|
const info = lookup[match];
|
|
474
|
-
debug
|
|
471
|
+
logger_1.logger.debug(`Interview procedure failed but got modelID matching '${match}', assuming interview succeeded`, NS);
|
|
475
472
|
this._type = this._type === 'Unknown' ? info.type : this._type;
|
|
476
473
|
this._manufacturerID = this._manufacturerID || info.manufacturerID;
|
|
477
474
|
this._manufacturerName = this._manufacturerName || info.manufacturerName;
|
|
478
475
|
this._powerSource = this._powerSource || info.powerSource;
|
|
479
476
|
this._interviewing = false;
|
|
480
477
|
this._interviewCompleted = true;
|
|
481
|
-
debug
|
|
478
|
+
logger_1.logger.debug(`Interview - quirks matched on '${match}'`, NS);
|
|
482
479
|
return true;
|
|
483
480
|
}
|
|
484
481
|
else {
|
|
485
|
-
debug
|
|
482
|
+
logger_1.logger.debug('Interview - quirks did not match', NS);
|
|
486
483
|
return false;
|
|
487
484
|
}
|
|
488
485
|
}
|
|
@@ -491,7 +488,7 @@ class Device extends entity_1.default {
|
|
|
491
488
|
const nodeDescriptor = await entity_1.default.adapter.nodeDescriptor(this.networkAddress);
|
|
492
489
|
this._manufacturerID = nodeDescriptor.manufacturerCode;
|
|
493
490
|
this._type = nodeDescriptor.type;
|
|
494
|
-
debug
|
|
491
|
+
logger_1.logger.debug(`Interview - got node descriptor for device '${this.ieeeAddr}'`, NS);
|
|
495
492
|
};
|
|
496
493
|
const hasNodeDescriptor = () => this._manufacturerID != null && this._type != null;
|
|
497
494
|
if (!hasNodeDescriptor()) {
|
|
@@ -502,18 +499,18 @@ class Device extends entity_1.default {
|
|
|
502
499
|
}
|
|
503
500
|
catch (error) {
|
|
504
501
|
if (this.interviewQuirks()) {
|
|
505
|
-
debug
|
|
502
|
+
logger_1.logger.debug(`Interview - completed for device '${this.ieeeAddr}' because of quirks ('${error}')`, NS);
|
|
506
503
|
return;
|
|
507
504
|
}
|
|
508
505
|
else {
|
|
509
506
|
// Most of the times the first node descriptor query fails and the seconds one succeeds.
|
|
510
|
-
debug
|
|
507
|
+
logger_1.logger.debug(`Interview - node descriptor request failed for '${this.ieeeAddr}', attempt ${attempt + 1}`, NS);
|
|
511
508
|
}
|
|
512
509
|
}
|
|
513
510
|
}
|
|
514
511
|
}
|
|
515
512
|
else {
|
|
516
|
-
debug
|
|
513
|
+
logger_1.logger.debug(`Interview - skip node descriptor request for '${this.ieeeAddr}', already got it`, NS);
|
|
517
514
|
}
|
|
518
515
|
if (!hasNodeDescriptor()) {
|
|
519
516
|
throw new Error(`Interview failed because can not get node descriptor ('${this.ieeeAddr}')`);
|
|
@@ -521,7 +518,7 @@ class Device extends entity_1.default {
|
|
|
521
518
|
if (this.manufacturerID === 4619 && this._type === 'EndDevice') {
|
|
522
519
|
// Give TuYa end device some time to pair. Otherwise they leave immediately.
|
|
523
520
|
// https://github.com/Koenkk/zigbee2mqtt/issues/5814
|
|
524
|
-
debug
|
|
521
|
+
logger_1.logger.debug("Interview - Detected TuYa end device, waiting 10 seconds...", NS);
|
|
525
522
|
await (0, utils_1.Wait)(10000);
|
|
526
523
|
}
|
|
527
524
|
else if ([0, 4098].includes(this.manufacturerID)) {
|
|
@@ -529,7 +526,7 @@ class Device extends entity_1.default {
|
|
|
529
526
|
// In case the device responds, the endoint and modelID/manufacturerName are set
|
|
530
527
|
// in controller.onZclOrRawData()
|
|
531
528
|
// https://github.com/Koenkk/zigbee2mqtt/issues/7553
|
|
532
|
-
debug
|
|
529
|
+
logger_1.logger.debug("Interview - Detected potential TuYa end device, reading modelID and manufacturerName...", NS);
|
|
533
530
|
try {
|
|
534
531
|
const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
|
|
535
532
|
const result = await endpoint.read('genBasic', ['modelId', 'manufacturerName'], { sendPolicy: 'immediate' });
|
|
@@ -538,7 +535,7 @@ class Device extends entity_1.default {
|
|
|
538
535
|
}
|
|
539
536
|
catch (error) {
|
|
540
537
|
/* istanbul ignore next */
|
|
541
|
-
debug
|
|
538
|
+
logger_1.logger.debug(`Interview - TuYa read modelID and manufacturerName failed (${error})`, NS);
|
|
542
539
|
}
|
|
543
540
|
}
|
|
544
541
|
// e.g. Xiaomi Aqara Opple devices fail to respond to the first active endpoints request, therefore try 2 times
|
|
@@ -550,7 +547,7 @@ class Device extends entity_1.default {
|
|
|
550
547
|
break;
|
|
551
548
|
}
|
|
552
549
|
catch (error) {
|
|
553
|
-
debug
|
|
550
|
+
logger_1.logger.debug(`Interview - active endpoints request failed for '${this.ieeeAddr}', attempt ${attempt + 1}`, NS);
|
|
554
551
|
}
|
|
555
552
|
}
|
|
556
553
|
if (!activeEndpoints) {
|
|
@@ -562,7 +559,7 @@ class Device extends entity_1.default {
|
|
|
562
559
|
// This is not a valid endpoint number according to the ZCL, requesting a simple descriptor will result
|
|
563
560
|
// into an error. Therefore we filter it, more info: https://github.com/Koenkk/zigbee-herdsman/issues/82
|
|
564
561
|
activeEndpoints.endpoints.filter((e) => e !== 0 && !this.getEndpoint(e)).forEach((e) => this._endpoints.push(endpoint_1.default.create(e, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr)));
|
|
565
|
-
debug
|
|
562
|
+
logger_1.logger.debug(`Interview - got active endpoints for device '${this.ieeeAddr}'`, NS);
|
|
566
563
|
for (const endpointID of activeEndpoints.endpoints.filter((e) => e !== 0)) {
|
|
567
564
|
const endpoint = this.getEndpoint(endpointID);
|
|
568
565
|
const simpleDescriptor = await entity_1.default.adapter.simpleDescriptor(this.networkAddress, endpoint.ID);
|
|
@@ -570,7 +567,7 @@ class Device extends entity_1.default {
|
|
|
570
567
|
endpoint.deviceID = simpleDescriptor.deviceID;
|
|
571
568
|
endpoint.inputClusters = simpleDescriptor.inputClusters;
|
|
572
569
|
endpoint.outputClusters = simpleDescriptor.outputClusters;
|
|
573
|
-
debug
|
|
570
|
+
logger_1.logger.debug(`Interview - got simple descriptor for endpoint '${endpoint.ID}' device '${this.ieeeAddr}'`, NS);
|
|
574
571
|
// Read attributes, nice to have but not required for succesfull pairing as most of the attributes
|
|
575
572
|
// are not mandatory in ZCL specification.
|
|
576
573
|
if (endpoint.supportsInputCluster('genBasic')) {
|
|
@@ -587,8 +584,7 @@ class Device extends entity_1.default {
|
|
|
587
584
|
// https://github.com/Koenkk/zigbee-herdsman-converters/issues/2485.
|
|
588
585
|
// The modelID and manufacturerName are crucial for device identification, so retry.
|
|
589
586
|
if (item.key === 'modelID' || item.key === 'manufacturerName') {
|
|
590
|
-
debug
|
|
591
|
-
`retrying after 10 seconds...`);
|
|
587
|
+
logger_1.logger.debug(`Interview - first ${item.key} retrieval attempt failed, retrying after 10 seconds...`, NS);
|
|
592
588
|
await (0, utils_1.Wait)(10000);
|
|
593
589
|
result = await endpoint.read('genBasic', [key], { sendPolicy: 'immediate' });
|
|
594
590
|
}
|
|
@@ -597,11 +593,10 @@ class Device extends entity_1.default {
|
|
|
597
593
|
}
|
|
598
594
|
}
|
|
599
595
|
item.set(result[key], this);
|
|
600
|
-
debug
|
|
596
|
+
logger_1.logger.debug(`Interview - got '${item.key}' for device '${this.ieeeAddr}'`, NS);
|
|
601
597
|
}
|
|
602
598
|
catch (error) {
|
|
603
|
-
debug
|
|
604
|
-
`endpoint '${endpoint.ID}' (${error})`);
|
|
599
|
+
logger_1.logger.debug(`Interview - failed to read attribute '${item.key}' from endpoint '${endpoint.ID}' (${error})`, NS);
|
|
605
600
|
}
|
|
606
601
|
}
|
|
607
602
|
}
|
|
@@ -610,14 +605,14 @@ class Device extends entity_1.default {
|
|
|
610
605
|
const coordinator = Device.byType('Coordinator')[0];
|
|
611
606
|
// Enroll IAS device
|
|
612
607
|
for (const endpoint of this.endpoints.filter((e) => e.supportsInputCluster('ssIasZone'))) {
|
|
613
|
-
debug
|
|
608
|
+
logger_1.logger.debug(`Interview - IAS - enrolling '${this.ieeeAddr}' endpoint '${endpoint.ID}'`, NS);
|
|
614
609
|
const stateBefore = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState'], { sendPolicy: 'immediate' });
|
|
615
|
-
debug
|
|
610
|
+
logger_1.logger.debug(`Interview - IAS - before enrolling state: '${JSON.stringify(stateBefore)}'`, NS);
|
|
616
611
|
// Do not enroll when device has already been enrolled
|
|
617
612
|
if (stateBefore.zoneState !== 1 || stateBefore.iasCieAddr !== coordinator.ieeeAddr) {
|
|
618
|
-
debug
|
|
613
|
+
logger_1.logger.debug(`Interview - IAS - not enrolled, enrolling`, NS);
|
|
619
614
|
await endpoint.write('ssIasZone', { 'iasCieAddr': coordinator.ieeeAddr }, { sendPolicy: 'immediate' });
|
|
620
|
-
debug
|
|
615
|
+
logger_1.logger.debug(`Interview - IAS - wrote iasCieAddr`, NS);
|
|
621
616
|
// There are 2 enrollment procedures:
|
|
622
617
|
// - Auto enroll: coordinator has to send enrollResponse without receiving an enroll request
|
|
623
618
|
// this case is handled below.
|
|
@@ -625,34 +620,34 @@ class Device extends entity_1.default {
|
|
|
625
620
|
// this case in hanled in onZclData().
|
|
626
621
|
// https://github.com/Koenkk/zigbee2mqtt/issues/4569#issuecomment-706075676
|
|
627
622
|
await (0, utils_1.Wait)(500);
|
|
628
|
-
debug
|
|
623
|
+
logger_1.logger.debug(`IAS - '${this.ieeeAddr}' sending enroll response (auto enroll)`, NS);
|
|
629
624
|
const payload = { enrollrspcode: 0, zoneid: 23 };
|
|
630
625
|
await endpoint.command('ssIasZone', 'enrollRsp', payload, { disableDefaultResponse: true, sendPolicy: 'immediate' });
|
|
631
626
|
let enrolled = false;
|
|
632
627
|
for (let attempt = 0; attempt < 20; attempt++) {
|
|
633
628
|
await (0, utils_1.Wait)(500);
|
|
634
629
|
const stateAfter = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState'], { sendPolicy: 'immediate' });
|
|
635
|
-
debug
|
|
630
|
+
logger_1.logger.debug(`Interview - IAS - after enrolling state (${attempt}): '${JSON.stringify(stateAfter)}'`, NS);
|
|
636
631
|
if (stateAfter.zoneState === 1) {
|
|
637
632
|
enrolled = true;
|
|
638
633
|
break;
|
|
639
634
|
}
|
|
640
635
|
}
|
|
641
636
|
if (enrolled) {
|
|
642
|
-
debug
|
|
637
|
+
logger_1.logger.debug(`Interview - IAS successfully enrolled '${this.ieeeAddr}' endpoint '${endpoint.ID}'`, NS);
|
|
643
638
|
}
|
|
644
639
|
else {
|
|
645
640
|
throw new Error(`Interview failed because of failed IAS enroll (zoneState didn't change ('${this.ieeeAddr}')`);
|
|
646
641
|
}
|
|
647
642
|
}
|
|
648
643
|
else {
|
|
649
|
-
debug
|
|
644
|
+
logger_1.logger.debug(`Interview - IAS - already enrolled, skipping enroll`, NS);
|
|
650
645
|
}
|
|
651
646
|
}
|
|
652
647
|
// Bind poll control
|
|
653
648
|
try {
|
|
654
649
|
for (const endpoint of this.endpoints.filter((e) => e.supportsInputCluster('genPollCtrl'))) {
|
|
655
|
-
debug
|
|
650
|
+
logger_1.logger.debug(`Interview - Poll control - binding '${this.ieeeAddr}' endpoint '${endpoint.ID}'`, NS);
|
|
656
651
|
await endpoint.bind('genPollCtrl', coordinator.endpoints[0]);
|
|
657
652
|
const pollPeriod = await endpoint.read('genPollCtrl', ['checkinInterval'], { sendPolicy: 'immediate' });
|
|
658
653
|
this._checkinInterval = pollPeriod.checkinInterval / 4; // convert to seconds
|
|
@@ -661,7 +656,7 @@ class Device extends entity_1.default {
|
|
|
661
656
|
}
|
|
662
657
|
catch (error) {
|
|
663
658
|
/* istanbul ignore next */
|
|
664
|
-
debug
|
|
659
|
+
logger_1.logger.debug(`Interview - failed to bind genPollCtrl (${error})`, NS);
|
|
665
660
|
}
|
|
666
661
|
}
|
|
667
662
|
async removeFromNetwork() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAKjC,OAAO,EAAC,MAAM,IAAI,aAAa,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,MAAM,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,12 +34,9 @@ const request_1 = __importDefault(require("../helpers/request"));
|
|
|
34
34
|
const requestQueue_1 = __importDefault(require("../helpers/requestQueue"));
|
|
35
35
|
const group_1 = __importDefault(require("./group"));
|
|
36
36
|
const device_1 = __importDefault(require("./device"));
|
|
37
|
-
const debug_1 = __importDefault(require("debug"));
|
|
38
37
|
const assert_1 = __importDefault(require("assert"));
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
error: (0, debug_1.default)('zigbee-herdsman:controller:endpoint'),
|
|
42
|
-
};
|
|
38
|
+
const logger_1 = require("../../utils/logger");
|
|
39
|
+
const NS = 'zh:controller:endpoint';
|
|
43
40
|
class Endpoint extends entity_1.default {
|
|
44
41
|
deviceID;
|
|
45
42
|
inputClusters;
|
|
@@ -209,24 +206,23 @@ class Endpoint extends entity_1.default {
|
|
|
209
206
|
if (request.sendPolicy === 'immediate'
|
|
210
207
|
|| !this.getDevice().pendingRequestTimeout) {
|
|
211
208
|
if (this.getDevice().pendingRequestTimeout > 0) {
|
|
212
|
-
debug
|
|
213
|
-
`(sendPolicy=${options.sendPolicy})`);
|
|
209
|
+
logger_1.logger.debug(logPrefix + `send ${frame.getCommand().name} request immediately (sendPolicy=${options.sendPolicy})`, NS);
|
|
214
210
|
}
|
|
215
211
|
return request.send();
|
|
216
212
|
}
|
|
217
213
|
// If this is a bulk message, we queue directly.
|
|
218
214
|
if (request.sendPolicy === 'bulk') {
|
|
219
|
-
debug
|
|
215
|
+
logger_1.logger.debug(logPrefix + `queue request (${this.pendingRequests.size})`, NS);
|
|
220
216
|
return this.pendingRequests.queue(request);
|
|
221
217
|
}
|
|
222
218
|
try {
|
|
223
|
-
debug
|
|
219
|
+
logger_1.logger.debug(logPrefix + `send request`, NS);
|
|
224
220
|
return await request.send();
|
|
225
221
|
}
|
|
226
222
|
catch (error) {
|
|
227
223
|
// If we got a failed transaction, the device is likely sleeping.
|
|
228
224
|
// Queue for transmission later.
|
|
229
|
-
debug
|
|
225
|
+
logger_1.logger.debug(logPrefix + `queue request (transaction failed)`, NS);
|
|
230
226
|
return this.pendingRequests.queue(request);
|
|
231
227
|
}
|
|
232
228
|
}
|
|
@@ -359,14 +355,14 @@ class Endpoint extends entity_1.default {
|
|
|
359
355
|
const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : target.groupID;
|
|
360
356
|
const log = `Bind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from ` +
|
|
361
357
|
`'${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
|
|
362
|
-
debug
|
|
358
|
+
logger_1.logger.debug(log, NS);
|
|
363
359
|
try {
|
|
364
360
|
await entity_1.default.adapter.bind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
|
|
365
361
|
this.addBinding(clusterKey, target);
|
|
366
362
|
}
|
|
367
363
|
catch (error) {
|
|
368
364
|
error.message = `${log} failed (${error.message})`;
|
|
369
|
-
debug
|
|
365
|
+
logger_1.logger.debug(error, NS);
|
|
370
366
|
throw error;
|
|
371
367
|
}
|
|
372
368
|
}
|
|
@@ -379,7 +375,7 @@ class Endpoint extends entity_1.default {
|
|
|
379
375
|
const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : (target instanceof group_1.default ? target.groupID : target);
|
|
380
376
|
const log = `Unbind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from ` +
|
|
381
377
|
`'${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
|
|
382
|
-
debug
|
|
378
|
+
logger_1.logger.debug(log, NS);
|
|
383
379
|
try {
|
|
384
380
|
await entity_1.default.adapter.unbind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
|
|
385
381
|
if (typeof target === 'number' && group_1.default.byGroupID(target)) {
|
|
@@ -393,7 +389,7 @@ class Endpoint extends entity_1.default {
|
|
|
393
389
|
}
|
|
394
390
|
catch (error) {
|
|
395
391
|
error.message = `${log} failed (${error.message})`;
|
|
396
|
-
debug
|
|
392
|
+
logger_1.logger.debug(error, NS);
|
|
397
393
|
throw error;
|
|
398
394
|
}
|
|
399
395
|
}
|
|
@@ -463,7 +459,7 @@ class Endpoint extends entity_1.default {
|
|
|
463
459
|
const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, command.name, cluster.name, payload, options.reservedBits);
|
|
464
460
|
const log = `CommandResponse ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
465
461
|
`${cluster.name}.${command.name}(${JSON.stringify(payload)}, ${JSON.stringify(options)})`;
|
|
466
|
-
debug
|
|
462
|
+
logger_1.logger.debug(log, NS);
|
|
467
463
|
try {
|
|
468
464
|
await this.sendRequest(frame, options, async (f) => {
|
|
469
465
|
// Broadcast Green Power responses
|
|
@@ -477,7 +473,7 @@ class Endpoint extends entity_1.default {
|
|
|
477
473
|
}
|
|
478
474
|
catch (error) {
|
|
479
475
|
error.message = `${log} failed (${error.message})`;
|
|
480
|
-
debug
|
|
476
|
+
logger_1.logger.debug(error, NS);
|
|
481
477
|
throw error;
|
|
482
478
|
}
|
|
483
479
|
}
|
|
@@ -575,7 +571,7 @@ class Endpoint extends entity_1.default {
|
|
|
575
571
|
const frame = Zcl.ZclFrame.create(frameType, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, options.reservedBits);
|
|
576
572
|
const log = `ZCL command ${this.deviceIeeeAddress}/${this.ID} ` +
|
|
577
573
|
`${cluster.name}.${command.name}(${JSON.stringify((logPayload) ? logPayload : payload)}, ${JSON.stringify(options)})`;
|
|
578
|
-
debug
|
|
574
|
+
logger_1.logger.debug(log, NS);
|
|
579
575
|
try {
|
|
580
576
|
const result = await this.sendRequest(frame, options);
|
|
581
577
|
if (result && checkStatus && !options.disableResponse) {
|
|
@@ -585,7 +581,7 @@ class Endpoint extends entity_1.default {
|
|
|
585
581
|
}
|
|
586
582
|
catch (error) {
|
|
587
583
|
error.message = `${log} failed (${error.message})`;
|
|
588
|
-
debug
|
|
584
|
+
logger_1.logger.debug(error, NS);
|
|
589
585
|
throw error;
|
|
590
586
|
}
|
|
591
587
|
}
|