@willieee802/zigbee-herdsman 0.49.4 → 0.50.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 (209) hide show
  1. package/.github/dependabot.yml +0 -3
  2. package/.github/workflows/ci.yml +1 -2
  3. package/.github/workflows/release-please.yml +1 -1
  4. package/.github/workflows/typedoc.yaml +3 -3
  5. package/.release-please-manifest.json +1 -1
  6. package/CHANGELOG.md +143 -0
  7. package/biome.json +1 -1
  8. package/dist/adapter/adapter.d.ts +14 -1
  9. package/dist/adapter/adapter.d.ts.map +1 -1
  10. package/dist/adapter/adapter.js +17 -0
  11. package/dist/adapter/adapter.js.map +1 -1
  12. package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
  13. package/dist/adapter/adapterDiscovery.js.map +1 -1
  14. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -3
  15. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  16. package/dist/adapter/deconz/adapter/deconzAdapter.js +14 -29
  17. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  18. package/dist/adapter/deconz/driver/constants.d.ts +1 -1
  19. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  20. package/dist/adapter/ember/adapter/emberAdapter.d.ts +1 -1
  21. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  22. package/dist/adapter/ember/adapter/emberAdapter.js +19 -10
  23. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  24. package/dist/adapter/ember/adapter/oneWaitress.d.ts +2 -0
  25. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/oneWaitress.js +13 -5
  27. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  28. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +1 -3
  29. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  30. package/dist/adapter/ezsp/adapter/ezspAdapter.js +17 -30
  31. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  32. package/dist/adapter/ezsp/driver/index.d.ts +1 -1
  33. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  34. package/dist/adapter/ezsp/driver/index.js +1 -1
  35. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  36. package/dist/adapter/ezsp/driver/types/index.d.ts +1 -1
  37. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  38. package/dist/adapter/ezsp/driver/types/index.js +3 -3
  39. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  40. package/dist/adapter/serialPort.d.ts.map +1 -1
  41. package/dist/adapter/serialPort.js +7 -0
  42. package/dist/adapter/serialPort.js.map +1 -1
  43. package/dist/adapter/z-stack/adapter/adapter-backup.js +1 -1
  44. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  45. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +1 -1
  46. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  47. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  48. package/dist/adapter/z-stack/adapter/manager.js +12 -2
  49. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  50. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -1
  51. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +1 -3
  52. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  53. package/dist/adapter/z-stack/adapter/zStackAdapter.js +20 -34
  54. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  55. package/dist/adapter/z-stack/constants/index.d.ts +1 -1
  56. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
  57. package/dist/adapter/z-stack/constants/index.js +1 -1
  58. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  59. package/dist/adapter/z-stack/unpi/constants.d.ts +1 -1
  60. package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -1
  61. package/dist/adapter/z-stack/unpi/constants.js +1 -1
  62. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  63. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +7 -8
  64. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
  65. package/dist/adapter/zboss/adapter/zbossAdapter.js +12 -30
  66. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
  67. package/dist/adapter/zboss/driver.d.ts.map +1 -1
  68. package/dist/adapter/zboss/driver.js +8 -1
  69. package/dist/adapter/zboss/driver.js.map +1 -1
  70. package/dist/adapter/zboss/uart.d.ts.map +1 -1
  71. package/dist/adapter/zboss/uart.js +14 -2
  72. package/dist/adapter/zboss/uart.js.map +1 -1
  73. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -3
  74. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  75. package/dist/adapter/zigate/adapter/zigateAdapter.js +8 -29
  76. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  77. package/dist/adapter/zoh/adapter/zohAdapter.d.ts +1 -3
  78. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -1
  79. package/dist/adapter/zoh/adapter/zohAdapter.js +18 -33
  80. package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -1
  81. package/dist/controller/controller.d.ts.map +1 -1
  82. package/dist/controller/controller.js +10 -2
  83. package/dist/controller/controller.js.map +1 -1
  84. package/dist/controller/greenPower.d.ts.map +1 -1
  85. package/dist/controller/greenPower.js +15 -9
  86. package/dist/controller/greenPower.js.map +1 -1
  87. package/dist/controller/helpers/ota.d.ts +4 -4
  88. package/dist/controller/helpers/ota.d.ts.map +1 -1
  89. package/dist/controller/helpers/ota.js +28 -9
  90. package/dist/controller/helpers/ota.js.map +1 -1
  91. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  92. package/dist/controller/helpers/zclFrameConverter.js +17 -16
  93. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  94. package/dist/controller/model/device.d.ts +14 -3
  95. package/dist/controller/model/device.d.ts.map +1 -1
  96. package/dist/controller/model/device.js +155 -68
  97. package/dist/controller/model/device.js.map +1 -1
  98. package/dist/controller/model/endpoint.d.ts +7 -3
  99. package/dist/controller/model/endpoint.d.ts.map +1 -1
  100. package/dist/controller/model/endpoint.js +34 -21
  101. package/dist/controller/model/endpoint.js.map +1 -1
  102. package/dist/controller/model/group.js +4 -4
  103. package/dist/controller/model/group.js.map +1 -1
  104. package/dist/controller/touchlink.js +3 -3
  105. package/dist/controller/touchlink.js.map +1 -1
  106. package/dist/utils/timeService.js +2 -2
  107. package/dist/utils/timeService.js.map +1 -1
  108. package/dist/zspec/zcl/buffaloZcl.d.ts +3 -3
  109. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  110. package/dist/zspec/zcl/buffaloZcl.js +198 -96
  111. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  112. package/dist/zspec/zcl/definition/cluster.d.ts +2 -2
  113. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  114. package/dist/zspec/zcl/definition/cluster.js +2699 -2808
  115. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  116. package/dist/zspec/zcl/definition/clusters-types.d.ts +63 -1109
  117. package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -1
  118. package/dist/zspec/zcl/definition/enums.d.ts +0 -1
  119. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -1
  120. package/dist/zspec/zcl/definition/enums.js +0 -1
  121. package/dist/zspec/zcl/definition/enums.js.map +1 -1
  122. package/dist/zspec/zcl/definition/foundation.d.ts +306 -7
  123. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  124. package/dist/zspec/zcl/definition/foundation.js +552 -207
  125. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  126. package/dist/zspec/zcl/definition/status.d.ts +21 -10
  127. package/dist/zspec/zcl/definition/status.d.ts.map +1 -1
  128. package/dist/zspec/zcl/definition/status.js +11 -0
  129. package/dist/zspec/zcl/definition/status.js.map +1 -1
  130. package/dist/zspec/zcl/definition/tstype.d.ts +57 -48
  131. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  132. package/dist/zspec/zcl/utils.d.ts +7 -4
  133. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  134. package/dist/zspec/zcl/utils.js +133 -240
  135. package/dist/zspec/zcl/utils.js.map +1 -1
  136. package/dist/zspec/zcl/zclFrame.d.ts +4 -4
  137. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  138. package/dist/zspec/zcl/zclFrame.js +19 -103
  139. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  140. package/dist/zspec/zcl/zclStatusError.d.ts +1 -1
  141. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -1
  142. package/dist/zspec/zcl/zclStatusError.js +2 -2
  143. package/dist/zspec/zcl/zclStatusError.js.map +1 -1
  144. package/package.json +1 -1
  145. package/scripts/clusters-typegen.ts +44 -139
  146. package/src/adapter/adapter.ts +38 -3
  147. package/src/adapter/adapterDiscovery.ts +2 -1
  148. package/src/adapter/deconz/adapter/deconzAdapter.ts +24 -51
  149. package/src/adapter/deconz/driver/constants.ts +1 -1
  150. package/src/adapter/ember/adapter/emberAdapter.ts +23 -10
  151. package/src/adapter/ember/adapter/oneWaitress.ts +16 -6
  152. package/src/adapter/ezsp/adapter/ezspAdapter.ts +27 -48
  153. package/src/adapter/ezsp/driver/index.ts +1 -1
  154. package/src/adapter/ezsp/driver/types/index.ts +99 -99
  155. package/src/adapter/serialPort.ts +9 -0
  156. package/src/adapter/z-stack/adapter/adapter-backup.ts +1 -1
  157. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +1 -1
  158. package/src/adapter/z-stack/adapter/manager.ts +16 -2
  159. package/src/adapter/z-stack/adapter/tstype.ts +1 -0
  160. package/src/adapter/z-stack/adapter/zStackAdapter.ts +34 -81
  161. package/src/adapter/z-stack/constants/index.ts +1 -1
  162. package/src/adapter/z-stack/unpi/constants.ts +1 -1
  163. package/src/adapter/zboss/adapter/zbossAdapter.ts +23 -54
  164. package/src/adapter/zboss/driver.ts +8 -1
  165. package/src/adapter/zboss/uart.ts +14 -1
  166. package/src/adapter/zigate/adapter/zigateAdapter.ts +17 -48
  167. package/src/adapter/zoh/adapter/zohAdapter.ts +27 -50
  168. package/src/controller/controller.ts +12 -2
  169. package/src/controller/greenPower.ts +16 -9
  170. package/src/controller/helpers/ota.ts +37 -11
  171. package/src/controller/helpers/zclFrameConverter.ts +20 -17
  172. package/src/controller/model/device.ts +192 -79
  173. package/src/controller/model/endpoint.ts +36 -24
  174. package/src/controller/model/group.ts +4 -4
  175. package/src/controller/touchlink.ts +3 -3
  176. package/src/utils/timeService.ts +2 -2
  177. package/src/zspec/zcl/buffaloZcl.ts +226 -100
  178. package/src/zspec/zcl/definition/cluster.ts +2713 -2822
  179. package/src/zspec/zcl/definition/clusters-types.ts +80 -1135
  180. package/src/zspec/zcl/definition/enums.ts +0 -1
  181. package/src/zspec/zcl/definition/foundation.ts +703 -216
  182. package/src/zspec/zcl/definition/status.ts +22 -11
  183. package/src/zspec/zcl/definition/tstype.ts +59 -58
  184. package/src/zspec/zcl/utils.ts +137 -264
  185. package/src/zspec/zcl/zclFrame.ts +25 -130
  186. package/src/zspec/zcl/zclStatusError.ts +2 -2
  187. package/test/adapter/ember/emberAdapter.test.ts +191 -4
  188. package/test/adapter/ezsp/uart.test.ts +10 -10
  189. package/test/adapter/z-stack/adapter.test.ts +88 -32
  190. package/test/adapter/zoh/zohAdapter.test.ts +4 -4
  191. package/test/controller.test.ts +822 -248
  192. package/test/device-ota.test.ts +141 -16
  193. package/test/device.test.ts +731 -0
  194. package/test/requests.bench.ts +2 -0
  195. package/test/zcl.test.ts +70 -95
  196. package/test/zspec/zcl/buffalo.test.ts +251 -11
  197. package/test/zspec/zcl/foundation.test.ts +990 -0
  198. package/test/zspec/zcl/frame.test.ts +84 -69
  199. package/test/zspec/zcl/utils.test.ts +105 -81
  200. package/tsconfig.json +0 -1
  201. package/scripts/check-clusters-changes.ts +0 -328
  202. package/scripts/clusters-changes.log +0 -584
  203. package/scripts/utils.ts +0 -88
  204. package/scripts/zap-update-clusters-report.json +0 -303
  205. package/scripts/zap-update-clusters.ts +0 -1520
  206. package/scripts/zap-update-types.ts +0 -707
  207. package/scripts/zap-xml-clusters-overrides-data.ts +0 -52
  208. package/scripts/zap-xml-clusters-overrides.ts +0 -400
  209. package/scripts/zap-xml-types.ts +0 -146
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/controller/model/device.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { BroadcastAddress } from "../../zspec/enums";
2
2
  import * as Zcl from "../../zspec/zcl";
3
3
  import type { TFoundation } from "../../zspec/zcl/definition/clusters-types";
4
+ import type { FoundationDefinition } from "../../zspec/zcl/definition/foundation";
4
5
  import type * as ZclTypes from "../../zspec/zcl/definition/tstype";
5
6
  import type { ClusterOrRawAttributeKeys, ClusterOrRawAttributes, ClusterOrRawPayload, FoundationOrRawPayload, KeyValue, PartialClusterOrRawWriteAttributes, SendPolicy, TCustomCluster } from "../tstype";
6
7
  import Device from "./device";
@@ -35,7 +36,7 @@ interface Options {
35
36
  writeUndiv?: boolean;
36
37
  sendPolicy?: SendPolicy;
37
38
  }
38
- interface Clusters {
39
+ export interface Clusters {
39
40
  [cluster: string]: {
40
41
  attributes: {
41
42
  [attribute: string]: number | string;
@@ -99,7 +100,6 @@ export declare class Endpoint extends ZigbeeEntity {
99
100
  * @returns {ZclTypes.Cluster[]}
100
101
  */
101
102
  getOutputClusters(): ZclTypes.Cluster[];
102
- private clusterNumbersToClusters;
103
103
  static fromDatabaseRecord(record: KeyValue, deviceNetworkAddress: number, deviceIeeeAddress: string, databaseID: number): Endpoint;
104
104
  toDatabaseRecord(): KeyValue;
105
105
  static create(databaseID: number, id: number, profileID: number | undefined, deviceID: number | undefined, inputClusters: number[], outputClusters: number[], deviceNetworkAddress: number, deviceIeeeAddress: string): Endpoint;
@@ -116,6 +116,10 @@ export declare class Endpoint extends ZigbeeEntity {
116
116
  write<Cl extends number | string, Custom extends TCustomCluster | undefined = undefined>(clusterKey: Cl, attributes: PartialClusterOrRawWriteAttributes<Cl, Custom>, options?: Options): Promise<void>;
117
117
  writeResponse<Cl extends number | string, Custom extends TCustomCluster | undefined = undefined>(clusterKey: Cl, transactionSequenceNumber: number, attributes: Partial<Record<ClusterOrRawAttributeKeys<Cl, Custom>[number], TFoundation["writeRsp"][number]>> & Record<number, TFoundation["writeRsp"][number]>, options?: Options): Promise<void>;
118
118
  read<Cl extends number | string, Custom extends TCustomCluster | undefined = undefined>(clusterKey: Cl, attributes: ClusterOrRawAttributeKeys<Cl, Custom>, options?: Options): Promise<ClusterOrRawAttributes<Cl, Custom>>;
119
+ /**
120
+ * Sends a Foundation response to a read request.
121
+ * Any attribute with an `undefined` value will result in a sent record with status `UNSUPPORTED_ATTRIBUTE`
122
+ */
119
123
  readResponse<Cl extends number | string, Custom extends TCustomCluster | undefined = undefined>(clusterKey: Cl, transactionSequenceNumber: number, attributes: PartialClusterOrRawWriteAttributes<Cl, Custom>, options?: Options): Promise<void>;
120
124
  updateSimpleDescriptor(): Promise<void>;
121
125
  hasBind(clusterId: number, target: Endpoint | Group): boolean;
@@ -143,7 +147,7 @@ export declare class Endpoint extends ZigbeeEntity {
143
147
  removeFromGroup(group: Group | number): Promise<void>;
144
148
  removeFromAllGroups(): Promise<void>;
145
149
  removeFromAllGroupsDatabase(): void;
146
- zclCommand<Cl extends number | string, Co extends number | string, Custom extends TCustomCluster | undefined = undefined>(clusterKey: Cl | ZclTypes.Cluster, commandKey: Co | ZclTypes.Command, payload: ClusterOrRawPayload<Cl, Co, Custom> | FoundationOrRawPayload<Co>, options?: Options, logPayload?: KeyValue, checkStatus?: boolean, frameType?: Zcl.FrameType): Promise<undefined | Zcl.Frame>;
150
+ zclCommand<Cl extends number | string, Co extends number | string, Custom extends TCustomCluster | undefined = undefined>(clusterKey: Cl | ZclTypes.Cluster, commandKey: Co | ZclTypes.Command | FoundationDefinition, payload: ClusterOrRawPayload<Cl, Co, Custom> | FoundationOrRawPayload<Co>, options?: Options, logPayload?: KeyValue, checkStatus?: boolean, frameType?: Zcl.FrameType): Promise<undefined | Zcl.Frame>;
147
151
  zclCommandBroadcast<Cl extends number | string, Co extends number | string, Custom extends TCustomCluster | undefined = undefined>(endpoint: number, destination: BroadcastAddress, clusterKey: Cl, commandKey: Co, payload: ClusterOrRawPayload<Cl, Co, Custom> | FoundationOrRawPayload<Co>, options?: Options): Promise<void>;
148
152
  }
149
153
  export default Endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
85
85
  const device = this.getDevice();
86
86
  return this._configuredReportings.map((entry, index) => {
87
87
  const cluster = Zcl.Utils.getCluster(entry.cluster, entry.manufacturerCode, device.customClusters);
88
- const attribute = cluster.getAttribute(entry.attrId) ?? {
88
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, entry.attrId, entry.manufacturerCode) ?? {
89
89
  ID: entry.attrId,
90
90
  name: `attr${index}`,
91
91
  type: Zcl.DataType.UNKNOWN,
@@ -149,16 +149,13 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
149
149
  * @returns {ZclTypes.Cluster[]}
150
150
  */
151
151
  getInputClusters() {
152
- return this.clusterNumbersToClusters(this.inputClusters);
152
+ return this.inputClusters.map((c) => this.getCluster(c));
153
153
  }
154
154
  /**
155
155
  * @returns {ZclTypes.Cluster[]}
156
156
  */
157
157
  getOutputClusters() {
158
- return this.clusterNumbersToClusters(this.outputClusters);
159
- }
160
- clusterNumbersToClusters(clusterNumbers) {
161
- return clusterNumbers.map((c) => this.getCluster(c));
158
+ return this.outputClusters.map((c) => this.getCluster(c));
162
159
  }
163
160
  /*
164
161
  * CRUD
@@ -218,7 +215,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
218
215
  const cluster = this.getCluster(clusterKey);
219
216
  if (this.clusters[cluster.name] && this.clusters[cluster.name].attributes) {
220
217
  // XXX: used to throw (behavior changed in #1455)
221
- const attribute = cluster.getAttribute(attributeKey);
218
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, attributeKey, undefined);
222
219
  if (attribute) {
223
220
  return this.clusters[cluster.name].attributes[attribute.name];
224
221
  }
@@ -320,7 +317,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
320
317
  const payload = [];
321
318
  // TODO: handle `attr.report !== true`
322
319
  for (const nameOrID in attributes) {
323
- const attribute = cluster.getAttribute(nameOrID);
320
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, nameOrID, options?.manufacturerCode);
324
321
  if (attribute) {
325
322
  payload.push({ attrId: attribute.ID, attrData: attributes[nameOrID], dataType: attribute.type });
326
323
  }
@@ -340,7 +337,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
340
337
  optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, Object.keys(attributes), optionsWithDefaults.manufacturerCode, "write");
341
338
  const payload = [];
342
339
  for (const nameOrID in attributes) {
343
- const attribute = cluster.getAttribute(nameOrID);
340
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, nameOrID, options?.manufacturerCode);
344
341
  if (attribute) {
345
342
  // TODO: handle `attr.writeOptional !== true`
346
343
  const attrData = Zcl.Utils.processAttributeWrite(attribute, attributes[nameOrID]);
@@ -364,7 +361,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
364
361
  // biome-ignore lint/style/noNonNullAssertion: from loop
365
362
  const value = attributes[nameOrID];
366
363
  if (value.status !== undefined) {
367
- const attribute = cluster.getAttribute(nameOrID);
364
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, nameOrID, options?.manufacturerCode);
368
365
  if (attribute) {
369
366
  payload.push({ attrId: attribute.ID, status: value.status });
370
367
  }
@@ -394,7 +391,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
394
391
  payload.push({ attrId: attribute });
395
392
  }
396
393
  else {
397
- const attr = cluster.getAttribute(attribute);
394
+ const attr = Zcl.Utils.getClusterAttribute(cluster, attribute, options?.manufacturerCode);
398
395
  if (attr) {
399
396
  Zcl.Utils.processAttributePreRead(attr);
400
397
  payload.push({ attrId: attr.ID });
@@ -410,24 +407,40 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
410
407
  ? ZclFrameConverter.attributeKeyValue(resultFrame, device.manufacturerID, device.customClusters)
411
408
  : {};
412
409
  }
410
+ /**
411
+ * Sends a Foundation response to a read request.
412
+ * Any attribute with an `undefined` value will result in a sent record with status `UNSUPPORTED_ATTRIBUTE`
413
+ */
413
414
  async readResponse(clusterKey, transactionSequenceNumber, attributes, options) {
414
415
  (0, node_assert_1.default)(options?.transactionSequenceNumber === undefined, "Use parameter");
415
416
  const cluster = this.getCluster(clusterKey, undefined, options?.manufacturerCode);
416
417
  const payload = [];
417
418
  for (const nameOrID in attributes) {
418
- const attribute = cluster.getAttribute(nameOrID);
419
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, nameOrID, options?.manufacturerCode);
419
420
  if (attribute) {
420
- payload.push({ attrId: attribute.ID, attrData: attributes[nameOrID], dataType: attribute.type, status: 0 });
421
+ const attrData = attributes[nameOrID];
422
+ if (attrData === undefined) {
423
+ payload.push({ attrId: attribute.ID, status: Zcl.Status.UNSUPPORTED_ATTRIBUTE });
424
+ }
425
+ else {
426
+ payload.push({ attrId: attribute.ID, attrData, dataType: attribute.type, status: Zcl.Status.SUCCESS });
427
+ }
421
428
  }
422
429
  else if (!Number.isNaN(Number(nameOrID))) {
423
430
  const value = attributes[nameOrID];
424
- payload.push({ attrId: Number(nameOrID), attrData: value.value, dataType: value.type, status: 0 });
431
+ const attrData = value.value;
432
+ if (attrData === undefined) {
433
+ payload.push({ attrId: Number(nameOrID), status: Zcl.Status.UNSUPPORTED_ATTRIBUTE });
434
+ }
435
+ else {
436
+ payload.push({ attrId: Number(nameOrID), attrData, dataType: value.type, status: Zcl.Status.SUCCESS });
437
+ }
425
438
  }
426
439
  else {
427
440
  throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
428
441
  }
429
442
  }
430
- await this.zclCommand(cluster, "readRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber }, attributes);
443
+ await this.zclCommand(cluster, "readRsp", payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, disableDefaultResponse: true, ...options, transactionSequenceNumber }, attributes);
431
444
  }
432
445
  async updateSimpleDescriptor() {
433
446
  const clusterId = Zdo.ClusterId.SIMPLE_DESCRIPTOR_REQUEST;
@@ -575,7 +588,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
575
588
  attrId = item.attribute.ID;
576
589
  }
577
590
  else {
578
- const attribute = cluster.getAttribute(item.attribute);
591
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, item.attribute, optionsWithDefaults.manufacturerCode);
579
592
  if (attribute) {
580
593
  dataType = attribute.type;
581
594
  attrId = attribute.ID;
@@ -624,7 +637,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
624
637
  payload.push({ direction: item.direction ?? Zcl.Direction.CLIENT_TO_SERVER, attrId: item.attribute.ID });
625
638
  }
626
639
  else {
627
- const attribute = cluster.getAttribute(item.attribute);
640
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, item.attribute, optionsWithDefaults.manufacturerCode);
628
641
  if (attribute) {
629
642
  payload.push({ direction: item.direction ?? Zcl.Direction.CLIENT_TO_SERVER, attrId: attribute.ID });
630
643
  }
@@ -656,7 +669,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
656
669
  (0, node_assert_1.default)(options?.transactionSequenceNumber === undefined, "Use parameter");
657
670
  const device = this.getDevice();
658
671
  const cluster = this.getCluster(clusterKey, device, options?.manufacturerCode);
659
- const command = cluster.getCommandResponse(commandKey);
672
+ const command = Zcl.Utils.getClusterCommandResponse(cluster, commandKey);
660
673
  transactionSequenceNumber = transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next();
661
674
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
662
675
  const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, transactionSequenceNumber, command, cluster, payload, device.customClusters, optionsWithDefaults.reservedBits);
@@ -724,7 +737,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
724
737
  attributeID = nameOrID;
725
738
  }
726
739
  // we fall back to caller|cluster provided manufacturerCode
727
- const attribute = cluster.getAttribute(attributeID);
740
+ const attribute = Zcl.Utils.getClusterAttribute(cluster, attributeID, undefined);
728
741
  const manufacturerCode = attribute
729
742
  ? attribute.manufacturerCode === undefined
730
743
  ? fallbackManufacturerCode
@@ -779,7 +792,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
779
792
  ? commandKey
780
793
  : frameType === Zcl.FrameType.GLOBAL
781
794
  ? Zcl.Utils.getGlobalCommand(commandKey)
782
- : cluster.getCommand(commandKey);
795
+ : Zcl.Utils.getClusterCommand(cluster, commandKey);
783
796
  const hasResponse = frameType === Zcl.FrameType.GLOBAL ? true : command.response !== undefined;
784
797
  const optionsWithDefaults = this.getOptionsWithDefaults(options, hasResponse, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
785
798
  const frame = Zcl.Frame.create(frameType, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command, cluster, payload, device.customClusters, optionsWithDefaults.reservedBits);
@@ -807,7 +820,7 @@ class Endpoint extends zigbeeEntity_1.ZigbeeEntity {
807
820
  async zclCommandBroadcast(endpoint, destination, clusterKey, commandKey, payload, options) {
808
821
  const device = this.getDevice();
809
822
  const cluster = this.getCluster(clusterKey, device, options?.manufacturerCode);
810
- const command = cluster.getCommand(commandKey);
823
+ const command = Zcl.Utils.getClusterCommand(cluster, commandKey);
811
824
  const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
812
825
  const sourceEndpoint = optionsWithDefaults.srcEndpoint ?? this.ID;
813
826
  const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, true, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command, cluster, payload, device.customClusters, optionsWithDefaults.reservedBits);