zigbee-herdsman 4.3.2 → 4.4.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.
Files changed (32) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/dist/adapter/deconz/driver/constants.d.ts +0 -1
  4. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  5. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  6. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  7. package/dist/adapter/deconz/driver/frameParser.js +108 -30
  8. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  9. package/dist/controller/controller.d.ts.map +1 -1
  10. package/dist/controller/controller.js +5 -22
  11. package/dist/controller/controller.js.map +1 -1
  12. package/dist/controller/helpers/installCodes.d.ts +27 -0
  13. package/dist/controller/helpers/installCodes.d.ts.map +1 -0
  14. package/dist/controller/helpers/installCodes.js +90 -0
  15. package/dist/controller/helpers/installCodes.js.map +1 -0
  16. package/dist/zspec/utils.d.ts +0 -13
  17. package/dist/zspec/utils.d.ts.map +1 -1
  18. package/dist/zspec/utils.js +0 -49
  19. package/dist/zspec/utils.js.map +1 -1
  20. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  21. package/dist/zspec/zcl/definition/cluster.js +6 -0
  22. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/adapter/deconz/driver/constants.ts +0 -1
  25. package/src/adapter/deconz/driver/frameParser.ts +132 -32
  26. package/src/controller/controller.ts +5 -26
  27. package/src/controller/helpers/installCodes.ts +107 -0
  28. package/src/zspec/utils.ts +1 -60
  29. package/src/zspec/zcl/definition/cluster.ts +6 -0
  30. package/test/controller.test.ts +82 -5
  31. package/test/utils.test.ts +58 -7
  32. package/test/zspec/utils.test.ts +0 -64
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseInstallCode = parseInstallCode;
4
+ exports.checkInstallCode = checkInstallCode;
5
+ const consts_1 = require("../../zspec/consts");
6
+ const utils_1 = require("../../zspec/utils");
7
+ /**
8
+ * Parse the given code using known formats:
9
+ * - 95 or 91-length
10
+ * - Widely adopted (Ubisys, Danfoss, Inovelli, Ledvance): ...Z:<ieee>$I:<key>...
11
+ * - Pipe-separated (Muller-Licht, Innr): <ieee>|<key>
12
+ * - Aqara: G$M:...$A:<ieee>$I:<key>
13
+ * - Hue: HUE:Z:<key> M:<ieee>...
14
+ * @param installCode
15
+ * @returns
16
+ * - the IEEE address
17
+ * - the raw key
18
+ */
19
+ function parseInstallCode(installCode) {
20
+ const widelyAdoptedMatch = installCode.match(/Z:([a-zA-Z0-9]{16})\$I:([a-zA-Z0-9]+)/);
21
+ if (widelyAdoptedMatch) {
22
+ return [`0x${widelyAdoptedMatch[1].toLowerCase()}`, widelyAdoptedMatch[2]];
23
+ }
24
+ const pipeMatch = installCode.match(/^([a-zA-Z0-9]{16})\|([a-zA-Z0-9]+)$/);
25
+ if (pipeMatch) {
26
+ return [`0x${pipeMatch[1].toLowerCase()}`, pipeMatch[2]];
27
+ }
28
+ const aqaraMatch = installCode.match(/^G\$M:.+\$A:([a-zA-Z0-9]{16})\$I:([a-zA-Z0-9]+)$/);
29
+ if (aqaraMatch) {
30
+ return [`0x${aqaraMatch[1].toLowerCase()}`, aqaraMatch[2]];
31
+ }
32
+ const hueMatch = installCode.match(/^HUE:Z:([a-zA-Z0-9]+) M:([a-zA-Z0-9]{16})/);
33
+ if (hueMatch) {
34
+ return [`0x${hueMatch[2].toLowerCase()}`, hueMatch[1]];
35
+ }
36
+ if (installCode.length === 95 || installCode.length === 91) {
37
+ const keyStart = installCode.length - (installCode.length === 95 ? 36 : 32);
38
+ return [`0x${installCode.substring(keyStart - 19, keyStart - 3).toLowerCase()}`, installCode.substring(keyStart, installCode.length)];
39
+ }
40
+ throw new Error(`Unsupported install code, got ${installCode.length} chars, expected 95 or 91 chars, or known format`);
41
+ }
42
+ /**
43
+ * Check if install code (little-endian) is valid, and if not, and requested, fix it.
44
+ *
45
+ * WARNING: Due to conflicting sizes between 8-length code with invalid CRC, and 10-length code missing CRC, given 8-length codes are always assumed to be 8-length code with invalid CRC (most probable scenario).
46
+ *
47
+ * @param code The code to check. Reference is not modified by this procedure but is returned when code was valid, as `outCode`.
48
+ * @param adjust If false, throws if the install code is invalid, otherwise try to fix it (CRC)
49
+ * @returns
50
+ * - The adjusted code, or `code` if not adjusted.
51
+ * - If adjust is false, undefined, otherwise, the reason why the code needed adjusting or undefined if not.
52
+ * - Throws when adjust=false and invalid, or cannot fix.
53
+ */
54
+ function checkInstallCode(code, adjust = true) {
55
+ const crcLowByteIndex = code.length - consts_1.INSTALL_CODE_CRC_SIZE;
56
+ const crcHighByteIndex = code.length - consts_1.INSTALL_CODE_CRC_SIZE + 1;
57
+ for (const codeSize of consts_1.INSTALL_CODE_SIZES) {
58
+ if (code.length === codeSize) {
59
+ // install code has CRC, check if valid, if not, replace it
60
+ const crc = (0, utils_1.crc16X25)(code.subarray(0, -2));
61
+ const crcHighByte = (crc >> 8) & 0xff;
62
+ const crcLowByte = crc & 0xff;
63
+ if (code[crcLowByteIndex] !== crcLowByte || code[crcHighByteIndex] !== crcHighByte) {
64
+ // see WARNING above, 8 is smallest valid length, so always ends up here
65
+ if (adjust) {
66
+ const outCode = Buffer.from(code);
67
+ outCode[crcLowByteIndex] = crcLowByte;
68
+ outCode[crcHighByteIndex] = crcHighByte;
69
+ return [outCode, "invalid CRC"];
70
+ }
71
+ throw new Error(`Install code ${code.toString("hex")} failed CRC validation`);
72
+ }
73
+ return [code, undefined];
74
+ }
75
+ if (code.length === codeSize - consts_1.INSTALL_CODE_CRC_SIZE) {
76
+ if (adjust) {
77
+ // install code is missing CRC
78
+ const crc = (0, utils_1.crc16X25)(code);
79
+ const outCode = Buffer.alloc(code.length + consts_1.INSTALL_CODE_CRC_SIZE);
80
+ code.copy(outCode, 0);
81
+ outCode.writeUInt16LE(crc, code.length);
82
+ return [outCode, "missing CRC"];
83
+ }
84
+ throw new Error(`Install code ${code.toString("hex")} failed CRC validation`);
85
+ }
86
+ }
87
+ // never returned from within the above loop
88
+ throw new Error(`Install code ${code.toString("hex")} has invalid size`);
89
+ }
90
+ //# sourceMappingURL=installCodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installCodes.js","sourceRoot":"","sources":["../../../src/controller/helpers/installCodes.ts"],"names":[],"mappings":"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"}
@@ -74,17 +74,4 @@ export declare function crc16CCITTFALSE(data: number[] | Uint8Array | Buffer): n
74
74
  * Used for Install Codes - see Document 13-0402-13 - 10.1
75
75
  */
76
76
  export declare function aes128MmoHash(data: Buffer): Buffer;
77
- /**
78
- * Check if install code (little-endian) is valid, and if not, and requested, fix it.
79
- *
80
- * WARNING: Due to conflicting sizes between 8-length code with invalid CRC, and 10-length code missing CRC, given 8-length codes are always assumed to be 8-length code with invalid CRC (most probable scenario).
81
- *
82
- * @param code The code to check. Reference is not modified by this procedure but is returned when code was valid, as `outCode`.
83
- * @param adjust If false, throws if the install code is invalid, otherwise try to fix it (CRC)
84
- * @returns
85
- * - The adjusted code, or `code` if not adjusted.
86
- * - If adjust is false, undefined, otherwise, the reason why the code needed adjusting or undefined if not.
87
- * - Throws when adjust=false and invalid, or cannot fix.
88
- */
89
- export declare function checkInstallCode(code: Buffer, adjust?: boolean): [outCode: Buffer, adjusted: "invalid CRC" | "missing CRC" | undefined];
90
77
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/zspec/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,EAAE,KAAG,MAEzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAAM,EAUzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,OAOpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,KAAG,KAAiE,CAAC;AAE1H;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,KAAG,KAA0C,CAAC;AA6EnG;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAE5E;AAkBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwClD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC,CA6CpI"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/zspec/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,EAAE,KAAG,MAEzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAAM,EAUzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,OAOpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,KAAG,KAAiE,CAAC;AAE1H;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,KAAG,KAA0C,CAAC;AA6EnG;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAE5E;AAkBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwClD"}
@@ -6,7 +6,6 @@ exports.crc16XMODEM = crc16XMODEM;
6
6
  exports.crc16CCITT = crc16CCITT;
7
7
  exports.crc16CCITTFALSE = crc16CCITTFALSE;
8
8
  exports.aes128MmoHash = aes128MmoHash;
9
- exports.checkInstallCode = checkInstallCode;
10
9
  const node_crypto_1 = require("node:crypto");
11
10
  const consts_1 = require("./consts");
12
11
  const enums_1 = require("./enums");
@@ -215,52 +214,4 @@ function aes128MmoHash(data) {
215
214
  }
216
215
  return result;
217
216
  }
218
- /**
219
- * Check if install code (little-endian) is valid, and if not, and requested, fix it.
220
- *
221
- * WARNING: Due to conflicting sizes between 8-length code with invalid CRC, and 10-length code missing CRC, given 8-length codes are always assumed to be 8-length code with invalid CRC (most probable scenario).
222
- *
223
- * @param code The code to check. Reference is not modified by this procedure but is returned when code was valid, as `outCode`.
224
- * @param adjust If false, throws if the install code is invalid, otherwise try to fix it (CRC)
225
- * @returns
226
- * - The adjusted code, or `code` if not adjusted.
227
- * - If adjust is false, undefined, otherwise, the reason why the code needed adjusting or undefined if not.
228
- * - Throws when adjust=false and invalid, or cannot fix.
229
- */
230
- function checkInstallCode(code, adjust = true) {
231
- const crcLowByteIndex = code.length - consts_1.INSTALL_CODE_CRC_SIZE;
232
- const crcHighByteIndex = code.length - consts_1.INSTALL_CODE_CRC_SIZE + 1;
233
- for (const codeSize of consts_1.INSTALL_CODE_SIZES) {
234
- if (code.length === codeSize) {
235
- // install code has CRC, check if valid, if not, replace it
236
- const crc = crc16X25(code.subarray(0, -2));
237
- const crcHighByte = (crc >> 8) & 0xff;
238
- const crcLowByte = crc & 0xff;
239
- if (code[crcLowByteIndex] !== crcLowByte || code[crcHighByteIndex] !== crcHighByte) {
240
- // see WARNING above, 8 is smallest valid length, so always ends up here
241
- if (adjust) {
242
- const outCode = Buffer.from(code);
243
- outCode[crcLowByteIndex] = crcLowByte;
244
- outCode[crcHighByteIndex] = crcHighByte;
245
- return [outCode, "invalid CRC"];
246
- }
247
- throw new Error(`Install code ${code.toString("hex")} failed CRC validation`);
248
- }
249
- return [code, undefined];
250
- }
251
- if (code.length === codeSize - consts_1.INSTALL_CODE_CRC_SIZE) {
252
- if (adjust) {
253
- // install code is missing CRC
254
- const crc = crc16X25(code);
255
- const outCode = Buffer.alloc(code.length + consts_1.INSTALL_CODE_CRC_SIZE);
256
- code.copy(outCode, 0);
257
- outCode.writeUInt16LE(crc, code.length);
258
- return [outCode, "missing CRC"];
259
- }
260
- throw new Error(`Install code ${code.toString("hex")} failed CRC validation`);
261
- }
262
- }
263
- // never returned from within the above loop
264
- throw new Error(`Install code ${code.toString("hex")} has invalid size`);
265
- }
266
217
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/zspec/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/zspec/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../../src/zspec/zcl/definition/cluster.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAopL/E,CAAC"}
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../../src/zspec/zcl/definition/cluster.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CA0pL/E,CAAC"}
@@ -1993,6 +1993,9 @@ exports.Clusters = {
1993
1993
  danfossRoomFloorSensorMode: { ID: 0x4120, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
1994
1994
  danfossFloorMinSetpoint: { ID: 0x4121, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
1995
1995
  danfossFloorMaxSetpoint: { ID: 0x4122, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
1996
+ danfossScheduleTypeUsed: { ID: 0x4130, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
1997
+ danfossIcon2PreHeat: { ID: 0x4131, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
1998
+ danfossIcon2PreHeatStatus: { ID: 0x414f, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
1996
1999
  elkoLoad: { ID: 0x0401, type: enums_1.DataType.UINT16 },
1997
2000
  elkoDisplayText: { ID: 0x0402, type: enums_1.DataType.CHAR_STR },
1998
2001
  elkoSensor: { ID: 0x0403, type: enums_1.DataType.ENUM8 },
@@ -4281,8 +4284,11 @@ exports.Clusters = {
4281
4284
  lastMessageLqi: { ID: 284, type: enums_1.DataType.UINT8 },
4282
4285
  lastMessageRssi: { ID: 285, type: enums_1.DataType.INT8 },
4283
4286
  danfossSystemStatusCode: { ID: 0x4000, type: enums_1.DataType.BITMAP16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
4287
+ danfossHeatSupplyRequest: { ID: 0x4031, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
4284
4288
  danfossSystemStatusWater: { ID: 0x4200, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
4285
4289
  danfossMultimasterRole: { ID: 0x4201, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
4290
+ danfossIconApplication: { ID: 0x4210, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
4291
+ danfossIconForcedHeatingCooling: { ID: 0x4220, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
4286
4292
  schneiderMeterStatus: { ID: 0xff01, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
4287
4293
  schneiderDiagnosticRegister1: { ID: 0xff02, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
4288
4294
  schneiderCommunicationQuality: { ID: 0x4000, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },