zigbee-herdsman 0.13.166 → 0.13.170

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.
Files changed (46) hide show
  1. package/dist/adapter/adapter.d.ts +0 -2
  2. package/dist/adapter/adapter.d.ts.map +1 -1
  3. package/dist/adapter/adapter.js.map +1 -1
  4. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -2
  5. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  6. package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -6
  7. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  8. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -2
  9. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  10. package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -6
  11. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  12. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +2 -3
  13. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  14. package/dist/adapter/z-stack/adapter/zStackAdapter.js +36 -15
  15. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  16. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -2
  17. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  18. package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -8
  19. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  20. package/dist/controller/controller.d.ts +0 -8
  21. package/dist/controller/controller.d.ts.map +1 -1
  22. package/dist/controller/controller.js +5 -30
  23. package/dist/controller/controller.js.map +1 -1
  24. package/dist/controller/model/device.d.ts +6 -1
  25. package/dist/controller/model/device.d.ts.map +1 -1
  26. package/dist/controller/model/device.js +78 -12
  27. package/dist/controller/model/device.js.map +1 -1
  28. package/dist/controller/model/endpoint.d.ts +7 -4
  29. package/dist/controller/model/endpoint.d.ts.map +1 -1
  30. package/dist/controller/model/endpoint.js +34 -23
  31. package/dist/controller/model/endpoint.js.map +1 -1
  32. package/dist/models/backup-storage-unified.d.ts +1 -1
  33. package/dist/models/backup-storage-unified.d.ts.map +1 -1
  34. package/dist/utils/backup.js +1 -1
  35. package/dist/utils/backup.js.map +1 -1
  36. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  37. package/dist/zcl/definition/cluster.js +31 -5
  38. package/dist/zcl/definition/cluster.js.map +1 -1
  39. package/dist/zcl/utils.d.ts.map +1 -1
  40. package/dist/zcl/utils.js +8 -2
  41. package/dist/zcl/utils.js.map +1 -1
  42. package/dist/zcl/zclFrame.d.ts +2 -2
  43. package/dist/zcl/zclFrame.d.ts.map +1 -1
  44. package/dist/zcl/zclFrame.js.map +1 -1
  45. package/npm-shrinkwrap.json +135 -120
  46. package/package.json +2 -2
@@ -37,7 +37,7 @@ const debug = {
37
37
  log: (0, debug_1.default)('zigbee-herdsman:controller:device:log'),
38
38
  };
39
39
  class Device extends entity_1.default {
40
- constructor(ID, type, ieeeAddr, networkAddress, manufacturerID, endpoints, manufacturerName, powerSource, modelID, applicationVersion, stackVersion, zclVersion, hardwareVersion, dateCode, softwareBuildID, interviewCompleted, meta, lastSeen) {
40
+ constructor(ID, type, ieeeAddr, networkAddress, manufacturerID, endpoints, manufacturerName, powerSource, modelID, applicationVersion, stackVersion, zclVersion, hardwareVersion, dateCode, softwareBuildID, interviewCompleted, meta, lastSeen, useImplicitCheckin, defaultSendWhenActive) {
41
41
  super();
42
42
  this.ID = ID;
43
43
  this._type = type;
@@ -60,6 +60,8 @@ class Device extends entity_1.default {
60
60
  this._skipTimeResponse = false;
61
61
  this.meta = meta;
62
62
  this._lastSeen = lastSeen;
63
+ this._defaultSendWhenActive = defaultSendWhenActive;
64
+ this.useImplicitCheckin = useImplicitCheckin;
63
65
  }
64
66
  // Getters/setters
65
67
  get ieeeAddr() { return this._ieeeAddr; }
@@ -105,11 +107,18 @@ class Device extends entity_1.default {
105
107
  set skipDefaultResponse(skipDefaultResponse) { this._skipDefaultResponse = skipDefaultResponse; }
106
108
  get skipTimeResponse() { return this._skipTimeResponse; }
107
109
  set skipTimeResponse(skipTimeResponse) { this._skipTimeResponse = skipTimeResponse; }
110
+ get defaultSendWhenActive() { return this._defaultSendWhenActive; }
111
+ set defaultSendWhenActive(defaultSendWhenActive) {
112
+ this._defaultSendWhenActive = defaultSendWhenActive;
113
+ for (const endpoint of this._endpoints) {
114
+ endpoint.defaultSendWhenActive = defaultSendWhenActive;
115
+ }
116
+ }
108
117
  createEndpoint(ID) {
109
118
  if (this.getEndpoint(ID)) {
110
119
  throw new Error(`Device '${this.ieeeAddr}' already has an endpoint '${ID}'`);
111
120
  }
112
- const endpoint = endpoint_1.default.create(ID, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
121
+ const endpoint = endpoint_1.default.create(ID, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr, this.defaultSendWhenActive || false);
113
122
  this.endpoints.push(endpoint);
114
123
  this.save();
115
124
  return endpoint;
@@ -128,12 +137,18 @@ class Device extends entity_1.default {
128
137
  const deviceID = Zcl.EndpointDeviceType[deviceType];
129
138
  return this.endpoints.find((d) => d.deviceID === deviceID);
130
139
  }
131
- sendPendingRequests() {
132
- this.endpoints.forEach((e) => e.sendPendingRequests());
140
+ implicitCheckin() {
141
+ if (!this.useImplicitCheckin) {
142
+ return;
143
+ }
144
+ this.endpoints.forEach(async (e) => e.sendPendingRequests());
133
145
  }
134
146
  updateLastSeen() {
135
147
  this._lastSeen = Date.now();
136
148
  }
149
+ hasPendingRequests() {
150
+ return this.endpoints.find(e => e.hasPendingRequests()) !== undefined;
151
+ }
137
152
  async onZclData(dataPayload, endpoint) {
138
153
  const frame = dataPayload.frame;
139
154
  // Respond to enroll requests
@@ -170,6 +185,36 @@ class Device extends entity_1.default {
170
185
  }
171
186
  }
172
187
  }
188
+ // Handle check-in from sleeping end devices
189
+ if (frame.isSpecific() && frame.isCluster("genPollCtrl") && frame.isCommand("checkin")) {
190
+ try {
191
+ if (this.hasPendingRequests()) {
192
+ const payload = {
193
+ startFastPolling: true,
194
+ fastPollTimeout: 0,
195
+ };
196
+ debug.log(`check-in from ${this.ieeeAddr}: accepting fast-poll`);
197
+ await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, { sendWhenActive: false });
198
+ await Promise.all(this.endpoints.map(async (e) => e.sendPendingRequests()));
199
+ // We *must* end fast-poll when we're done sending things. Otherwise
200
+ // we cause undue power-drain.
201
+ debug.log(`check-in from ${this.ieeeAddr}: stopping fast-poll`);
202
+ await endpoint.command(frame.Cluster.ID, 'fastPollStop', {}, { sendWhenActive: false });
203
+ }
204
+ else {
205
+ const payload = {
206
+ startFastPolling: false,
207
+ fastPollTimeout: 0,
208
+ };
209
+ debug.log(`check-in from ${this.ieeeAddr}: declining fast-poll`);
210
+ await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, { sendWhenActive: false });
211
+ }
212
+ }
213
+ catch (error) {
214
+ /* istanbul ignore next */
215
+ debug.error(`Handling of poll check-in form ${this.ieeeAddr} failed`);
216
+ }
217
+ }
173
218
  // Send a default response if necessary.
174
219
  const isDefaultResponse = frame.isGlobal() && frame.getCommand().name === 'defaultRsp';
175
220
  const commandHasResponse = frame.getCommand().hasOwnProperty('response');
@@ -191,13 +236,13 @@ class Device extends entity_1.default {
191
236
  const networkAddress = entry.nwkAddr;
192
237
  const ieeeAddr = entry.ieeeAddr;
193
238
  const endpoints = Object.values(entry.endpoints).map((e) => {
194
- return endpoint_1.default.fromDatabaseRecord(e, networkAddress, ieeeAddr);
239
+ return endpoint_1.default.fromDatabaseRecord(e, networkAddress, ieeeAddr, entry.defaultSendWhenActive);
195
240
  });
196
241
  const meta = entry.meta ? entry.meta : {};
197
242
  if (entry.type === 'Group') {
198
243
  throw new Error('Cannot load device from group');
199
244
  }
200
- 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);
245
+ 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.useImplicitCheckin, entry.defaultSendWhenActive);
201
246
  }
202
247
  toDatabaseEntry() {
203
248
  const epList = this.endpoints.map((e) => e.ID);
@@ -211,7 +256,8 @@ class Device extends entity_1.default {
211
256
  modelId: this.modelID, epList, endpoints, appVersion: this.applicationVersion,
212
257
  stackVersion: this.stackVersion, hwVersion: this.hardwareVersion, dateCode: this.dateCode,
213
258
  swBuildId: this.softwareBuildID, zclVersion: this.zclVersion, interviewCompleted: this.interviewCompleted,
214
- meta: this.meta, lastSeen: this.lastSeen,
259
+ meta: this.meta, lastSeen: this.lastSeen, useImplicitCheckin: this.useImplicitCheckin,
260
+ defaultSendWhenActive: this.defaultSendWhenActive,
215
261
  };
216
262
  }
217
263
  save(writeDatabase = true) {
@@ -253,10 +299,10 @@ class Device extends entity_1.default {
253
299
  throw new Error(`Device with ieeeAddr '${ieeeAddr}' already exists`);
254
300
  }
255
301
  const endpointsMapped = endpoints.map((e) => {
256
- return endpoint_1.default.create(e.ID, e.profileID, e.deviceID, e.inputClusters, e.outputClusters, networkAddress, ieeeAddr);
302
+ return endpoint_1.default.create(e.ID, e.profileID, e.deviceID, e.inputClusters, e.outputClusters, networkAddress, ieeeAddr, false);
257
303
  });
258
304
  const ID = entity_1.default.database.newID();
259
- const device = new Device(ID, type, ieeeAddr, networkAddress, manufacturerID, endpointsMapped, manufacturerName, powerSource, modelID, undefined, undefined, undefined, undefined, undefined, undefined, interviewCompleted, {}, null);
305
+ const device = new Device(ID, type, ieeeAddr, networkAddress, manufacturerID, endpointsMapped, manufacturerName, powerSource, modelID, undefined, undefined, undefined, undefined, undefined, undefined, interviewCompleted, {}, null, true, undefined);
260
306
  entity_1.default.database.insert(device.toDatabaseEntry());
261
307
  Device.devices[device.ieeeAddr] = device;
262
308
  return device;
@@ -352,6 +398,10 @@ class Device extends entity_1.default {
352
398
  }
353
399
  }
354
400
  async interviewInternal() {
401
+ // Clear defaultSendWhenActive mode when running interview
402
+ for (const endpoint of this._endpoints) {
403
+ endpoint.defaultSendWhenActive = false;
404
+ }
355
405
  const nodeDescriptorQuery = async () => {
356
406
  const nodeDescriptor = await entity_1.default.adapter.nodeDescriptor(this.networkAddress);
357
407
  this._manufacturerID = nodeDescriptor.manufacturerCode;
@@ -397,7 +447,7 @@ class Device extends entity_1.default {
397
447
  // https://github.com/Koenkk/zigbee2mqtt/issues/7553
398
448
  debug.log("Interview - Detected potential TuYa end device, reading modelID and manufacturerName...");
399
449
  try {
400
- const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
450
+ const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr, false);
401
451
  const result = await endpoint.read('genBasic', ['modelId', 'manufacturerName']);
402
452
  Object.entries(result)
403
453
  .forEach((entry) => Device.ReportablePropertiesMapping[entry[0]].set(entry[1], this));
@@ -427,7 +477,7 @@ class Device extends entity_1.default {
427
477
  // Some devices, e.g. TERNCY return endpoint 0 in the active endpoints request.
428
478
  // This is not a valid endpoint number according to the ZCL, requesting a simple descriptor will result
429
479
  // into an error. Therefore we filter it, more info: https://github.com/Koenkk/zigbee-herdsman/issues/82
430
- 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)));
480
+ 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, false)));
431
481
  this.save();
432
482
  debug.log(`Interview - got active endpoints for device '${this.ieeeAddr}'`);
433
483
  for (const endpoint of this.endpoints) {
@@ -471,13 +521,13 @@ class Device extends entity_1.default {
471
521
  }
472
522
  }
473
523
  }
524
+ const coordinator = Device.byType('Coordinator')[0];
474
525
  // Enroll IAS device
475
526
  for (const endpoint of this.endpoints.filter((e) => e.supportsInputCluster('ssIasZone'))) {
476
527
  debug.log(`Interview - IAS - enrolling '${this.ieeeAddr}' endpoint '${endpoint.ID}'`);
477
528
  const stateBefore = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState']);
478
529
  debug.log(`Interview - IAS - before enrolling state: '${JSON.stringify(stateBefore)}'`);
479
530
  // Do not enroll when device has already been enrolled
480
- const coordinator = Device.byType('Coordinator')[0];
481
531
  if (stateBefore.zoneState !== 1 || stateBefore.iasCieAddr !== coordinator.ieeeAddr) {
482
532
  debug.log(`Interview - IAS - not enrolled, enrolling`);
483
533
  await endpoint.write('ssIasZone', { 'iasCieAddr': coordinator.ieeeAddr });
@@ -513,6 +563,22 @@ class Device extends entity_1.default {
513
563
  debug.log(`Interview - IAS - already enrolled, skipping enroll`);
514
564
  }
515
565
  }
566
+ // Bind poll control
567
+ let bound = false;
568
+ for (const endpoint of this.endpoints.filter((e) => e.supportsInputCluster('genPollCtrl'))) {
569
+ debug.log(`Interview - Poll control - binding '${this.ieeeAddr}' endpoint '${endpoint.ID}'`);
570
+ await endpoint.bind('genPollCtrl', coordinator.endpoints[0]);
571
+ bound = true;
572
+ }
573
+ if (bound) {
574
+ if (this.defaultSendWhenActive === undefined)
575
+ this.defaultSendWhenActive = true;
576
+ this.useImplicitCheckin = false;
577
+ }
578
+ // Reset defaultSendWhenActive mode when after interview
579
+ for (const endpoint of this._endpoints) {
580
+ endpoint.defaultSendWhenActive = this.defaultSendWhenActive || false;
581
+ }
516
582
  }
517
583
  async removeFromNetwork() {
518
584
  await entity_1.default.adapter.removeDevice(this.networkAddress, this.ieeeAddr);
@@ -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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"}
@@ -48,6 +48,7 @@ declare class Endpoint extends Entity {
48
48
  inputClusters: number[];
49
49
  outputClusters: number[];
50
50
  profileID?: number;
51
+ defaultSendWhenActive: boolean;
51
52
  readonly ID: number;
52
53
  readonly clusters: Clusters;
53
54
  private readonly deviceIeeeAddress;
@@ -82,13 +83,15 @@ declare class Endpoint extends Entity {
82
83
  */
83
84
  getOutputClusters(): Zcl.TsType.Cluster[];
84
85
  private clusterNumbersToClusters;
85
- static fromDatabaseRecord(record: KeyValue, deviceNetworkAddress: number, deviceIeeeAddress: string): Endpoint;
86
+ static fromDatabaseRecord(record: KeyValue, deviceNetworkAddress: number, deviceIeeeAddress: string, defaultSendWhenActive: boolean): Endpoint;
86
87
  toDatabaseRecord(): KeyValue;
87
- static create(ID: number, profileID: number, deviceID: number, inputClusters: number[], outputClusters: number[], deviceNetworkAddress: number, deviceIeeeAddress: string): Endpoint;
88
+ static create(ID: number, profileID: number, deviceID: number, inputClusters: number[], outputClusters: number[], deviceNetworkAddress: number, deviceIeeeAddress: string, defaultSendWhenActive: boolean): Endpoint;
88
89
  saveClusterAttributeKeyValue(clusterKey: number | string, list: KeyValue): void;
89
90
  getClusterAttributeValue(clusterKey: number | string, attributeKey: number | string): number | string;
90
- sendPendingRequests(): void;
91
- sendRequest<Type>(func: () => Promise<Type>, sendWhenActive: boolean): Promise<Type>;
91
+ hasPendingRequests(): boolean;
92
+ sendPendingRequests(): Promise<void>;
93
+ private queueRequest;
94
+ private sendRequest;
92
95
  private checkStatus;
93
96
  report(clusterKey: number | string, attributes: KeyValue, options?: Options): Promise<void>;
94
97
  write(clusterKey: number | string, attributes: KeyValue, options?: Options): Promise<void>;
@@ -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,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAGjC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,MAAM,MAAM,UAAU,CAAC;AAS9B,UAAU,sBAAsB;IAC5B,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IACxD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,OAAO;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,QAAQ;IACd,CAAC,OAAO,EAAE,MAAM,GAAG;QACf,UAAU,EAAE;YAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;SAAC,CAAC;KACtD,CAAC;CACL;AAUD,UAAU,IAAI;IACV,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC5B;AAUD,UAAU,mBAAmB;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,cAAM,QAAS,SAAQ,MAAM;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IACpC,oBAAoB,EAAE,MAAM,CAAC;IACpC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,qBAAqB,CAAgC;IACtD,IAAI,EAAE,QAAQ,CAAC;IAEtB,OAAO,CAAC,eAAe,CAA0F;IAGjH,IAAI,KAAK,IAAI,IAAI,EAAE,CAkBlB;IAED,IAAI,oBAAoB,IAAI,mBAAmB,EAAE,CAuBhD;IAED,OAAO;IAqBP;;OAEG;IACI,SAAS,IAAI,MAAM;IAI1B;;;OAGG;IACI,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAK,OAAO;IAKnE;;;OAGG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAK,OAAO;IAKpE;;OAEG;IACI,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;IAI/C;;OAEG;IACI,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;IAIhD,OAAO,CAAC,wBAAwB;WAclB,kBAAkB,CAC5B,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAC1E,QAAQ;IAkBJ,gBAAgB,IAAI,QAAQ;WAQrB,MAAM,CAChB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAClG,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GACxD,QAAQ;IAOJ,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAS/E,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAUrG,mBAAmB,IAAI,IAAI;IAYrB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjG,OAAO,CAAC,WAAW;IAQN,MAAM,CACf,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GACrE,OAAO,CAAC,IAAI,CAAC;IAuCH,KAAK,CACd,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GACrE,OAAO,CAAC,IAAI,CAAC;IA2CH,IAAI,CACb,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAG,EAAE,OAAO,CAAC,EAAE,OAAO,GACjF,OAAO,CAAC,QAAQ,CAAC;IAuCP,YAAY,CACrB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GACxG,OAAO,CAAC,IAAI,CAAC;IAuCT,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI;IAoB1E,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzF,IAAI,IAAI,IAAI;IAIN,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCrF,eAAe,CACxB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAC3G,OAAO,CAAC,IAAI,CAAC;IA2BH,kBAAkB,CAC3B,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAChF,OAAO,CAAC,IAAI,CAAC;IAyEH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjG,OAAO,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAC/F,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IAmCd,eAAe,CACxB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,EAC9F,yBAAyB,CAAC,EAAE,MAAM,GACnC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IA8BpB,cAAc,CACjB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAC7G;QAAC,OAAO,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,QAAQ,CAAC;YAAC,OAAO,EAAE,QAAQ,CAAA;SAAC,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAC;IAkBhF,OAAO,CAAC,sBAAsB;IAoBjB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD;;;;OAIG;IACU,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C,2BAA2B,IAAI,IAAI;CAO7C;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ const debug = {
35
35
  error: (0, debug_1.default)('zigbee-herdsman:controller:endpoint'),
36
36
  };
37
37
  class Endpoint extends entity_1.default {
38
- constructor(ID, profileID, deviceID, inputClusters, outputClusters, deviceNetworkAddress, deviceIeeeAddress, clusters, binds, configuredReportings, meta) {
38
+ constructor(ID, profileID, deviceID, inputClusters, outputClusters, deviceNetworkAddress, deviceIeeeAddress, clusters, binds, configuredReportings, meta, defaultSendWhenActive) {
39
39
  super();
40
40
  this.ID = ID;
41
41
  this.profileID = profileID;
@@ -49,6 +49,7 @@ class Endpoint extends entity_1.default {
49
49
  this._configuredReportings = configuredReportings;
50
50
  this.meta = meta;
51
51
  this.pendingRequests = [];
52
+ this.defaultSendWhenActive = defaultSendWhenActive;
52
53
  }
53
54
  // Getters/setters
54
55
  get binds() {
@@ -129,19 +130,12 @@ class Endpoint extends entity_1.default {
129
130
  return this.clusterNumbersToClusters(this.outputClusters);
130
131
  }
131
132
  clusterNumbersToClusters(clusterNumbers) {
132
- return clusterNumbers.map((c) => {
133
- try {
134
- return Zcl.Utils.getCluster(c, this.getDevice().manufacturerID);
135
- }
136
- catch (_a) {
137
- return null;
138
- }
139
- }).filter((c) => c !== null);
133
+ return clusterNumbers.map((c) => Zcl.Utils.getCluster(c, this.getDevice().manufacturerID));
140
134
  }
141
135
  /*
142
136
  * CRUD
143
137
  */
144
- static fromDatabaseRecord(record, deviceNetworkAddress, deviceIeeeAddress) {
138
+ static fromDatabaseRecord(record, deviceNetworkAddress, deviceIeeeAddress, defaultSendWhenActive) {
145
139
  // Migrate attrs to attributes
146
140
  for (const entry of Object.values(record.clusters).filter((e) => e.hasOwnProperty('attrs'))) {
147
141
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -151,7 +145,7 @@ class Endpoint extends entity_1.default {
151
145
  // @ts-ignore
152
146
  delete entry.attrs;
153
147
  }
154
- return new Endpoint(record.epId, record.profId, record.devId, record.inClusterList, record.outClusterList, deviceNetworkAddress, deviceIeeeAddress, record.clusters, record.binds || [], record.configuredReportings || [], record.meta || {});
148
+ return new Endpoint(record.epId, record.profId, record.devId, record.inClusterList, record.outClusterList, deviceNetworkAddress, deviceIeeeAddress, record.clusters, record.binds || [], record.configuredReportings || [], record.meta || {}, defaultSendWhenActive);
155
149
  }
156
150
  toDatabaseRecord() {
157
151
  return {
@@ -160,8 +154,8 @@ class Endpoint extends entity_1.default {
160
154
  binds: this._binds, configuredReportings: this._configuredReportings, meta: this.meta,
161
155
  };
162
156
  }
163
- static create(ID, profileID, deviceID, inputClusters, outputClusters, deviceNetworkAddress, deviceIeeeAddress) {
164
- return new Endpoint(ID, profileID, deviceID, inputClusters, outputClusters, deviceNetworkAddress, deviceIeeeAddress, {}, [], [], {});
157
+ static create(ID, profileID, deviceID, inputClusters, outputClusters, deviceNetworkAddress, deviceIeeeAddress, defaultSendWhenActive) {
158
+ return new Endpoint(ID, profileID, deviceID, inputClusters, outputClusters, deviceNetworkAddress, deviceIeeeAddress, {}, [], [], {}, defaultSendWhenActive);
165
159
  }
166
160
  saveClusterAttributeKeyValue(clusterKey, list) {
167
161
  const cluster = Zcl.Utils.getCluster(clusterKey);
@@ -179,9 +173,12 @@ class Endpoint extends entity_1.default {
179
173
  }
180
174
  return null;
181
175
  }
182
- sendPendingRequests() {
183
- [...this.pendingRequests].forEach(async (r) => {
184
- this.pendingRequests.splice(this.pendingRequests.indexOf(r), 1);
176
+ hasPendingRequests() {
177
+ return this.pendingRequests.length > 0;
178
+ }
179
+ async sendPendingRequests() {
180
+ while (this.pendingRequests.length > 0) {
181
+ const r = this.pendingRequests.shift();
185
182
  try {
186
183
  const result = await r.func();
187
184
  r.resolve(result);
@@ -189,17 +186,31 @@ class Endpoint extends entity_1.default {
189
186
  catch (error) {
190
187
  r.reject(error);
191
188
  }
189
+ }
190
+ }
191
+ async queueRequest(func) {
192
+ debug.info(`Sending to ${this.deviceIeeeAddress}/${this.ID} when active`);
193
+ return new Promise((resolve, reject) => {
194
+ this.pendingRequests.push({ func, resolve, reject });
192
195
  });
193
196
  }
194
197
  async sendRequest(func, sendWhenActive) {
195
- if (sendWhenActive) {
196
- return new Promise((resolve, reject) => {
197
- this.pendingRequests.push({ func, resolve, reject });
198
- });
198
+ // If we already have something queued, we queue directly to avoid
199
+ // messing up the ordering too much.
200
+ if (sendWhenActive && this.pendingRequests.length > 0) {
201
+ return this.queueRequest(func);
202
+ }
203
+ try {
204
+ return await func();
199
205
  }
200
- else {
201
- return func();
206
+ catch (error) {
207
+ if (!sendWhenActive) {
208
+ throw (error);
209
+ }
202
210
  }
211
+ // If we got a failed transaction, the device is likely sleeping.
212
+ // Queue for transmission later.
213
+ return this.queueRequest(func);
203
214
  }
204
215
  /*
205
216
  * Zigbee functions
@@ -560,7 +571,7 @@ class Endpoint extends entity_1.default {
560
571
  getOptionsWithDefaults(options, disableDefaultResponse, direction, manufacturerCode) {
561
572
  const providedOptions = options || {};
562
573
  return {
563
- sendWhenActive: false,
574
+ sendWhenActive: this.defaultSendWhenActive,
564
575
  timeout: 10000,
565
576
  disableResponse: false,
566
577
  disableRecovery: false,
@@ -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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"}
@@ -33,7 +33,7 @@ export interface UnifiedBackupStorage {
33
33
  frame_counter: number;
34
34
  };
35
35
  devices: {
36
- nwk_address: string;
36
+ nwk_address: string | null;
37
37
  ieee_address: string;
38
38
  is_child: boolean;
39
39
  link_key: {