zigbee-herdsman 0.35.3 → 0.36.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.
@@ -6,5 +6,9 @@ export declare class EZSPAdapterBackup {
6
6
  private debug;
7
7
  constructor(driver: Driver, path: string);
8
8
  createBackup(): Promise<Models.Backup>;
9
+ /**
10
+ * Loads currently stored backup and returns it in internal backup model.
11
+ */
12
+ getStoredBackup(): Promise<Models.Backup>;
9
13
  }
10
14
  //# sourceMappingURL=backup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/backup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAW1C,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAgD;gBAE1C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAKlC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;CAqDtD"}
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/backup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAY1C,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAgD;gBAE1C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAKlC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IAsDnD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;CAwBzD"}
@@ -8,6 +8,8 @@ exports.EZSPAdapterBackup = void 0;
8
8
  const debug_1 = __importDefault(require("debug"));
9
9
  const types_1 = require("../driver/types");
10
10
  const utils_1 = require("../driver/utils");
11
+ const mz_1 = require("mz");
12
+ const utils_2 = require("../../../utils");
11
13
  class EZSPAdapterBackup {
12
14
  driver;
13
15
  defaultPath;
@@ -68,6 +70,36 @@ class EZSPAdapterBackup {
68
70
  devices: []
69
71
  };
70
72
  }
73
+ /**
74
+ * Loads currently stored backup and returns it in internal backup model.
75
+ */
76
+ async getStoredBackup() {
77
+ try {
78
+ await mz_1.fs.access(this.defaultPath);
79
+ }
80
+ catch (error) {
81
+ return null;
82
+ }
83
+ let data;
84
+ try {
85
+ data = JSON.parse((await mz_1.fs.readFile(this.defaultPath)).toString());
86
+ }
87
+ catch (error) {
88
+ throw new Error('Coordinator backup is corrupted');
89
+ }
90
+ if (data.metadata?.format === "zigpy/open-coordinator-backup" && data.metadata?.version) {
91
+ if (data.metadata?.version !== 1) {
92
+ throw new Error(`Unsupported open coordinator backup version (version=${data.metadata?.version})`);
93
+ }
94
+ if (!data.metadata.internal?.ezspVersion) {
95
+ throw new Error(`This open coordinator backup format not for EZSP adapter`);
96
+ }
97
+ return utils_2.BackupUtils.fromUnifiedBackup(data);
98
+ }
99
+ else {
100
+ throw new Error("Unknown backup format");
101
+ }
102
+ }
71
103
  }
72
104
  exports.EZSPAdapterBackup = EZSPAdapterBackup;
73
105
  //# sourceMappingURL=backup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/backup.ts"],"names":[],"mappings":";;;;;;AAAA,0BAA0B;AAC1B,kDAA0B;AAG1B,2CAMyB;AACzB,2CAAkD;AAClD,2BAAsB;AACtB,0CAA2C;AAE3C,MAAa,iBAAiB;IAClB,MAAM,CAAS;IACf,WAAW,CAAS;IACpB,KAAK,GAAG,IAAA,eAAK,EAAC,qCAAqC,CAAC,CAAC;IAE7D,YAAmB,MAAc,EAAE,IAAY;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAW,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,qBAAqB,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QAC7E,MAAM,aAAa,GAA2B,SAAS,CAAC,UAAU,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,mBAAmB,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAW,IAAI,CAAC;QAC1B,IAAI,MAAM,GAAW,IAAI,CAAC;QAC1B,IAAI,oBAAoB,GAAW,CAAC,CAAC;QACrC,IAAI,kBAAkB,GAAW,CAAC,CAAC;QAEnC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,UAAU,CAAC,SAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5E,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,SAAS,CAAC,SAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3E,oBAAoB,GAAI,SAAS,CAAC,SAA4B,CAAC,cAAc,CAAC;YAC9E,kBAAkB,GAAI,SAAS,CAAC,SAA4B,CAAC,oBAAoB,CAAC;QACtF,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,UAAU,CAAC,OAAwB,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,SAAS,CAAC,OAAwB,CAAC,QAAQ,CAAC,CAAC;YACnE,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAwC,gBAAgB,CAAC,cAAc,CAAC;YAC5F,oBAAoB,GAAG,cAAc,CAAC,wBAAwB,CAAC;YAC/D,kBAAkB,GAAG,cAAc,CAAC,sBAAsB,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,6BAA6B;QAC7B,0BAA0B;QAC1B,OAAO;YACH,IAAI,EAAE;gBACF,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,MAAM;aACtB;YACD,cAAc,EAAE;gBACZ,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBACvD,WAAW,EAAE,IAAA,yBAAiB,EAAC,aAAa,CAAC,QAAQ,CAAC;gBACtD,UAAU,EAAE,MAAM;gBAClB,oBAAoB,EAAE,IAAI;aAC7B;YACD,cAAc,EAAE,aAAa,CAAC,YAAY;YAC1C,cAAc,EAAE;gBACZ,cAAc,EAAE,oBAAoB;gBACpC,YAAY,EAAE,kBAAkB;aACnC;YACD,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,aAAa,CAAC,WAAW;YAC1C,sBAAsB,EAAE,IAAI;YAC5B,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe;QACxB,IAAI,CAAC;YACD,MAAM,OAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,OAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,+BAA+B,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YACtF,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,wDAAwD,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,mBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;CACJ;AA3FD,8CA2FC"}
@@ -4,14 +4,14 @@ import Adapter from '../../adapter';
4
4
  import { ZclFrame, FrameType, Direction } from '../../../zcl';
5
5
  import * as Events from '../../events';
6
6
  import * as Models from "../../../models";
7
+ import { LoggerStub } from "../../../controller/logger-stub";
7
8
  declare class EZSPAdapter extends Adapter {
8
9
  private driver;
9
10
  private waitress;
10
11
  private interpanLock;
11
- private backupMan;
12
12
  private queue;
13
13
  private closing;
14
- constructor(networkOptions: NetworkOptions, serialPortOptions: SerialPortOptions, backupPath: string, adapterOptions: AdapterOptions);
14
+ constructor(networkOptions: NetworkOptions, serialPortOptions: SerialPortOptions, backupPath: string, adapterOptions: AdapterOptions, logger?: LoggerStub);
15
15
  private processMessage;
16
16
  private handleDeviceJoin;
17
17
  private handleDeviceLeft;
@@ -1 +1 @@
1
- {"version":3,"file":"ezspAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/ezspAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ezspAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/ezspAdapter.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,6 @@ const Events = __importStar(require("../../events"));
36
36
  const utils_1 = require("../../../utils");
37
37
  const serialPortUtils_1 = __importDefault(require("../../serialPortUtils"));
38
38
  const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
39
- const backup_1 = require("./backup");
40
39
  const autoDetectDefinitions = [
41
40
  { manufacturer: 'ITEAD', vendorId: '1a86', productId: '55d4' }, // Sonoff ZBDongle-E
42
41
  { manufacturer: 'Nabu Casa', vendorId: '10c4', productId: 'ea60' }, // Home Assistant SkyConnect
@@ -45,23 +44,21 @@ class EZSPAdapter extends adapter_1.default {
45
44
  driver;
46
45
  waitress;
47
46
  interpanLock;
48
- backupMan;
49
47
  queue;
50
48
  closing;
51
- constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
52
- super(networkOptions, serialPortOptions, backupPath, adapterOptions);
49
+ constructor(networkOptions, serialPortOptions, backupPath, adapterOptions, logger) {
50
+ super(networkOptions, serialPortOptions, backupPath, adapterOptions, logger);
53
51
  this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
54
52
  this.interpanLock = false;
55
53
  this.closing = false;
56
54
  const concurrent = adapterOptions && adapterOptions.concurrent ? adapterOptions.concurrent : 8;
57
55
  debug(`Adapter concurrent: ${concurrent}`);
58
56
  this.queue = new utils_1.Queue(concurrent);
59
- this.driver = new driver_1.Driver(this.serialPortOptions, this.networkOptions, this.greenPowerGroup);
57
+ this.driver = new driver_1.Driver(this.serialPortOptions, this.networkOptions, this.greenPowerGroup, backupPath, this.logger);
60
58
  this.driver.on('close', this.onDriverClose.bind(this));
61
59
  this.driver.on('deviceJoined', this.handleDeviceJoin.bind(this));
62
60
  this.driver.on('deviceLeft', this.handleDeviceLeft.bind(this));
63
61
  this.driver.on('incomingMessage', this.processMessage.bind(this));
64
- this.backupMan = new backup_1.EZSPAdapterBackup(this.driver, backupPath);
65
62
  }
66
63
  async processMessage(frame) {
67
64
  debug(`processMessage: ${JSON.stringify(frame)}`);
@@ -517,11 +514,11 @@ class EZSPAdapter extends adapter_1.default {
517
514
  };
518
515
  }
519
516
  async supportsBackup() {
520
- return (this.driver?.ezsp?.ezspV < 13);
517
+ return true;
521
518
  }
522
519
  async backup() {
523
520
  if (this.driver.ezsp.isInitialized()) {
524
- return this.backupMan.createBackup();
521
+ return this.driver.backupMan.createBackup();
525
522
  }
526
523
  }
527
524
  async restoreChannelInterPAN() {
@@ -1 +1 @@
1
- {"version":3,"file":"ezspAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/ezspAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ezspAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/ezspAdapter.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import { EventEmitter } from "events";
7
7
  import { EmberApsFrame, EmberNetworkParameters, EmberRawFrame, EmberIeeeRawFrame } from './types/struct';
8
8
  import { EmberEUI64, EmberKeyType } from './types/named';
9
9
  import { ParamsDesc } from './commands';
10
+ import { EZSPAdapterBackup } from '../adapter/backup';
11
+ import { LoggerStub } from "../../../controller/logger-stub";
10
12
  interface AddEndpointParameters {
11
13
  endpoint?: number;
12
14
  profileId?: number;
@@ -50,7 +52,9 @@ export declare class Driver extends EventEmitter {
50
52
  private waitress;
51
53
  private transactionID;
52
54
  private serialOpt;
53
- constructor(serialOpt: TsType.SerialPortOptions, nwkOpt: TsType.NetworkOptions, greenPowerGroup: number);
55
+ backupMan: EZSPAdapterBackup;
56
+ private logger;
57
+ constructor(serialOpt: TsType.SerialPortOptions, nwkOpt: TsType.NetworkOptions, greenPowerGroup: number, backupPath: string, logger: LoggerStub);
54
58
  /**
55
59
  * Requested by the EZSP watchdog after too many failures, or by UART layer after port closed unexpectedly.
56
60
  * Tries to stop the layers below and startup again.
@@ -102,6 +106,7 @@ export declare class Driver extends EventEmitter {
102
106
  private handleGPMessage;
103
107
  getKey(keyType: EmberKeyType): Promise<EZSPFrameData>;
104
108
  getNetworkKeyInfo(): Promise<EZSPFrameData>;
109
+ private needsToBeRestore;
105
110
  }
106
111
  export {};
107
112
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const multicast_1 = require("./multicast");
14
14
  const utils_2 = require("../../../utils");
15
15
  const debug_1 = __importDefault(require("debug"));
16
16
  const es6_1 = __importDefault(require("fast-deep-equal/es6"));
17
+ const backup_1 = require("../adapter/backup");
17
18
  const debug = {
18
19
  error: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:erro'),
19
20
  log: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:driv'),
@@ -38,12 +39,16 @@ class Driver extends events_1.EventEmitter {
38
39
  waitress;
39
40
  transactionID = 1;
40
41
  serialOpt;
41
- constructor(serialOpt, nwkOpt, greenPowerGroup) {
42
+ backupMan;
43
+ logger;
44
+ constructor(serialOpt, nwkOpt, greenPowerGroup, backupPath, logger) {
42
45
  super();
43
46
  this.nwkOpt = nwkOpt;
44
47
  this.serialOpt = serialOpt;
45
48
  this.greenPowerGroup = greenPowerGroup;
46
49
  this.waitress = new utils_2.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
50
+ this.logger = logger;
51
+ this.backupMan = new backup_1.EZSPAdapterBackup(this, backupPath);
47
52
  }
48
53
  /**
49
54
  * Requested by the EZSP watchdog after too many failures, or by UART layer after port closed unexpectedly.
@@ -146,6 +151,8 @@ class Driver extends events_1.EventEmitter {
146
151
  revision: vers
147
152
  };
148
153
  if (await this.needsToBeInitialised(this.nwkOpt)) {
154
+ // need to check the backup
155
+ const restore = await this.needsToBeRestore(this.nwkOpt);
149
156
  const res = await this.ezsp.execCommand('networkState');
150
157
  debug.log(`Network state ${res.status}`);
151
158
  if (res.status == named_1.EmberNetworkStatus.JOINED_NETWORK) {
@@ -153,8 +160,18 @@ class Driver extends events_1.EventEmitter {
153
160
  const st = await this.ezsp.leaveNetwork();
154
161
  console.assert(st == types_1.EmberStatus.NETWORK_DOWN, `leaveNetwork returned unexpected status: ${st}`);
155
162
  }
156
- await this.formNetwork();
157
- result = 'reset';
163
+ if (restore) {
164
+ // restore
165
+ debug.log("Restore network from backup");
166
+ await this.formNetwork(true);
167
+ result = 'restored';
168
+ }
169
+ else {
170
+ // reset
171
+ debug.log("Form network");
172
+ await this.formNetwork(false);
173
+ result = 'reset';
174
+ }
158
175
  }
159
176
  const state = (await this.ezsp.execCommand('networkState')).status;
160
177
  debug.log(`Network state ${state}`);
@@ -194,24 +211,39 @@ class Driver extends events_1.EventEmitter {
194
211
  valid = valid && ((0, es6_1.default)(options.extendedPanID, networkParams.extendedPanId));
195
212
  return !valid;
196
213
  }
197
- async formNetwork() {
198
- let status;
199
- status = (await this.ezsp.execCommand('clearKeyTable')).status;
200
- console.assert(status == types_1.EmberStatus.SUCCESS, `Command clearKeyTable returned unexpected state: ${status}`);
214
+ async formNetwork(restore) {
215
+ let backup;
201
216
  await this.ezsp.execCommand('clearTransientLinkKeys');
202
- const panID = this.nwkOpt.panID;
203
- const extendedPanID = this.nwkOpt.extendedPanID;
204
- const initial_security_state = (0, utils_1.ember_security)(this.nwkOpt);
205
- status = await this.ezsp.setInitialSecurityState(initial_security_state);
217
+ let initial_security_state;
218
+ if (restore) {
219
+ backup = await this.backupMan.getStoredBackup();
220
+ initial_security_state = (0, utils_1.ember_security)(backup.networkOptions.networkKey);
221
+ initial_security_state.bitmask |= named_1.EmberInitialSecurityBitmask.NO_FRAME_COUNTER_RESET;
222
+ initial_security_state.networkKeySequenceNumber = backup.networkKeyInfo.sequenceNumber;
223
+ initial_security_state.preconfiguredKey.contents = backup.ezsp.hashed_tclk;
224
+ }
225
+ else {
226
+ await this.ezsp.execCommand('clearKeyTable');
227
+ initial_security_state = (0, utils_1.ember_security)(Buffer.from(this.nwkOpt.networkKey));
228
+ }
229
+ await this.ezsp.setInitialSecurityState(initial_security_state);
206
230
  const parameters = new struct_1.EmberNetworkParameters();
207
- parameters.panId = panID;
208
- parameters.extendedPanId = extendedPanID;
209
231
  parameters.radioTxPower = 5;
210
- parameters.radioChannel = this.nwkOpt.channelList[0];
211
232
  parameters.joinMethod = named_1.EmberJoinMethod.USE_MAC_ASSOCIATION;
212
233
  parameters.nwkManagerId = 0;
213
234
  parameters.nwkUpdateId = 0;
214
235
  parameters.channels = 0x07FFF800; // all channels
236
+ if (restore) {
237
+ parameters.panId = backup.networkOptions.panId;
238
+ parameters.extendedPanId = backup.networkOptions.extendedPanId;
239
+ parameters.radioChannel = backup.logicalChannel;
240
+ parameters.nwkUpdateId = backup.networkUpdateId;
241
+ }
242
+ else {
243
+ parameters.radioChannel = this.nwkOpt.channelList[0];
244
+ parameters.panId = this.nwkOpt.panID;
245
+ parameters.extendedPanId = Buffer.from(this.nwkOpt.extendedPanID);
246
+ }
215
247
  await this.ezsp.formNetwork(parameters);
216
248
  await this.ezsp.setValue(named_1.EzspValueId.VALUE_STACK_TOKEN_WRITING, 1);
217
249
  }
@@ -703,8 +735,13 @@ class Driver extends events_1.EventEmitter {
703
735
  return this.ezsp.execCommand('getKey', { keyType });
704
736
  }
705
737
  else {
738
+ // Mapping EmberKeyType to SecManKeyType (ezsp13)
739
+ const SecManKeyType = {
740
+ [named_1.EmberKeyType.TRUST_CENTER_LINK_KEY]: 2,
741
+ [named_1.EmberKeyType.CURRENT_NETWORK_KEY]: 1,
742
+ };
706
743
  const smc = new struct_1.EmberSecurityManagerContext();
707
- smc.type = keyType;
744
+ smc.type = SecManKeyType[keyType];
708
745
  smc.index = 0;
709
746
  smc.derivedType = named_1.EmberDerivedKeyType.NONE;
710
747
  smc.eui64 = new named_1.EmberEUI64('0x0000000000000000');
@@ -727,6 +764,54 @@ class Driver extends events_1.EventEmitter {
727
764
  return keyInfo;
728
765
  }
729
766
  }
767
+ async needsToBeRestore(options) {
768
+ // if no backup and the settings have been changed, then need to start a new network
769
+ const backup = await this.backupMan.getStoredBackup();
770
+ if (!backup)
771
+ return false;
772
+ let valid = true;
773
+ //valid = valid && (await this.ezsp.networkInit());
774
+ const netParams = await this.ezsp.execCommand('getNetworkParameters');
775
+ const networkParams = netParams.parameters;
776
+ debug.log("Current Node type: %s, Network parameters: %s", netParams.nodeType, networkParams);
777
+ debug.log("Backuped network parameters: %s", backup.networkOptions);
778
+ const networkKey = await this.getKey(named_1.EmberKeyType.CURRENT_NETWORK_KEY);
779
+ let netKey = null;
780
+ if (this.ezsp.ezspV < 13) {
781
+ netKey = Buffer.from(networkKey.keyStruct.key.contents);
782
+ }
783
+ else {
784
+ netKey = Buffer.from(networkKey.keyData.contents);
785
+ }
786
+ // if the settings in the backup match the chip, then need to warn to delete the backup file first
787
+ valid = valid && (networkParams.panId == backup.networkOptions.panId);
788
+ valid = valid && (networkParams.radioChannel == backup.logicalChannel);
789
+ valid = valid && (Buffer.from(networkParams.extendedPanId).equals(backup.networkOptions.extendedPanId));
790
+ valid = valid && (Buffer.from(netKey).equals(backup.networkOptions.networkKey));
791
+ if (valid) {
792
+ this.logger.error(`Configuration is not consistent with adapter backup!`);
793
+ this.logger.error(`- PAN ID: configured=${options.panID}, adapter=${networkParams.panId}, backup=${backup.networkOptions.panId}`);
794
+ this.logger.error(`- Extended PAN ID: configured=${Buffer.from(options.extendedPanID).toString("hex")}, ` +
795
+ `adapter=${Buffer.from(networkParams.extendedPanId).toString("hex")}, ` +
796
+ `backup=${Buffer.from(networkParams.extendedPanId).toString("hex")}`);
797
+ this.logger.error(`- Channel: configured=${options.channelList}, adapter=${networkParams.radioChannel}, ` +
798
+ `backup=${backup.logicalChannel}`);
799
+ this.logger.error(`- Network key: configured=${Buffer.from(options.networkKey).toString("hex")}, ` +
800
+ `adapter=${Buffer.from(netKey).toString("hex")}, ` +
801
+ `backup=${backup.networkOptions.networkKey.toString("hex")}`);
802
+ this.logger.error(`Please update configuration to prevent further issues.`);
803
+ this.logger.error(`If you wish to re-commission your network, please remove coordinator backup.`);
804
+ this.logger.error(`Re-commissioning your network will require re-pairing of all devices!`);
805
+ throw new Error("startup failed - configuration-adapter mismatch - see logs above for more information");
806
+ }
807
+ valid = true;
808
+ // if the settings in the backup match the config, then the old network is in the chip and needs to be restored
809
+ valid = valid && (options.panID == backup.networkOptions.panId);
810
+ valid = valid && (options.channelList.includes(backup.logicalChannel));
811
+ valid = valid && (Buffer.from(options.extendedPanID).equals(backup.networkOptions.extendedPanId));
812
+ valid = valid && (Buffer.from(options.networkKey).equals(backup.networkOptions.networkKey));
813
+ return valid;
814
+ }
730
815
  }
731
816
  exports.Driver = Driver;
732
817
  //# sourceMappingURL=driver.js.map