zigbee-herdsman 4.4.0 → 4.4.1

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.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "4.4.0"
2
+ ".": "4.4.1"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.4.1](https://github.com/Koenkk/zigbee-herdsman/compare/v4.4.0...v4.4.1) (2025-07-06)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * 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))
9
+
3
10
  ## [4.4.0](https://github.com/Koenkk/zigbee-herdsman/compare/v4.3.2...v4.4.0) (2025-07-04)
4
11
 
5
12
 
@@ -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":";AAAA,qBAAqB;;;AAIrB,MAAM,KAAK,GAAG;IACV,GAAG,EAAE;QACD,QAAQ,EAAE,IAAI;KACjB;IACD,GAAG,EAAE;QACD,gBAAgB,EAAE,KAAK;KAC1B;IACD,QAAQ,EAAE;QACN,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,CAAC;KACf;CACJ,CAAC;AAEF,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,qDAAY,CAAA;IACZ,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,+DAAiB,CAAA;AACrB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,aAWX;AAXD,WAAY,aAAa;IACrB,uDAAc,CAAA;IACd,2DAAe,CAAA;IACf,yFAA8B,CAAA;IAC9B,qEAAoB,CAAA;IACpB,qFAA4B,CAAA;IAC5B,+EAAyB,CAAA;IACzB,6FAAgC,CAAA;IAChC,2DAAe,CAAA;IACf,iEAAkB,CAAA;IAClB,qFAA4B,CAAA;AAChC,CAAC,EAXW,aAAa,6BAAb,aAAa,QAWxB;AAED,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC3B,iFAAqB,CAAA;IACrB,yGAAiC,CAAA;IACjC,yFAAyB,CAAA;IACzB,mGAA8B,CAAA;AAClC,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B;AAED,IAAY,eAgBX;AAhBD,WAAY,eAAe;IACvB,yDAAa,CAAA;IACb,0FAA6B,CAAA;IAC7B,4EAAsB,CAAA;IACtB,wEAAoB,CAAA;IACpB,0EAAqB,CAAA;IACrB,iFAAyB,CAAA;IACzB,4DAAc,CAAA;IACd,0EAAqB,CAAA;IACrB,yEAAqB,CAAA;IACrB,gFAAwB,CAAA;IACxB,gFAAwB,CAAA;IACxB,gFAAwB,CAAA;IACxB,0DAAa,CAAA;IACb,0DAAa,CAAA;IACb,8DAAe,CAAA;AACnB,CAAC,EAhBW,eAAe,+BAAf,eAAe,QAgB1B;AAED,IAAY,YASX;AATD,WAAY,YAAY;IACpB,+DAAgB,CAAA;IAChB,2DAAc,CAAA;IACd,yDAAa,CAAA;IACb,iEAAiB,CAAA;IAEjB,gBAAgB;IAChB,qDAAY,CAAA;IACZ,uDAAa,CAAA;AACjB,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAED,IAAY,aASX;AATD,WAAY,aAAa;IACrB,uDAAc,CAAA;IACd,uDAAc,CAAA;IACd,iDAAW,CAAA;IACX,uDAAc,CAAA;IACd,+DAAkB,CAAA;IAClB,mDAAY,CAAA;IACZ,2DAAgB,CAAA;IAChB,iEAAmB,CAAA;AACvB,CAAC,EATW,aAAa,6BAAb,aAAa,QASxB;AAED,IAAY,OAuBX;AAvBD,WAAY,OAAO;IACf,mDAAkB,CAAA;IAClB,+CAAgB,CAAA;IAChB,mEAA0B,CAAA;IAC1B,iEAAyB,CAAA;IACzB,6EAA+B,CAAA;IAC/B,8DAAuB,CAAA;IACvB,0EAA6B,CAAA;IAC7B,8EAA+B,CAAA;IAC/B,sDAAmB,CAAA;IACnB,sEAA2B,CAAA;IAC3B,kFAAiC,CAAA;IACjC,4DAAsB,CAAA;IACtB,sDAAmB,CAAA;IACnB,oEAA0B,CAAA;IAC1B,4DAAsB,CAAA;IACtB,sEAA2B,CAAA;IAC3B,gEAAwB,CAAA;IACxB,8DAAuB,CAAA;IACvB,gEAAwB,CAAA;IACxB,oEAA0B,CAAA;IAC1B,WAAW;IACX,uCAAW,CAAA;AACf,CAAC,EAvBW,OAAO,uBAAP,OAAO,QAuBlB;AAED,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,mCAAM,CAAA;IACN,qCAAO,CAAA;IACP,qCAAO,CAAA;IACP,qCAAO,CAAA;IACP,2CAAU,CAAA;AACd,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAEY,QAAA,eAAe,GAAG;IAC3B,EAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IAC7C,EAAC,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IAC3C,EAAC,EAAE,EAAE,OAAO,CAAC,oBAAoB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IACtD,EAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IACrD,EAAC,EAAE,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAC;IAClD,EAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAC;IACpD,EAAC,EAAE,EAAE,OAAO,CAAC,0BAA0B,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAC;IAC3D,EAAC,EAAE,EAAE,OAAO,CAAC,oBAAoB,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAC;IACrD,EAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,aAAa;IAC9F,EAAC,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,kBAAkB;IACjG,EAAC,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAC;IACjD,EAAC,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IAClD,EAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAC;IAChD,EAAC,EAAE,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IACpD,EAAC,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IAClD,EAAC,EAAE,EAAE,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IACnD,EAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IACrD,EAAC,EAAE,EAAE,OAAO,CAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;IACxD,EAAC,EAAE,EAAE,OAAO,CAAC,wBAAwB,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAC;CAC7D,CAAC;AA2GF,kBAAe,EAAC,KAAK,EAAC,CAAC"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frameParser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/frameParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAuBzC,eAAO,MAAM,iBAAiB,uBAAqB,CAAC;AAspBpD,iBAAS,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CA6C7C;AAaD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"frameParser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/frameParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAuBzC,eAAO,MAAM,iBAAiB,uBAAqB,CAAC;AA6pBpD,iBAAS,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CA6C7C;AAaD,eAAe,YAAY,CAAC"}
@@ -99,6 +99,13 @@ function parseReadParameterResponse(view) {
99
99
  result = view.getUint8(pos);
100
100
  break;
101
101
  }
102
+ case constants_1.ParamId.STK_ENDPOINT: {
103
+ result = Buffer.alloc(view.byteLength - pos);
104
+ for (let i = 0; pos < view.byteLength; i++, pos++) {
105
+ result[i] = view.getUint8(pos);
106
+ }
107
+ break;
108
+ }
102
109
  case constants_1.ParamId.APS_CHANNEL_MASK: {
103
110
  result = view.getUint32(pos, littleEndian);
104
111
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"frameParser.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/frameParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameParser.js","sourceRoot":"","sources":["../../../../src/adapter/deconz/driver/frameParser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -63,7 +63,7 @@
63
63
  "type": "git",
64
64
  "url": "git+https://github.com/Koenkk/zigbee-herdsman.git"
65
65
  },
66
- "version": "4.4.0",
66
+ "version": "4.4.1",
67
67
  "scripts": {
68
68
  "build": "tsc",
69
69
  "build:watch": "tsc -w",
@@ -127,6 +127,7 @@ export const stackParameters = [
127
127
  {id: ParamId.STK_PREDEFINED_PANID, type: DataType.U8},
128
128
  {id: ParamId.STK_NETWORK_KEY, type: [DataType.U8, DataType.SecKey], readArg: 1}, // index, key
129
129
  {id: ParamId.STK_LINK_KEY, type: [DataType.U64, DataType.SecKey], readArg: 1}, // mac addess, key
130
+ {id: ParamId.STK_ENDPOINT, type: DataType.Custom},
130
131
  {id: ParamId.DEV_WATCHDOG_TTL, type: DataType.U32},
131
132
  {id: ParamId.STK_PERMIT_JOIN, type: DataType.U8},
132
133
  {id: ParamId.NWK_EXTENDED_PANID, type: DataType.U64},
@@ -141,7 +142,7 @@ interface Request {
141
142
  commandId: FirmwareCommand;
142
143
  networkState: NetworkState;
143
144
  parameterId: ParamId;
144
- parameter?: Buffer | number | bigint;
145
+ parameter?: Buffer | number | bigint | undefined;
145
146
  seqNumber: number;
146
147
  // biome-ignore lint/suspicious/noExplicitAny: API
147
148
  resolve: (value: any) => void;
@@ -4,6 +4,7 @@ import events from "node:events";
4
4
  import net from "node:net";
5
5
 
6
6
  import slip from "slip";
7
+ import {Buffalo} from "../../../buffalo";
7
8
  import type {Backup} from "../../../models";
8
9
  import {logger} from "../../../utils/logger";
9
10
  import {SerialPort} from "../../serialPort";
@@ -112,6 +113,10 @@ class Driver extends events.EventEmitter {
112
113
  public paramCurrentChannel = 0;
113
114
  public paramNwkPanid = 0;
114
115
  public paramNwkKey = Buffer.alloc(16);
116
+ public paramEndpoint0: Buffer | undefined;
117
+ public paramEndpoint1: Buffer | undefined;
118
+ public fixParamEndpoint0: Buffer;
119
+ public fixParamEndpoint1: Buffer;
115
120
  public paramNwkUpdateId = 0;
116
121
  public paramChannelMask = 0;
117
122
  public paramProtocolVersion = 0;
@@ -130,6 +135,50 @@ class Driver extends events.EventEmitter {
130
135
  this.writer = new Writer();
131
136
  this.parser = new Parser();
132
137
 
138
+ this.fixParamEndpoint0 = Buffer.from([
139
+ 0x00, // index
140
+ 0x01, // endpoint,
141
+ 0x04, // profileId
142
+ 0x01,
143
+ 0x05, // deviceId
144
+ 0x00,
145
+ 0x01, // deviceVersion
146
+ 0x05, // in cluster count
147
+ 0x00, // basic
148
+ 0x00,
149
+ 0x06, // on/off
150
+ 0x00,
151
+ 0x0a, // time
152
+ 0x00,
153
+ 0x19, // ota
154
+ 0x00,
155
+ 0x01, // ias ace
156
+ 0x05,
157
+ 0x04, // out cluster count
158
+ 0x01, // power configuration
159
+ 0x00,
160
+ 0x20, // poll control
161
+ 0x00,
162
+ 0x00, // ias zone
163
+ 0x05,
164
+ 0x02, // ias wd
165
+ 0x05,
166
+ ]);
167
+
168
+ this.fixParamEndpoint1 = Buffer.from([
169
+ 0x01, // index
170
+ 0xf2, // endpoint,
171
+ 0xe0, // profileId
172
+ 0xa1,
173
+ 0x64, // deviceId
174
+ 0x00,
175
+ 0x01, // deviceVersion
176
+ 0x00, // in cluster count
177
+ 0x01, // out cluster count
178
+ 0x21, // green power
179
+ 0x00,
180
+ ]);
181
+
133
182
  this.tickTimer = setInterval(() => {
134
183
  this.tick();
135
184
  }, 100);
@@ -366,6 +415,16 @@ class Driver extends events.EventEmitter {
366
415
  return false;
367
416
  }
368
417
 
418
+ if (!this.paramEndpoint0 || this.fixParamEndpoint0.compare(this.paramEndpoint0) !== 0) {
419
+ logger.debug("Endpoint[0] doesn't match configuration", NS);
420
+ return false;
421
+ }
422
+
423
+ if (!this.paramEndpoint1 || this.fixParamEndpoint1.compare(this.paramEndpoint1) !== 0) {
424
+ logger.debug("Endpoint[1] doesn't match configuration", NS);
425
+ return false;
426
+ }
427
+
369
428
  if ((this.deviceStatus & DEV_STATUS_NET_STATE_MASK) !== NetworkState.Connected) {
370
429
  return false;
371
430
  }
@@ -521,55 +580,19 @@ class Driver extends events.EventEmitter {
521
580
  await this.writeParameterRequest(ParamId.STK_NETWORK_KEY, Buffer.from([0x0, ...this.networkOptions.networkKey]));
522
581
  }
523
582
 
524
- // now reconnect, this will also store configuration in nvram
525
- await this.changeNetworkStateRequest(NetworkState.Connected);
583
+ // check current endpoint configuration
584
+ if (!this.paramEndpoint0 || this.fixParamEndpoint0.compare(this.paramEndpoint0) !== 0) {
585
+ this.paramEndpoint0 = this.fixParamEndpoint0;
586
+ await this.writeParameterRequest(ParamId.STK_ENDPOINT, this.paramEndpoint0);
587
+ }
526
588
 
527
- // TODO(mpi): Endpoint configuration should be written like other network parameters and subject to `changed`.
528
- // It should happen before NET_CONNECTED is set.
529
- // Therefore read endpoint configuration, compare, swap if needed.
530
-
531
- // TODO(mpi): The following code only adjusts first endpoint, with a fixed setting.
532
- // Ideally also second endpoint should be configured like deCONZ does.
533
-
534
- // write endpoints
535
- /* Format of the STK.Endpoint parameter:
536
- {
537
- u8 endpointIndex // index used by firmware 0..2
538
- u8 endpoint // actual zigbee endpoint
539
- u16 profileId
540
- u16 deviceId
541
- u8 deviceVersion
542
- u8 serverClusterCount
543
- u16 serverClusters[serverClusterCount]
544
- u8 clientClusterCount
545
- u16 clientClusters[clientClusterCount]
546
- }
547
- */
548
- //[ sd1 ep proId devId vers #inCl iCl1 iCl2 iCl3 iCl4 iCl5 #outC oCl1 oCl2 oCl3 oCl4 ]
549
- //
550
- // const sd = [
551
- // 0x00, // index
552
- // 0x01, // endpoint
553
- // 0x04, 0x01, // profileId
554
- // 0x05, 0x00, // deviceId
555
- // 0x01, // deviceVersion
556
- // 0x05, // serverClusterCount
557
- // 0x00, 0x00, // Basic
558
- // 0x00, 0x06, // On/Off TODO(mpi): This is wrong byte order! should be 0x06 0x00
559
- // 0x0a, 0x00, // Time
560
- // 0x19, 0x00, // OTA
561
- // 0x01, 0x05, // IAS ACE
562
- // 0x04, // clientClusterCount
563
- // 0x01, 0x00, // Power Configuration
564
- // 0x20, 0x00, // Poll Control
565
- // 0x00, 0x05, // IAS Zone
566
- // 0x02, 0x05 // IAS WD
567
- // ];
568
- // // TODO(mpi) why is it reversed? That result in invalid endpoint configuration.
569
- // // Likely the command gets discarded as it results in endpointIndex = 0x05.
570
- // const sd1 = sd.reverse();
571
- // await this.driver.writeParameterRequest(PARAM.PARAM.STK.Endpoint, Buffer.from(sd1));
589
+ if (!this.paramEndpoint1 || this.fixParamEndpoint1.compare(this.paramEndpoint1) !== 0) {
590
+ this.paramEndpoint1 = this.fixParamEndpoint1;
591
+ await this.writeParameterRequest(ParamId.STK_ENDPOINT, this.paramEndpoint1);
592
+ }
572
593
 
594
+ // now reconnect, this will also store configuration in nvram
595
+ await this.changeNetworkStateRequest(NetworkState.Connected);
573
596
  return;
574
597
  }
575
598
 
@@ -593,6 +616,8 @@ class Driver extends events.EventEmitter {
593
616
  this.readParameterRequest(ParamId.APS_CHANNEL_MASK),
594
617
  this.readParameterRequest(ParamId.STK_PROTOCOL_VERSION),
595
618
  this.readParameterRequest(ParamId.STK_FRAME_COUNTER),
619
+ this.readParameterRequest(ParamId.STK_ENDPOINT, Buffer.from([0])),
620
+ this.readParameterRequest(ParamId.STK_ENDPOINT, Buffer.from([1])),
596
621
  ])
597
622
  .then(
598
623
  ([
@@ -609,6 +634,8 @@ class Driver extends events.EventEmitter {
609
634
  channelMask,
610
635
  protocolVersion,
611
636
  frameCounter,
637
+ ep0,
638
+ ep1,
612
639
  ]) => {
613
640
  this.paramFirmwareVersion = fwVersion;
614
641
  this.paramCurrentChannel = currentChannel as number;
@@ -623,6 +650,13 @@ class Driver extends events.EventEmitter {
623
650
  if (frameCounter !== null) {
624
651
  this.paramFrameCounter = frameCounter as number;
625
652
  }
653
+ if (ep0 !== null) {
654
+ this.paramEndpoint0 = ep0 as Buffer;
655
+ }
656
+
657
+ if (ep1 !== null) {
658
+ this.paramEndpoint1 = ep1 as Buffer;
659
+ }
626
660
 
627
661
  // console.log({fwVersion, mac, panid, apsUseExtPanid, currentChannel, nwkKey, nwkUpdateId, channelMask, protocolVersion, frameCounter});
628
662
 
@@ -927,7 +961,7 @@ class Driver extends events.EventEmitter {
927
961
  });
928
962
  }
929
963
 
930
- public readParameterRequest(parameterId: ParamId, parameter?: Buffer | undefined): Promise<unknown> {
964
+ public readParameterRequest(parameterId: ParamId, parameter?: Buffer | number | bigint): Promise<unknown> {
931
965
  const seqNumber = this.nextSeqNumber();
932
966
  return new Promise((resolve, reject): void => {
933
967
  //logger.debug(`push read parameter request to queue. seqNr: ${seqNumber} paramId: ${parameterId}`, NS);
@@ -1027,14 +1061,29 @@ class Driver extends events.EventEmitter {
1027
1061
  });
1028
1062
  }
1029
1063
 
1030
- private sendReadParameterRequest(parameterId: ParamId, seqNumber: number): CommandResult {
1031
- /* command id, sequence number, 0, framelength(U16), payloadlength(U16), parameter id */
1032
- // TODO(mpi): refactor so this proper supports arguments
1033
- if (parameterId === ParamId.STK_NETWORK_KEY) {
1034
- return this.sendRequest(Buffer.from([FirmwareCommand.ReadParameter, seqNumber, 0x00, 0x09, 0x00, 0x02, 0x00, parameterId, 0x00]));
1064
+ private sendReadParameterRequest(parameterId: ParamId, seqNumber: number, arg?: Buffer | number | bigint): CommandResult {
1065
+ let frameLength = 8; // starts with min. frame length
1066
+ let payloadLength = 1; // min. parameterId
1067
+
1068
+ if (arg instanceof Buffer) {
1069
+ payloadLength += arg.byteLength;
1070
+ frameLength += arg.byteLength;
1071
+ }
1072
+
1073
+ const buf = new Buffalo(Buffer.alloc(frameLength));
1074
+
1075
+ buf.writeUInt8(FirmwareCommand.ReadParameter);
1076
+ buf.writeUInt8(seqNumber);
1077
+ buf.writeUInt8(0); // reserved, shall be 0
1078
+ buf.writeUInt16(frameLength);
1079
+ buf.writeUInt16(payloadLength);
1080
+ buf.writeUInt8(parameterId);
1081
+
1082
+ if (arg instanceof Buffer) {
1083
+ buf.writeBuffer(arg, arg.byteLength);
1035
1084
  }
1036
1085
 
1037
- return this.sendRequest(Buffer.from([FirmwareCommand.ReadParameter, seqNumber, 0x00, 0x08, 0x00, 0x01, 0x00, parameterId]));
1086
+ return this.sendRequest(buf.getBuffer());
1038
1087
  }
1039
1088
 
1040
1089
  private sendWriteParameterRequest(parameterId: ParamId, value: Buffer | number | bigint, seqNumber: number): CommandResult {
@@ -1184,7 +1233,7 @@ class Driver extends events.EventEmitter {
1184
1233
  switch (req.commandId) {
1185
1234
  case FirmwareCommand.ReadParameter:
1186
1235
  logger.debug(`send read parameter request from queue. parameter: ${ParamId[req.parameterId]} seq: ${req.seqNumber}`, NS);
1187
- this.sendReadParameterRequest(req.parameterId, req.seqNumber);
1236
+ this.sendReadParameterRequest(req.parameterId, req.seqNumber, req.parameter);
1188
1237
  break;
1189
1238
  case FirmwareCommand.WriteParameter:
1190
1239
  if (req.parameter === undefined) {
@@ -81,6 +81,13 @@ function parseReadParameterResponse(view: DataView): Command | null {
81
81
  result = view.getUint8(pos);
82
82
  break;
83
83
  }
84
+ case ParamId.STK_ENDPOINT: {
85
+ result = Buffer.alloc(view.byteLength - pos);
86
+ for (let i = 0; pos < view.byteLength; i++, pos++) {
87
+ result[i] = view.getUint8(pos);
88
+ }
89
+ break;
90
+ }
84
91
  case ParamId.APS_CHANNEL_MASK: {
85
92
  result = view.getUint32(pos, littleEndian);
86
93
  break;