zigbee-herdsman 0.13.192 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/controller/controller.d.ts +1 -0
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +20 -16
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/model/device.d.ts +4 -5
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +47 -49
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +5 -6
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +39 -37
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.d.ts +3 -1
- package/dist/controller/model/entity.d.ts.map +1 -1
- package/dist/controller/model/entity.js +5 -1
- package/dist/controller/model/entity.js.map +1 -1
- package/dist/controller/tstype.d.ts +2 -1
- package/dist/controller/tstype.d.ts.map +1 -1
- package/dist/controller/tstype.js.map +1 -1
- package/dist/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zcl/definition/cluster.js +1 -0
- package/dist/zcl/definition/cluster.js.map +1 -1
- package/npm-shrinkwrap.json +140 -140
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,6 +17,9 @@ It was originally forked from zigbee-shepherd with the goal to refactor it to im
|
|
|
17
17
|
|
|
18
18
|
# Changelog
|
|
19
19
|
|
|
20
|
+
## 0.14.0 breaking changes
|
|
21
|
+
- `sendWhenActive` has been replaced with `sendWhen: 'active'`
|
|
22
|
+
|
|
20
23
|
## 0.13.0 breaking changes
|
|
21
24
|
- `controller.touchlinkFactoryReset` has been renamed to `controller.touchlinkFactoryResetFirst()`
|
|
22
25
|
|
|
@@ -101,6 +101,7 @@ declare class Controller extends events.EventEmitter {
|
|
|
101
101
|
private onDeviceLeave;
|
|
102
102
|
private onAdapterDisconnected;
|
|
103
103
|
private onDeviceJoinedGreenPower;
|
|
104
|
+
private selfAndDeviceEmit;
|
|
104
105
|
private onDeviceJoined;
|
|
105
106
|
private isZclDataPayload;
|
|
106
107
|
private onZclOrRawData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -315,13 +315,13 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
315
315
|
debug.log(`Network address is from unknown device '${payload.ieeeAddr}'`);
|
|
316
316
|
return;
|
|
317
317
|
}
|
|
318
|
-
this.
|
|
318
|
+
this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'networkAddress' });
|
|
319
319
|
if (device.networkAddress !== payload.networkAddress) {
|
|
320
320
|
debug.log(`Device '${payload.ieeeAddr}' got new networkAddress '${payload.networkAddress}'`);
|
|
321
321
|
device.networkAddress = payload.networkAddress;
|
|
322
322
|
device.save();
|
|
323
323
|
const data = { device };
|
|
324
|
-
this.
|
|
324
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceNetworkAddressChanged, data);
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
onDeviceAnnounce(payload) {
|
|
@@ -332,7 +332,7 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
332
332
|
return;
|
|
333
333
|
}
|
|
334
334
|
device.updateLastSeen();
|
|
335
|
-
this.
|
|
335
|
+
this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'deviceAnnounce' });
|
|
336
336
|
device.implicitCheckin();
|
|
337
337
|
if (device.networkAddress !== payload.networkAddress) {
|
|
338
338
|
debug.log(`Device '${payload.ieeeAddr}' announced with new networkAddress '${payload.networkAddress}'`);
|
|
@@ -340,7 +340,7 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
340
340
|
device.save();
|
|
341
341
|
}
|
|
342
342
|
const data = { device };
|
|
343
|
-
this.
|
|
343
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceAnnounce, data);
|
|
344
344
|
}
|
|
345
345
|
onDeviceLeave(payload) {
|
|
346
346
|
debug.log(`Device leave '${payload.ieeeAddr}'`);
|
|
@@ -350,7 +350,7 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
350
350
|
device.removeFromDatabase();
|
|
351
351
|
}
|
|
352
352
|
const data = { ieeeAddr: payload.ieeeAddr };
|
|
353
|
-
this.
|
|
353
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceLeave, data);
|
|
354
354
|
}
|
|
355
355
|
async onAdapterDisconnected() {
|
|
356
356
|
debug.log(`Adapter disconnected'`);
|
|
@@ -375,11 +375,15 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
375
375
|
device = model_1.Device.create('GreenPower', ieeeAddr, payload.networkAddress, null, undefined, undefined, modelID, true, []);
|
|
376
376
|
device.save();
|
|
377
377
|
const deviceJoinedPayload = { device };
|
|
378
|
-
this.
|
|
378
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceJoined, deviceJoinedPayload);
|
|
379
379
|
const deviceInterviewPayload = { status: 'successful', device };
|
|
380
|
-
this.
|
|
380
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceInterview, deviceInterviewPayload);
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
|
+
selfAndDeviceEmit(device, event, data) {
|
|
384
|
+
device === null || device === void 0 ? void 0 : device.emit(event, data);
|
|
385
|
+
this.emit(event, data);
|
|
386
|
+
}
|
|
383
387
|
async onDeviceJoined(payload) {
|
|
384
388
|
debug.log(`Device '${payload.ieeeAddr}' joined`);
|
|
385
389
|
if (this.options.acceptJoiningDeviceHandler) {
|
|
@@ -397,12 +401,12 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
397
401
|
debug.log(`New device '${payload.ieeeAddr}' joined`);
|
|
398
402
|
debug.log(`Creating device '${payload.ieeeAddr}'`);
|
|
399
403
|
device = model_1.Device.create('Unknown', payload.ieeeAddr, payload.networkAddress, undefined, undefined, undefined, undefined, false, []);
|
|
400
|
-
this.
|
|
404
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceJoined, { device });
|
|
401
405
|
}
|
|
402
406
|
else if (device.isDeleted) {
|
|
403
407
|
debug.log(`Delete device '${payload.ieeeAddr}' joined, undeleting`);
|
|
404
408
|
device.undelete();
|
|
405
|
-
this.
|
|
409
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceJoined, { device });
|
|
406
410
|
}
|
|
407
411
|
if (device.networkAddress !== payload.networkAddress) {
|
|
408
412
|
debug.log(`Device '${payload.ieeeAddr}' is already in database with different networkAddress, ` +
|
|
@@ -411,22 +415,22 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
411
415
|
device.save();
|
|
412
416
|
}
|
|
413
417
|
device.updateLastSeen();
|
|
414
|
-
this.
|
|
418
|
+
this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'deviceJoined' });
|
|
415
419
|
device.implicitCheckin();
|
|
416
420
|
if (!device.interviewCompleted && !device.interviewing) {
|
|
417
421
|
const payloadStart = { status: 'started', device };
|
|
418
422
|
debug.log(`Interview '${device.ieeeAddr}' start`);
|
|
419
|
-
this.
|
|
423
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceInterview, payloadStart);
|
|
420
424
|
try {
|
|
421
425
|
await device.interview();
|
|
422
426
|
debug.log(`Succesfully interviewed '${device.ieeeAddr}'`);
|
|
423
427
|
const event = { status: 'successful', device };
|
|
424
|
-
this.
|
|
428
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceInterview, event);
|
|
425
429
|
}
|
|
426
430
|
catch (error) {
|
|
427
431
|
debug.error(`Interview failed for '${device.ieeeAddr} with error '${error}'`);
|
|
428
432
|
const event = { status: 'failed', device };
|
|
429
|
-
this.
|
|
433
|
+
this.selfAndDeviceEmit(device, Events.Events.deviceInterview, event);
|
|
430
434
|
}
|
|
431
435
|
}
|
|
432
436
|
else {
|
|
@@ -553,11 +557,11 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
553
557
|
const eventData = {
|
|
554
558
|
type: type, device, endpoint, data, linkquality, groupID, cluster: clusterName, meta
|
|
555
559
|
};
|
|
556
|
-
this.
|
|
557
|
-
this.
|
|
560
|
+
this.selfAndDeviceEmit(device, Events.Events.message, eventData);
|
|
561
|
+
this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'messageEmitted' });
|
|
558
562
|
}
|
|
559
563
|
else {
|
|
560
|
-
this.
|
|
564
|
+
this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'messageNonEmitted' });
|
|
561
565
|
}
|
|
562
566
|
if (this.isZclDataPayload(dataPayload, dataType)) {
|
|
563
567
|
device.onZclData(dataPayload, endpoint);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KeyValue, DeviceType } from '../tstype';
|
|
1
|
+
import { KeyValue, DeviceType, SendRequestWhen } from '../tstype';
|
|
2
2
|
import { Events as AdapterEvents } from '../../adapter';
|
|
3
3
|
import Endpoint from './endpoint';
|
|
4
4
|
import Entity from './entity';
|
|
@@ -41,7 +41,7 @@ declare class Device extends Entity {
|
|
|
41
41
|
private _skipDefaultResponse;
|
|
42
42
|
private _skipTimeResponse;
|
|
43
43
|
private _deleted;
|
|
44
|
-
private
|
|
44
|
+
private _defaultSendRequestWhen?;
|
|
45
45
|
get ieeeAddr(): string;
|
|
46
46
|
set ieeeAddr(ieeeAddr: string);
|
|
47
47
|
get applicationVersion(): number;
|
|
@@ -78,10 +78,9 @@ declare class Device extends Entity {
|
|
|
78
78
|
set skipDefaultResponse(skipDefaultResponse: boolean);
|
|
79
79
|
get skipTimeResponse(): boolean;
|
|
80
80
|
set skipTimeResponse(skipTimeResponse: boolean);
|
|
81
|
-
get
|
|
82
|
-
set
|
|
81
|
+
get defaultSendRequestWhen(): SendRequestWhen;
|
|
82
|
+
set defaultSendRequestWhen(defaultSendRequestWhen: SendRequestWhen);
|
|
83
83
|
meta: KeyValue;
|
|
84
|
-
private useImplicitCheckin;
|
|
85
84
|
private static devices;
|
|
86
85
|
static readonly ReportablePropertiesMapping: {
|
|
87
86
|
[s: string]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAiB,UAAU,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ const debug = {
|
|
|
38
38
|
log: (0, debug_1.default)('zigbee-herdsman:controller:device:log'),
|
|
39
39
|
};
|
|
40
40
|
class Device extends entity_1.default {
|
|
41
|
-
constructor(ID, type, ieeeAddr, networkAddress, manufacturerID, endpoints, manufacturerName, powerSource, modelID, applicationVersion, stackVersion, zclVersion, hardwareVersion, dateCode, softwareBuildID, interviewCompleted, meta, lastSeen,
|
|
41
|
+
constructor(ID, type, ieeeAddr, networkAddress, manufacturerID, endpoints, manufacturerName, powerSource, modelID, applicationVersion, stackVersion, zclVersion, hardwareVersion, dateCode, softwareBuildID, interviewCompleted, meta, lastSeen, defaultSendRequestWhen) {
|
|
42
42
|
super();
|
|
43
43
|
this.ID = ID;
|
|
44
44
|
this._type = type;
|
|
@@ -61,8 +61,7 @@ class Device extends entity_1.default {
|
|
|
61
61
|
this._skipTimeResponse = false;
|
|
62
62
|
this.meta = meta;
|
|
63
63
|
this._lastSeen = lastSeen;
|
|
64
|
-
this.
|
|
65
|
-
this.useImplicitCheckin = useImplicitCheckin;
|
|
64
|
+
this._defaultSendRequestWhen = defaultSendRequestWhen;
|
|
66
65
|
}
|
|
67
66
|
// Getters/setters
|
|
68
67
|
get ieeeAddr() { return this._ieeeAddr; }
|
|
@@ -108,18 +107,15 @@ class Device extends entity_1.default {
|
|
|
108
107
|
set skipDefaultResponse(skipDefaultResponse) { this._skipDefaultResponse = skipDefaultResponse; }
|
|
109
108
|
get skipTimeResponse() { return this._skipTimeResponse; }
|
|
110
109
|
set skipTimeResponse(skipTimeResponse) { this._skipTimeResponse = skipTimeResponse; }
|
|
111
|
-
get
|
|
112
|
-
set
|
|
113
|
-
this.
|
|
114
|
-
for (const endpoint of this._endpoints) {
|
|
115
|
-
endpoint.defaultSendWhenActive = defaultSendWhenActive;
|
|
116
|
-
}
|
|
110
|
+
get defaultSendRequestWhen() { return this._defaultSendRequestWhen; }
|
|
111
|
+
set defaultSendRequestWhen(defaultSendRequestWhen) {
|
|
112
|
+
this._defaultSendRequestWhen = defaultSendRequestWhen;
|
|
117
113
|
}
|
|
118
114
|
createEndpoint(ID) {
|
|
119
115
|
if (this.getEndpoint(ID)) {
|
|
120
116
|
throw new Error(`Device '${this.ieeeAddr}' already has an endpoint '${ID}'`);
|
|
121
117
|
}
|
|
122
|
-
const endpoint = endpoint_1.default.create(ID, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr
|
|
118
|
+
const endpoint = endpoint_1.default.create(ID, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
|
|
123
119
|
this.endpoints.push(endpoint);
|
|
124
120
|
this.save();
|
|
125
121
|
return endpoint;
|
|
@@ -139,10 +135,7 @@ class Device extends entity_1.default {
|
|
|
139
135
|
return this.endpoints.find((d) => d.deviceID === deviceID);
|
|
140
136
|
}
|
|
141
137
|
implicitCheckin() {
|
|
142
|
-
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
this.endpoints.forEach(async (e) => e.sendPendingRequests());
|
|
138
|
+
this.endpoints.forEach(async (e) => e.sendPendingRequests(false));
|
|
146
139
|
}
|
|
147
140
|
updateLastSeen() {
|
|
148
141
|
this._lastSeen = Date.now();
|
|
@@ -205,12 +198,12 @@ class Device extends entity_1.default {
|
|
|
205
198
|
fastPollTimeout: 0,
|
|
206
199
|
};
|
|
207
200
|
debug.log(`check-in from ${this.ieeeAddr}: accepting fast-poll`);
|
|
208
|
-
await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, {
|
|
209
|
-
await Promise.all(this.endpoints.map(async (e) => e.sendPendingRequests()));
|
|
201
|
+
await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, { sendWhen: 'immediate' });
|
|
202
|
+
await Promise.all(this.endpoints.map(async (e) => e.sendPendingRequests(true)));
|
|
210
203
|
// We *must* end fast-poll when we're done sending things. Otherwise
|
|
211
204
|
// we cause undue power-drain.
|
|
212
205
|
debug.log(`check-in from ${this.ieeeAddr}: stopping fast-poll`);
|
|
213
|
-
await endpoint.command(frame.Cluster.ID, 'fastPollStop', {}, {
|
|
206
|
+
await endpoint.command(frame.Cluster.ID, 'fastPollStop', {}, { sendWhen: 'immediate' });
|
|
214
207
|
}
|
|
215
208
|
else {
|
|
216
209
|
const payload = {
|
|
@@ -218,7 +211,7 @@ class Device extends entity_1.default {
|
|
|
218
211
|
fastPollTimeout: 0,
|
|
219
212
|
};
|
|
220
213
|
debug.log(`check-in from ${this.ieeeAddr}: declining fast-poll`);
|
|
221
|
-
await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, {
|
|
214
|
+
await endpoint.command(frame.Cluster.ID, 'checkinRsp', payload, { sendWhen: 'immediate' });
|
|
222
215
|
}
|
|
223
216
|
}
|
|
224
217
|
catch (error) {
|
|
@@ -247,13 +240,27 @@ class Device extends entity_1.default {
|
|
|
247
240
|
const networkAddress = entry.nwkAddr;
|
|
248
241
|
const ieeeAddr = entry.ieeeAddr;
|
|
249
242
|
const endpoints = Object.values(entry.endpoints).map((e) => {
|
|
250
|
-
return endpoint_1.default.fromDatabaseRecord(e, networkAddress, ieeeAddr
|
|
243
|
+
return endpoint_1.default.fromDatabaseRecord(e, networkAddress, ieeeAddr);
|
|
251
244
|
});
|
|
252
245
|
const meta = entry.meta ? entry.meta : {};
|
|
253
246
|
if (entry.type === 'Group') {
|
|
254
247
|
throw new Error('Cannot load device from group');
|
|
255
248
|
}
|
|
256
|
-
|
|
249
|
+
let defaultSendRequestWhen = entry.defaultSendRequestWhen;
|
|
250
|
+
/* istanbul ignore next */
|
|
251
|
+
if (defaultSendRequestWhen == null) {
|
|
252
|
+
// Guess defaultSendRequestWhen based on old useImplicitCheckin/defaultSendWhenActive
|
|
253
|
+
if (entry.hasOwnProperty('useImplicitCheckin') && !entry.useImplicitCheckin) {
|
|
254
|
+
defaultSendRequestWhen = 'fastpoll';
|
|
255
|
+
}
|
|
256
|
+
else if (entry.hasOwnProperty('defaultSendWhenActive') && entry.defaultSendWhenActive) {
|
|
257
|
+
defaultSendRequestWhen = 'active';
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
defaultSendRequestWhen = 'immediate';
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
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, defaultSendRequestWhen);
|
|
257
264
|
}
|
|
258
265
|
toDatabaseEntry() {
|
|
259
266
|
const epList = this.endpoints.map((e) => e.ID);
|
|
@@ -267,8 +274,7 @@ class Device extends entity_1.default {
|
|
|
267
274
|
modelId: this.modelID, epList, endpoints, appVersion: this.applicationVersion,
|
|
268
275
|
stackVersion: this.stackVersion, hwVersion: this.hardwareVersion, dateCode: this.dateCode,
|
|
269
276
|
swBuildId: this.softwareBuildID, zclVersion: this.zclVersion, interviewCompleted: this.interviewCompleted,
|
|
270
|
-
meta: this.meta, lastSeen: this.lastSeen,
|
|
271
|
-
defaultSendWhenActive: this.defaultSendWhenActive,
|
|
277
|
+
meta: this.meta, lastSeen: this.lastSeen, defaultSendRequestWhen: this.defaultSendRequestWhen,
|
|
272
278
|
};
|
|
273
279
|
}
|
|
274
280
|
save(writeDatabase = true) {
|
|
@@ -310,10 +316,10 @@ class Device extends entity_1.default {
|
|
|
310
316
|
throw new Error(`Device with ieeeAddr '${ieeeAddr}' already exists`);
|
|
311
317
|
}
|
|
312
318
|
const endpointsMapped = endpoints.map((e) => {
|
|
313
|
-
return endpoint_1.default.create(e.ID, e.profileID, e.deviceID, e.inputClusters, e.outputClusters, networkAddress, ieeeAddr
|
|
319
|
+
return endpoint_1.default.create(e.ID, e.profileID, e.deviceID, e.inputClusters, e.outputClusters, networkAddress, ieeeAddr);
|
|
314
320
|
});
|
|
315
321
|
const ID = entity_1.default.database.newID();
|
|
316
|
-
const device = new Device(ID, type, ieeeAddr, networkAddress, manufacturerID, endpointsMapped, manufacturerName, powerSource, modelID, undefined, undefined, undefined, undefined, undefined, undefined, interviewCompleted, {}, null,
|
|
322
|
+
const device = new Device(ID, type, ieeeAddr, networkAddress, manufacturerID, endpointsMapped, manufacturerName, powerSource, modelID, undefined, undefined, undefined, undefined, undefined, undefined, interviewCompleted, {}, null, 'immediate');
|
|
317
323
|
entity_1.default.database.insert(device.toDatabaseEntry());
|
|
318
324
|
Device.devices[device.ieeeAddr] = device;
|
|
319
325
|
return device;
|
|
@@ -409,10 +415,6 @@ class Device extends entity_1.default {
|
|
|
409
415
|
}
|
|
410
416
|
}
|
|
411
417
|
async interviewInternal() {
|
|
412
|
-
// Clear defaultSendWhenActive mode when running interview
|
|
413
|
-
for (const endpoint of this._endpoints) {
|
|
414
|
-
endpoint.defaultSendWhenActive = false;
|
|
415
|
-
}
|
|
416
418
|
const nodeDescriptorQuery = async () => {
|
|
417
419
|
const nodeDescriptor = await entity_1.default.adapter.nodeDescriptor(this.networkAddress);
|
|
418
420
|
this._manufacturerID = nodeDescriptor.manufacturerCode;
|
|
@@ -458,8 +460,8 @@ class Device extends entity_1.default {
|
|
|
458
460
|
// https://github.com/Koenkk/zigbee2mqtt/issues/7553
|
|
459
461
|
debug.log("Interview - Detected potential TuYa end device, reading modelID and manufacturerName...");
|
|
460
462
|
try {
|
|
461
|
-
const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr
|
|
462
|
-
const result = await endpoint.read('genBasic', ['modelId', 'manufacturerName']);
|
|
463
|
+
const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
|
|
464
|
+
const result = await endpoint.read('genBasic', ['modelId', 'manufacturerName'], { sendWhen: 'immediate' });
|
|
463
465
|
Object.entries(result)
|
|
464
466
|
.forEach((entry) => Device.ReportablePropertiesMapping[entry[0]].set(entry[1], this));
|
|
465
467
|
}
|
|
@@ -488,7 +490,7 @@ class Device extends entity_1.default {
|
|
|
488
490
|
// Some devices, e.g. TERNCY return endpoint 0 in the active endpoints request.
|
|
489
491
|
// This is not a valid endpoint number according to the ZCL, requesting a simple descriptor will result
|
|
490
492
|
// into an error. Therefore we filter it, more info: https://github.com/Koenkk/zigbee-herdsman/issues/82
|
|
491
|
-
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
|
|
493
|
+
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)));
|
|
492
494
|
this.save();
|
|
493
495
|
debug.log(`Interview - got active endpoints for device '${this.ieeeAddr}'`);
|
|
494
496
|
for (const endpointID of activeEndpoints.endpoints) {
|
|
@@ -508,7 +510,7 @@ class Device extends entity_1.default {
|
|
|
508
510
|
try {
|
|
509
511
|
let result;
|
|
510
512
|
try {
|
|
511
|
-
result = await endpoint.read('genBasic', [key]);
|
|
513
|
+
result = await endpoint.read('genBasic', [key], { sendWhen: 'immediate' });
|
|
512
514
|
}
|
|
513
515
|
catch (error) {
|
|
514
516
|
// Reading attributes can fail for many reason, e.g. it could be that device rejoins
|
|
@@ -519,7 +521,7 @@ class Device extends entity_1.default {
|
|
|
519
521
|
debug.log(`Interview - first ${item.key} retrieval attempt failed, ` +
|
|
520
522
|
`retrying after 10 seconds...`);
|
|
521
523
|
await (0, utils_1.Wait)(10000);
|
|
522
|
-
result = await endpoint.read('genBasic', [key]);
|
|
524
|
+
result = await endpoint.read('genBasic', [key], { sendWhen: 'immediate' });
|
|
523
525
|
}
|
|
524
526
|
}
|
|
525
527
|
item.set(result[key], this);
|
|
@@ -537,12 +539,12 @@ class Device extends entity_1.default {
|
|
|
537
539
|
// Enroll IAS device
|
|
538
540
|
for (const endpoint of this.endpoints.filter((e) => e.supportsInputCluster('ssIasZone'))) {
|
|
539
541
|
debug.log(`Interview - IAS - enrolling '${this.ieeeAddr}' endpoint '${endpoint.ID}'`);
|
|
540
|
-
const stateBefore = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState']);
|
|
542
|
+
const stateBefore = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState'], { sendWhen: 'immediate' });
|
|
541
543
|
debug.log(`Interview - IAS - before enrolling state: '${JSON.stringify(stateBefore)}'`);
|
|
542
544
|
// Do not enroll when device has already been enrolled
|
|
543
545
|
if (stateBefore.zoneState !== 1 || stateBefore.iasCieAddr !== coordinator.ieeeAddr) {
|
|
544
546
|
debug.log(`Interview - IAS - not enrolled, enrolling`);
|
|
545
|
-
await endpoint.write('ssIasZone', { 'iasCieAddr': coordinator.ieeeAddr });
|
|
547
|
+
await endpoint.write('ssIasZone', { 'iasCieAddr': coordinator.ieeeAddr }, { sendWhen: 'immediate' });
|
|
546
548
|
debug.log(`Interview - IAS - wrote iasCieAddr`);
|
|
547
549
|
// There are 2 enrollment procedures:
|
|
548
550
|
// - Auto enroll: coordinator has to send enrollResponse without receiving an enroll request
|
|
@@ -553,11 +555,11 @@ class Device extends entity_1.default {
|
|
|
553
555
|
await (0, utils_1.Wait)(500);
|
|
554
556
|
debug.log(`IAS - '${this.ieeeAddr}' sending enroll response (auto enroll)`);
|
|
555
557
|
const payload = { enrollrspcode: 0, zoneid: 23 };
|
|
556
|
-
await endpoint.command('ssIasZone', 'enrollRsp', payload, { disableDefaultResponse: true });
|
|
558
|
+
await endpoint.command('ssIasZone', 'enrollRsp', payload, { disableDefaultResponse: true, sendWhen: 'immediate' });
|
|
557
559
|
let enrolled = false;
|
|
558
560
|
for (let attempt = 0; attempt < 20; attempt++) {
|
|
559
561
|
await (0, utils_1.Wait)(500);
|
|
560
|
-
const stateAfter = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState']);
|
|
562
|
+
const stateAfter = await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState'], { sendWhen: 'immediate' });
|
|
561
563
|
debug.log(`Interview - IAS - after enrolling state (${attempt}): '${JSON.stringify(stateAfter)}'`);
|
|
562
564
|
if (stateAfter.zoneState === 1) {
|
|
563
565
|
enrolled = true;
|
|
@@ -576,20 +578,16 @@ class Device extends entity_1.default {
|
|
|
576
578
|
}
|
|
577
579
|
}
|
|
578
580
|
// Bind poll control
|
|
579
|
-
let bound = false;
|
|
580
581
|
for (const endpoint of this.endpoints.filter((e) => e.supportsInputCluster('genPollCtrl'))) {
|
|
581
582
|
debug.log(`Interview - Poll control - binding '${this.ieeeAddr}' endpoint '${endpoint.ID}'`);
|
|
582
583
|
await endpoint.bind('genPollCtrl', coordinator.endpoints[0]);
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
// Reset defaultSendWhenActive mode when after interview
|
|
591
|
-
for (const endpoint of this._endpoints) {
|
|
592
|
-
endpoint.defaultSendWhenActive = this.defaultSendWhenActive || false;
|
|
584
|
+
const pollPeriod = await endpoint.read('genPollCtrl', ['checkinInterval']);
|
|
585
|
+
if (pollPeriod.checkinInterval <= 2400) { // 10 minutes
|
|
586
|
+
this.defaultSendRequestWhen = 'fastpoll';
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
this.defaultSendRequestWhen = 'active';
|
|
590
|
+
}
|
|
593
591
|
}
|
|
594
592
|
}
|
|
595
593
|
async removeFromNetwork() {
|
|
@@ -611,7 +609,7 @@ class Device extends entity_1.default {
|
|
|
611
609
|
this.meta = {};
|
|
612
610
|
const newEndpoints = [];
|
|
613
611
|
for (const endpoint of this.endpoints) {
|
|
614
|
-
newEndpoints.push(endpoint_1.default.create(endpoint.ID, endpoint.profileID, endpoint.deviceID, endpoint.inputClusters, endpoint.outputClusters, this.networkAddress, this.ieeeAddr
|
|
612
|
+
newEndpoints.push(endpoint_1.default.create(endpoint.ID, endpoint.profileID, endpoint.deviceID, endpoint.inputClusters, endpoint.outputClusters, this.networkAddress, this.ieeeAddr));
|
|
615
613
|
}
|
|
616
614
|
this._endpoints = newEndpoints;
|
|
617
615
|
}
|