zigbee-herdsman 0.46.3 → 0.46.5
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 +17 -0
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +36 -35
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ember/uart/ash.js +1 -1
- package/dist/adapter/ember/uart/ash.js.map +1 -1
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +3 -2
- package/dist/controller/greenPower.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/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.46.5](https://github.com/Koenkk/zigbee-herdsman/compare/v0.46.4...v0.46.5) (2024-05-08)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Ember: fix permit join denied for single-device (zdo) ([#1052](https://github.com/Koenkk/zigbee-herdsman/issues/1052)) ([6bddc23](https://github.com/Koenkk/zigbee-herdsman/commit/6bddc234c825421e3bf259ad484c0052144c7fd0))
|
|
9
|
+
* Move `Received network/route error` to `info` ([#1050](https://github.com/Koenkk/zigbee-herdsman/issues/1050)) ([f36c56d](https://github.com/Koenkk/zigbee-herdsman/commit/f36c56d06dca9ee02c766d82bfde17e41cf27605))
|
|
10
|
+
|
|
11
|
+
## [0.46.4](https://github.com/Koenkk/zigbee-herdsman/compare/v0.46.3...v0.46.4) (2024-05-06)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* Add `motDEtat` to `liXeePrivate` cluster https://github.com/Koenkk/zigbee2mqtt/issues/21825 ([a731e60](https://github.com/Koenkk/zigbee-herdsman/commit/a731e604991d8b47ebe86e894d2ca44954ea2109))
|
|
17
|
+
* Fix `Received undefined command from '0'` https://github.com/Koenkk/zigbee2mqtt/issues/22140 ([2a7ce14](https://github.com/Koenkk/zigbee-herdsman/commit/2a7ce14df8a22d833c0fc9e027b08c5680af8b0f))
|
|
18
|
+
* Fixes for `ember` ([#1049](https://github.com/Koenkk/zigbee-herdsman/issues/1049)) ([0d5ef04](https://github.com/Koenkk/zigbee-herdsman/commit/0d5ef04995f491b1cca5025336d7f43f3010ea81))
|
|
19
|
+
|
|
3
20
|
## [0.46.3](https://github.com/Koenkk/zigbee-herdsman/compare/v0.46.2...v0.46.3) (2024-05-05)
|
|
4
21
|
|
|
5
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emberAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ember/adapter/emberAdapter.ts"],"names":[],"mappings":";AAMA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,MAAM,EAAuB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAA0C,MAAM,cAAc,CAAC;AAErG,OAAO,EAKH,UAAU,EACb,MAAM,cAAc,CAAC;AAkBtB,OAAO,EASH,kBAAkB,EAerB,MAAM,UAAU,CAAC;AAClB,OAAO,EAGH,UAAU,EACV,kBAAkB,EAElB,YAAY,EAIZ,sBAAsB,EACtB,WAAW,EACX,UAAU,EAKb,MAAM,UAAU,CAAC;AA6ElB,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAKtD,MAAM,MAAM,YAAY,GAAG;IAEvB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,kBAAkB,CAAC;CAE9B,CAAC;AAuCF;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,GAAG,EAAE,YAAY,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAChC,CAAC;AA8LF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACrC,0FAA0F;IAC1F,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,2BAA2B;IAC3B,SAAgB,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC;IACnD,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,OAAO,CAAkD;IAEjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,sDAAsD;IACtD,OAAO,CAAC,sBAAsB,CAAiB;IAE/C,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAChD,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB,CAAS;IACnC,8DAA8D;IAC9D,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,YAAY,CAAU;IAE9B;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAe;gBAEvB,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAC9G,cAAc,EAAE,MAAM,CAAC,cAAc;IAgCzC;;;OAGG;YACW,aAAa;
|
|
1
|
+
{"version":3,"file":"emberAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ember/adapter/emberAdapter.ts"],"names":[],"mappings":";AAMA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,MAAM,EAAuB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAA0C,MAAM,cAAc,CAAC;AAErG,OAAO,EAKH,UAAU,EACb,MAAM,cAAc,CAAC;AAkBtB,OAAO,EASH,kBAAkB,EAerB,MAAM,UAAU,CAAC;AAClB,OAAO,EAGH,UAAU,EACV,kBAAkB,EAElB,YAAY,EAIZ,sBAAsB,EACtB,WAAW,EACX,UAAU,EAKb,MAAM,UAAU,CAAC;AA6ElB,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAKtD,MAAM,MAAM,YAAY,GAAG;IAEvB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,sBAAsB,CAAC;IACnC,MAAM,EAAE,kBAAkB,CAAC;CAE9B,CAAC;AAuCF;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,GAAG,EAAE,YAAY,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAChC,CAAC;AA8LF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACrC,0FAA0F;IAC1F,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,2BAA2B;IAC3B,SAAgB,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC;IACnD,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,OAAO,CAAkD;IAEjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,sDAAsD;IACtD,OAAO,CAAC,sBAAsB,CAAiB;IAE/C,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAChD,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB,CAAS;IACnC,8DAA8D;IAC9D,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,YAAY,CAAU;IAE9B;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAe;gBAEvB,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAC9G,cAAc,EAAE,MAAM,CAAC,cAAc;IAgCzC;;;OAGG;YACW,aAAa;IAuC3B;;;;;;;;OAQG;YACW,2BAA2B;IAoBzC;;;;;;OAMG;YACW,aAAa;IAK3B;;;;;;;OAOG;YACW,mBAAmB;IASjC;;;;;;;;OAQG;YACW,iBAAiB;IAkB/B;;;;;;;;OAQG;YACW,kBAAkB;IAkBhC;;;;;;;;;;OAUG;YACW,mBAAmB;IAoCjC;;;;;;;;;OASG;YACW,iBAAiB;YA6CjB,gBAAgB;IAqB9B,OAAO,CAAC,aAAa;IAiBrB;;;OAGG;YACW,QAAQ;IAiDtB;;;OAGG;YACW,uBAAuB;IA4DrC;;;OAGG;YACW,mBAAmB;IAcjC;;OAEG;YACW,oBAAoB;IAclC;;;;;;;;;;;;;OAaG;YACW,mBAAmB;IAqBjC;;OAEG;YACW,sBAAsB;IAmDpC;;;OAGG;YACW,eAAe;IA4M7B;;OAEG;YACW,WAAW;IAyEzB;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAkC/C;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2C3D;;;;OAIG;IACU,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3E;;;;;OAKG;YACW,yBAAyB;IAkCvC;;;OAGG;YACW,sBAAsB;IAmBpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;OAIG;IACU,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAU7D;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAQjD;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAcjD;;;;OAIG;IACU,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAcjE;;;;OAIG;IACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAevC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BlD;;;;;;;OAOG;YACW,YAAY;IAwC1B;;;;;;;OAOG;YACW,uBAAuB;IAmBrC;;;;;;OAMG;YACW,iBAAiB;IAQ/B;;;;;OAKG;YACW,kBAAkB;IAQhC;;;;;;;;;;OAUG;YACW,UAAU;IAWxB;;;;;;;;;;;;;OAaG;YACW,qBAAqB;IAInC;;;;;;;;;;;;;;;;OAgBG;YACW,oBAAoB;IAIlC;;;;;;;;;;;OAWG;YACW,kBAAkB;IAQhC;;;;;;;;;;;;OAYG;YACW,kBAAkB;IAgBhC;;;;OAIG;YACW,kBAAkB;IAchC;;;;;;;;;;;;OAYG;IACU,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnF;;;;;;;;;;;;;OAaG;YACW,uBAAuB;IAkDrC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;;;;;;;;;OAUG;YACW,oBAAoB;IAyDlC;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,4BAA4B;IA2B1C;;;;;;;;;;;;;;;;OAgBG;YACW,0BAA0B;IAYxC;;;;;;;;;;;;;;;;;OAiBG;YACW,uBAAuB;IAYrC;;;;;;;OAOG;YACW,+BAA+B;IAa7C;;;;;;;OAOG;YACW,4BAA4B;IAS1C;;;;;;;;;;;;;;;;;;OAkBG;YACW,4BAA4B;IAW1C;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,0BAA0B;IAyBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;YACW,gBAAgB;IAmB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;YACW,kBAAkB;IAsBhC;;;;;;;;;;;;OAYG;YACW,2BAA2B;IAMzC;;;;;;;;;;;;;;;OAeG;YACW,2BAA2B;IAMzC;;;;;;;;;;;;;;OAcG;YACW,0BAA0B;IAMxC;;;;;;;;;;;;;;;;OAgBG;YACW,oBAAoB;IAMlC;;;;;;;;;;;;;;;;OAgBG;YACW,wBAAwB;IAMtC;;;;;;;;;;;;;;;;;OAiBG;YACW,wBAAwB;IAMtC;;;;;;;;OAQG;YACW,iBAAiB;IAS/B;;;;;;;;;;;;;;;;;OAiBG;YACW,iBAAiB;IAW/B;;;;;;;;;;;;;;;;OAgBG;YACW,yBAAyB;IAWvC;;;;;;;;;;OAUG;YACW,yBAAyB;YAsBzB,wBAAwB;YAKxB,yBAAyB;YAKzB,4CAA4C;WAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAc3C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMxC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IAUpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASrB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IA+B7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAM3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAMlC,MAAM,CAAC,uBAAuB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAuG1D,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAyBzD,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiChD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D5E,qEAAqE;IAC9D,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAClI,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;KAAC;IA0B1G,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiIlE,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAgEhD,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;IAiElE,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;IAmDtE,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IA8BxE,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAyC9F,IAAI,CAAC,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EACrH,yBAAyB,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkF3G,MAAM,CAAC,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EACvH,yBAAyB,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmF1G,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCrE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAC/H,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoFxF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDhG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D7H,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlD,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCtF,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmEvF,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BpD,OAAO,CAAC,iBAAiB;CAS5B"}
|
|
@@ -287,17 +287,6 @@ class EmberAdapter extends __1.Adapter {
|
|
|
287
287
|
}
|
|
288
288
|
case enums_2.EmberStatus.NETWORK_OPENED: {
|
|
289
289
|
this.oneWaitress.resolveEvent(oneWaitress_1.OneWaitressEvents.STACK_STATUS_NETWORK_OPENED);
|
|
290
|
-
await new Promise((resolve, reject) => {
|
|
291
|
-
this.requestQueue.enqueue(async () => {
|
|
292
|
-
const setJPstatus = (await this.emberSetJoinPolicy(enums_2.EmberJoinDecision.USE_PRECONFIGURED_KEY));
|
|
293
|
-
if (setJPstatus !== enums_2.EzspStatus.SUCCESS) {
|
|
294
|
-
logger_1.logger.error(`[ZDO] Failed set join policy with status=${enums_2.EzspStatus[setJPstatus]}.`, NS);
|
|
295
|
-
return enums_2.EmberStatus.ERR_FATAL;
|
|
296
|
-
}
|
|
297
|
-
resolve();
|
|
298
|
-
return enums_2.EmberStatus.SUCCESS;
|
|
299
|
-
}, reject, true);
|
|
300
|
-
});
|
|
301
290
|
logger_1.logger.info(`[STACK STATUS] Network opened.`, NS);
|
|
302
291
|
break;
|
|
303
292
|
}
|
|
@@ -2190,41 +2179,45 @@ class EmberAdapter extends __1.Adapter {
|
|
|
2190
2179
|
// queued
|
|
2191
2180
|
async addInstallCode(ieeeAddress, key) {
|
|
2192
2181
|
if (!key) {
|
|
2193
|
-
throw new Error(`[ADD INSTALL CODE] Failed for
|
|
2194
|
-
}
|
|
2195
|
-
if (consts_2.EMBER_INSTALL_CODE_SIZES.indexOf(key.length) === -1) {
|
|
2196
|
-
throw new Error(`[ADD INSTALL CODE] Failed for "${ieeeAddress}"; invalid code size.`);
|
|
2197
|
-
}
|
|
2198
|
-
// Reverse the bits in a byte (uint8_t)
|
|
2199
|
-
const reverse = (b) => {
|
|
2200
|
-
return (((b * 0x0802 & 0x22110) | (b * 0x8020 & 0x88440)) * 0x10101 >> 16) & 0xFF;
|
|
2201
|
-
};
|
|
2202
|
-
let crc = 0xFFFF; // uint16_t
|
|
2203
|
-
// Compute the CRC and verify that it matches.
|
|
2204
|
-
// The bit reversals, byte swap, and ones' complement are due to differences between halCommonCrc16 and the Smart Energy version.
|
|
2205
|
-
for (let index = 0; index < (key.length - consts_2.EMBER_INSTALL_CODE_CRC_SIZE); index++) {
|
|
2206
|
-
crc = (0, math_1.halCommonCrc16)(reverse(key[index]), crc);
|
|
2182
|
+
throw new Error(`[ADD INSTALL CODE] Failed for '${ieeeAddress}'; no code given.`);
|
|
2207
2183
|
}
|
|
2208
|
-
|
|
2209
|
-
if (
|
|
2210
|
-
|
|
2184
|
+
// codes with CRC, check CRC before sending to NCP, otherwise let NCP handle
|
|
2185
|
+
if (consts_2.EMBER_INSTALL_CODE_SIZES.indexOf(key.length) !== -1) {
|
|
2186
|
+
// Reverse the bits in a byte (uint8_t)
|
|
2187
|
+
const reverse = (b) => {
|
|
2188
|
+
return (((b * 0x0802 & 0x22110) | (b * 0x8020 & 0x88440)) * 0x10101 >> 16) & 0xFF;
|
|
2189
|
+
};
|
|
2190
|
+
let crc = 0xFFFF; // uint16_t
|
|
2191
|
+
// Compute the CRC and verify that it matches.
|
|
2192
|
+
// The bit reversals, byte swap, and ones' complement are due to differences between halCommonCrc16 and the Smart Energy version.
|
|
2193
|
+
for (let index = 0; index < (key.length - consts_2.EMBER_INSTALL_CODE_CRC_SIZE); index++) {
|
|
2194
|
+
crc = (0, math_1.halCommonCrc16)(reverse(key[index]), crc);
|
|
2195
|
+
}
|
|
2196
|
+
crc = (~(0, math_1.highLowToInt)(reverse((0, math_1.lowByte)(crc)), reverse((0, math_1.highByte)(crc)))) & 0xFFFF;
|
|
2197
|
+
if (key[key.length - consts_2.EMBER_INSTALL_CODE_CRC_SIZE] !== (0, math_1.lowByte)(crc)
|
|
2198
|
+
|| key[key.length - consts_2.EMBER_INSTALL_CODE_CRC_SIZE + 1] !== (0, math_1.highByte)(crc)) {
|
|
2199
|
+
throw new Error(`[ADD INSTALL CODE] Failed for '${ieeeAddress}'; invalid code CRC.`);
|
|
2200
|
+
}
|
|
2201
|
+
else {
|
|
2202
|
+
logger_1.logger.debug(`[ADD INSTALL CODE] CRC validated for '${ieeeAddress}'.`, NS);
|
|
2203
|
+
}
|
|
2211
2204
|
}
|
|
2212
2205
|
return new Promise((resolve, reject) => {
|
|
2213
2206
|
this.requestQueue.enqueue(async () => {
|
|
2214
2207
|
// Compute the key from the install code and CRC.
|
|
2215
2208
|
const [aesStatus, keyContents] = (await this.emberAesHashSimple(key));
|
|
2216
2209
|
if (aesStatus !== enums_2.EmberStatus.SUCCESS) {
|
|
2217
|
-
logger_1.logger.error(`[ADD INSTALL CODE] Failed AES hash for
|
|
2210
|
+
logger_1.logger.error(`[ADD INSTALL CODE] Failed AES hash for '${ieeeAddress}' with status=${enums_2.EmberStatus[aesStatus]}.`, NS);
|
|
2218
2211
|
return aesStatus;
|
|
2219
2212
|
}
|
|
2220
2213
|
// Add the key to the transient key table.
|
|
2221
2214
|
// This will be used while the DUT joins.
|
|
2222
2215
|
const impStatus = (await this.ezsp.ezspImportTransientKey(ieeeAddress, { contents: keyContents }, enums_2.SecManFlag.NONE));
|
|
2223
2216
|
if (impStatus == enums_2.SLStatus.OK) {
|
|
2224
|
-
logger_1.logger.debug(`[ADD INSTALL CODE] Success for
|
|
2217
|
+
logger_1.logger.debug(`[ADD INSTALL CODE] Success for '${ieeeAddress}'.`, NS);
|
|
2225
2218
|
}
|
|
2226
2219
|
else {
|
|
2227
|
-
logger_1.logger.error(`[ADD INSTALL CODE] Failed for
|
|
2220
|
+
logger_1.logger.error(`[ADD INSTALL CODE] Failed for '${ieeeAddress}' with status=${enums_2.SLStatus[impStatus]}.`, NS);
|
|
2228
2221
|
return enums_2.EmberStatus.ERR_FATAL;
|
|
2229
2222
|
}
|
|
2230
2223
|
resolve();
|
|
@@ -2261,8 +2254,16 @@ class EmberAdapter extends __1.Adapter {
|
|
|
2261
2254
|
if (seconds) {
|
|
2262
2255
|
const plaintextKey = { contents: Buffer.from(consts_2.ZIGBEE_PROFILE_INTEROPERABILITY_LINK_KEY) };
|
|
2263
2256
|
const impKeyStatus = (await this.ezsp.ezspImportTransientKey(consts_2.BLANK_EUI64, plaintextKey, enums_2.SecManFlag.NONE));
|
|
2264
|
-
|
|
2265
|
-
|
|
2257
|
+
if (impKeyStatus !== enums_2.SLStatus.OK) {
|
|
2258
|
+
logger_1.logger.error(`[ZDO] Failed import transient key with status=${enums_2.SLStatus[impKeyStatus]}.`, NS);
|
|
2259
|
+
return enums_2.EmberStatus.ERR_FATAL;
|
|
2260
|
+
}
|
|
2261
|
+
const setJPstatus = (await this.emberSetJoinPolicy(enums_2.EmberJoinDecision.USE_PRECONFIGURED_KEY));
|
|
2262
|
+
if (setJPstatus !== enums_2.EzspStatus.SUCCESS) {
|
|
2263
|
+
logger_1.logger.error(`[ZDO] Failed set join policy with status=${enums_2.EzspStatus[setJPstatus]}.`, NS);
|
|
2264
|
+
return enums_2.EmberStatus.ERR_FATAL;
|
|
2265
|
+
}
|
|
2266
|
+
return enums_2.EmberStatus.SUCCESS;
|
|
2266
2267
|
}
|
|
2267
2268
|
else {
|
|
2268
2269
|
if (this.manufacturerCode !== DEFAULT_MANUFACTURER_CODE) {
|
|
@@ -2765,14 +2766,14 @@ class EmberAdapter extends __1.Adapter {
|
|
|
2765
2766
|
this.requestQueue.enqueue(async () => {
|
|
2766
2767
|
this.checkInterpanLock();
|
|
2767
2768
|
if (CHECK_APS_PAYLOAD_LENGTH) {
|
|
2768
|
-
const maxPayloadLength = (await this.maximumApsPayloadLength(enums_2.EmberOutgoingMessageType.BROADCAST,
|
|
2769
|
+
const maxPayloadLength = (await this.maximumApsPayloadLength(enums_2.EmberOutgoingMessageType.BROADCAST, destination, apsFrame));
|
|
2769
2770
|
if (data.length > maxPayloadLength) {
|
|
2770
2771
|
return enums_2.EmberStatus.MESSAGE_TOO_LONG; // queue will reject
|
|
2771
2772
|
}
|
|
2772
2773
|
}
|
|
2773
2774
|
logger_1.logger.debug(`~~~> [ZCL BROADCAST apsFrame=${JSON.stringify(apsFrame)} header=${JSON.stringify(zclFrame.header)}]`, NS);
|
|
2774
2775
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2775
|
-
const [status, messageTag] = (await this.ezsp.send(enums_2.EmberOutgoingMessageType.BROADCAST,
|
|
2776
|
+
const [status, messageTag] = (await this.ezsp.send(enums_2.EmberOutgoingMessageType.BROADCAST, destination, apsFrame, data, 0, // alias
|
|
2776
2777
|
0));
|
|
2777
2778
|
if (status !== enums_2.EmberStatus.SUCCESS) {
|
|
2778
2779
|
logger_1.logger.error(`~x~> [ZCL BROADCAST] Failed to send with status=${enums_2.EmberStatus[status]}.`, NS);
|