zigbee-herdsman 4.4.0 → 4.5.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 (44) hide show
  1. package/.github/dependabot.yml +1 -0
  2. package/.github/workflows/ci.yml +20 -1
  3. package/.release-please-manifest.json +1 -1
  4. package/CHANGELOG.md +22 -0
  5. package/dist/adapter/deconz/driver/constants.d.ts +1 -1
  6. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  7. package/dist/adapter/deconz/driver/constants.js +1 -0
  8. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  9. package/dist/adapter/deconz/driver/driver.d.ts +5 -1
  10. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.js +92 -52
  12. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  13. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  14. package/dist/adapter/deconz/driver/frameParser.js +7 -0
  15. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  16. package/dist/controller/controller.d.ts.map +1 -1
  17. package/dist/controller/controller.js +5 -6
  18. package/dist/controller/controller.js.map +1 -1
  19. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  20. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  21. package/dist/controller/model/device.d.ts.map +1 -1
  22. package/dist/controller/model/device.js +0 -8
  23. package/dist/controller/model/device.js.map +1 -1
  24. package/dist/controller/model/group.d.ts +4 -0
  25. package/dist/controller/model/group.d.ts.map +1 -1
  26. package/dist/controller/model/group.js +55 -7
  27. package/dist/controller/model/group.js.map +1 -1
  28. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  29. package/dist/zspec/zcl/utils.js +11 -4
  30. package/dist/zspec/zcl/utils.js.map +1 -1
  31. package/package.json +4 -2
  32. package/src/adapter/deconz/driver/constants.ts +2 -1
  33. package/src/adapter/deconz/driver/driver.ts +104 -55
  34. package/src/adapter/deconz/driver/frameParser.ts +7 -0
  35. package/src/controller/controller.ts +5 -7
  36. package/src/controller/helpers/zclFrameConverter.ts +10 -2
  37. package/src/controller/model/device.ts +0 -10
  38. package/src/controller/model/group.ts +69 -8
  39. package/src/zspec/zcl/utils.ts +14 -7
  40. package/test/controller.bench.ts +193 -0
  41. package/test/controller.test.ts +280 -0
  42. package/test/mockDevices.ts +127 -1
  43. package/test/requests.bench.ts +201 -0
  44. package/test/vitest.config.mts +2 -0
@@ -1,6 +1,7 @@
1
1
  version: 2
2
2
  updates:
3
3
  - package-ecosystem: npm
4
+ versioning-strategy: increase
4
5
  directory: /
5
6
  schedule:
6
7
  interval: weekly
@@ -1,6 +1,12 @@
1
1
  name: CI
2
2
 
3
- on: [pull_request, push]
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ tags:
8
+ - "v[0-9]+.[0-9]+.[0-9]+"
9
+ pull_request:
4
10
 
5
11
  permissions:
6
12
  contents: write
@@ -13,20 +19,33 @@ jobs:
13
19
  id-token: write
14
20
  steps:
15
21
  - uses: actions/checkout@v4
22
+
16
23
  - uses: pnpm/action-setup@v4
24
+
17
25
  - uses: actions/setup-node@v4
18
26
  with:
19
27
  node-version: 24
20
28
  registry-url: https://registry.npmjs.org/
21
29
  cache: pnpm
30
+
22
31
  - name: Install dependencies
23
32
  run: pnpm i --frozen-lockfile
33
+
24
34
  - name: Check
25
35
  run: pnpm run check
36
+
26
37
  - name: Build
27
38
  run: pnpm run build
39
+
28
40
  - name: Test
29
41
  run: pnpm run test:coverage -- --testTimeout=10000
42
+
43
+ - name: Bench
44
+ uses: CodSpeedHQ/action@v3
45
+ with:
46
+ run: pnpm run bench
47
+ token: ${{ secrets.CODSPEED_TOKEN }}
48
+
30
49
  - name: Publish new release
31
50
  if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
32
51
  run: |
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "4.4.0"
2
+ ".": "4.5.0"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.5.0](https://github.com/Koenkk/zigbee-herdsman/compare/v4.4.1...v4.5.0) (2025-07-21)
4
+
5
+
6
+ ### Features
7
+
8
+ * Support custom clusters for groups ([#1449](https://github.com/Koenkk/zigbee-herdsman/issues/1449)) ([0433283](https://github.com/Koenkk/zigbee-herdsman/commit/0433283a4d0a0d048fcc1c5ec2fe3fec7915a2b4))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **ignore:** add controller-level benchmarks ([#1452](https://github.com/Koenkk/zigbee-herdsman/issues/1452)) ([579d390](https://github.com/Koenkk/zigbee-herdsman/commit/579d390650c06908efd8f3a68fb44945abeaca33))
14
+ * **ignore:** bump @types/node from 24.0.7 to 24.0.10 in the minor-patch group ([#1447](https://github.com/Koenkk/zigbee-herdsman/issues/1447)) ([0e846f7](https://github.com/Koenkk/zigbee-herdsman/commit/0e846f7e005c58e75d710d37362ffff39d86301a))
15
+ * Improve perf when cloning cluster entries ([#1451](https://github.com/Koenkk/zigbee-herdsman/issues/1451)) ([abb8262](https://github.com/Koenkk/zigbee-herdsman/commit/abb8262a2429d210a03226756d4fbc97a2089a5a))
16
+ * Remove duplicate logic to set reportable properties ([#1453](https://github.com/Koenkk/zigbee-herdsman/issues/1453)) ([68e6103](https://github.com/Koenkk/zigbee-herdsman/commit/68e610338bb473fd1b68cd54d0774ce23f6b4359))
17
+
18
+ ## [4.4.1](https://github.com/Koenkk/zigbee-herdsman/compare/v4.4.0...v4.4.1) (2025-07-06)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * deCONZ: Joining bug in some setups and endpoint configuration ([#1445](https://github.com/Koenkk/zigbee-herdsman/issues/1445)) ([1279617](https://github.com/Koenkk/zigbee-herdsman/commit/1279617329e076670d98090516abed381383f58d))
24
+
3
25
  ## [4.4.0](https://github.com/Koenkk/zigbee-herdsman/compare/v4.3.2...v4.4.0) (2025-07-04)
4
26
 
5
27
 
@@ -102,7 +102,7 @@ interface Request {
102
102
  commandId: FirmwareCommand;
103
103
  networkState: NetworkState;
104
104
  parameterId: ParamId;
105
- parameter?: Buffer | number | bigint;
105
+ parameter?: Buffer | number | bigint | undefined;
106
106
  seqNumber: number;
107
107
  resolve: (value: any) => void;
108
108
  reject: (value: Error) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/constants.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,7 @@ exports.stackParameters = [
125
125
  { id: ParamId.STK_PREDEFINED_PANID, type: DataType.U8 },
126
126
  { id: ParamId.STK_NETWORK_KEY, type: [DataType.U8, DataType.SecKey], readArg: 1 }, // index, key
127
127
  { id: ParamId.STK_LINK_KEY, type: [DataType.U64, DataType.SecKey], readArg: 1 }, // mac addess, key
128
+ { id: ParamId.STK_ENDPOINT, type: DataType.Custom },
128
129
  { id: ParamId.DEV_WATCHDOG_TTL, type: DataType.U32 },
129
130
  { id: ParamId.STK_PERMIT_JOIN, type: DataType.U8 },
130
131
  { id: ParamId.NWK_EXTENDED_PANID, type: DataType.U64 },
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/constants.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,10 @@ declare class Driver extends events.EventEmitter {
37
37
  paramCurrentChannel: number;
38
38
  paramNwkPanid: number;
39
39
  paramNwkKey: Buffer<ArrayBuffer>;
40
+ paramEndpoint0: Buffer | undefined;
41
+ paramEndpoint1: Buffer | undefined;
42
+ fixParamEndpoint0: Buffer;
43
+ fixParamEndpoint1: Buffer;
40
44
  paramNwkUpdateId: number;
41
45
  paramChannelMask: number;
42
46
  paramProtocolVersion: number;
@@ -70,7 +74,7 @@ declare class Driver extends events.EventEmitter {
70
74
  openSerialPort(baudrate: number): Promise<void>;
71
75
  private openSocketPort;
72
76
  close(): Promise<void>;
73
- readParameterRequest(parameterId: ParamId, parameter?: Buffer | undefined): Promise<unknown>;
77
+ readParameterRequest(parameterId: ParamId, parameter?: Buffer | number | bigint): Promise<unknown>;
74
78
  writeParameterRequest(parameterId: ParamId, parameter: Buffer | number | bigint): Promise<void>;
75
79
  private sendChangeChannelRequest;
76
80
  writeLinkKey(ieeeAddress: string, hashedKey: Buffer): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ exports.apsBusyQueue = exports.busyQueue = void 0;
41
41
  const node_events_1 = __importDefault(require("node:events"));
42
42
  const node_net_1 = __importDefault(require("node:net"));
43
43
  const slip_1 = __importDefault(require("slip"));
44
+ const buffalo_1 = require("../../../buffalo");
44
45
  const logger_1 = require("../../../utils/logger");
45
46
  const serialPort_1 = require("../../serialPort");
46
47
  const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
@@ -122,6 +123,10 @@ class Driver extends node_events_1.default.EventEmitter {
122
123
  paramCurrentChannel = 0;
123
124
  paramNwkPanid = 0;
124
125
  paramNwkKey = Buffer.alloc(16);
126
+ paramEndpoint0;
127
+ paramEndpoint1;
128
+ fixParamEndpoint0;
129
+ fixParamEndpoint1;
125
130
  paramNwkUpdateId = 0;
126
131
  paramChannelMask = 0;
127
132
  paramProtocolVersion = 0;
@@ -137,6 +142,48 @@ class Driver extends node_events_1.default.EventEmitter {
137
142
  this.firmwareLog = firmwareLog;
138
143
  this.writer = new writer_1.default();
139
144
  this.parser = new parser_1.default();
145
+ this.fixParamEndpoint0 = Buffer.from([
146
+ 0x00, // index
147
+ 0x01, // endpoint,
148
+ 0x04, // profileId
149
+ 0x01,
150
+ 0x05, // deviceId
151
+ 0x00,
152
+ 0x01, // deviceVersion
153
+ 0x05, // in cluster count
154
+ 0x00, // basic
155
+ 0x00,
156
+ 0x06, // on/off
157
+ 0x00,
158
+ 0x0a, // time
159
+ 0x00,
160
+ 0x19, // ota
161
+ 0x00,
162
+ 0x01, // ias ace
163
+ 0x05,
164
+ 0x04, // out cluster count
165
+ 0x01, // power configuration
166
+ 0x00,
167
+ 0x20, // poll control
168
+ 0x00,
169
+ 0x00, // ias zone
170
+ 0x05,
171
+ 0x02, // ias wd
172
+ 0x05,
173
+ ]);
174
+ this.fixParamEndpoint1 = Buffer.from([
175
+ 0x01, // index
176
+ 0xf2, // endpoint,
177
+ 0xe0, // profileId
178
+ 0xa1,
179
+ 0x64, // deviceId
180
+ 0x00,
181
+ 0x01, // deviceVersion
182
+ 0x00, // in cluster count
183
+ 0x01, // out cluster count
184
+ 0x21, // green power
185
+ 0x00,
186
+ ]);
140
187
  this.tickTimer = setInterval(() => {
141
188
  this.tick();
142
189
  }, 100);
@@ -341,6 +388,14 @@ class Driver extends node_events_1.default.EventEmitter {
341
388
  if (this.paramMacAddress !== this.paramTcAddress) {
342
389
  return false;
343
390
  }
391
+ if (!this.paramEndpoint0 || this.fixParamEndpoint0.compare(this.paramEndpoint0) !== 0) {
392
+ logger_1.logger.debug("Endpoint[0] doesn't match configuration", NS);
393
+ return false;
394
+ }
395
+ if (!this.paramEndpoint1 || this.fixParamEndpoint1.compare(this.paramEndpoint1) !== 0) {
396
+ logger_1.logger.debug("Endpoint[1] doesn't match configuration", NS);
397
+ return false;
398
+ }
344
399
  if ((this.deviceStatus & DEV_STATUS_NET_STATE_MASK) !== constants_1.NetworkState.Connected) {
345
400
  return false;
346
401
  }
@@ -467,51 +522,17 @@ class Driver extends node_events_1.default.EventEmitter {
467
522
  this.paramNwkKey = Buffer.from(this.networkOptions.networkKey);
468
523
  await this.writeParameterRequest(constants_1.ParamId.STK_NETWORK_KEY, Buffer.from([0x0, ...this.networkOptions.networkKey]));
469
524
  }
525
+ // check current endpoint configuration
526
+ if (!this.paramEndpoint0 || this.fixParamEndpoint0.compare(this.paramEndpoint0) !== 0) {
527
+ this.paramEndpoint0 = this.fixParamEndpoint0;
528
+ await this.writeParameterRequest(constants_1.ParamId.STK_ENDPOINT, this.paramEndpoint0);
529
+ }
530
+ if (!this.paramEndpoint1 || this.fixParamEndpoint1.compare(this.paramEndpoint1) !== 0) {
531
+ this.paramEndpoint1 = this.fixParamEndpoint1;
532
+ await this.writeParameterRequest(constants_1.ParamId.STK_ENDPOINT, this.paramEndpoint1);
533
+ }
470
534
  // now reconnect, this will also store configuration in nvram
471
535
  await this.changeNetworkStateRequest(constants_1.NetworkState.Connected);
472
- // TODO(mpi): Endpoint configuration should be written like other network parameters and subject to `changed`.
473
- // It should happen before NET_CONNECTED is set.
474
- // Therefore read endpoint configuration, compare, swap if needed.
475
- // TODO(mpi): The following code only adjusts first endpoint, with a fixed setting.
476
- // Ideally also second endpoint should be configured like deCONZ does.
477
- // write endpoints
478
- /* Format of the STK.Endpoint parameter:
479
- {
480
- u8 endpointIndex // index used by firmware 0..2
481
- u8 endpoint // actual zigbee endpoint
482
- u16 profileId
483
- u16 deviceId
484
- u8 deviceVersion
485
- u8 serverClusterCount
486
- u16 serverClusters[serverClusterCount]
487
- u8 clientClusterCount
488
- u16 clientClusters[clientClusterCount]
489
- }
490
- */
491
- //[ sd1 ep proId devId vers #inCl iCl1 iCl2 iCl3 iCl4 iCl5 #outC oCl1 oCl2 oCl3 oCl4 ]
492
- //
493
- // const sd = [
494
- // 0x00, // index
495
- // 0x01, // endpoint
496
- // 0x04, 0x01, // profileId
497
- // 0x05, 0x00, // deviceId
498
- // 0x01, // deviceVersion
499
- // 0x05, // serverClusterCount
500
- // 0x00, 0x00, // Basic
501
- // 0x00, 0x06, // On/Off TODO(mpi): This is wrong byte order! should be 0x06 0x00
502
- // 0x0a, 0x00, // Time
503
- // 0x19, 0x00, // OTA
504
- // 0x01, 0x05, // IAS ACE
505
- // 0x04, // clientClusterCount
506
- // 0x01, 0x00, // Power Configuration
507
- // 0x20, 0x00, // Poll Control
508
- // 0x00, 0x05, // IAS Zone
509
- // 0x02, 0x05 // IAS WD
510
- // ];
511
- // // TODO(mpi) why is it reversed? That result in invalid endpoint configuration.
512
- // // Likely the command gets discarded as it results in endpointIndex = 0x05.
513
- // const sd1 = sd.reverse();
514
- // await this.driver.writeParameterRequest(PARAM.PARAM.STK.Endpoint, Buffer.from(sd1));
515
536
  return;
516
537
  }
517
538
  handleReadConfigurationStateEvent(event, _data) {
@@ -532,8 +553,10 @@ class Driver extends node_events_1.default.EventEmitter {
532
553
  this.readParameterRequest(constants_1.ParamId.APS_CHANNEL_MASK),
533
554
  this.readParameterRequest(constants_1.ParamId.STK_PROTOCOL_VERSION),
534
555
  this.readParameterRequest(constants_1.ParamId.STK_FRAME_COUNTER),
556
+ this.readParameterRequest(constants_1.ParamId.STK_ENDPOINT, Buffer.from([0])),
557
+ this.readParameterRequest(constants_1.ParamId.STK_ENDPOINT, Buffer.from([1])),
535
558
  ])
536
- .then(([_watchdog, fwVersion, _deviceState, mac, tcAddress, panid, apsUseExtPanid, currentChannel, nwkKey, nwkUpdateId, channelMask, protocolVersion, frameCounter,]) => {
559
+ .then(([_watchdog, fwVersion, _deviceState, mac, tcAddress, panid, apsUseExtPanid, currentChannel, nwkKey, nwkUpdateId, channelMask, protocolVersion, frameCounter, ep0, ep1,]) => {
537
560
  this.paramFirmwareVersion = fwVersion;
538
561
  this.paramCurrentChannel = currentChannel;
539
562
  this.paramApsUseExtPanid = apsUseExtPanid;
@@ -547,6 +570,12 @@ class Driver extends node_events_1.default.EventEmitter {
547
570
  if (frameCounter !== null) {
548
571
  this.paramFrameCounter = frameCounter;
549
572
  }
573
+ if (ep0 !== null) {
574
+ this.paramEndpoint0 = ep0;
575
+ }
576
+ if (ep1 !== null) {
577
+ this.paramEndpoint1 = ep1;
578
+ }
550
579
  // console.log({fwVersion, mac, panid, apsUseExtPanid, currentChannel, nwkKey, nwkUpdateId, channelMask, protocolVersion, frameCounter});
551
580
  if (this.isNetworkConfigurationValid()) {
552
581
  logger_1.logger.debug("Zigbee configuration valid", NS);
@@ -920,13 +949,24 @@ class Driver extends node_events_1.default.EventEmitter {
920
949
  queue.push(req);
921
950
  });
922
951
  }
923
- sendReadParameterRequest(parameterId, seqNumber) {
924
- /* command id, sequence number, 0, framelength(U16), payloadlength(U16), parameter id */
925
- // TODO(mpi): refactor so this proper supports arguments
926
- if (parameterId === constants_1.ParamId.STK_NETWORK_KEY) {
927
- return this.sendRequest(Buffer.from([constants_1.FirmwareCommand.ReadParameter, seqNumber, 0x00, 0x09, 0x00, 0x02, 0x00, parameterId, 0x00]));
928
- }
929
- return this.sendRequest(Buffer.from([constants_1.FirmwareCommand.ReadParameter, seqNumber, 0x00, 0x08, 0x00, 0x01, 0x00, parameterId]));
952
+ sendReadParameterRequest(parameterId, seqNumber, arg) {
953
+ let frameLength = 8; // starts with min. frame length
954
+ let payloadLength = 1; // min. parameterId
955
+ if (arg instanceof Buffer) {
956
+ payloadLength += arg.byteLength;
957
+ frameLength += arg.byteLength;
958
+ }
959
+ const buf = new buffalo_1.Buffalo(Buffer.alloc(frameLength));
960
+ buf.writeUInt8(constants_1.FirmwareCommand.ReadParameter);
961
+ buf.writeUInt8(seqNumber);
962
+ buf.writeUInt8(0); // reserved, shall be 0
963
+ buf.writeUInt16(frameLength);
964
+ buf.writeUInt16(payloadLength);
965
+ buf.writeUInt8(parameterId);
966
+ if (arg instanceof Buffer) {
967
+ buf.writeBuffer(arg, arg.byteLength);
968
+ }
969
+ return this.sendRequest(buf.getBuffer());
930
970
  }
931
971
  sendWriteParameterRequest(parameterId, value, seqNumber) {
932
972
  // command id, sequence number, 0, framelength(U16), payloadlength(U16), parameter id, parameter
@@ -1060,7 +1100,7 @@ class Driver extends node_events_1.default.EventEmitter {
1060
1100
  switch (req.commandId) {
1061
1101
  case constants_1.FirmwareCommand.ReadParameter:
1062
1102
  logger_1.logger.debug(`send read parameter request from queue. parameter: ${constants_1.ParamId[req.parameterId]} seq: ${req.seqNumber}`, NS);
1063
- this.sendReadParameterRequest(req.parameterId, req.seqNumber);
1103
+ this.sendReadParameterRequest(req.parameterId, req.seqNumber, req.parameter);
1064
1104
  break;
1065
1105
  case constants_1.FirmwareCommand.WriteParameter:
1066
1106
  if (req.parameter === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/driver.ts"],"names":[],"mappings":"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"}