zigbee-herdsman 1.0.1 → 2.0.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 +23 -0
- package/dist/adapter/adapter.d.ts +8 -12
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +3 -0
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +7 -15
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +154 -693
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts +102 -56
- package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/constants.js +1 -2
- package/dist/adapter/deconz/driver/constants.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +46 -41
- 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 +174 -107
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +5 -22
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +92 -325
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +17 -14
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +16 -42
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/events.d.ts +1 -9
- package/dist/adapter/events.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +12 -19
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +90 -272
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +6 -14
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +56 -37
- 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 +3 -0
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/tstype.d.ts +1 -27
- package/dist/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +20 -10
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +7 -15
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +128 -253
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +256 -302
- package/dist/adapter/z-stack/znp/definition.js.map +1 -1
- package/dist/adapter/z-stack/znp/tstype.d.ts +8 -8
- package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/utils.d.ts +3 -2
- package/dist/adapter/z-stack/znp/utils.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/utils.js +8 -7
- package/dist/adapter/z-stack/znp/utils.js.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +3 -1
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +31 -14
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts +5 -6
- package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +28 -11
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +8 -16
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.js +124 -162
- package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
- package/dist/adapter/zboss/commands.d.ts +3 -0
- package/dist/adapter/zboss/commands.d.ts.map +1 -1
- package/dist/adapter/zboss/commands.js +248 -205
- package/dist/adapter/zboss/commands.js.map +1 -1
- package/dist/adapter/zboss/driver.d.ts +4 -14
- package/dist/adapter/zboss/driver.d.ts.map +1 -1
- package/dist/adapter/zboss/driver.js +63 -89
- package/dist/adapter/zboss/driver.js.map +1 -1
- package/dist/adapter/zboss/enums.d.ts +24 -2
- package/dist/adapter/zboss/enums.d.ts.map +1 -1
- package/dist/adapter/zboss/enums.js +35 -3
- package/dist/adapter/zboss/enums.js.map +1 -1
- package/dist/adapter/zboss/frame.d.ts +6 -1
- package/dist/adapter/zboss/frame.d.ts.map +1 -1
- package/dist/adapter/zboss/frame.js +56 -11
- package/dist/adapter/zboss/frame.js.map +1 -1
- package/dist/adapter/zboss/uart.d.ts +1 -0
- package/dist/adapter/zboss/uart.d.ts.map +1 -1
- package/dist/adapter/zboss/uart.js +4 -2
- package/dist/adapter/zboss/uart.js.map +1 -1
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts +5 -0
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts.map +1 -0
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +44 -0
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +1 -0
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +6 -10
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +99 -289
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +2 -18
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +218 -218
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.d.ts +14 -8
- package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +36 -9
- package/dist/adapter/zigate/driver/constants.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +42 -42
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +17 -13
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +83 -18
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/controller/controller.d.ts +5 -0
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +143 -37
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/greenPower.js +3 -3
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/model/device.d.ts +8 -7
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +176 -72
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +1 -0
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +27 -4
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts +1 -139
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts +168 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
- package/dist/zspec/zdo/definition/tstypes.js +1 -0
- package/dist/zspec/zdo/definition/tstypes.js.map +1 -1
- package/dist/zspec/zdo/utils.d.ts +2 -3
- package/dist/zspec/zdo/utils.d.ts.map +1 -1
- package/dist/zspec/zdo/utils.js +3 -4
- package/dist/zspec/zdo/utils.js.map +1 -1
- package/package.json +5 -4
|
@@ -46,6 +46,8 @@ declare class Controller extends events.EventEmitter<ControllerEventMap> {
|
|
|
46
46
|
private stopping;
|
|
47
47
|
private adapterDisconnected;
|
|
48
48
|
private networkParametersCached;
|
|
49
|
+
/** List of unknown devices detected during a single runtime session. Serves as de-dupe and anti-spam. */
|
|
50
|
+
private unknownDevices;
|
|
49
51
|
/**
|
|
50
52
|
* Create a controller
|
|
51
53
|
*
|
|
@@ -129,13 +131,16 @@ declare class Controller extends events.EventEmitter<ControllerEventMap> {
|
|
|
129
131
|
* Set transmit power of the adapter
|
|
130
132
|
*/
|
|
131
133
|
setTransmitPower(value: number): Promise<void>;
|
|
134
|
+
identifyUnknownDevice(nwkAddress: number): Promise<Device | undefined>;
|
|
132
135
|
private onNetworkAddress;
|
|
136
|
+
private onIEEEAddress;
|
|
133
137
|
private onDeviceAnnounce;
|
|
134
138
|
private onDeviceLeave;
|
|
135
139
|
private onAdapterDisconnected;
|
|
136
140
|
private onDeviceJoinedGreenPower;
|
|
137
141
|
private selfAndDeviceEmit;
|
|
138
142
|
private onDeviceJoined;
|
|
143
|
+
private onZdoResponse;
|
|
139
144
|
private onZclPayload;
|
|
140
145
|
}
|
|
141
146
|
export default Controller;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,OAAO,EAAmC,MAAM,IAAI,aAAa,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,9 @@ const adapter_1 = require("../adapter");
|
|
|
34
34
|
const utils_1 = require("../utils");
|
|
35
35
|
const logger_1 = require("../utils/logger");
|
|
36
36
|
const utils_2 = require("../utils/utils");
|
|
37
|
+
const ZSpec = __importStar(require("../zspec"));
|
|
37
38
|
const Zcl = __importStar(require("../zspec/zcl"));
|
|
39
|
+
const Zdo = __importStar(require("../zspec/zdo"));
|
|
38
40
|
const database_1 = __importDefault(require("./database"));
|
|
39
41
|
const greenPower_1 = __importDefault(require("./greenPower"));
|
|
40
42
|
const helpers_1 = require("./helpers");
|
|
@@ -42,14 +44,6 @@ const model_1 = require("./model");
|
|
|
42
44
|
const group_1 = __importDefault(require("./model/group"));
|
|
43
45
|
const touchlink_1 = __importDefault(require("./touchlink"));
|
|
44
46
|
const NS = 'zh:controller';
|
|
45
|
-
async function catcho(func, errorMessage) {
|
|
46
|
-
try {
|
|
47
|
-
await func();
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
logger_1.logger.error(`${errorMessage}: ${error}`, NS);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
47
|
const DefaultOptions = {
|
|
54
48
|
network: {
|
|
55
49
|
networkKeyDistribute: false,
|
|
@@ -82,6 +76,8 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
82
76
|
stopping;
|
|
83
77
|
adapterDisconnected;
|
|
84
78
|
networkParametersCached;
|
|
79
|
+
/** List of unknown devices detected during a single runtime session. Serves as de-dupe and anti-spam. */
|
|
80
|
+
unknownDevices;
|
|
85
81
|
/**
|
|
86
82
|
* Create a controller
|
|
87
83
|
*
|
|
@@ -92,6 +88,7 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
92
88
|
this.stopping = false;
|
|
93
89
|
this.adapterDisconnected = true; // set false after adapter.start() is successfully called
|
|
94
90
|
this.options = (0, mixin_deep_1.default)(JSON.parse(JSON.stringify(DefaultOptions)), options);
|
|
91
|
+
this.unknownDevices = new Set();
|
|
95
92
|
// Validate options
|
|
96
93
|
for (const channel of this.options.network.channelList) {
|
|
97
94
|
if (channel < 11 || channel > 26) {
|
|
@@ -142,11 +139,11 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
142
139
|
// Register adapter events
|
|
143
140
|
this.adapter.on('deviceJoined', this.onDeviceJoined.bind(this));
|
|
144
141
|
this.adapter.on('zclPayload', this.onZclPayload.bind(this));
|
|
142
|
+
this.adapter.on('zdoResponse', this.onZdoResponse.bind(this));
|
|
145
143
|
this.adapter.on('disconnected', this.onAdapterDisconnected.bind(this));
|
|
146
|
-
this.adapter.on('deviceAnnounce', this.onDeviceAnnounce.bind(this));
|
|
147
144
|
this.adapter.on('deviceLeave', this.onDeviceLeave.bind(this));
|
|
148
|
-
this.adapter.on('networkAddress', this.onNetworkAddress.bind(this));
|
|
149
145
|
if (startResult === 'reset') {
|
|
146
|
+
/* istanbul ignore else */
|
|
150
147
|
if (this.options.databaseBackupPath && fs_1.default.existsSync(this.options.databasePath)) {
|
|
151
148
|
fs_1.default.copyFileSync(this.options.databasePath, this.options.databaseBackupPath);
|
|
152
149
|
}
|
|
@@ -162,16 +159,21 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
162
159
|
await this.backup();
|
|
163
160
|
}
|
|
164
161
|
// Add coordinator to the database if it is not there yet.
|
|
165
|
-
const
|
|
162
|
+
const coordinatorIEEE = await this.adapter.getCoordinatorIEEE();
|
|
166
163
|
if (model_1.Device.byType('Coordinator').length === 0) {
|
|
167
164
|
logger_1.logger.debug('No coordinator in database, querying...', NS);
|
|
168
|
-
model_1.Device.create('Coordinator',
|
|
165
|
+
const coordinator = model_1.Device.create('Coordinator', coordinatorIEEE, ZSpec.COORDINATOR_ADDRESS, this.adapter.manufacturerID, undefined, undefined, undefined, true);
|
|
166
|
+
await coordinator.updateActiveEndpoints();
|
|
167
|
+
for (const endpoint of coordinator.endpoints) {
|
|
168
|
+
await endpoint.updateSimpleDescriptor();
|
|
169
|
+
}
|
|
170
|
+
coordinator.save();
|
|
169
171
|
}
|
|
170
172
|
// Update coordinator ieeeAddr if changed, can happen due to e.g. reflashing
|
|
171
173
|
const databaseCoordinator = model_1.Device.byType('Coordinator')[0];
|
|
172
|
-
if (databaseCoordinator.ieeeAddr !==
|
|
173
|
-
logger_1.logger.info(`Coordinator address changed, updating to '${
|
|
174
|
-
databaseCoordinator.changeIeeeAddress(
|
|
174
|
+
if (databaseCoordinator.ieeeAddr !== coordinatorIEEE) {
|
|
175
|
+
logger_1.logger.info(`Coordinator address changed, updating to '${coordinatorIEEE}'`, NS);
|
|
176
|
+
databaseCoordinator.changeIeeeAddress(coordinatorIEEE);
|
|
175
177
|
}
|
|
176
178
|
// Set backup timer to 1 day.
|
|
177
179
|
this.backupTimer = setInterval(() => this.backup(), 86400000);
|
|
@@ -227,13 +229,18 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
227
229
|
if (permit) {
|
|
228
230
|
await this.adapter.permitJoin(254, device?.networkAddress);
|
|
229
231
|
await this.greenPower.permitJoin(254, device?.networkAddress);
|
|
232
|
+
// TODO: remove https://github.com/Koenkk/zigbee-herdsman/issues/940
|
|
230
233
|
// Zigbee 3 networks automatically close after max 255 seconds, keep network open.
|
|
231
234
|
this.permitJoinNetworkClosedTimer = setInterval(async () => {
|
|
232
|
-
|
|
235
|
+
try {
|
|
233
236
|
await this.adapter.permitJoin(254, device?.networkAddress);
|
|
234
237
|
await this.greenPower.permitJoin(254, device?.networkAddress);
|
|
235
|
-
}
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
logger_1.logger.error(`Failed to keep permit join alive: ${error}`, NS);
|
|
241
|
+
}
|
|
236
242
|
}, 200 * 1000);
|
|
243
|
+
// TODO: prevent many mqtt messages by doing this on the other end?
|
|
237
244
|
if (typeof time === 'number') {
|
|
238
245
|
this.permitJoinTimeout = time;
|
|
239
246
|
this.permitJoinTimeoutTimer = setInterval(async () => {
|
|
@@ -278,7 +285,12 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
278
285
|
this.databaseSave();
|
|
279
286
|
}
|
|
280
287
|
else {
|
|
281
|
-
|
|
288
|
+
try {
|
|
289
|
+
await this.permitJoinInternal(false, 'manual');
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
logger_1.logger.error(`Failed to disable join on stop: ${error}`, NS);
|
|
293
|
+
}
|
|
282
294
|
await this.backup(); // always calls databaseSave()
|
|
283
295
|
await this.adapter.stop();
|
|
284
296
|
this.adapterDisconnected = true;
|
|
@@ -405,9 +417,14 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
405
417
|
*/
|
|
406
418
|
async changeChannel(oldChannel, newChannel) {
|
|
407
419
|
logger_1.logger.warning(`Changing channel from '${oldChannel}' to '${newChannel}'`, NS);
|
|
408
|
-
|
|
420
|
+
const clusterId = Zdo.ClusterId.NWK_UPDATE_REQUEST;
|
|
421
|
+
const zdoPayload = Zdo.Buffalo.buildRequest(this.adapter.hasZdoMessageOverhead, clusterId, [newChannel], 0xfe, undefined, 0, undefined);
|
|
422
|
+
await this.adapter.sendZdo(ZSpec.BLANK_EUI64, ZSpec.BroadcastAddress.SLEEPY, clusterId, zdoPayload, true);
|
|
409
423
|
logger_1.logger.info(`Channel changed to '${newChannel}'`, NS);
|
|
410
424
|
this.networkParametersCached = undefined; // invalidate cache
|
|
425
|
+
// wait for the broadcast to propagate and the adapter to actually change
|
|
426
|
+
// NOTE: observed to ~9sec on `ember` with actual stack event
|
|
427
|
+
await (0, utils_1.Wait)(12000);
|
|
411
428
|
}
|
|
412
429
|
/**
|
|
413
430
|
* Set transmit power of the adapter
|
|
@@ -415,36 +432,76 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
415
432
|
async setTransmitPower(value) {
|
|
416
433
|
return await this.adapter.setTransmitPower(value);
|
|
417
434
|
}
|
|
435
|
+
async identifyUnknownDevice(nwkAddress) {
|
|
436
|
+
if (this.unknownDevices.has(nwkAddress)) {
|
|
437
|
+
// prevent duplicate triggering
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
logger_1.logger.debug(`Trying to identify unknown device with address '${nwkAddress}'`, NS);
|
|
441
|
+
this.unknownDevices.add(nwkAddress);
|
|
442
|
+
const clusterId = Zdo.ClusterId.IEEE_ADDRESS_REQUEST;
|
|
443
|
+
const zdoPayload = Zdo.Buffalo.buildRequest(this.adapter.hasZdoMessageOverhead, clusterId, nwkAddress, false, 0);
|
|
444
|
+
const response = await this.adapter.sendZdo(ZSpec.BLANK_EUI64, nwkAddress, clusterId, zdoPayload, false);
|
|
445
|
+
if (Zdo.Buffalo.checkStatus(response)) {
|
|
446
|
+
// XXX: race with onIEEEAddress triggered from onZdoResponse or not?
|
|
447
|
+
// this duplicates the triggering but makes sure device is updated before going further...
|
|
448
|
+
this.onIEEEAddress(response[1]);
|
|
449
|
+
return model_1.Device.byIeeeAddr(response[1].eui64);
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
logger_1.logger.debug(`Failed to retrieve IEEE address for device '${nwkAddress}': ${Zdo.Status[response[0]]}`, NS);
|
|
453
|
+
}
|
|
454
|
+
// NOTE: by keeping nwkAddress in `this.unknownDevices` on fail, it prevents a non-responding device from potentially spamming identify.
|
|
455
|
+
// This only lasts until next reboot (runtime Set), allowing to 'force' another trigger if necessary.
|
|
456
|
+
}
|
|
418
457
|
onNetworkAddress(payload) {
|
|
419
|
-
logger_1.logger.debug(`Network address '${payload.
|
|
420
|
-
const device = model_1.Device.byIeeeAddr(payload.
|
|
458
|
+
logger_1.logger.debug(`Network address from '${payload.eui64}:${payload.nwkAddress}'`, NS);
|
|
459
|
+
const device = model_1.Device.byIeeeAddr(payload.eui64);
|
|
421
460
|
if (!device) {
|
|
422
|
-
logger_1.logger.debug(`Network address is from unknown device '${payload.
|
|
461
|
+
logger_1.logger.debug(`Network address is from unknown device '${payload.eui64}:${payload.nwkAddress}'`, NS);
|
|
423
462
|
return;
|
|
424
463
|
}
|
|
425
464
|
device.updateLastSeen();
|
|
426
465
|
this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'networkAddress' });
|
|
427
|
-
if (device.networkAddress !== payload.
|
|
428
|
-
logger_1.logger.debug(`Device '${payload.
|
|
429
|
-
device.networkAddress = payload.
|
|
466
|
+
if (device.networkAddress !== payload.nwkAddress) {
|
|
467
|
+
logger_1.logger.debug(`Device '${payload.eui64}' got new networkAddress '${payload.nwkAddress}'`, NS);
|
|
468
|
+
device.networkAddress = payload.nwkAddress;
|
|
430
469
|
device.save();
|
|
431
470
|
this.selfAndDeviceEmit(device, 'deviceNetworkAddressChanged', { device });
|
|
432
471
|
}
|
|
433
472
|
}
|
|
473
|
+
onIEEEAddress(payload) {
|
|
474
|
+
logger_1.logger.debug(`IEEE address from '${payload.eui64}:${payload.nwkAddress}'`, NS);
|
|
475
|
+
const device = model_1.Device.byIeeeAddr(payload.eui64);
|
|
476
|
+
if (!device) {
|
|
477
|
+
logger_1.logger.debug(`IEEE address is from unknown device '${payload.eui64}:${payload.nwkAddress}'`, NS);
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
480
|
+
device.updateLastSeen();
|
|
481
|
+
this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'networkAddress' });
|
|
482
|
+
if (device.networkAddress !== payload.nwkAddress) {
|
|
483
|
+
logger_1.logger.debug(`Device '${payload.eui64}' got new networkAddress '${payload.nwkAddress}'`, NS);
|
|
484
|
+
device.networkAddress = payload.nwkAddress;
|
|
485
|
+
device.save();
|
|
486
|
+
this.selfAndDeviceEmit(device, 'deviceNetworkAddressChanged', { device });
|
|
487
|
+
}
|
|
488
|
+
this.unknownDevices.delete(payload.nwkAddress);
|
|
489
|
+
}
|
|
434
490
|
onDeviceAnnounce(payload) {
|
|
435
|
-
logger_1.logger.debug(`Device announce '${payload.
|
|
436
|
-
const device = model_1.Device.byIeeeAddr(payload.
|
|
491
|
+
logger_1.logger.debug(`Device announce from '${payload.eui64}:${payload.nwkAddress}'`, NS);
|
|
492
|
+
const device = model_1.Device.byIeeeAddr(payload.eui64);
|
|
437
493
|
if (!device) {
|
|
438
|
-
logger_1.logger.debug(`Device announce is from unknown device '${payload.
|
|
494
|
+
logger_1.logger.debug(`Device announce is from unknown device '${payload.eui64}:${payload.nwkAddress}'`, NS);
|
|
439
495
|
return;
|
|
440
496
|
}
|
|
441
497
|
device.updateLastSeen();
|
|
442
498
|
this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'deviceAnnounce' });
|
|
443
499
|
device.implicitCheckin();
|
|
444
|
-
if (device.networkAddress !== payload.
|
|
445
|
-
logger_1.logger.debug(`Device '${payload.
|
|
446
|
-
device.networkAddress = payload.
|
|
500
|
+
if (device.networkAddress !== payload.nwkAddress) {
|
|
501
|
+
logger_1.logger.debug(`Device '${payload.eui64}' announced with new networkAddress '${payload.nwkAddress}'`, NS);
|
|
502
|
+
device.networkAddress = payload.nwkAddress;
|
|
447
503
|
device.save();
|
|
504
|
+
this.selfAndDeviceEmit(device, 'deviceNetworkAddressChanged', { device });
|
|
448
505
|
}
|
|
449
506
|
this.selfAndDeviceEmit(device, 'deviceAnnounce', { device });
|
|
450
507
|
}
|
|
@@ -463,7 +520,12 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
463
520
|
async onAdapterDisconnected() {
|
|
464
521
|
logger_1.logger.debug(`Adapter disconnected`, NS);
|
|
465
522
|
this.adapterDisconnected = true;
|
|
466
|
-
|
|
523
|
+
try {
|
|
524
|
+
await this.adapter.stop();
|
|
525
|
+
}
|
|
526
|
+
catch (error) {
|
|
527
|
+
logger_1.logger.error(`Failed to stop adapter on disconnect: ${error}`, NS);
|
|
528
|
+
}
|
|
467
529
|
this.emit('adapterDisconnected');
|
|
468
530
|
}
|
|
469
531
|
async onDeviceJoinedGreenPower(payload) {
|
|
@@ -477,7 +539,7 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
477
539
|
if (!device) {
|
|
478
540
|
logger_1.logger.debug(`New green power device '${ieeeAddr}' joined`, NS);
|
|
479
541
|
logger_1.logger.debug(`Creating device '${ieeeAddr}'`, NS);
|
|
480
|
-
device = model_1.Device.create('GreenPower', ieeeAddr, payload.networkAddress, undefined, undefined, undefined, modelID, true
|
|
542
|
+
device = model_1.Device.create('GreenPower', ieeeAddr, payload.networkAddress, undefined, undefined, undefined, modelID, true);
|
|
481
543
|
device.save();
|
|
482
544
|
this.selfAndDeviceEmit(device, 'deviceJoined', { device });
|
|
483
545
|
this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
|
|
@@ -495,10 +557,23 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
495
557
|
}
|
|
496
558
|
async onDeviceJoined(payload) {
|
|
497
559
|
logger_1.logger.debug(`Device '${payload.ieeeAddr}' joined`, NS);
|
|
560
|
+
/* istanbul ignore else */
|
|
498
561
|
if (this.options.acceptJoiningDeviceHandler) {
|
|
499
562
|
if (!(await this.options.acceptJoiningDeviceHandler(payload.ieeeAddr))) {
|
|
500
563
|
logger_1.logger.debug(`Device '${payload.ieeeAddr}' rejected by handler, removing it`, NS);
|
|
501
|
-
|
|
564
|
+
// XXX: GP devices? see Device.removeFromNetwork
|
|
565
|
+
try {
|
|
566
|
+
const clusterId = Zdo.ClusterId.LEAVE_REQUEST;
|
|
567
|
+
const zdoPayload = Zdo.Buffalo.buildRequest(this.adapter.hasZdoMessageOverhead, clusterId, payload.ieeeAddr, Zdo.LeaveRequestFlags.WITHOUT_REJOIN);
|
|
568
|
+
const response = await this.adapter.sendZdo(payload.ieeeAddr, payload.networkAddress, clusterId, zdoPayload, false);
|
|
569
|
+
/* istanbul ignore else */
|
|
570
|
+
if (!Zdo.Buffalo.checkStatus(response)) {
|
|
571
|
+
throw new Zdo.StatusError(response[0]);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
catch (error) {
|
|
575
|
+
logger_1.logger.error(`Failed to remove rejected device: ${error.message}`, NS);
|
|
576
|
+
}
|
|
502
577
|
return;
|
|
503
578
|
}
|
|
504
579
|
else {
|
|
@@ -509,7 +584,7 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
509
584
|
if (!device) {
|
|
510
585
|
logger_1.logger.debug(`New device '${payload.ieeeAddr}' joined`, NS);
|
|
511
586
|
logger_1.logger.debug(`Creating device '${payload.ieeeAddr}'`, NS);
|
|
512
|
-
device = model_1.Device.create('Unknown', payload.ieeeAddr, payload.networkAddress, undefined, undefined, undefined, undefined, false
|
|
587
|
+
device = model_1.Device.create('Unknown', payload.ieeeAddr, payload.networkAddress, undefined, undefined, undefined, undefined, false);
|
|
513
588
|
this.selfAndDeviceEmit(device, 'deviceJoined', { device });
|
|
514
589
|
}
|
|
515
590
|
else if (device.isDeleted) {
|
|
@@ -542,6 +617,32 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
542
617
|
logger_1.logger.debug(`Not interviewing '${payload.ieeeAddr}', completed '${device.interviewCompleted}', in progress '${device.interviewing}'`, NS);
|
|
543
618
|
}
|
|
544
619
|
}
|
|
620
|
+
async onZdoResponse(clusterId, response) {
|
|
621
|
+
logger_1.logger.debug(`Received ZDO response: clusterId=${Zdo.ClusterId[clusterId]}, status=${Zdo.Status[response[0]]}, payload=${JSON.stringify(response[1])}`, NS);
|
|
622
|
+
switch (clusterId) {
|
|
623
|
+
case Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE: {
|
|
624
|
+
/* istanbul ignore else */
|
|
625
|
+
if (Zdo.Buffalo.checkStatus(response)) {
|
|
626
|
+
this.onNetworkAddress(response[1]);
|
|
627
|
+
}
|
|
628
|
+
break;
|
|
629
|
+
}
|
|
630
|
+
case Zdo.ClusterId.IEEE_ADDRESS_RESPONSE: {
|
|
631
|
+
/* istanbul ignore else */
|
|
632
|
+
if (Zdo.Buffalo.checkStatus(response)) {
|
|
633
|
+
this.onIEEEAddress(response[1]);
|
|
634
|
+
}
|
|
635
|
+
break;
|
|
636
|
+
}
|
|
637
|
+
case Zdo.ClusterId.END_DEVICE_ANNOUNCE: {
|
|
638
|
+
/* istanbul ignore else */
|
|
639
|
+
if (Zdo.Buffalo.checkStatus(response)) {
|
|
640
|
+
this.onDeviceAnnounce(response[1]);
|
|
641
|
+
}
|
|
642
|
+
break;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
}
|
|
545
646
|
async onZclPayload(payload) {
|
|
546
647
|
let frame;
|
|
547
648
|
let device;
|
|
@@ -588,8 +689,13 @@ class Controller extends events_1.default.EventEmitter {
|
|
|
588
689
|
}
|
|
589
690
|
}
|
|
590
691
|
if (!device) {
|
|
591
|
-
|
|
592
|
-
|
|
692
|
+
if (typeof payload.address === 'number') {
|
|
693
|
+
device = await this.identifyUnknownDevice(payload.address);
|
|
694
|
+
}
|
|
695
|
+
if (!device) {
|
|
696
|
+
logger_1.logger.debug(`Data is from unknown device with address '${payload.address}', skipping...`, NS);
|
|
697
|
+
return;
|
|
698
|
+
}
|
|
593
699
|
}
|
|
594
700
|
logger_1.logger.debug(`Received payload: clusterID=${payload.clusterID}, address=${payload.address}, groupID=${payload.groupID}, ` +
|
|
595
701
|
`endpoint=${payload.endpoint}, destinationEndpoint=${payload.destinationEndpoint}, wasBroadcast=${payload.wasBroadcast}, ` +
|
|
@@ -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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"}
|
|
@@ -74,9 +74,9 @@ class GreenPower extends events_1.default.EventEmitter {
|
|
|
74
74
|
case 0b00: // Full unicast forwarding
|
|
75
75
|
case 0b11: {
|
|
76
76
|
// Lightweight unicast forwarding
|
|
77
|
-
const
|
|
78
|
-
payload.sinkIEEEAddr =
|
|
79
|
-
payload.sinkNwkAddr =
|
|
77
|
+
const coordinatorIEEE = await this.adapter.getCoordinatorIEEE();
|
|
78
|
+
payload.sinkIEEEAddr = coordinatorIEEE;
|
|
79
|
+
payload.sinkNwkAddr = consts_1.COORDINATOR_ADDRESS;
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
82
|
/* istanbul ignore next */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greenPower.js","sourceRoot":"","sources":["../../src/controller/greenPower.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,oDAA4B;AAC5B,oDAA4B;AAG5B,4CAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"greenPower.js","sourceRoot":"","sources":["../../src/controller/greenPower.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,oDAA4B;AAC5B,oDAA4B;AAG5B,4CAAuC;AACvC,4CAA8E;AAC9E,0CAAgD;AAChD,kDAAoC;AACpC,0GAAkF;AAClF,mCAA+B;AAG/B,MAAM,EAAE,GAAG,0BAA0B,CAAC;AAEtC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAMpI,MAAM,UAAW,SAAQ,gBAAM,CAAC,YAAgC;IACpD,OAAO,CAAU;IAEzB,YAAmB,OAAgB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,WAAmB;QAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;YAChC,QAAQ,GAAG,UAAU;YACrB,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;YAC5B,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE;YAC7B,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE;SAChC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAEjB,MAAM,MAAM,GAAG,gBAAM,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,EAAC,aAAa,EAAE,EAAE,EAAC,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,kBAAkB,CAAC,OAAY,EAAE,WAAqC,EAAE,KAAgB;QAClG,eAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,OAAO,kBAAkB,WAAW,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAElG,+CAA+C;QAC/C,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,wCAAwC;YACnD,KAAK,IAAI,EAAE,wBAAwB;gBAC/B,OAAO,CAAC,WAAW,GAAG,oBAAW,CAAC;gBAClC,MAAM;YACV,0BAA0B;YAC1B,KAAK,IAAI,CAAC,CAAC,0BAA0B;YACrC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,iCAAiC;gBACjC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAChE,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;gBACvC,OAAO,CAAC,WAAW,GAAG,4BAAmB,CAAC;gBAC1C,MAAM;YACV,CAAC;YACD,0BAA0B;YAC1B;gBACI,eAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpE,OAAO;QACf,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC/B,GAAG,CAAC,SAAS,CAAC,QAAQ,EACtB,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC9B,IAAI,EACJ,SAAS,EACT,sCAA4B,CAAC,IAAI,EAAE,EACnC,SAAS,EACT,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAC1B,OAAO,EACP,EAAE,CACL,CAAC;QAEF,yEAAyE;QACzE,4EAA4E;QAC5E,sDAAsD;QACtD,sDAAsD;QACtD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAW,EAAE,UAAU,EAAE,oBAAW,EAAE,wBAAgB,CAAC,eAAe,CAAC,CAAC;QACxH,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,cAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjE,IAAA,gBAAM,EAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAC5C,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,OAAO,CAAC,UAAU,EACxB,oBAAW,EACX,UAAU,EACV,KAAK,EACL,KAAK,EACL,KAAK,EACL,oBAAW,CACd,CAAC;QACN,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,WAAqC,EAAE,KAAgB;QACpF,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC5E,QAAQ,SAAS,EAAE,CAAC;gBAChB,0BAA0B;gBAC1B,KAAK,SAAS;oBACV,eAAM,CAAC,KAAK,CAAC,oCAAoC,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7E,MAAM;gBACV,KAAK,IAAI,CAAC,CAAC,CAAC;oBACR,mBAAmB;oBACnB,eAAM,CAAC,IAAI,CAAC,gCAAgC,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;oBAExE,wBAAwB;oBACxB,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAC1C,eAAM,CAAC,KAAK,CAAC,mEAAmE,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC5G,MAAM;oBACV,CAAC;oBAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;oBAE1D,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;oBAEjG,8CAA8C;oBAC9C,IAAI,OAAO,EAAE,CAAC;wBACV,eAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAC;wBACxE,6DAA6D;wBAE7D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;wBACpE,sBAAsB;wBACtB,MAAM,YAAY,GAAG;4BACjB,OAAO,EAAE,CAAC;4BACV,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;4BACpC,YAAY,EAAE,iBAAiB,CAAC,OAAO,GAAG,EAAE;4BAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;4BAC1B,MAAM,EAAE,IAAI;4BACZ,UAAU,EAAE;gCACR,SAAS,EAAE,IAAI;gCACf,OAAO,EAAE,UAAU,EAAE,qBAAqB;gCAC1C,4DAA4D;gCAC5D,6CAA6C;6BAChD;yBACJ,CAAC;wBAEF,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC/B,GAAG,CAAC,SAAS,CAAC,QAAQ,EACtB,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC9B,IAAI,EACJ,SAAS,EACT,sCAA4B,CAAC,IAAI,EAAE,EACnC,UAAU,EACV,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAC1B,YAAY,EACZ,EAAE,CACL,CAAC;wBACF,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAW,EAAE,UAAU,EAAE,oBAAW,EAAE,wBAAgB,CAAC,eAAe,CAAC,CAAC;wBAE7G,MAAM,cAAc,GAAG;4BACnB,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;4BAClD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;4BAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ;yBAChD,CAAC;wBAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACJ,sBAAsB;wBACtB,qDAAqD;wBACrD,yCAAyC;wBACzC,IAAI,GAAG,GAAG,kBAAkB,CAAC;wBAC7B,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;4BAC3B,GAAG,GAAG,kBAAkB,CAAC;wBAC7B,CAAC;wBAED,MAAM,OAAO,GAAG;4BACZ,OAAO,EAAE,GAAG;4BACZ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;4BAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ;4BAC7C,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe;4BAExD,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC;yBACnB,CAAC;wBAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;oBAC/D,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;wBACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;wBAC7B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ;wBAC7C,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM;qBAC/C,CAAC,CAAC;oBAEH,MAAM;gBACV,CAAC;gBACD,0BAA0B;gBAC1B,KAAK,IAAI,EAAE,aAAa;oBACpB,eAAM,CAAC,KAAK,CAAC,0BAA0B,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnE,MAAM;gBACV,KAAK,IAAI,CAAC,CAAC,CAAC;oBACR,qBAAqB;oBACrB,eAAM,CAAC,KAAK,CAAC,kCAAkC,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC3E,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBACpE,uBAAuB;oBACvB,MAAM,OAAO,GAAG;wBACZ,OAAO,EAAE,CAAC;wBACV,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;wBACpC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW;wBACpD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;wBAC1B,MAAM,EAAE,IAAI;wBAEZ,UAAU,EAAE;4BACR,SAAS,EAAE,IAAI;4BACf,OAAO,EAAE,iBAAiB,CAAC,OAAO,GAAG,EAAE;yBAC1C;qBACJ,CAAC;oBAEF,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC/B,GAAG,CAAC,SAAS,CAAC,QAAQ,EACtB,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC9B,IAAI,EACJ,SAAS,EACT,sCAA4B,CAAC,IAAI,EAAE,EACnC,UAAU,EACV,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAC1B,OAAO,EACP,EAAE,CACL,CAAC;oBAEF,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAW,EAAE,UAAU,EAAE,oBAAW,EAAE,wBAAgB,CAAC,eAAe,CAAC,CAAC;oBAC7G,MAAM;gBACV,CAAC;gBACD,0BAA0B;gBAC1B,KAAK,IAAI,EAAE,+CAA+C;oBACtD,MAAM;gBACV;oBACI,oHAAoH;oBACpH,eAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;YACnH,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,0BAA0B;YAC1B,eAAM,CAAC,KAAK,CAAE,KAAe,CAAC,KAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,cAAuB;QACzD,MAAM,OAAO,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACnE,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC1B,GAAG,CAAC,SAAS,CAAC,QAAQ,EACtB,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC9B,IAAI,EACJ,SAAS,EACT,sCAA4B,CAAC,IAAI,EAAE,EACnC,kBAAkB,EAClB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAC1B,OAAO,EACP,EAAE,CACL,CAAC;QAEF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAW,EAAE,KAAK,EAAE,oBAAW,EAAE,wBAAgB,CAAC,eAAe,CAAC,CAAC;QAC5G,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,cAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACvD,IAAA,gBAAM,EAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,oBAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAW,CAAC,CAAC;QACrI,CAAC;IACL,CAAC;CACJ;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -128,16 +128,17 @@ declare class Device extends Entity<ControllerEventMap> {
|
|
|
128
128
|
static all(): Device[];
|
|
129
129
|
static allIterator(predicate?: (value: Device) => boolean): Generator<Device>;
|
|
130
130
|
undelete(interviewCompleted?: boolean): void;
|
|
131
|
-
static create(type: DeviceType, ieeeAddr: string, networkAddress: number, manufacturerID: number | undefined, manufacturerName: string | undefined, powerSource: string | undefined, modelID: string | undefined, interviewCompleted: boolean
|
|
132
|
-
ID: number;
|
|
133
|
-
profileID: number;
|
|
134
|
-
deviceID: number;
|
|
135
|
-
inputClusters: number[];
|
|
136
|
-
outputClusters: number[];
|
|
137
|
-
}[]): Device;
|
|
131
|
+
static create(type: DeviceType, ieeeAddr: string, networkAddress: number, manufacturerID: number | undefined, manufacturerName: string | undefined, powerSource: string | undefined, modelID: string | undefined, interviewCompleted: boolean): Device;
|
|
138
132
|
interview(ignoreCache?: boolean): Promise<void>;
|
|
139
133
|
private interviewQuirks;
|
|
140
134
|
private interviewInternal;
|
|
135
|
+
updateNodeDescriptor(): Promise<void>;
|
|
136
|
+
updateActiveEndpoints(): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Request device to advertise its network address.
|
|
139
|
+
* Note: This does not actually update the device property (if needed), as this is already done with `zdoResponse` event in Controller.
|
|
140
|
+
*/
|
|
141
|
+
updateNetworkAddress(): Promise<void>;
|
|
141
142
|
removeFromNetwork(): Promise<void>;
|
|
142
143
|
removeFromDatabase(): void;
|
|
143
144
|
lqi(): Promise<LQI>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,IAAI,aAAa,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
|