@matter/model 0.13.0-alpha.0-20250304-d4a7592a4 → 0.13.0-alpha.0-20250311-3eb0af5f2

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 (1369) hide show
  1. package/dist/cjs/aspects/Conformance.d.ts +5 -3
  2. package/dist/cjs/aspects/Conformance.d.ts.map +1 -1
  3. package/dist/cjs/aspects/Conformance.js +23 -2
  4. package/dist/cjs/aspects/Conformance.js.map +1 -1
  5. package/dist/cjs/aspects/Quality.d.ts +9 -2
  6. package/dist/cjs/aspects/Quality.d.ts.map +1 -1
  7. package/dist/cjs/aspects/Quality.js +3 -1
  8. package/dist/cjs/aspects/Quality.js.map +1 -1
  9. package/dist/cjs/common/Specification.d.ts +3 -3
  10. package/dist/cjs/common/Specification.d.ts.map +1 -1
  11. package/dist/cjs/common/Specification.js +3 -3
  12. package/dist/cjs/logic/cluster-variance/IllegalFeatureCombinations.js +82 -66
  13. package/dist/cjs/logic/cluster-variance/IllegalFeatureCombinations.js.map +1 -1
  14. package/dist/cjs/logic/cluster-variance/InferredComponents.js +24 -1
  15. package/dist/cjs/logic/cluster-variance/InferredComponents.js.map +1 -1
  16. package/dist/cjs/logic/definition-validation/ValueValidator.d.ts.map +1 -1
  17. package/dist/cjs/logic/definition-validation/ValueValidator.js +11 -6
  18. package/dist/cjs/logic/definition-validation/ValueValidator.js.map +1 -1
  19. package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
  20. package/dist/cjs/models/AttributeModel.js +1 -4
  21. package/dist/cjs/models/AttributeModel.js.map +1 -1
  22. package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
  23. package/dist/cjs/models/ClusterModel.js +1 -3
  24. package/dist/cjs/models/ClusterModel.js.map +1 -1
  25. package/dist/cjs/models/CommandModel.d.ts.map +1 -1
  26. package/dist/cjs/models/CommandModel.js +1 -4
  27. package/dist/cjs/models/CommandModel.js.map +1 -1
  28. package/dist/cjs/models/DatatypeModel.d.ts +1 -0
  29. package/dist/cjs/models/DatatypeModel.d.ts.map +1 -1
  30. package/dist/cjs/models/DatatypeModel.js +2 -4
  31. package/dist/cjs/models/DatatypeModel.js.map +1 -1
  32. package/dist/cjs/models/DeviceTypeModel.d.ts +1 -0
  33. package/dist/cjs/models/DeviceTypeModel.d.ts.map +1 -1
  34. package/dist/cjs/models/DeviceTypeModel.js +2 -3
  35. package/dist/cjs/models/DeviceTypeModel.js.map +1 -1
  36. package/dist/cjs/models/EndpointModel.d.ts +1 -0
  37. package/dist/cjs/models/EndpointModel.d.ts.map +1 -1
  38. package/dist/cjs/models/EndpointModel.js +2 -3
  39. package/dist/cjs/models/EndpointModel.js.map +1 -1
  40. package/dist/cjs/models/EventModel.d.ts.map +1 -1
  41. package/dist/cjs/models/EventModel.js +1 -4
  42. package/dist/cjs/models/EventModel.js.map +1 -1
  43. package/dist/cjs/models/FabricModel.d.ts +1 -0
  44. package/dist/cjs/models/FabricModel.d.ts.map +1 -1
  45. package/dist/cjs/models/FabricModel.js +2 -3
  46. package/dist/cjs/models/FabricModel.js.map +1 -1
  47. package/dist/cjs/models/FieldModel.d.ts +1 -0
  48. package/dist/cjs/models/FieldModel.d.ts.map +1 -1
  49. package/dist/cjs/models/FieldModel.js +2 -4
  50. package/dist/cjs/models/FieldModel.js.map +1 -1
  51. package/dist/cjs/models/Globals.d.ts +27 -1
  52. package/dist/cjs/models/Globals.d.ts.map +1 -1
  53. package/dist/cjs/models/MatterModel.d.ts +1 -0
  54. package/dist/cjs/models/MatterModel.d.ts.map +1 -1
  55. package/dist/cjs/models/MatterModel.js +2 -4
  56. package/dist/cjs/models/MatterModel.js.map +1 -1
  57. package/dist/cjs/models/Model.d.ts +26 -2
  58. package/dist/cjs/models/Model.d.ts.map +1 -1
  59. package/dist/cjs/models/Model.js +44 -5
  60. package/dist/cjs/models/Model.js.map +1 -1
  61. package/dist/cjs/models/NodeModel.d.ts +1 -0
  62. package/dist/cjs/models/NodeModel.d.ts.map +1 -1
  63. package/dist/cjs/models/NodeModel.js +2 -3
  64. package/dist/cjs/models/NodeModel.js.map +1 -1
  65. package/dist/cjs/models/RequirementModel.d.ts +1 -0
  66. package/dist/cjs/models/RequirementModel.d.ts.map +1 -1
  67. package/dist/cjs/models/RequirementModel.js +2 -3
  68. package/dist/cjs/models/RequirementModel.js.map +1 -1
  69. package/dist/cjs/models/SemanticNamespaceModel.d.ts +1 -0
  70. package/dist/cjs/models/SemanticNamespaceModel.d.ts.map +1 -1
  71. package/dist/cjs/models/SemanticNamespaceModel.js +2 -3
  72. package/dist/cjs/models/SemanticNamespaceModel.js.map +1 -1
  73. package/dist/cjs/models/SemanticTagModel.d.ts +1 -0
  74. package/dist/cjs/models/SemanticTagModel.d.ts.map +1 -1
  75. package/dist/cjs/models/SemanticTagModel.js +2 -3
  76. package/dist/cjs/models/SemanticTagModel.js.map +1 -1
  77. package/dist/cjs/standard/elements/AcceptedCommandList.d.ts.map +1 -1
  78. package/dist/cjs/standard/elements/AcceptedCommandList.js +1 -1
  79. package/dist/cjs/standard/elements/AcceptedCommandList.js.map +1 -1
  80. package/dist/cjs/standard/elements/AccessControl.d.ts.map +1 -1
  81. package/dist/cjs/standard/elements/AccessControl.js +298 -37
  82. package/dist/cjs/standard/elements/AccessControl.js.map +2 -2
  83. package/dist/cjs/standard/elements/Actions.d.ts.map +1 -1
  84. package/dist/cjs/standard/elements/Actions.js +6 -6
  85. package/dist/cjs/standard/elements/Actions.js.map +1 -1
  86. package/dist/cjs/standard/elements/AdministratorCommissioning.d.ts.map +1 -1
  87. package/dist/cjs/standard/elements/AdministratorCommissioning.js +18 -12
  88. package/dist/cjs/standard/elements/AdministratorCommissioning.js.map +1 -1
  89. package/dist/cjs/standard/elements/AggregatorDT.d.ts.map +1 -1
  90. package/dist/cjs/standard/elements/AggregatorDT.js +18 -3
  91. package/dist/cjs/standard/elements/AggregatorDT.js.map +2 -2
  92. package/dist/cjs/standard/elements/AirPurifierDT.d.ts.map +1 -1
  93. package/dist/cjs/standard/elements/AirPurifierDT.js +8 -1
  94. package/dist/cjs/standard/elements/AirPurifierDT.js.map +1 -1
  95. package/dist/cjs/standard/elements/AlarmBase.d.ts.map +1 -1
  96. package/dist/cjs/standard/elements/AlarmBase.js +1 -1
  97. package/dist/cjs/standard/elements/AlarmBase.js.map +1 -1
  98. package/dist/cjs/standard/elements/ApplicationLauncher.d.ts.map +1 -1
  99. package/dist/cjs/standard/elements/ApplicationLauncher.js +12 -4
  100. package/dist/cjs/standard/elements/ApplicationLauncher.js.map +1 -1
  101. package/dist/cjs/standard/elements/AreaNamespaceNS.d.ts +8 -0
  102. package/dist/cjs/standard/elements/AreaNamespaceNS.d.ts.map +1 -0
  103. package/dist/cjs/standard/elements/AreaNamespaceNS.js +147 -0
  104. package/dist/cjs/standard/elements/AreaNamespaceNS.js.map +6 -0
  105. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.d.ts +8 -0
  106. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.d.ts.map +1 -0
  107. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.js +56 -0
  108. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.js.map +6 -0
  109. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.d.ts +8 -0
  110. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.d.ts.map +1 -0
  111. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.js +43 -0
  112. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.js.map +6 -0
  113. package/dist/cjs/standard/elements/BallastConfiguration.js +1 -1
  114. package/dist/cjs/standard/elements/BasicInformation.d.ts.map +1 -1
  115. package/dist/cjs/standard/elements/BasicInformation.js +17 -19
  116. package/dist/cjs/standard/elements/BasicInformation.js.map +1 -1
  117. package/dist/cjs/standard/elements/BatteryStorageDT.d.ts +8 -0
  118. package/dist/cjs/standard/elements/BatteryStorageDT.d.ts.map +1 -0
  119. package/dist/cjs/standard/elements/BatteryStorageDT.js +53 -0
  120. package/dist/cjs/standard/elements/BatteryStorageDT.js.map +6 -0
  121. package/dist/cjs/standard/elements/BooleanStateConfiguration.js +2 -2
  122. package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
  123. package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.js +102 -31
  124. package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.js.map +2 -2
  125. package/dist/cjs/standard/elements/BridgedNodeDT.d.ts.map +1 -1
  126. package/dist/cjs/standard/elements/BridgedNodeDT.js +24 -2
  127. package/dist/cjs/standard/elements/BridgedNodeDT.js.map +2 -2
  128. package/dist/cjs/standard/elements/Channel.d.ts.map +1 -1
  129. package/dist/cjs/standard/elements/Channel.js +13 -14
  130. package/dist/cjs/standard/elements/Channel.js.map +1 -1
  131. package/dist/cjs/standard/elements/ColorControl.d.ts.map +1 -1
  132. package/dist/cjs/standard/elements/ColorControl.js +607 -478
  133. package/dist/cjs/standard/elements/ColorControl.js.map +1 -1
  134. package/dist/cjs/standard/elements/{PulseWidthModulation.d.ts → CommissionerControl.d.ts} +2 -2
  135. package/dist/cjs/standard/elements/CommissionerControl.d.ts.map +1 -0
  136. package/dist/cjs/standard/elements/CommissionerControl.js +130 -0
  137. package/dist/cjs/standard/elements/CommissionerControl.js.map +6 -0
  138. package/dist/cjs/standard/elements/ConcentrationMeasurement.js +0 -1
  139. package/dist/cjs/standard/elements/ConcentrationMeasurement.js.map +1 -1
  140. package/dist/cjs/standard/elements/ContentControl.d.ts.map +1 -1
  141. package/dist/cjs/standard/elements/ContentControl.js +34 -39
  142. package/dist/cjs/standard/elements/ContentControl.js.map +1 -1
  143. package/dist/cjs/standard/elements/ContentLauncher.d.ts.map +1 -1
  144. package/dist/cjs/standard/elements/ContentLauncher.js +13 -11
  145. package/dist/cjs/standard/elements/ContentLauncher.js.map +1 -1
  146. package/dist/cjs/standard/elements/DeviceEnergyManagement.d.ts.map +1 -1
  147. package/dist/cjs/standard/elements/DeviceEnergyManagement.js +154 -118
  148. package/dist/cjs/standard/elements/DeviceEnergyManagement.js.map +1 -1
  149. package/dist/cjs/standard/elements/DeviceEnergyManagementDT.d.ts.map +1 -1
  150. package/dist/cjs/standard/elements/DeviceEnergyManagementDT.js +26 -11
  151. package/dist/cjs/standard/elements/DeviceEnergyManagementDT.js.map +2 -2
  152. package/dist/cjs/standard/elements/DeviceEnergyManagementMode.d.ts.map +1 -1
  153. package/dist/cjs/standard/elements/DeviceEnergyManagementMode.js +38 -9
  154. package/dist/cjs/standard/elements/DeviceEnergyManagementMode.js.map +2 -2
  155. package/dist/cjs/standard/elements/DishwasherAlarm.d.ts.map +1 -1
  156. package/dist/cjs/standard/elements/DishwasherAlarm.js +1 -1
  157. package/dist/cjs/standard/elements/DishwasherAlarm.js.map +1 -1
  158. package/dist/cjs/standard/elements/DishwasherMode.d.ts.map +1 -1
  159. package/dist/cjs/standard/elements/DishwasherMode.js +35 -15
  160. package/dist/cjs/standard/elements/DishwasherMode.js.map +2 -2
  161. package/dist/cjs/standard/elements/DoorLock.d.ts.map +1 -1
  162. package/dist/cjs/standard/elements/DoorLock.js +505 -629
  163. package/dist/cjs/standard/elements/DoorLock.js.map +1 -1
  164. package/dist/cjs/standard/elements/DoorLockControllerDT.js +1 -1
  165. package/dist/cjs/standard/elements/DoorLockControllerDT.js.map +1 -1
  166. package/dist/cjs/standard/elements/DoorLockDT.js +2 -2
  167. package/dist/cjs/standard/elements/DoorLockDT.js.map +1 -1
  168. package/dist/{esm/standard/elements/PulseWidthModulation.d.ts → cjs/standard/elements/EcosystemInformation.d.ts} +2 -2
  169. package/dist/cjs/standard/elements/EcosystemInformation.d.ts.map +1 -0
  170. package/dist/cjs/standard/elements/EcosystemInformation.js +147 -0
  171. package/dist/cjs/standard/elements/EcosystemInformation.js.map +6 -0
  172. package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.d.ts.map +1 -1
  173. package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.js +9 -18
  174. package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.js.map +1 -1
  175. package/dist/cjs/standard/elements/ElectricalMeasurementNS.js +1 -1
  176. package/dist/cjs/standard/elements/ElectricalPowerMeasurement.js +5 -5
  177. package/dist/cjs/standard/elements/ElectricalPowerMeasurement.js.map +1 -1
  178. package/dist/cjs/standard/elements/EnergyEvse.d.ts.map +1 -1
  179. package/dist/cjs/standard/elements/EnergyEvse.js +98 -51
  180. package/dist/cjs/standard/elements/EnergyEvse.js.map +1 -1
  181. package/dist/cjs/standard/elements/EnergyEvseDT.d.ts +8 -0
  182. package/dist/cjs/standard/elements/EnergyEvseDT.d.ts.map +1 -0
  183. package/dist/cjs/standard/elements/EnergyEvseDT.js +74 -0
  184. package/dist/cjs/standard/elements/EnergyEvseDT.js.map +6 -0
  185. package/dist/cjs/standard/elements/EnergyEvseMode.d.ts.map +1 -1
  186. package/dist/cjs/standard/elements/EnergyEvseMode.js +49 -8
  187. package/dist/cjs/standard/elements/EnergyEvseMode.js.map +2 -2
  188. package/dist/cjs/standard/elements/EnergyPreference.d.ts.map +1 -1
  189. package/dist/cjs/standard/elements/EnergyPreference.js +22 -19
  190. package/dist/cjs/standard/elements/EnergyPreference.js.map +1 -1
  191. package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
  192. package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js +1 -1
  193. package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
  194. package/dist/cjs/standard/elements/EventList.d.ts.map +1 -1
  195. package/dist/cjs/standard/elements/EventList.js +1 -12
  196. package/dist/cjs/standard/elements/EventList.js.map +2 -2
  197. package/dist/cjs/standard/elements/FabricIndex.js +1 -1
  198. package/dist/cjs/standard/elements/FanControl.js +8 -10
  199. package/dist/cjs/standard/elements/FanControl.js.map +1 -1
  200. package/dist/cjs/standard/elements/FanDT.d.ts.map +1 -1
  201. package/dist/cjs/standard/elements/FanDT.js +8 -1
  202. package/dist/cjs/standard/elements/FanDT.js.map +1 -1
  203. package/dist/cjs/standard/elements/FeatureMap.d.ts.map +1 -1
  204. package/dist/cjs/standard/elements/FeatureMap.js +1 -1
  205. package/dist/cjs/standard/elements/FeatureMap.js.map +1 -1
  206. package/dist/cjs/standard/elements/FixedLabel.d.ts.map +1 -1
  207. package/dist/cjs/standard/elements/FixedLabel.js +1 -1
  208. package/dist/cjs/standard/elements/FixedLabel.js.map +1 -1
  209. package/dist/cjs/standard/elements/FlowMeasurement.d.ts.map +1 -1
  210. package/dist/cjs/standard/elements/FlowMeasurement.js +6 -6
  211. package/dist/cjs/standard/elements/FlowMeasurement.js.map +1 -1
  212. package/dist/cjs/standard/elements/GeneralCommissioning.d.ts.map +1 -1
  213. package/dist/cjs/standard/elements/GeneralCommissioning.js +162 -38
  214. package/dist/cjs/standard/elements/GeneralCommissioning.js.map +2 -2
  215. package/dist/cjs/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
  216. package/dist/cjs/standard/elements/GeneralDiagnostics.js +12 -13
  217. package/dist/cjs/standard/elements/GeneralDiagnostics.js.map +1 -1
  218. package/dist/cjs/standard/elements/GeneratedCommandList.d.ts.map +1 -1
  219. package/dist/cjs/standard/elements/GeneratedCommandList.js +1 -1
  220. package/dist/cjs/standard/elements/GeneratedCommandList.js.map +1 -1
  221. package/dist/cjs/standard/elements/GroupKeyManagement.d.ts.map +1 -1
  222. package/dist/cjs/standard/elements/GroupKeyManagement.js +13 -12
  223. package/dist/cjs/standard/elements/GroupKeyManagement.js.map +1 -1
  224. package/dist/cjs/standard/elements/Groups.d.ts.map +1 -1
  225. package/dist/cjs/standard/elements/Groups.js +1 -1
  226. package/dist/cjs/standard/elements/Groups.js.map +1 -1
  227. package/dist/cjs/standard/elements/HeatPumpDT.d.ts +8 -0
  228. package/dist/cjs/standard/elements/HeatPumpDT.d.ts.map +1 -0
  229. package/dist/cjs/standard/elements/HeatPumpDT.js +60 -0
  230. package/dist/cjs/standard/elements/HeatPumpDT.js.map +6 -0
  231. package/dist/cjs/standard/elements/IcdManagement.d.ts.map +1 -1
  232. package/dist/cjs/standard/elements/IcdManagement.js +74 -20
  233. package/dist/cjs/standard/elements/IcdManagement.js.map +1 -1
  234. package/dist/cjs/standard/elements/Identify.js +5 -5
  235. package/dist/cjs/standard/elements/IlluminanceMeasurement.d.ts.map +1 -1
  236. package/dist/cjs/standard/elements/IlluminanceMeasurement.js +7 -7
  237. package/dist/cjs/standard/elements/IlluminanceMeasurement.js.map +1 -1
  238. package/dist/cjs/standard/elements/JointFabricAdministratorDT.d.ts +8 -0
  239. package/dist/cjs/standard/elements/JointFabricAdministratorDT.d.ts.map +1 -0
  240. package/dist/cjs/standard/elements/JointFabricAdministratorDT.js +60 -0
  241. package/dist/cjs/standard/elements/JointFabricAdministratorDT.js.map +6 -0
  242. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.d.ts +8 -0
  243. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.d.ts.map +1 -0
  244. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.js +687 -0
  245. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.js.map +6 -0
  246. package/dist/cjs/standard/elements/JointFabricPki.d.ts +8 -0
  247. package/dist/cjs/standard/elements/JointFabricPki.d.ts.map +1 -0
  248. package/dist/cjs/standard/elements/JointFabricPki.js +167 -0
  249. package/dist/cjs/standard/elements/JointFabricPki.js.map +6 -0
  250. package/dist/cjs/standard/elements/KeypadInput.d.ts.map +1 -1
  251. package/dist/cjs/standard/elements/KeypadInput.js +1 -1
  252. package/dist/cjs/standard/elements/KeypadInput.js.map +1 -1
  253. package/dist/cjs/standard/elements/LandmarkNamespaceNS.d.ts +8 -0
  254. package/dist/cjs/standard/elements/LandmarkNamespaceNS.d.ts.map +1 -0
  255. package/dist/cjs/standard/elements/LandmarkNamespaceNS.js +91 -0
  256. package/dist/cjs/standard/elements/LandmarkNamespaceNS.js.map +6 -0
  257. package/dist/cjs/standard/elements/LaundryDryerControls.js +2 -1
  258. package/dist/cjs/standard/elements/LaundryDryerControls.js.map +1 -1
  259. package/dist/cjs/standard/elements/LaundryNS.js +1 -1
  260. package/dist/cjs/standard/elements/LaundryWasherControls.d.ts.map +1 -1
  261. package/dist/cjs/standard/elements/LaundryWasherControls.js +8 -8
  262. package/dist/cjs/standard/elements/LaundryWasherControls.js.map +1 -1
  263. package/dist/cjs/standard/elements/LaundryWasherMode.d.ts.map +1 -1
  264. package/dist/cjs/standard/elements/LaundryWasherMode.js +36 -16
  265. package/dist/cjs/standard/elements/LaundryWasherMode.js.map +2 -2
  266. package/dist/cjs/standard/elements/LevelControl.d.ts.map +1 -1
  267. package/dist/cjs/standard/elements/LevelControl.js +14 -13
  268. package/dist/cjs/standard/elements/LevelControl.js.map +1 -1
  269. package/dist/cjs/standard/elements/LocalizationConfiguration.d.ts.map +1 -1
  270. package/dist/cjs/standard/elements/LocalizationConfiguration.js +11 -13
  271. package/dist/cjs/standard/elements/LocalizationConfiguration.js.map +1 -1
  272. package/dist/cjs/standard/elements/MediaInput.d.ts.map +1 -1
  273. package/dist/cjs/standard/elements/MediaInput.js +1 -1
  274. package/dist/cjs/standard/elements/MediaInput.js.map +1 -1
  275. package/dist/cjs/standard/elements/MediaPlayback.d.ts.map +1 -1
  276. package/dist/cjs/standard/elements/MediaPlayback.js +3 -2
  277. package/dist/cjs/standard/elements/MediaPlayback.js.map +1 -1
  278. package/dist/cjs/standard/elements/MicrowaveOvenControl.d.ts.map +1 -1
  279. package/dist/cjs/standard/elements/MicrowaveOvenControl.js +12 -12
  280. package/dist/cjs/standard/elements/MicrowaveOvenControl.js.map +1 -1
  281. package/dist/cjs/standard/elements/MicrowaveOvenMode.d.ts.map +1 -1
  282. package/dist/cjs/standard/elements/MicrowaveOvenMode.js +37 -12
  283. package/dist/cjs/standard/elements/MicrowaveOvenMode.js.map +2 -2
  284. package/dist/cjs/standard/elements/ModeBase.d.ts.map +1 -1
  285. package/dist/cjs/standard/elements/ModeBase.js +18 -69
  286. package/dist/cjs/standard/elements/ModeBase.js.map +1 -1
  287. package/dist/cjs/standard/elements/ModeSelect.js +10 -10
  288. package/dist/cjs/standard/elements/ModeSelect.js.map +1 -1
  289. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts +8 -0
  290. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -0
  291. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.js +104 -0
  292. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.js.map +6 -0
  293. package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts +8 -0
  294. package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts.map +1 -0
  295. package/dist/cjs/standard/elements/MountedOnOffControlDT.js +104 -0
  296. package/dist/cjs/standard/elements/MountedOnOffControlDT.js.map +6 -0
  297. package/dist/cjs/standard/elements/NetworkCommissioning.d.ts.map +1 -1
  298. package/dist/cjs/standard/elements/NetworkCommissioning.js +50 -37
  299. package/dist/cjs/standard/elements/NetworkCommissioning.js.map +1 -1
  300. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts +8 -0
  301. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -0
  302. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.js +67 -0
  303. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.js.map +6 -0
  304. package/dist/cjs/standard/elements/OccupancySensing.d.ts.map +1 -1
  305. package/dist/cjs/standard/elements/OccupancySensing.js +194 -41
  306. package/dist/cjs/standard/elements/OccupancySensing.js.map +2 -2
  307. package/dist/cjs/standard/elements/OccupancySensorDT.d.ts.map +1 -1
  308. package/dist/cjs/standard/elements/OccupancySensorDT.js +8 -1
  309. package/dist/cjs/standard/elements/OccupancySensorDT.js.map +1 -1
  310. package/dist/cjs/standard/elements/OnOff.d.ts.map +1 -1
  311. package/dist/cjs/standard/elements/OnOff.js +1 -1
  312. package/dist/cjs/standard/elements/OnOff.js.map +1 -1
  313. package/dist/cjs/standard/elements/OperationalCredentials.d.ts.map +1 -1
  314. package/dist/cjs/standard/elements/OperationalCredentials.js +7 -7
  315. package/dist/cjs/standard/elements/OperationalCredentials.js.map +1 -1
  316. package/dist/cjs/standard/elements/OperationalState.d.ts.map +1 -1
  317. package/dist/cjs/standard/elements/OperationalState.js +22 -22
  318. package/dist/cjs/standard/elements/OperationalState.js.map +1 -1
  319. package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.d.ts.map +1 -1
  320. package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js +11 -12
  321. package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js.map +1 -1
  322. package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
  323. package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.js +2 -1
  324. package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.js.map +1 -1
  325. package/dist/cjs/standard/elements/OvenCavityOperationalState.d.ts.map +1 -1
  326. package/dist/cjs/standard/elements/OvenCavityOperationalState.js +7 -2
  327. package/dist/cjs/standard/elements/OvenCavityOperationalState.js.map +2 -2
  328. package/dist/cjs/standard/elements/OvenDT.js +1 -1
  329. package/dist/cjs/standard/elements/OvenMode.d.ts.map +1 -1
  330. package/dist/cjs/standard/elements/OvenMode.js +47 -12
  331. package/dist/cjs/standard/elements/OvenMode.js.map +2 -2
  332. package/dist/cjs/standard/elements/PowerSource.d.ts.map +1 -1
  333. package/dist/cjs/standard/elements/PowerSource.js +12 -12
  334. package/dist/cjs/standard/elements/PowerSource.js.map +1 -1
  335. package/dist/cjs/standard/elements/PowerSourceNS.js +5 -5
  336. package/dist/cjs/standard/elements/PressureMeasurement.js +7 -7
  337. package/dist/cjs/standard/elements/PressureMeasurement.js.map +1 -1
  338. package/dist/cjs/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
  339. package/dist/cjs/standard/elements/PumpConfigurationAndControl.js +9 -19
  340. package/dist/cjs/standard/elements/PumpConfigurationAndControl.js.map +1 -1
  341. package/dist/cjs/standard/elements/PumpControllerDT.d.ts.map +1 -1
  342. package/dist/cjs/standard/elements/PumpControllerDT.js +1 -8
  343. package/dist/cjs/standard/elements/PumpControllerDT.js.map +1 -1
  344. package/dist/cjs/standard/elements/PumpDT.js +14 -14
  345. package/dist/cjs/standard/elements/RefrigeratorAlarm.d.ts.map +1 -1
  346. package/dist/cjs/standard/elements/RefrigeratorAlarm.js +1 -1
  347. package/dist/cjs/standard/elements/RefrigeratorAlarm.js.map +1 -1
  348. package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
  349. package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js +36 -10
  350. package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js.map +2 -2
  351. package/dist/cjs/standard/elements/RefrigeratorDT.js +1 -1
  352. package/dist/cjs/standard/elements/RefrigeratorNS.js +1 -1
  353. package/dist/cjs/standard/elements/RelativeHumidityMeasurement.d.ts.map +1 -1
  354. package/dist/cjs/standard/elements/RelativeHumidityMeasurement.js +3 -3
  355. package/dist/cjs/standard/elements/RelativeHumidityMeasurement.js.map +1 -1
  356. package/dist/cjs/standard/elements/RelativePositionNS.d.ts +8 -0
  357. package/dist/cjs/standard/elements/RelativePositionNS.d.ts.map +1 -0
  358. package/dist/cjs/standard/elements/RelativePositionNS.js +47 -0
  359. package/dist/cjs/standard/elements/RelativePositionNS.js.map +6 -0
  360. package/dist/cjs/standard/elements/ResourceMonitoring.d.ts.map +1 -1
  361. package/dist/cjs/standard/elements/ResourceMonitoring.js +1 -1
  362. package/dist/cjs/standard/elements/ResourceMonitoring.js.map +1 -1
  363. package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.d.ts.map +1 -1
  364. package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.js +8 -1
  365. package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.js.map +1 -1
  366. package/dist/cjs/standard/elements/RoomAirConditionerNS.js +1 -1
  367. package/dist/cjs/standard/elements/RootNodeDT.d.ts.map +1 -1
  368. package/dist/cjs/standard/elements/RootNodeDT.js +20 -15
  369. package/dist/cjs/standard/elements/RootNodeDT.js.map +1 -1
  370. package/dist/cjs/standard/elements/RvcCleanMode.d.ts.map +1 -1
  371. package/dist/cjs/standard/elements/RvcCleanMode.js +30 -5
  372. package/dist/cjs/standard/elements/RvcCleanMode.js.map +2 -2
  373. package/dist/cjs/standard/elements/RvcOperationalState.d.ts.map +1 -1
  374. package/dist/cjs/standard/elements/RvcOperationalState.js +28 -5
  375. package/dist/cjs/standard/elements/RvcOperationalState.js.map +1 -1
  376. package/dist/cjs/standard/elements/RvcRunMode.d.ts.map +1 -1
  377. package/dist/cjs/standard/elements/RvcRunMode.js +30 -5
  378. package/dist/cjs/standard/elements/RvcRunMode.js.map +2 -2
  379. package/dist/cjs/standard/elements/ScenesManagement.d.ts.map +1 -1
  380. package/dist/cjs/standard/elements/ScenesManagement.js +4 -4
  381. package/dist/cjs/standard/elements/ScenesManagement.js.map +1 -1
  382. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.d.ts +8 -0
  383. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.d.ts.map +1 -0
  384. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.js +74 -0
  385. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.js.map +6 -0
  386. package/dist/cjs/standard/elements/ServiceArea.d.ts +8 -0
  387. package/dist/cjs/standard/elements/ServiceArea.d.ts.map +1 -0
  388. package/dist/cjs/standard/elements/ServiceArea.js +455 -0
  389. package/dist/cjs/standard/elements/ServiceArea.js.map +6 -0
  390. package/dist/cjs/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
  391. package/dist/cjs/standard/elements/SmokeCoAlarm.js +13 -17
  392. package/dist/cjs/standard/elements/SmokeCoAlarm.js.map +1 -1
  393. package/dist/cjs/standard/elements/SoftwareVersionCertificationStatusEnum.js +1 -1
  394. package/dist/cjs/standard/elements/SolarPowerDT.d.ts +8 -0
  395. package/dist/cjs/standard/elements/SolarPowerDT.d.ts.map +1 -0
  396. package/dist/cjs/standard/elements/SolarPowerDT.js +53 -0
  397. package/dist/cjs/standard/elements/SolarPowerDT.js.map +6 -0
  398. package/dist/cjs/standard/elements/Switch.d.ts.map +1 -1
  399. package/dist/cjs/standard/elements/Switch.js +39 -25
  400. package/dist/cjs/standard/elements/Switch.js.map +1 -1
  401. package/dist/cjs/standard/elements/SwitchesNS.js +2 -2
  402. package/dist/cjs/standard/elements/TargetNavigator.js +2 -1
  403. package/dist/cjs/standard/elements/TargetNavigator.js.map +1 -1
  404. package/dist/cjs/standard/elements/TemperatureControl.js +3 -3
  405. package/dist/cjs/standard/elements/TemperatureControl.js.map +1 -1
  406. package/dist/cjs/standard/elements/TemperatureControlledCabinetDT.js +1 -1
  407. package/dist/cjs/standard/elements/TemperatureMeasurement.js +3 -3
  408. package/dist/cjs/standard/elements/TemperatureMeasurement.js.map +1 -1
  409. package/dist/cjs/standard/elements/Thermostat.d.ts.map +1 -1
  410. package/dist/cjs/standard/elements/Thermostat.js +673 -124
  411. package/dist/cjs/standard/elements/Thermostat.js.map +1 -1
  412. package/dist/cjs/standard/elements/ThermostatDT.d.ts.map +1 -1
  413. package/dist/cjs/standard/elements/ThermostatDT.js +20 -35
  414. package/dist/cjs/standard/elements/ThermostatDT.js.map +1 -1
  415. package/dist/cjs/standard/elements/ThermostatUserInterfaceConfiguration.js +0 -3
  416. package/dist/cjs/standard/elements/ThermostatUserInterfaceConfiguration.js.map +1 -1
  417. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.d.ts +8 -0
  418. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.d.ts.map +1 -0
  419. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.js +198 -0
  420. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.js.map +6 -0
  421. package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
  422. package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js +26 -8
  423. package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
  424. package/dist/cjs/standard/elements/ThreadNetworkDirectory.d.ts +8 -0
  425. package/dist/cjs/standard/elements/ThreadNetworkDirectory.d.ts.map +1 -0
  426. package/dist/cjs/standard/elements/ThreadNetworkDirectory.js +181 -0
  427. package/dist/cjs/standard/elements/ThreadNetworkDirectory.js.map +6 -0
  428. package/dist/cjs/standard/elements/TimeFormatLocalization.js +1 -1
  429. package/dist/cjs/standard/elements/TimeSynchronization.d.ts.map +1 -1
  430. package/dist/cjs/standard/elements/TimeSynchronization.js +23 -11
  431. package/dist/cjs/standard/elements/TimeSynchronization.js.map +1 -1
  432. package/dist/cjs/standard/elements/UnitLocalization.d.ts.map +1 -1
  433. package/dist/cjs/standard/elements/UnitLocalization.js +1 -1
  434. package/dist/cjs/standard/elements/UnitLocalization.js.map +1 -1
  435. package/dist/cjs/standard/elements/UserLabel.d.ts.map +1 -1
  436. package/dist/cjs/standard/elements/UserLabel.js +1 -1
  437. package/dist/cjs/standard/elements/UserLabel.js.map +1 -1
  438. package/dist/cjs/standard/elements/ValidProxies.js +0 -1
  439. package/dist/cjs/standard/elements/ValidProxies.js.map +1 -1
  440. package/dist/cjs/standard/elements/ValveConfigurationAndControl.js +1 -0
  441. package/dist/cjs/standard/elements/ValveConfigurationAndControl.js.map +1 -1
  442. package/dist/cjs/standard/elements/WaterHeaterDT.d.ts +8 -0
  443. package/dist/cjs/standard/elements/WaterHeaterDT.d.ts.map +1 -0
  444. package/dist/cjs/standard/elements/WaterHeaterDT.js +77 -0
  445. package/dist/cjs/standard/elements/WaterHeaterDT.js.map +6 -0
  446. package/dist/cjs/standard/elements/WaterHeaterManagement.d.ts +8 -0
  447. package/dist/cjs/standard/elements/WaterHeaterManagement.d.ts.map +1 -0
  448. package/dist/cjs/standard/elements/WaterHeaterManagement.js +239 -0
  449. package/dist/cjs/standard/elements/WaterHeaterManagement.js.map +6 -0
  450. package/dist/cjs/standard/elements/WaterHeaterMode.d.ts +8 -0
  451. package/dist/cjs/standard/elements/WaterHeaterMode.d.ts.map +1 -0
  452. package/dist/cjs/standard/elements/WaterHeaterMode.js +100 -0
  453. package/dist/cjs/standard/elements/WaterHeaterMode.js.map +6 -0
  454. package/dist/cjs/standard/elements/WaterTankLevelMonitoring.d.ts +8 -0
  455. package/dist/cjs/standard/elements/WaterTankLevelMonitoring.d.ts.map +1 -0
  456. package/dist/cjs/standard/elements/{PulseWidthModulation.js → WaterTankLevelMonitoring.js} +9 -7
  457. package/dist/cjs/standard/elements/WaterTankLevelMonitoring.js.map +6 -0
  458. package/dist/cjs/standard/elements/WaterValveDT.js +5 -5
  459. package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.d.ts.map +1 -1
  460. package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.js +2 -2
  461. package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.js.map +1 -1
  462. package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts +8 -0
  463. package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts.map +1 -0
  464. package/dist/cjs/standard/elements/WiFiNetworkManagement.js +84 -0
  465. package/dist/cjs/standard/elements/WiFiNetworkManagement.js.map +6 -0
  466. package/dist/cjs/standard/elements/WindowCovering.js +35 -36
  467. package/dist/cjs/standard/elements/WindowCovering.js.map +1 -1
  468. package/dist/cjs/standard/elements/WindowCoveringControllerDT.d.ts.map +1 -1
  469. package/dist/cjs/standard/elements/WindowCoveringControllerDT.js +0 -7
  470. package/dist/cjs/standard/elements/WindowCoveringControllerDT.js.map +1 -1
  471. package/dist/cjs/standard/elements/WindowCoveringDT.d.ts.map +1 -1
  472. package/dist/cjs/standard/elements/WindowCoveringDT.js +4 -15
  473. package/dist/cjs/standard/elements/WindowCoveringDT.js.map +1 -1
  474. package/dist/cjs/standard/elements/action-id.js +1 -1
  475. package/dist/cjs/standard/elements/amperage-mA.js +1 -1
  476. package/dist/cjs/standard/elements/attrib-id.js +1 -1
  477. package/dist/cjs/standard/elements/bool.js +1 -1
  478. package/dist/cjs/standard/elements/cluster-id.js +1 -1
  479. package/dist/cjs/standard/elements/command-id.js +1 -1
  480. package/dist/cjs/standard/elements/data-ver.js +2 -2
  481. package/dist/cjs/standard/elements/date.js +5 -5
  482. package/dist/cjs/standard/elements/definitions.d.ts +27 -1
  483. package/dist/cjs/standard/elements/definitions.d.ts.map +1 -1
  484. package/dist/cjs/standard/elements/definitions.js +27 -1
  485. package/dist/cjs/standard/elements/definitions.js.map +1 -1
  486. package/dist/cjs/standard/elements/devtype-id.js +1 -1
  487. package/dist/cjs/standard/elements/double.js +1 -1
  488. package/dist/cjs/standard/elements/elapsed-s.js +1 -1
  489. package/dist/cjs/standard/elements/endpoint-no.d.ts.map +1 -1
  490. package/dist/cjs/standard/elements/endpoint-no.js +2 -2
  491. package/dist/cjs/standard/elements/endpoint-no.js.map +1 -1
  492. package/dist/cjs/standard/elements/energy-mWh.js +1 -1
  493. package/dist/cjs/standard/elements/entry-idx.js +1 -1
  494. package/dist/cjs/standard/elements/enum16.js +1 -1
  495. package/dist/cjs/standard/elements/enum8.js +1 -1
  496. package/dist/cjs/standard/elements/epoch-s.js +1 -1
  497. package/dist/cjs/standard/elements/epoch-us.js +1 -1
  498. package/dist/cjs/standard/elements/event-id.js +1 -1
  499. package/dist/cjs/standard/elements/event-no.js +1 -1
  500. package/dist/cjs/standard/elements/fabric-id.js +1 -1
  501. package/dist/cjs/standard/elements/fabric-idx.js +1 -1
  502. package/dist/cjs/standard/elements/field-id.js +1 -1
  503. package/dist/cjs/standard/elements/group-id.js +1 -1
  504. package/dist/cjs/standard/elements/hwadr.js +1 -1
  505. package/dist/cjs/standard/elements/int16.js +1 -1
  506. package/dist/cjs/standard/elements/int24.js +1 -1
  507. package/dist/cjs/standard/elements/int32.js +1 -1
  508. package/dist/cjs/standard/elements/int40.js +1 -1
  509. package/dist/cjs/standard/elements/int48.js +1 -1
  510. package/dist/cjs/standard/elements/int56.js +1 -1
  511. package/dist/cjs/standard/elements/int64.js +1 -1
  512. package/dist/cjs/standard/elements/int8.js +1 -1
  513. package/dist/cjs/standard/elements/ipadr.d.ts.map +1 -1
  514. package/dist/cjs/standard/elements/ipadr.js +1 -2
  515. package/dist/cjs/standard/elements/ipadr.js.map +1 -1
  516. package/dist/cjs/standard/elements/ipv4adr.js +1 -1
  517. package/dist/cjs/standard/elements/ipv6adr.js +1 -1
  518. package/dist/cjs/standard/elements/ipv6pre.js +1 -1
  519. package/dist/cjs/standard/elements/list.d.ts.map +1 -1
  520. package/dist/cjs/standard/elements/list.js +8 -10
  521. package/dist/cjs/standard/elements/list.js.map +1 -1
  522. package/dist/cjs/standard/elements/locationdesc.d.ts +8 -0
  523. package/dist/cjs/standard/elements/locationdesc.d.ts.map +1 -0
  524. package/dist/cjs/standard/elements/locationdesc.js +69 -0
  525. package/dist/cjs/standard/elements/locationdesc.js.map +6 -0
  526. package/dist/cjs/standard/elements/map16.js +1 -1
  527. package/dist/cjs/standard/elements/map32.js +1 -1
  528. package/dist/cjs/standard/elements/map64.js +1 -1
  529. package/dist/cjs/standard/elements/map8.js +1 -1
  530. package/dist/cjs/standard/elements/models.d.ts +27 -1
  531. package/dist/cjs/standard/elements/models.d.ts.map +1 -1
  532. package/dist/cjs/standard/elements/models.js +54 -2
  533. package/dist/cjs/standard/elements/models.js.map +1 -1
  534. package/dist/cjs/standard/elements/namespace.js +1 -1
  535. package/dist/cjs/standard/elements/node-id.js +1 -1
  536. package/dist/cjs/standard/elements/octstr.js +1 -1
  537. package/dist/cjs/standard/elements/percent.js +1 -1
  538. package/dist/cjs/standard/elements/percent100ths.js +1 -1
  539. package/dist/cjs/standard/elements/posix-ms.js +1 -1
  540. package/dist/cjs/standard/elements/power-mW.js +1 -1
  541. package/dist/cjs/standard/elements/priority.js +1 -1
  542. package/dist/cjs/standard/elements/semtag.js +5 -5
  543. package/dist/cjs/standard/elements/single.js +1 -1
  544. package/dist/cjs/standard/elements/status.d.ts.map +1 -1
  545. package/dist/cjs/standard/elements/status.js +19 -1
  546. package/dist/cjs/standard/elements/status.js.map +1 -1
  547. package/dist/cjs/standard/elements/string.js +1 -1
  548. package/dist/cjs/standard/elements/struct.js +1 -1
  549. package/dist/cjs/standard/elements/systime-ms.js +1 -1
  550. package/dist/cjs/standard/elements/systime-us.js +1 -1
  551. package/dist/cjs/standard/elements/tag.js +1 -1
  552. package/dist/cjs/standard/elements/temperature.js +1 -1
  553. package/dist/cjs/standard/elements/tod.js +1 -1
  554. package/dist/cjs/standard/elements/trans-id.js +1 -1
  555. package/dist/cjs/standard/elements/uint16.js +1 -1
  556. package/dist/cjs/standard/elements/uint24.js +1 -1
  557. package/dist/cjs/standard/elements/uint32.js +1 -1
  558. package/dist/cjs/standard/elements/uint40.js +1 -1
  559. package/dist/cjs/standard/elements/uint48.js +1 -1
  560. package/dist/cjs/standard/elements/uint56.js +1 -1
  561. package/dist/cjs/standard/elements/uint64.js +1 -1
  562. package/dist/cjs/standard/elements/uint8.js +1 -1
  563. package/dist/cjs/standard/elements/vendor-id.js +1 -1
  564. package/dist/cjs/standard/elements/voltage-mV.js +1 -1
  565. package/dist/esm/aspects/Conformance.d.ts +5 -3
  566. package/dist/esm/aspects/Conformance.d.ts.map +1 -1
  567. package/dist/esm/aspects/Conformance.js +24 -3
  568. package/dist/esm/aspects/Conformance.js.map +1 -1
  569. package/dist/esm/aspects/Quality.d.ts +9 -2
  570. package/dist/esm/aspects/Quality.d.ts.map +1 -1
  571. package/dist/esm/aspects/Quality.js +3 -1
  572. package/dist/esm/aspects/Quality.js.map +1 -1
  573. package/dist/esm/common/Specification.d.ts +3 -3
  574. package/dist/esm/common/Specification.d.ts.map +1 -1
  575. package/dist/esm/common/Specification.js +3 -3
  576. package/dist/esm/logic/cluster-variance/IllegalFeatureCombinations.js +82 -66
  577. package/dist/esm/logic/cluster-variance/IllegalFeatureCombinations.js.map +1 -1
  578. package/dist/esm/logic/cluster-variance/InferredComponents.js +24 -1
  579. package/dist/esm/logic/cluster-variance/InferredComponents.js.map +1 -1
  580. package/dist/esm/logic/definition-validation/ValueValidator.d.ts.map +1 -1
  581. package/dist/esm/logic/definition-validation/ValueValidator.js +11 -6
  582. package/dist/esm/logic/definition-validation/ValueValidator.js.map +1 -1
  583. package/dist/esm/models/AttributeModel.d.ts.map +1 -1
  584. package/dist/esm/models/AttributeModel.js +1 -4
  585. package/dist/esm/models/AttributeModel.js.map +1 -1
  586. package/dist/esm/models/ClusterModel.d.ts.map +1 -1
  587. package/dist/esm/models/ClusterModel.js +1 -3
  588. package/dist/esm/models/ClusterModel.js.map +1 -1
  589. package/dist/esm/models/CommandModel.d.ts.map +1 -1
  590. package/dist/esm/models/CommandModel.js +1 -4
  591. package/dist/esm/models/CommandModel.js.map +1 -1
  592. package/dist/esm/models/DatatypeModel.d.ts +1 -0
  593. package/dist/esm/models/DatatypeModel.d.ts.map +1 -1
  594. package/dist/esm/models/DatatypeModel.js +2 -4
  595. package/dist/esm/models/DatatypeModel.js.map +1 -1
  596. package/dist/esm/models/DeviceTypeModel.d.ts +1 -0
  597. package/dist/esm/models/DeviceTypeModel.d.ts.map +1 -1
  598. package/dist/esm/models/DeviceTypeModel.js +2 -3
  599. package/dist/esm/models/DeviceTypeModel.js.map +1 -1
  600. package/dist/esm/models/EndpointModel.d.ts +1 -0
  601. package/dist/esm/models/EndpointModel.d.ts.map +1 -1
  602. package/dist/esm/models/EndpointModel.js +2 -3
  603. package/dist/esm/models/EndpointModel.js.map +1 -1
  604. package/dist/esm/models/EventModel.d.ts.map +1 -1
  605. package/dist/esm/models/EventModel.js +1 -4
  606. package/dist/esm/models/EventModel.js.map +1 -1
  607. package/dist/esm/models/FabricModel.d.ts +1 -0
  608. package/dist/esm/models/FabricModel.d.ts.map +1 -1
  609. package/dist/esm/models/FabricModel.js +2 -3
  610. package/dist/esm/models/FabricModel.js.map +1 -1
  611. package/dist/esm/models/FieldModel.d.ts +1 -0
  612. package/dist/esm/models/FieldModel.d.ts.map +1 -1
  613. package/dist/esm/models/FieldModel.js +2 -4
  614. package/dist/esm/models/FieldModel.js.map +1 -1
  615. package/dist/esm/models/Globals.d.ts +27 -1
  616. package/dist/esm/models/Globals.d.ts.map +1 -1
  617. package/dist/esm/models/MatterModel.d.ts +1 -0
  618. package/dist/esm/models/MatterModel.d.ts.map +1 -1
  619. package/dist/esm/models/MatterModel.js +2 -4
  620. package/dist/esm/models/MatterModel.js.map +1 -1
  621. package/dist/esm/models/Model.d.ts +26 -2
  622. package/dist/esm/models/Model.d.ts.map +1 -1
  623. package/dist/esm/models/Model.js +45 -6
  624. package/dist/esm/models/Model.js.map +1 -1
  625. package/dist/esm/models/NodeModel.d.ts +1 -0
  626. package/dist/esm/models/NodeModel.d.ts.map +1 -1
  627. package/dist/esm/models/NodeModel.js +2 -3
  628. package/dist/esm/models/NodeModel.js.map +1 -1
  629. package/dist/esm/models/RequirementModel.d.ts +1 -0
  630. package/dist/esm/models/RequirementModel.d.ts.map +1 -1
  631. package/dist/esm/models/RequirementModel.js +2 -3
  632. package/dist/esm/models/RequirementModel.js.map +1 -1
  633. package/dist/esm/models/SemanticNamespaceModel.d.ts +1 -0
  634. package/dist/esm/models/SemanticNamespaceModel.d.ts.map +1 -1
  635. package/dist/esm/models/SemanticNamespaceModel.js +2 -3
  636. package/dist/esm/models/SemanticNamespaceModel.js.map +1 -1
  637. package/dist/esm/models/SemanticTagModel.d.ts +1 -0
  638. package/dist/esm/models/SemanticTagModel.d.ts.map +1 -1
  639. package/dist/esm/models/SemanticTagModel.js +2 -3
  640. package/dist/esm/models/SemanticTagModel.js.map +1 -1
  641. package/dist/esm/standard/elements/AcceptedCommandList.d.ts.map +1 -1
  642. package/dist/esm/standard/elements/AcceptedCommandList.js +1 -1
  643. package/dist/esm/standard/elements/AcceptedCommandList.js.map +1 -1
  644. package/dist/esm/standard/elements/AccessControl.d.ts.map +1 -1
  645. package/dist/esm/standard/elements/AccessControl.js +299 -37
  646. package/dist/esm/standard/elements/AccessControl.js.map +1 -1
  647. package/dist/esm/standard/elements/Actions.d.ts.map +1 -1
  648. package/dist/esm/standard/elements/Actions.js +6 -6
  649. package/dist/esm/standard/elements/Actions.js.map +1 -1
  650. package/dist/esm/standard/elements/AdministratorCommissioning.d.ts.map +1 -1
  651. package/dist/esm/standard/elements/AdministratorCommissioning.js +18 -12
  652. package/dist/esm/standard/elements/AdministratorCommissioning.js.map +1 -1
  653. package/dist/esm/standard/elements/AggregatorDT.d.ts.map +1 -1
  654. package/dist/esm/standard/elements/AggregatorDT.js +23 -4
  655. package/dist/esm/standard/elements/AggregatorDT.js.map +1 -1
  656. package/dist/esm/standard/elements/AirPurifierDT.d.ts.map +1 -1
  657. package/dist/esm/standard/elements/AirPurifierDT.js +8 -1
  658. package/dist/esm/standard/elements/AirPurifierDT.js.map +1 -1
  659. package/dist/esm/standard/elements/AlarmBase.d.ts.map +1 -1
  660. package/dist/esm/standard/elements/AlarmBase.js +1 -1
  661. package/dist/esm/standard/elements/AlarmBase.js.map +1 -1
  662. package/dist/esm/standard/elements/ApplicationLauncher.d.ts.map +1 -1
  663. package/dist/esm/standard/elements/ApplicationLauncher.js +12 -4
  664. package/dist/esm/standard/elements/ApplicationLauncher.js.map +1 -1
  665. package/dist/esm/standard/elements/AreaNamespaceNS.d.ts +8 -0
  666. package/dist/esm/standard/elements/AreaNamespaceNS.d.ts.map +1 -0
  667. package/dist/esm/standard/elements/AreaNamespaceNS.js +130 -0
  668. package/dist/esm/standard/elements/AreaNamespaceNS.js.map +6 -0
  669. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.d.ts +8 -0
  670. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.d.ts.map +1 -0
  671. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.js +36 -0
  672. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.js.map +6 -0
  673. package/dist/esm/standard/elements/AtomicRequestTypeEnum.d.ts +8 -0
  674. package/dist/esm/standard/elements/AtomicRequestTypeEnum.d.ts.map +1 -0
  675. package/dist/esm/standard/elements/AtomicRequestTypeEnum.js +23 -0
  676. package/dist/esm/standard/elements/AtomicRequestTypeEnum.js.map +6 -0
  677. package/dist/esm/standard/elements/BallastConfiguration.js +1 -1
  678. package/dist/esm/standard/elements/BasicInformation.d.ts.map +1 -1
  679. package/dist/esm/standard/elements/BasicInformation.js +17 -19
  680. package/dist/esm/standard/elements/BasicInformation.js.map +1 -1
  681. package/dist/esm/standard/elements/BatteryStorageDT.d.ts +8 -0
  682. package/dist/esm/standard/elements/BatteryStorageDT.d.ts.map +1 -0
  683. package/dist/esm/standard/elements/BatteryStorageDT.js +33 -0
  684. package/dist/esm/standard/elements/BatteryStorageDT.js.map +6 -0
  685. package/dist/esm/standard/elements/BooleanStateConfiguration.js +2 -2
  686. package/dist/esm/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
  687. package/dist/esm/standard/elements/BridgedDeviceBasicInformation.js +104 -32
  688. package/dist/esm/standard/elements/BridgedDeviceBasicInformation.js.map +1 -1
  689. package/dist/esm/standard/elements/BridgedNodeDT.d.ts.map +1 -1
  690. package/dist/esm/standard/elements/BridgedNodeDT.js +29 -3
  691. package/dist/esm/standard/elements/BridgedNodeDT.js.map +1 -1
  692. package/dist/esm/standard/elements/Channel.d.ts.map +1 -1
  693. package/dist/esm/standard/elements/Channel.js +13 -14
  694. package/dist/esm/standard/elements/Channel.js.map +1 -1
  695. package/dist/esm/standard/elements/ColorControl.d.ts.map +1 -1
  696. package/dist/esm/standard/elements/ColorControl.js +607 -478
  697. package/dist/esm/standard/elements/ColorControl.js.map +1 -1
  698. package/dist/esm/standard/elements/CommissionerControl.d.ts +8 -0
  699. package/dist/esm/standard/elements/CommissionerControl.d.ts.map +1 -0
  700. package/dist/esm/standard/elements/CommissionerControl.js +117 -0
  701. package/dist/esm/standard/elements/CommissionerControl.js.map +6 -0
  702. package/dist/esm/standard/elements/ConcentrationMeasurement.js +0 -1
  703. package/dist/esm/standard/elements/ConcentrationMeasurement.js.map +1 -1
  704. package/dist/esm/standard/elements/ContentControl.d.ts.map +1 -1
  705. package/dist/esm/standard/elements/ContentControl.js +34 -39
  706. package/dist/esm/standard/elements/ContentControl.js.map +1 -1
  707. package/dist/esm/standard/elements/ContentLauncher.d.ts.map +1 -1
  708. package/dist/esm/standard/elements/ContentLauncher.js +13 -11
  709. package/dist/esm/standard/elements/ContentLauncher.js.map +1 -1
  710. package/dist/esm/standard/elements/DeviceEnergyManagement.d.ts.map +1 -1
  711. package/dist/esm/standard/elements/DeviceEnergyManagement.js +154 -118
  712. package/dist/esm/standard/elements/DeviceEnergyManagement.js.map +1 -1
  713. package/dist/esm/standard/elements/DeviceEnergyManagementDT.d.ts.map +1 -1
  714. package/dist/esm/standard/elements/DeviceEnergyManagementDT.js +31 -12
  715. package/dist/esm/standard/elements/DeviceEnergyManagementDT.js.map +1 -1
  716. package/dist/esm/standard/elements/DeviceEnergyManagementMode.d.ts.map +1 -1
  717. package/dist/esm/standard/elements/DeviceEnergyManagementMode.js +40 -11
  718. package/dist/esm/standard/elements/DeviceEnergyManagementMode.js.map +1 -1
  719. package/dist/esm/standard/elements/DishwasherAlarm.d.ts.map +1 -1
  720. package/dist/esm/standard/elements/DishwasherAlarm.js +1 -1
  721. package/dist/esm/standard/elements/DishwasherAlarm.js.map +1 -1
  722. package/dist/esm/standard/elements/DishwasherMode.d.ts.map +1 -1
  723. package/dist/esm/standard/elements/DishwasherMode.js +37 -17
  724. package/dist/esm/standard/elements/DishwasherMode.js.map +1 -1
  725. package/dist/esm/standard/elements/DoorLock.d.ts.map +1 -1
  726. package/dist/esm/standard/elements/DoorLock.js +505 -629
  727. package/dist/esm/standard/elements/DoorLock.js.map +1 -1
  728. package/dist/esm/standard/elements/DoorLockControllerDT.js +1 -1
  729. package/dist/esm/standard/elements/DoorLockControllerDT.js.map +1 -1
  730. package/dist/esm/standard/elements/DoorLockDT.js +2 -2
  731. package/dist/esm/standard/elements/DoorLockDT.js.map +1 -1
  732. package/dist/esm/standard/elements/EcosystemInformation.d.ts +8 -0
  733. package/dist/esm/standard/elements/EcosystemInformation.d.ts.map +1 -0
  734. package/dist/esm/standard/elements/EcosystemInformation.js +132 -0
  735. package/dist/esm/standard/elements/EcosystemInformation.js.map +6 -0
  736. package/dist/esm/standard/elements/ElectricalEnergyMeasurement.d.ts.map +1 -1
  737. package/dist/esm/standard/elements/ElectricalEnergyMeasurement.js +9 -18
  738. package/dist/esm/standard/elements/ElectricalEnergyMeasurement.js.map +1 -1
  739. package/dist/esm/standard/elements/ElectricalMeasurementNS.js +1 -1
  740. package/dist/esm/standard/elements/ElectricalPowerMeasurement.js +5 -5
  741. package/dist/esm/standard/elements/ElectricalPowerMeasurement.js.map +1 -1
  742. package/dist/esm/standard/elements/EnergyEvse.d.ts.map +1 -1
  743. package/dist/esm/standard/elements/EnergyEvse.js +98 -51
  744. package/dist/esm/standard/elements/EnergyEvse.js.map +1 -1
  745. package/dist/esm/standard/elements/EnergyEvseDT.d.ts +8 -0
  746. package/dist/esm/standard/elements/EnergyEvseDT.d.ts.map +1 -0
  747. package/dist/esm/standard/elements/EnergyEvseDT.js +54 -0
  748. package/dist/esm/standard/elements/EnergyEvseDT.js.map +6 -0
  749. package/dist/esm/standard/elements/EnergyEvseMode.d.ts.map +1 -1
  750. package/dist/esm/standard/elements/EnergyEvseMode.js +51 -10
  751. package/dist/esm/standard/elements/EnergyEvseMode.js.map +1 -1
  752. package/dist/esm/standard/elements/EnergyPreference.d.ts.map +1 -1
  753. package/dist/esm/standard/elements/EnergyPreference.js +22 -19
  754. package/dist/esm/standard/elements/EnergyPreference.js.map +1 -1
  755. package/dist/esm/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
  756. package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js +1 -1
  757. package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
  758. package/dist/esm/standard/elements/EventList.d.ts.map +1 -1
  759. package/dist/esm/standard/elements/EventList.js +2 -13
  760. package/dist/esm/standard/elements/EventList.js.map +1 -1
  761. package/dist/esm/standard/elements/FabricIndex.js +1 -1
  762. package/dist/esm/standard/elements/FanControl.js +8 -10
  763. package/dist/esm/standard/elements/FanControl.js.map +1 -1
  764. package/dist/esm/standard/elements/FanDT.d.ts.map +1 -1
  765. package/dist/esm/standard/elements/FanDT.js +8 -1
  766. package/dist/esm/standard/elements/FanDT.js.map +1 -1
  767. package/dist/esm/standard/elements/FeatureMap.d.ts.map +1 -1
  768. package/dist/esm/standard/elements/FeatureMap.js +1 -1
  769. package/dist/esm/standard/elements/FeatureMap.js.map +1 -1
  770. package/dist/esm/standard/elements/FixedLabel.d.ts.map +1 -1
  771. package/dist/esm/standard/elements/FixedLabel.js +1 -1
  772. package/dist/esm/standard/elements/FixedLabel.js.map +1 -1
  773. package/dist/esm/standard/elements/FlowMeasurement.d.ts.map +1 -1
  774. package/dist/esm/standard/elements/FlowMeasurement.js +6 -6
  775. package/dist/esm/standard/elements/FlowMeasurement.js.map +1 -1
  776. package/dist/esm/standard/elements/GeneralCommissioning.d.ts.map +1 -1
  777. package/dist/esm/standard/elements/GeneralCommissioning.js +163 -39
  778. package/dist/esm/standard/elements/GeneralCommissioning.js.map +1 -1
  779. package/dist/esm/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
  780. package/dist/esm/standard/elements/GeneralDiagnostics.js +12 -13
  781. package/dist/esm/standard/elements/GeneralDiagnostics.js.map +1 -1
  782. package/dist/esm/standard/elements/GeneratedCommandList.d.ts.map +1 -1
  783. package/dist/esm/standard/elements/GeneratedCommandList.js +1 -1
  784. package/dist/esm/standard/elements/GeneratedCommandList.js.map +1 -1
  785. package/dist/esm/standard/elements/GroupKeyManagement.d.ts.map +1 -1
  786. package/dist/esm/standard/elements/GroupKeyManagement.js +13 -12
  787. package/dist/esm/standard/elements/GroupKeyManagement.js.map +1 -1
  788. package/dist/esm/standard/elements/Groups.d.ts.map +1 -1
  789. package/dist/esm/standard/elements/Groups.js +1 -1
  790. package/dist/esm/standard/elements/Groups.js.map +1 -1
  791. package/dist/esm/standard/elements/HeatPumpDT.d.ts +8 -0
  792. package/dist/esm/standard/elements/HeatPumpDT.d.ts.map +1 -0
  793. package/dist/esm/standard/elements/HeatPumpDT.js +40 -0
  794. package/dist/esm/standard/elements/HeatPumpDT.js.map +6 -0
  795. package/dist/esm/standard/elements/IcdManagement.d.ts.map +1 -1
  796. package/dist/esm/standard/elements/IcdManagement.js +74 -20
  797. package/dist/esm/standard/elements/IcdManagement.js.map +1 -1
  798. package/dist/esm/standard/elements/Identify.js +5 -5
  799. package/dist/esm/standard/elements/IlluminanceMeasurement.d.ts.map +1 -1
  800. package/dist/esm/standard/elements/IlluminanceMeasurement.js +7 -7
  801. package/dist/esm/standard/elements/IlluminanceMeasurement.js.map +1 -1
  802. package/dist/esm/standard/elements/JointFabricAdministratorDT.d.ts +8 -0
  803. package/dist/esm/standard/elements/JointFabricAdministratorDT.d.ts.map +1 -0
  804. package/dist/esm/standard/elements/JointFabricAdministratorDT.js +40 -0
  805. package/dist/esm/standard/elements/JointFabricAdministratorDT.js.map +6 -0
  806. package/dist/esm/standard/elements/JointFabricDatastoreCluster.d.ts +8 -0
  807. package/dist/esm/standard/elements/JointFabricDatastoreCluster.d.ts.map +1 -0
  808. package/dist/esm/standard/elements/JointFabricDatastoreCluster.js +673 -0
  809. package/dist/esm/standard/elements/JointFabricDatastoreCluster.js.map +6 -0
  810. package/dist/esm/standard/elements/JointFabricPki.d.ts +8 -0
  811. package/dist/esm/standard/elements/JointFabricPki.d.ts.map +1 -0
  812. package/dist/esm/standard/elements/JointFabricPki.js +153 -0
  813. package/dist/esm/standard/elements/JointFabricPki.js.map +6 -0
  814. package/dist/esm/standard/elements/KeypadInput.d.ts.map +1 -1
  815. package/dist/esm/standard/elements/KeypadInput.js +1 -1
  816. package/dist/esm/standard/elements/KeypadInput.js.map +1 -1
  817. package/dist/esm/standard/elements/LandmarkNamespaceNS.d.ts +8 -0
  818. package/dist/esm/standard/elements/LandmarkNamespaceNS.d.ts.map +1 -0
  819. package/dist/esm/standard/elements/LandmarkNamespaceNS.js +74 -0
  820. package/dist/esm/standard/elements/LandmarkNamespaceNS.js.map +6 -0
  821. package/dist/esm/standard/elements/LaundryDryerControls.js +2 -1
  822. package/dist/esm/standard/elements/LaundryDryerControls.js.map +1 -1
  823. package/dist/esm/standard/elements/LaundryNS.js +1 -1
  824. package/dist/esm/standard/elements/LaundryWasherControls.d.ts.map +1 -1
  825. package/dist/esm/standard/elements/LaundryWasherControls.js +8 -8
  826. package/dist/esm/standard/elements/LaundryWasherControls.js.map +1 -1
  827. package/dist/esm/standard/elements/LaundryWasherMode.d.ts.map +1 -1
  828. package/dist/esm/standard/elements/LaundryWasherMode.js +38 -18
  829. package/dist/esm/standard/elements/LaundryWasherMode.js.map +1 -1
  830. package/dist/esm/standard/elements/LevelControl.d.ts.map +1 -1
  831. package/dist/esm/standard/elements/LevelControl.js +14 -13
  832. package/dist/esm/standard/elements/LevelControl.js.map +1 -1
  833. package/dist/esm/standard/elements/LocalizationConfiguration.d.ts.map +1 -1
  834. package/dist/esm/standard/elements/LocalizationConfiguration.js +11 -13
  835. package/dist/esm/standard/elements/LocalizationConfiguration.js.map +1 -1
  836. package/dist/esm/standard/elements/MediaInput.d.ts.map +1 -1
  837. package/dist/esm/standard/elements/MediaInput.js +1 -1
  838. package/dist/esm/standard/elements/MediaInput.js.map +1 -1
  839. package/dist/esm/standard/elements/MediaPlayback.d.ts.map +1 -1
  840. package/dist/esm/standard/elements/MediaPlayback.js +3 -2
  841. package/dist/esm/standard/elements/MediaPlayback.js.map +1 -1
  842. package/dist/esm/standard/elements/MicrowaveOvenControl.d.ts.map +1 -1
  843. package/dist/esm/standard/elements/MicrowaveOvenControl.js +12 -12
  844. package/dist/esm/standard/elements/MicrowaveOvenControl.js.map +1 -1
  845. package/dist/esm/standard/elements/MicrowaveOvenMode.d.ts.map +1 -1
  846. package/dist/esm/standard/elements/MicrowaveOvenMode.js +39 -14
  847. package/dist/esm/standard/elements/MicrowaveOvenMode.js.map +1 -1
  848. package/dist/esm/standard/elements/ModeBase.d.ts.map +1 -1
  849. package/dist/esm/standard/elements/ModeBase.js +18 -69
  850. package/dist/esm/standard/elements/ModeBase.js.map +1 -1
  851. package/dist/esm/standard/elements/ModeSelect.js +10 -10
  852. package/dist/esm/standard/elements/ModeSelect.js.map +1 -1
  853. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts +8 -0
  854. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -0
  855. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.js +84 -0
  856. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.js.map +6 -0
  857. package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts +8 -0
  858. package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts.map +1 -0
  859. package/dist/esm/standard/elements/MountedOnOffControlDT.js +84 -0
  860. package/dist/esm/standard/elements/MountedOnOffControlDT.js.map +6 -0
  861. package/dist/esm/standard/elements/NetworkCommissioning.d.ts.map +1 -1
  862. package/dist/esm/standard/elements/NetworkCommissioning.js +50 -37
  863. package/dist/esm/standard/elements/NetworkCommissioning.js.map +1 -1
  864. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts +8 -0
  865. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -0
  866. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.js +47 -0
  867. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.js.map +6 -0
  868. package/dist/esm/standard/elements/OccupancySensing.d.ts.map +1 -1
  869. package/dist/esm/standard/elements/OccupancySensing.js +197 -43
  870. package/dist/esm/standard/elements/OccupancySensing.js.map +1 -1
  871. package/dist/esm/standard/elements/OccupancySensorDT.d.ts.map +1 -1
  872. package/dist/esm/standard/elements/OccupancySensorDT.js +8 -1
  873. package/dist/esm/standard/elements/OccupancySensorDT.js.map +1 -1
  874. package/dist/esm/standard/elements/OnOff.d.ts.map +1 -1
  875. package/dist/esm/standard/elements/OnOff.js +1 -1
  876. package/dist/esm/standard/elements/OnOff.js.map +1 -1
  877. package/dist/esm/standard/elements/OperationalCredentials.d.ts.map +1 -1
  878. package/dist/esm/standard/elements/OperationalCredentials.js +7 -7
  879. package/dist/esm/standard/elements/OperationalCredentials.js.map +1 -1
  880. package/dist/esm/standard/elements/OperationalState.d.ts.map +1 -1
  881. package/dist/esm/standard/elements/OperationalState.js +22 -22
  882. package/dist/esm/standard/elements/OperationalState.js.map +1 -1
  883. package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.d.ts.map +1 -1
  884. package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js +11 -12
  885. package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js.map +1 -1
  886. package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
  887. package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.js +2 -1
  888. package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.js.map +1 -1
  889. package/dist/esm/standard/elements/OvenCavityOperationalState.d.ts.map +1 -1
  890. package/dist/esm/standard/elements/OvenCavityOperationalState.js +12 -3
  891. package/dist/esm/standard/elements/OvenCavityOperationalState.js.map +1 -1
  892. package/dist/esm/standard/elements/OvenDT.js +1 -1
  893. package/dist/esm/standard/elements/OvenMode.d.ts.map +1 -1
  894. package/dist/esm/standard/elements/OvenMode.js +49 -14
  895. package/dist/esm/standard/elements/OvenMode.js.map +1 -1
  896. package/dist/esm/standard/elements/PowerSource.d.ts.map +1 -1
  897. package/dist/esm/standard/elements/PowerSource.js +12 -12
  898. package/dist/esm/standard/elements/PowerSource.js.map +1 -1
  899. package/dist/esm/standard/elements/PowerSourceNS.js +5 -5
  900. package/dist/esm/standard/elements/PressureMeasurement.js +7 -7
  901. package/dist/esm/standard/elements/PressureMeasurement.js.map +1 -1
  902. package/dist/esm/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
  903. package/dist/esm/standard/elements/PumpConfigurationAndControl.js +9 -19
  904. package/dist/esm/standard/elements/PumpConfigurationAndControl.js.map +1 -1
  905. package/dist/esm/standard/elements/PumpControllerDT.d.ts.map +1 -1
  906. package/dist/esm/standard/elements/PumpControllerDT.js +1 -8
  907. package/dist/esm/standard/elements/PumpControllerDT.js.map +1 -1
  908. package/dist/esm/standard/elements/PumpDT.js +14 -14
  909. package/dist/esm/standard/elements/RefrigeratorAlarm.d.ts.map +1 -1
  910. package/dist/esm/standard/elements/RefrigeratorAlarm.js +1 -1
  911. package/dist/esm/standard/elements/RefrigeratorAlarm.js.map +1 -1
  912. package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
  913. package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js +38 -12
  914. package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js.map +1 -1
  915. package/dist/esm/standard/elements/RefrigeratorDT.js +1 -1
  916. package/dist/esm/standard/elements/RefrigeratorNS.js +1 -1
  917. package/dist/esm/standard/elements/RelativeHumidityMeasurement.d.ts.map +1 -1
  918. package/dist/esm/standard/elements/RelativeHumidityMeasurement.js +3 -3
  919. package/dist/esm/standard/elements/RelativeHumidityMeasurement.js.map +1 -1
  920. package/dist/esm/standard/elements/RelativePositionNS.d.ts +8 -0
  921. package/dist/esm/standard/elements/RelativePositionNS.d.ts.map +1 -0
  922. package/dist/esm/standard/elements/RelativePositionNS.js +30 -0
  923. package/dist/esm/standard/elements/RelativePositionNS.js.map +6 -0
  924. package/dist/esm/standard/elements/ResourceMonitoring.d.ts.map +1 -1
  925. package/dist/esm/standard/elements/ResourceMonitoring.js +1 -1
  926. package/dist/esm/standard/elements/ResourceMonitoring.js.map +1 -1
  927. package/dist/esm/standard/elements/RoboticVacuumCleanerDT.d.ts.map +1 -1
  928. package/dist/esm/standard/elements/RoboticVacuumCleanerDT.js +8 -1
  929. package/dist/esm/standard/elements/RoboticVacuumCleanerDT.js.map +1 -1
  930. package/dist/esm/standard/elements/RoomAirConditionerNS.js +1 -1
  931. package/dist/esm/standard/elements/RootNodeDT.d.ts.map +1 -1
  932. package/dist/esm/standard/elements/RootNodeDT.js +20 -15
  933. package/dist/esm/standard/elements/RootNodeDT.js.map +1 -1
  934. package/dist/esm/standard/elements/RvcCleanMode.d.ts.map +1 -1
  935. package/dist/esm/standard/elements/RvcCleanMode.js +32 -7
  936. package/dist/esm/standard/elements/RvcCleanMode.js.map +1 -1
  937. package/dist/esm/standard/elements/RvcOperationalState.d.ts.map +1 -1
  938. package/dist/esm/standard/elements/RvcOperationalState.js +28 -5
  939. package/dist/esm/standard/elements/RvcOperationalState.js.map +1 -1
  940. package/dist/esm/standard/elements/RvcRunMode.d.ts.map +1 -1
  941. package/dist/esm/standard/elements/RvcRunMode.js +32 -7
  942. package/dist/esm/standard/elements/RvcRunMode.js.map +1 -1
  943. package/dist/esm/standard/elements/ScenesManagement.d.ts.map +1 -1
  944. package/dist/esm/standard/elements/ScenesManagement.js +4 -4
  945. package/dist/esm/standard/elements/ScenesManagement.js.map +1 -1
  946. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.d.ts +8 -0
  947. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.d.ts.map +1 -0
  948. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.js +54 -0
  949. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.js.map +6 -0
  950. package/dist/esm/standard/elements/ServiceArea.d.ts +8 -0
  951. package/dist/esm/standard/elements/ServiceArea.d.ts.map +1 -0
  952. package/dist/esm/standard/elements/ServiceArea.js +441 -0
  953. package/dist/esm/standard/elements/ServiceArea.js.map +6 -0
  954. package/dist/esm/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
  955. package/dist/esm/standard/elements/SmokeCoAlarm.js +13 -17
  956. package/dist/esm/standard/elements/SmokeCoAlarm.js.map +1 -1
  957. package/dist/esm/standard/elements/SoftwareVersionCertificationStatusEnum.js +1 -1
  958. package/dist/esm/standard/elements/SolarPowerDT.d.ts +8 -0
  959. package/dist/esm/standard/elements/SolarPowerDT.d.ts.map +1 -0
  960. package/dist/esm/standard/elements/SolarPowerDT.js +33 -0
  961. package/dist/esm/standard/elements/SolarPowerDT.js.map +6 -0
  962. package/dist/esm/standard/elements/Switch.d.ts.map +1 -1
  963. package/dist/esm/standard/elements/Switch.js +39 -25
  964. package/dist/esm/standard/elements/Switch.js.map +1 -1
  965. package/dist/esm/standard/elements/SwitchesNS.js +2 -2
  966. package/dist/esm/standard/elements/TargetNavigator.js +2 -1
  967. package/dist/esm/standard/elements/TargetNavigator.js.map +1 -1
  968. package/dist/esm/standard/elements/TemperatureControl.js +3 -3
  969. package/dist/esm/standard/elements/TemperatureControl.js.map +1 -1
  970. package/dist/esm/standard/elements/TemperatureControlledCabinetDT.js +1 -1
  971. package/dist/esm/standard/elements/TemperatureMeasurement.js +3 -3
  972. package/dist/esm/standard/elements/TemperatureMeasurement.js.map +1 -1
  973. package/dist/esm/standard/elements/Thermostat.d.ts.map +1 -1
  974. package/dist/esm/standard/elements/Thermostat.js +673 -124
  975. package/dist/esm/standard/elements/Thermostat.js.map +1 -1
  976. package/dist/esm/standard/elements/ThermostatDT.d.ts.map +1 -1
  977. package/dist/esm/standard/elements/ThermostatDT.js +20 -35
  978. package/dist/esm/standard/elements/ThermostatDT.js.map +1 -1
  979. package/dist/esm/standard/elements/ThermostatUserInterfaceConfiguration.js +0 -3
  980. package/dist/esm/standard/elements/ThermostatUserInterfaceConfiguration.js.map +1 -1
  981. package/dist/esm/standard/elements/ThreadBorderRouterManagement.d.ts +8 -0
  982. package/dist/esm/standard/elements/ThreadBorderRouterManagement.d.ts.map +1 -0
  983. package/dist/esm/standard/elements/ThreadBorderRouterManagement.js +183 -0
  984. package/dist/esm/standard/elements/ThreadBorderRouterManagement.js.map +6 -0
  985. package/dist/esm/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
  986. package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js +26 -8
  987. package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
  988. package/dist/esm/standard/elements/ThreadNetworkDirectory.d.ts +8 -0
  989. package/dist/esm/standard/elements/ThreadNetworkDirectory.d.ts.map +1 -0
  990. package/dist/esm/standard/elements/ThreadNetworkDirectory.js +167 -0
  991. package/dist/esm/standard/elements/ThreadNetworkDirectory.js.map +6 -0
  992. package/dist/esm/standard/elements/TimeFormatLocalization.js +1 -1
  993. package/dist/esm/standard/elements/TimeSynchronization.d.ts.map +1 -1
  994. package/dist/esm/standard/elements/TimeSynchronization.js +23 -11
  995. package/dist/esm/standard/elements/TimeSynchronization.js.map +1 -1
  996. package/dist/esm/standard/elements/UnitLocalization.d.ts.map +1 -1
  997. package/dist/esm/standard/elements/UnitLocalization.js +1 -1
  998. package/dist/esm/standard/elements/UnitLocalization.js.map +1 -1
  999. package/dist/esm/standard/elements/UserLabel.d.ts.map +1 -1
  1000. package/dist/esm/standard/elements/UserLabel.js +1 -1
  1001. package/dist/esm/standard/elements/UserLabel.js.map +1 -1
  1002. package/dist/esm/standard/elements/ValidProxies.js +0 -1
  1003. package/dist/esm/standard/elements/ValidProxies.js.map +1 -1
  1004. package/dist/esm/standard/elements/ValveConfigurationAndControl.js +1 -0
  1005. package/dist/esm/standard/elements/ValveConfigurationAndControl.js.map +1 -1
  1006. package/dist/esm/standard/elements/WaterHeaterDT.d.ts +8 -0
  1007. package/dist/esm/standard/elements/WaterHeaterDT.d.ts.map +1 -0
  1008. package/dist/esm/standard/elements/WaterHeaterDT.js +57 -0
  1009. package/dist/esm/standard/elements/WaterHeaterDT.js.map +6 -0
  1010. package/dist/esm/standard/elements/WaterHeaterManagement.d.ts +8 -0
  1011. package/dist/esm/standard/elements/WaterHeaterManagement.d.ts.map +1 -0
  1012. package/dist/esm/standard/elements/WaterHeaterManagement.js +226 -0
  1013. package/dist/esm/standard/elements/WaterHeaterManagement.js.map +6 -0
  1014. package/dist/esm/standard/elements/WaterHeaterMode.d.ts +8 -0
  1015. package/dist/esm/standard/elements/WaterHeaterMode.d.ts.map +1 -0
  1016. package/dist/esm/standard/elements/WaterHeaterMode.js +85 -0
  1017. package/dist/esm/standard/elements/WaterHeaterMode.js.map +6 -0
  1018. package/dist/esm/standard/elements/WaterTankLevelMonitoring.d.ts +8 -0
  1019. package/dist/esm/standard/elements/WaterTankLevelMonitoring.d.ts.map +1 -0
  1020. package/dist/esm/standard/elements/WaterTankLevelMonitoring.js +15 -0
  1021. package/dist/esm/standard/elements/WaterTankLevelMonitoring.js.map +6 -0
  1022. package/dist/esm/standard/elements/WaterValveDT.js +5 -5
  1023. package/dist/esm/standard/elements/WiFiNetworkDiagnostics.d.ts.map +1 -1
  1024. package/dist/esm/standard/elements/WiFiNetworkDiagnostics.js +2 -2
  1025. package/dist/esm/standard/elements/WiFiNetworkDiagnostics.js.map +1 -1
  1026. package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts +8 -0
  1027. package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts.map +1 -0
  1028. package/dist/esm/standard/elements/WiFiNetworkManagement.js +68 -0
  1029. package/dist/esm/standard/elements/WiFiNetworkManagement.js.map +6 -0
  1030. package/dist/esm/standard/elements/WindowCovering.js +35 -36
  1031. package/dist/esm/standard/elements/WindowCovering.js.map +1 -1
  1032. package/dist/esm/standard/elements/WindowCoveringControllerDT.d.ts.map +1 -1
  1033. package/dist/esm/standard/elements/WindowCoveringControllerDT.js +0 -7
  1034. package/dist/esm/standard/elements/WindowCoveringControllerDT.js.map +1 -1
  1035. package/dist/esm/standard/elements/WindowCoveringDT.d.ts.map +1 -1
  1036. package/dist/esm/standard/elements/WindowCoveringDT.js +4 -15
  1037. package/dist/esm/standard/elements/WindowCoveringDT.js.map +1 -1
  1038. package/dist/esm/standard/elements/action-id.js +1 -1
  1039. package/dist/esm/standard/elements/amperage-mA.js +1 -1
  1040. package/dist/esm/standard/elements/attrib-id.js +1 -1
  1041. package/dist/esm/standard/elements/bool.js +1 -1
  1042. package/dist/esm/standard/elements/cluster-id.js +1 -1
  1043. package/dist/esm/standard/elements/command-id.js +1 -1
  1044. package/dist/esm/standard/elements/data-ver.js +2 -2
  1045. package/dist/esm/standard/elements/date.js +5 -5
  1046. package/dist/esm/standard/elements/definitions.d.ts +27 -1
  1047. package/dist/esm/standard/elements/definitions.d.ts.map +1 -1
  1048. package/dist/esm/standard/elements/definitions.js +27 -1
  1049. package/dist/esm/standard/elements/definitions.js.map +1 -1
  1050. package/dist/esm/standard/elements/devtype-id.js +1 -1
  1051. package/dist/esm/standard/elements/double.js +1 -1
  1052. package/dist/esm/standard/elements/elapsed-s.js +1 -1
  1053. package/dist/esm/standard/elements/endpoint-no.d.ts.map +1 -1
  1054. package/dist/esm/standard/elements/endpoint-no.js +2 -2
  1055. package/dist/esm/standard/elements/endpoint-no.js.map +1 -1
  1056. package/dist/esm/standard/elements/energy-mWh.js +1 -1
  1057. package/dist/esm/standard/elements/entry-idx.js +1 -1
  1058. package/dist/esm/standard/elements/enum16.js +1 -1
  1059. package/dist/esm/standard/elements/enum8.js +1 -1
  1060. package/dist/esm/standard/elements/epoch-s.js +1 -1
  1061. package/dist/esm/standard/elements/epoch-us.js +1 -1
  1062. package/dist/esm/standard/elements/event-id.js +1 -1
  1063. package/dist/esm/standard/elements/event-no.js +1 -1
  1064. package/dist/esm/standard/elements/fabric-id.js +1 -1
  1065. package/dist/esm/standard/elements/fabric-idx.js +1 -1
  1066. package/dist/esm/standard/elements/field-id.js +1 -1
  1067. package/dist/esm/standard/elements/group-id.js +1 -1
  1068. package/dist/esm/standard/elements/hwadr.js +1 -1
  1069. package/dist/esm/standard/elements/int16.js +1 -1
  1070. package/dist/esm/standard/elements/int24.js +1 -1
  1071. package/dist/esm/standard/elements/int32.js +1 -1
  1072. package/dist/esm/standard/elements/int40.js +1 -1
  1073. package/dist/esm/standard/elements/int48.js +1 -1
  1074. package/dist/esm/standard/elements/int56.js +1 -1
  1075. package/dist/esm/standard/elements/int64.js +1 -1
  1076. package/dist/esm/standard/elements/int8.js +1 -1
  1077. package/dist/esm/standard/elements/ipadr.d.ts.map +1 -1
  1078. package/dist/esm/standard/elements/ipadr.js +1 -2
  1079. package/dist/esm/standard/elements/ipadr.js.map +1 -1
  1080. package/dist/esm/standard/elements/ipv4adr.js +1 -1
  1081. package/dist/esm/standard/elements/ipv6adr.js +1 -1
  1082. package/dist/esm/standard/elements/ipv6pre.js +1 -1
  1083. package/dist/esm/standard/elements/list.d.ts.map +1 -1
  1084. package/dist/esm/standard/elements/list.js +8 -10
  1085. package/dist/esm/standard/elements/list.js.map +1 -1
  1086. package/dist/esm/standard/elements/locationdesc.d.ts +8 -0
  1087. package/dist/esm/standard/elements/locationdesc.d.ts.map +1 -0
  1088. package/dist/esm/standard/elements/locationdesc.js +49 -0
  1089. package/dist/esm/standard/elements/locationdesc.js.map +6 -0
  1090. package/dist/esm/standard/elements/map16.js +1 -1
  1091. package/dist/esm/standard/elements/map32.js +1 -1
  1092. package/dist/esm/standard/elements/map64.js +1 -1
  1093. package/dist/esm/standard/elements/map8.js +1 -1
  1094. package/dist/esm/standard/elements/models.d.ts +27 -1
  1095. package/dist/esm/standard/elements/models.d.ts.map +1 -1
  1096. package/dist/esm/standard/elements/models.js +54 -2
  1097. package/dist/esm/standard/elements/models.js.map +1 -1
  1098. package/dist/esm/standard/elements/namespace.js +1 -1
  1099. package/dist/esm/standard/elements/node-id.js +1 -1
  1100. package/dist/esm/standard/elements/octstr.js +1 -1
  1101. package/dist/esm/standard/elements/percent.js +1 -1
  1102. package/dist/esm/standard/elements/percent100ths.js +1 -1
  1103. package/dist/esm/standard/elements/posix-ms.js +1 -1
  1104. package/dist/esm/standard/elements/power-mW.js +1 -1
  1105. package/dist/esm/standard/elements/priority.js +1 -1
  1106. package/dist/esm/standard/elements/semtag.js +5 -5
  1107. package/dist/esm/standard/elements/single.js +1 -1
  1108. package/dist/esm/standard/elements/status.d.ts.map +1 -1
  1109. package/dist/esm/standard/elements/status.js +19 -1
  1110. package/dist/esm/standard/elements/status.js.map +1 -1
  1111. package/dist/esm/standard/elements/string.js +1 -1
  1112. package/dist/esm/standard/elements/struct.js +1 -1
  1113. package/dist/esm/standard/elements/systime-ms.js +1 -1
  1114. package/dist/esm/standard/elements/systime-us.js +1 -1
  1115. package/dist/esm/standard/elements/tag.js +1 -1
  1116. package/dist/esm/standard/elements/temperature.js +1 -1
  1117. package/dist/esm/standard/elements/tod.js +1 -1
  1118. package/dist/esm/standard/elements/trans-id.js +1 -1
  1119. package/dist/esm/standard/elements/uint16.js +1 -1
  1120. package/dist/esm/standard/elements/uint24.js +1 -1
  1121. package/dist/esm/standard/elements/uint32.js +1 -1
  1122. package/dist/esm/standard/elements/uint40.js +1 -1
  1123. package/dist/esm/standard/elements/uint48.js +1 -1
  1124. package/dist/esm/standard/elements/uint56.js +1 -1
  1125. package/dist/esm/standard/elements/uint64.js +1 -1
  1126. package/dist/esm/standard/elements/uint8.js +1 -1
  1127. package/dist/esm/standard/elements/vendor-id.js +1 -1
  1128. package/dist/esm/standard/elements/voltage-mV.js +1 -1
  1129. package/package.json +4 -4
  1130. package/src/aspects/Conformance.ts +34 -6
  1131. package/src/aspects/Quality.ts +9 -1
  1132. package/src/common/Specification.ts +3 -3
  1133. package/src/logic/cluster-variance/IllegalFeatureCombinations.ts +104 -81
  1134. package/src/logic/cluster-variance/InferredComponents.ts +27 -1
  1135. package/src/logic/definition-validation/ValueValidator.ts +16 -6
  1136. package/src/models/AttributeModel.ts +2 -4
  1137. package/src/models/ClusterModel.ts +2 -4
  1138. package/src/models/CommandModel.ts +2 -5
  1139. package/src/models/DatatypeModel.ts +3 -4
  1140. package/src/models/DeviceTypeModel.ts +3 -3
  1141. package/src/models/EndpointModel.ts +3 -3
  1142. package/src/models/EventModel.ts +2 -5
  1143. package/src/models/FabricModel.ts +3 -3
  1144. package/src/models/FieldModel.ts +3 -4
  1145. package/src/models/MatterModel.ts +3 -3
  1146. package/src/models/Model.ts +61 -6
  1147. package/src/models/NodeModel.ts +3 -3
  1148. package/src/models/RequirementModel.ts +4 -4
  1149. package/src/models/SemanticNamespaceModel.ts +3 -3
  1150. package/src/models/SemanticTagModel.ts +3 -3
  1151. package/src/standard/elements/AcceptedCommandList.ts +6 -2
  1152. package/src/standard/elements/AccessControl.ts +578 -39
  1153. package/src/standard/elements/Actions.ts +16 -13
  1154. package/src/standard/elements/AdministratorCommissioning.ts +60 -44
  1155. package/src/standard/elements/AggregatorDT.ts +21 -4
  1156. package/src/standard/elements/AirPurifierDT.ts +5 -1
  1157. package/src/standard/elements/AlarmBase.ts +1 -2
  1158. package/src/standard/elements/ApplicationLauncher.ts +12 -6
  1159. package/src/standard/elements/AreaNamespaceNS.ts +129 -0
  1160. package/src/standard/elements/AtomicAttributeStatusStruct.ts +30 -0
  1161. package/src/standard/elements/AtomicRequestTypeEnum.ts +22 -0
  1162. package/src/standard/elements/BallastConfiguration.ts +3 -3
  1163. package/src/standard/elements/BasicInformation.ts +33 -25
  1164. package/src/standard/elements/BatteryStorageDT.ts +36 -0
  1165. package/src/standard/elements/BooleanStateConfiguration.ts +2 -2
  1166. package/src/standard/elements/BridgedDeviceBasicInformation.ts +170 -35
  1167. package/src/standard/elements/BridgedNodeDT.ts +25 -3
  1168. package/src/standard/elements/Channel.ts +28 -30
  1169. package/src/standard/elements/ColorControl.ts +757 -651
  1170. package/src/standard/elements/CommissionerControl.ts +194 -0
  1171. package/src/standard/elements/ConcentrationMeasurement.ts +2 -2
  1172. package/src/standard/elements/ContentControl.ts +41 -49
  1173. package/src/standard/elements/ContentLauncher.ts +21 -20
  1174. package/src/standard/elements/DeviceEnergyManagement.ts +254 -193
  1175. package/src/standard/elements/DeviceEnergyManagementDT.ts +31 -8
  1176. package/src/standard/elements/DeviceEnergyManagementMode.ts +52 -15
  1177. package/src/standard/elements/DishwasherAlarm.ts +2 -1
  1178. package/src/standard/elements/DishwasherMode.ts +34 -20
  1179. package/src/standard/elements/DoorLock.ts +574 -668
  1180. package/src/standard/elements/DoorLockControllerDT.ts +1 -1
  1181. package/src/standard/elements/DoorLockDT.ts +2 -2
  1182. package/src/standard/elements/EcosystemInformation.ts +191 -0
  1183. package/src/standard/elements/ElectricalEnergyMeasurement.ts +33 -34
  1184. package/src/standard/elements/ElectricalMeasurementNS.ts +1 -1
  1185. package/src/standard/elements/ElectricalPowerMeasurement.ts +5 -5
  1186. package/src/standard/elements/EnergyEvse.ts +156 -86
  1187. package/src/standard/elements/EnergyEvseDT.ts +43 -0
  1188. package/src/standard/elements/EnergyEvseMode.ts +79 -14
  1189. package/src/standard/elements/EnergyPreference.ts +28 -31
  1190. package/src/standard/elements/EthernetNetworkDiagnostics.ts +1 -2
  1191. package/src/standard/elements/EventList.ts +2 -11
  1192. package/src/standard/elements/FabricIndex.ts +1 -1
  1193. package/src/standard/elements/FanControl.ts +12 -12
  1194. package/src/standard/elements/FanDT.ts +5 -1
  1195. package/src/standard/elements/FeatureMap.ts +5 -3
  1196. package/src/standard/elements/FixedLabel.ts +7 -3
  1197. package/src/standard/elements/FlowMeasurement.ts +10 -9
  1198. package/src/standard/elements/GeneralCommissioning.ts +214 -48
  1199. package/src/standard/elements/GeneralDiagnostics.ts +26 -31
  1200. package/src/standard/elements/GeneratedCommandList.ts +4 -1
  1201. package/src/standard/elements/GroupKeyManagement.ts +26 -27
  1202. package/src/standard/elements/Groups.ts +2 -1
  1203. package/src/standard/elements/HeatPumpDT.ts +41 -0
  1204. package/src/standard/elements/IcdManagement.ts +71 -35
  1205. package/src/standard/elements/Identify.ts +12 -12
  1206. package/src/standard/elements/IlluminanceMeasurement.ts +10 -12
  1207. package/src/standard/elements/JointFabricAdministratorDT.ts +40 -0
  1208. package/src/standard/elements/JointFabricDatastoreCluster.ts +520 -0
  1209. package/src/standard/elements/JointFabricPki.ts +131 -0
  1210. package/src/standard/elements/KeypadInput.ts +3 -1
  1211. package/src/standard/elements/LandmarkNamespaceNS.ts +76 -0
  1212. package/src/standard/elements/LaundryDryerControls.ts +6 -6
  1213. package/src/standard/elements/LaundryNS.ts +1 -1
  1214. package/src/standard/elements/LaundryWasherControls.ts +23 -21
  1215. package/src/standard/elements/LaundryWasherMode.ts +35 -21
  1216. package/src/standard/elements/LevelControl.ts +61 -20
  1217. package/src/standard/elements/LocalizationConfiguration.ts +13 -16
  1218. package/src/standard/elements/MediaInput.ts +2 -1
  1219. package/src/standard/elements/MediaPlayback.ts +7 -4
  1220. package/src/standard/elements/MicrowaveOvenControl.ts +26 -22
  1221. package/src/standard/elements/MicrowaveOvenMode.ts +45 -15
  1222. package/src/standard/elements/ModeBase.ts +25 -58
  1223. package/src/standard/elements/ModeSelect.ts +13 -13
  1224. package/src/standard/elements/MountedDimmableLoadControlDT.ts +75 -0
  1225. package/src/standard/elements/MountedOnOffControlDT.ts +73 -0
  1226. package/src/standard/elements/NetworkCommissioning.ts +88 -80
  1227. package/src/standard/elements/NetworkInfrastructureManagerDT.ts +54 -0
  1228. package/src/standard/elements/OccupancySensing.ts +200 -55
  1229. package/src/standard/elements/OccupancySensorDT.ts +5 -1
  1230. package/src/standard/elements/OnOff.ts +1 -2
  1231. package/src/standard/elements/OperationalCredentials.ts +59 -55
  1232. package/src/standard/elements/OperationalState.ts +100 -69
  1233. package/src/standard/elements/OtaSoftwareUpdateProvider.ts +22 -24
  1234. package/src/standard/elements/OtaSoftwareUpdateRequestor.ts +2 -3
  1235. package/src/standard/elements/OvenCavityOperationalState.ts +13 -3
  1236. package/src/standard/elements/OvenDT.ts +1 -1
  1237. package/src/standard/elements/OvenMode.ts +50 -14
  1238. package/src/standard/elements/PowerSource.ts +44 -12
  1239. package/src/standard/elements/PowerSourceNS.ts +5 -5
  1240. package/src/standard/elements/PressureMeasurement.ts +8 -8
  1241. package/src/standard/elements/PumpConfigurationAndControl.ts +32 -22
  1242. package/src/standard/elements/PumpControllerDT.ts +1 -5
  1243. package/src/standard/elements/PumpDT.ts +14 -14
  1244. package/src/standard/elements/RefrigeratorAlarm.ts +2 -1
  1245. package/src/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.ts +37 -15
  1246. package/src/standard/elements/RefrigeratorDT.ts +1 -1
  1247. package/src/standard/elements/RefrigeratorNS.ts +1 -1
  1248. package/src/standard/elements/RelativeHumidityMeasurement.ts +3 -4
  1249. package/src/standard/elements/RelativePositionNS.ts +35 -0
  1250. package/src/standard/elements/ResourceMonitoring.ts +2 -1
  1251. package/src/standard/elements/RoboticVacuumCleanerDT.ts +5 -1
  1252. package/src/standard/elements/RoomAirConditionerNS.ts +1 -1
  1253. package/src/standard/elements/RootNodeDT.ts +18 -11
  1254. package/src/standard/elements/RvcCleanMode.ts +33 -11
  1255. package/src/standard/elements/RvcOperationalState.ts +24 -6
  1256. package/src/standard/elements/RvcRunMode.ts +37 -15
  1257. package/src/standard/elements/ScenesManagement.ts +42 -23
  1258. package/src/standard/elements/SecondaryNetworkInterfaceDT.ts +49 -0
  1259. package/src/standard/elements/ServiceArea.ts +708 -0
  1260. package/src/standard/elements/SmokeCoAlarm.ts +13 -15
  1261. package/src/standard/elements/SoftwareVersionCertificationStatusEnum.ts +1 -1
  1262. package/src/standard/elements/SolarPowerDT.ts +31 -0
  1263. package/src/standard/elements/Switch.ts +121 -38
  1264. package/src/standard/elements/SwitchesNS.ts +2 -2
  1265. package/src/standard/elements/TargetNavigator.ts +2 -2
  1266. package/src/standard/elements/TemperatureControl.ts +3 -3
  1267. package/src/standard/elements/TemperatureControlledCabinetDT.ts +1 -1
  1268. package/src/standard/elements/TemperatureMeasurement.ts +4 -4
  1269. package/src/standard/elements/Thermostat.ts +997 -182
  1270. package/src/standard/elements/ThermostatDT.ts +17 -21
  1271. package/src/standard/elements/ThermostatUserInterfaceConfiguration.ts +3 -3
  1272. package/src/standard/elements/ThreadBorderRouterManagement.ts +207 -0
  1273. package/src/standard/elements/ThreadNetworkDiagnostics.ts +28 -14
  1274. package/src/standard/elements/ThreadNetworkDirectory.ts +175 -0
  1275. package/src/standard/elements/TimeFormatLocalization.ts +1 -1
  1276. package/src/standard/elements/TimeSynchronization.ts +36 -34
  1277. package/src/standard/elements/UnitLocalization.ts +1 -2
  1278. package/src/standard/elements/UserLabel.ts +2 -1
  1279. package/src/standard/elements/ValidProxies.ts +2 -2
  1280. package/src/standard/elements/ValveConfigurationAndControl.ts +1 -1
  1281. package/src/standard/elements/WaterHeaterDT.ts +47 -0
  1282. package/src/standard/elements/WaterHeaterManagement.ts +283 -0
  1283. package/src/standard/elements/WaterHeaterMode.ts +95 -0
  1284. package/src/standard/elements/{PulseWidthModulation.ts → WaterTankLevelMonitoring.ts} +4 -2
  1285. package/src/standard/elements/WaterValveDT.ts +5 -5
  1286. package/src/standard/elements/WiFiNetworkDiagnostics.ts +5 -7
  1287. package/src/standard/elements/WiFiNetworkManagement.ts +98 -0
  1288. package/src/standard/elements/WindowCovering.ts +35 -35
  1289. package/src/standard/elements/WindowCoveringControllerDT.ts +0 -4
  1290. package/src/standard/elements/WindowCoveringDT.ts +2 -11
  1291. package/src/standard/elements/action-id.ts +1 -1
  1292. package/src/standard/elements/amperage-mA.ts +1 -1
  1293. package/src/standard/elements/attrib-id.ts +1 -1
  1294. package/src/standard/elements/bool.ts +1 -1
  1295. package/src/standard/elements/cluster-id.ts +1 -1
  1296. package/src/standard/elements/command-id.ts +1 -1
  1297. package/src/standard/elements/data-ver.ts +2 -2
  1298. package/src/standard/elements/date.ts +5 -5
  1299. package/src/standard/elements/definitions.ts +27 -1
  1300. package/src/standard/elements/devtype-id.ts +1 -1
  1301. package/src/standard/elements/double.ts +1 -1
  1302. package/src/standard/elements/elapsed-s.ts +1 -1
  1303. package/src/standard/elements/endpoint-no.ts +4 -2
  1304. package/src/standard/elements/energy-mWh.ts +1 -1
  1305. package/src/standard/elements/entry-idx.ts +1 -1
  1306. package/src/standard/elements/enum16.ts +1 -1
  1307. package/src/standard/elements/enum8.ts +1 -1
  1308. package/src/standard/elements/epoch-s.ts +1 -1
  1309. package/src/standard/elements/epoch-us.ts +1 -1
  1310. package/src/standard/elements/event-id.ts +1 -1
  1311. package/src/standard/elements/event-no.ts +1 -1
  1312. package/src/standard/elements/fabric-id.ts +1 -1
  1313. package/src/standard/elements/fabric-idx.ts +1 -1
  1314. package/src/standard/elements/field-id.ts +1 -1
  1315. package/src/standard/elements/group-id.ts +1 -1
  1316. package/src/standard/elements/hwadr.ts +1 -1
  1317. package/src/standard/elements/int16.ts +1 -1
  1318. package/src/standard/elements/int24.ts +1 -1
  1319. package/src/standard/elements/int32.ts +1 -1
  1320. package/src/standard/elements/int40.ts +1 -1
  1321. package/src/standard/elements/int48.ts +1 -1
  1322. package/src/standard/elements/int56.ts +1 -1
  1323. package/src/standard/elements/int64.ts +1 -1
  1324. package/src/standard/elements/int8.ts +1 -1
  1325. package/src/standard/elements/ipadr.ts +1 -2
  1326. package/src/standard/elements/ipv4adr.ts +1 -1
  1327. package/src/standard/elements/ipv6adr.ts +1 -1
  1328. package/src/standard/elements/ipv6pre.ts +1 -1
  1329. package/src/standard/elements/list.ts +77 -91
  1330. package/src/standard/elements/locationdesc.ts +80 -0
  1331. package/src/standard/elements/map16.ts +1 -1
  1332. package/src/standard/elements/map32.ts +1 -1
  1333. package/src/standard/elements/map64.ts +1 -1
  1334. package/src/standard/elements/map8.ts +1 -1
  1335. package/src/standard/elements/models.ts +27 -1
  1336. package/src/standard/elements/namespace.ts +1 -1
  1337. package/src/standard/elements/node-id.ts +1 -1
  1338. package/src/standard/elements/octstr.ts +1 -1
  1339. package/src/standard/elements/percent.ts +1 -1
  1340. package/src/standard/elements/percent100ths.ts +1 -1
  1341. package/src/standard/elements/posix-ms.ts +1 -1
  1342. package/src/standard/elements/power-mW.ts +1 -1
  1343. package/src/standard/elements/priority.ts +1 -1
  1344. package/src/standard/elements/semtag.ts +5 -5
  1345. package/src/standard/elements/single.ts +1 -1
  1346. package/src/standard/elements/status.ts +16 -1
  1347. package/src/standard/elements/string.ts +1 -1
  1348. package/src/standard/elements/struct.ts +1 -1
  1349. package/src/standard/elements/systime-ms.ts +1 -1
  1350. package/src/standard/elements/systime-us.ts +1 -1
  1351. package/src/standard/elements/tag.ts +1 -1
  1352. package/src/standard/elements/temperature.ts +1 -1
  1353. package/src/standard/elements/tod.ts +1 -1
  1354. package/src/standard/elements/trans-id.ts +1 -1
  1355. package/src/standard/elements/uint16.ts +1 -1
  1356. package/src/standard/elements/uint24.ts +1 -1
  1357. package/src/standard/elements/uint32.ts +1 -1
  1358. package/src/standard/elements/uint40.ts +1 -1
  1359. package/src/standard/elements/uint48.ts +1 -1
  1360. package/src/standard/elements/uint56.ts +1 -1
  1361. package/src/standard/elements/uint64.ts +1 -1
  1362. package/src/standard/elements/uint8.ts +1 -1
  1363. package/src/standard/elements/vendor-id.ts +1 -1
  1364. package/src/standard/elements/voltage-mV.ts +1 -1
  1365. package/dist/cjs/standard/elements/PulseWidthModulation.d.ts.map +0 -1
  1366. package/dist/cjs/standard/elements/PulseWidthModulation.js.map +0 -6
  1367. package/dist/esm/standard/elements/PulseWidthModulation.d.ts.map +0 -1
  1368. package/dist/esm/standard/elements/PulseWidthModulation.js +0 -13
  1369. package/dist/esm/standard/elements/PulseWidthModulation.js.map +0 -6
@@ -34,23 +34,23 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
34
34
  id: 152,
35
35
  classification: "application",
36
36
  pics: "DEM",
37
- details: "This cluster allows a client to manage the power draw of a device. An example of such a client could be an Energy Management System (EMS) which controls an Energy Smart Appliance (ESA).\nIn most deployments the EMS will be the client, and the ESA will host the Energy Management Cluster server.\nFigure 15. Example of the how an EMS is a client of multiple ESAs Energy Management clusters.\nThis cluster is intended to be generic in nature and could apply to any electrical load or generator (e.g. a Battery Electric Storage System - BESS, solar PV inverter, EVSE, HVAC, heat pump, hot water heater, white goods appliances etc).\nIt consists of the following areas which shall be supported by all devices implementing this cluster:\n \u2022 Description of ESA and its capabilities & power limits (sometimes referred to as a nameplate)\n \u2022 Current state of operation (including user opt-out, safety limitations / alarms) There are some optional capabilities that some ESAs may be able to offer:\n \u2022 Ability to control the load or generation\n \u2022 Forecast data, including when it can be flexible (i.e. modify the power or time period)\n \u2022 The ability to have their power profile adjusted by an EMS, and to provide an updated Forecast back to the EMS.\nThis allows the EMS to manage multiple home loads and where ESAs can be flexible, continuously optimizing the home energy to minimize cost, reduce CO2 impact, maximize self-consumption of solar PV and provide Demand Side Response (DSR) Grid services.\nIt is likely that the ESA may also use the Pricing Cluster to obtain incentive signals such as 'grid carbon intensity', 'time of use' or 'type of use' tariffs to schedule its operation to run at the cheapest and greenest times.\nFigure 16. Example of the how an HVAC may use multiple clusters\nNOTE\nGrid Services are market dependent and will use other protocols ([OpenADR] / [IEEE2030.5]) to communicate grid events to the EMS. These are outside the scope of Matter.\nNOTE\nDifferent markets may follow different approaches, but the UK [PAS1878] and [EUCodeOfConduct] give examples of how ESAs may be mandated to support these features in the future.\nNOTE Support of Device Energy Management Cluster is provisional.",
37
+ details: "This cluster allows a client to manage the power draw of a device. An example of such a client could\nbe an Energy Management System (EMS) which controls an Energy Smart Appliance (ESA).\nIn most deployments the EMS will be the client, and the ESA will host the Device Energy Management Cluster server.\nFigure 17. Example of the how an EMS is a client of multiple ESAs Device Energy Management clusters.\nThis cluster is intended to be generic in nature and could apply to any electrical load or generator (e.g. a Battery Electric Storage System - BESS, solar PV inverter, EVSE, HVAC, heat pump, hot water heater, white goods appliances etc).\nIt consists of the following areas which shall be supported by all devices implementing this cluster:\n \u2022 Description of ESA and its capabilities & power limits (sometimes referred to as a nameplate)\n \u2022 Current state of operation (including user opt-out, safety limitations / alarms) There are some optional capabilities that some ESAs may be able to offer:\n \u2022 Ability to control the load or generation\n \u2022 Forecast data, including when it can be flexible (i.e. modify the power or time period)\n \u2022 The ability to have their power profile adjusted by an EMS, and to provide an updated Forecast back to the EMS.\nThis allows the EMS to manage multiple home loads and where ESAs can be flexible, continuously optimizing the home energy to minimize cost, reduce CO2 impact, maximize self-consumption of solar PV and provide Demand Side Response (DSR) Grid services.\nIt is likely that the ESA may also use the Pricing Cluster to obtain incentive signals such as 'grid carbon intensity', 'time of use' or 'type of use' tariffs to schedule its operation to run at the cheapest and greenest times.\nFigure 18. Example of the how an HVAC may use multiple clusters\nNOTE\nGrid Services are market dependent and will use other protocols ([OpenADR] / [IEEE2030.5]) to communicate grid events to the EMS. These are outside the scope of Matter.\nNOTE\nDifferent markets may follow different approaches, but the UK [PAS1878] and [EUCodeOfConduct] give examples of how ESAs may be mandated to support these features in the future.",
38
38
  xref: { document: "cluster", section: "9.2" }
39
39
  },
40
- (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 3 }),
40
+ (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 4 }),
41
41
  (0, import_elements.AttributeElement)(
42
42
  { name: "FeatureMap", id: 65532, type: "FeatureMap", xref: { document: "cluster", section: "9.2.4" } },
43
43
  (0, import_elements.FieldElement)({
44
44
  name: "PA",
45
- conformance: "O.a+",
45
+ conformance: "O",
46
46
  constraint: "0",
47
47
  description: "PowerAdjustment",
48
- details: "For Energy Smart Appliances (ESA) the definition of being 'smart' mandates that they can report their current power adjustment capability and have an EMS request a temporary adjustment. This may typically be to curtail power requirements during peak periods, but can also be used to turn on an ESA if there is excess renewable or local generation (Solar PV).\nFor example, a home may have solar PV which often produces more power than the home requires,\nresulting in the excess power flowing into the grid. This excess power naturally fluctuates when clouds pass overhead and other loads in the home are switched on and off.\nEVSE Example: An EMS may therefore be able to turn on the EVSE (if the vehicle is plugged in) and can start charging the vehicle, and periodically modify the charging power depending on PV generation and other home loads, so as to minimize import and export to the grid.",
48
+ details: "For Energy Smart Appliances (ESA) the definition of being 'smart' mandates that they can report their current power adjustment capability and have an EMS request a temporary adjustment. This may typically be to curtail power requirements during peak periods, but can also be used to turn on an ESA if there is excess renewable or local generation (Solar PV).\nFor example, a home may have solar PV which often produces more power than the home requires, resulting in the excess power flowing into the grid. This excess power naturally fluctuates when clouds pass overhead and other loads in the home are switched on and off.\nEVSE Example: An EMS may therefore be able to turn on the EVSE (if the vehicle is plugged in) and can start charging the vehicle, and periodically modify the charging power depending on PV generation and other home loads, so as to minimize import and export to the grid. An EMS may also use this feature to control the discharging (and re-charging) of the vehicle if the EVSE and vehicle support the V2X feature of the EVSE cluster of the associated EVSE device.",
49
49
  xref: { document: "cluster", section: "9.2.4.1" }
50
50
  }),
51
51
  (0, import_elements.FieldElement)({
52
52
  name: "PFR",
53
- conformance: "(STA | PAU | FA | CON) & !SFR, O.a+",
53
+ conformance: "[!PA].a, STA | PAU | FA | CON, O",
54
54
  constraint: "1",
55
55
  description: "PowerForecastReporting",
56
56
  details: "For Energy Smart Appliances (ESA) the definition of being 'smart' implies that they can report their indicative forecast power demands or generation, to a greater or lesser extent. For some ESAs this is highly predictable (in terms of both power and time), in other appliances this is more challenging and only a basic level of forecast is possible.\nForecasts are defined from a current time, using a slot format, where the slot is akin to a relatively constant operating mode.\nWashing machine example: a washing machine may have stages of a washing cycle: heating, tumbling, rinse and spin stages. At each stage, the approximate minimum and maximum power consumption may be known, as well as the duration of that stage.\nIn some circumstances the ESA may allow the stage to be delayed or paused (subject to safety and manufacturer\u2019s discretion and user preferences).\nTypically, appliances with a heating element cannot have their power consumption adjusted and can only be paused or delayed.\nSome ESAs may not be flexible other than a delayed cycle start (for example, once the washing cycle has been started then they run continuously until the cycle completes).\nAppliances that only support the PowerForecastReporting and not any of the adjustment features may indicate that they are not flexible in the forecast slot format.\nThe PowerForecastReporting and the adjustment features aim to align to the [SAREF4ENER] ontology.\nInverter driven ESAs: some inverter driven ESAs can consume or generate a variable amount of power.\nFor example, a single phase EVSE can be adjusted in the range of 6-32Amps in 0.6 Amp steps in EU or on a hardwired 120V supply in the range of 6-15 Amps in US.\nFor example, a home battery may be adjusted to charge or discharge in steps of 1W.\nFor example, a heat pump may be able to modulate its compressor inverter between 20-100% of its rated power.\nThe ESA indicates its power adjustment range and its nominal power consumption as part of its Forecast.",
@@ -58,7 +58,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
58
58
  }),
59
59
  (0, import_elements.FieldElement)({
60
60
  name: "SFR",
61
- conformance: "(STA | PAU | FA | CON) & !PFR, O.a+",
61
+ conformance: "[!PA].a",
62
62
  constraint: "2",
63
63
  description: "StateForecastReporting",
64
64
  details: "Some ESAs do not know their actual power consumption, but do know the state of operation. Like the PowerForecastingReporting feature, this uses the same slot structure mechanism to indicate a change in state vs time.\nAn external observing EMS may have access to real-time meter readings, and could learn the typical power consumption based on the advertised internal state of the ESA.\nTo enable this capability, the ESA shall report its internal operational state using an manufacturer specific value.\nOnce the EMS has built a model of the state vs observed power consumption, it may request a forecast adjustment for particular times of the day, encouraging the ESA to use power at alternative times.",
@@ -66,7 +66,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
66
66
  }),
67
67
  (0, import_elements.FieldElement)({
68
68
  name: "STA",
69
- conformance: "O.a+",
69
+ conformance: "O",
70
70
  constraint: "3",
71
71
  description: "StartTimeAdjustment",
72
72
  details: "ESAs which support the Start Time Adjustment feature, allow an EMS to recommend a change to the start time of the energy transfer that the ESA has previously suggested it would use.\nWashing machine example: A Washing Machine may have been set to start a wash cycle at 9pm when the variable tariff normally reduces.\nHowever, the EMS is aware that a grid event has occurred, making it cheaper to run the cycle at a later time, but the washing machine is not aware of this.\nThe EMS first requests the Forecast data from each of its registered ESAs. It determines that the washing machine has a power profile suggesting it will start the wash cycle at 9pm, but the EMS now knows that the grid event means it will be cheaper to delay the start until 11pm.\nThe EMS can then optimize the cost by asking the washing machine to delay starting the wash cycle until 11pm.\nIt does this by sending a StartTimeAdjustRequest to the washing machine to request delaying the start of the washing cycle.",
@@ -74,15 +74,15 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
74
74
  }),
75
75
  (0, import_elements.FieldElement)({
76
76
  name: "PAU",
77
- conformance: "O.a+",
77
+ conformance: "O",
78
78
  constraint: "4",
79
79
  description: "Pausable",
80
- details: "ESAs which support the Pausable feature, allow an EMS to recommend a pause in the middle of a forecast power profile that the ESA is currently using.\nWashing machine example: A Washing Machine is in operation, and starting its water heating step.\nHowever, the EMS becomes aware from the smart meter that the total home load on the grid is close to exceeding its allowed total grid load.\nThe EMS first requests the Forecast data from each of its registered ESAs. It determines that the washing machine has a power profile suggesting its current step in the wash cycle is using power to heat the water, but that this step can be paused.\nThe EMS can then reduce the grid load by asking the washing machine to pause the wash cycle for a short duration.\nIt does this by sending a PauseRequest to the washing machine to request pausing the current step of the forecast power usage for a period to allow other home loads to finish before resuming the washing cycle.",
80
+ details: "ESAs which support the Pausable feature, allow an EMS to recommend a pause in the middle of a\nforecast power profile that the ESA is currently using.\nWashing machine example: A Washing Machine is in operation, and starting its water heating step.\nHowever, the EMS becomes aware from the smart meter that the total home load on the grid is close to exceeding its allowed total grid load.\nThe EMS first requests the Forecast data from each of its registered ESAs. It determines that the washing machine has a power profile suggesting its current step in the wash cycle is using power to heat the water, but that this step can be paused.\nThe EMS can then reduce the grid load by asking the washing machine to pause the wash cycle for a short duration.\nIt does this by sending a PauseRequest to the washing machine to request pausing the current step of the forecast power usage for a period to allow other home loads to finish before resuming the washing cycle.",
81
81
  xref: { document: "cluster", section: "9.2.4.5" }
82
82
  }),
83
83
  (0, import_elements.FieldElement)({
84
84
  name: "FA",
85
- conformance: "P, O.a+",
85
+ conformance: "O",
86
86
  constraint: "5",
87
87
  description: "ForecastAdjustment",
88
88
  details: "ESAs which support the Forecast adjustment feature, allow an EMS to recommend a change to the start, duration and/or power level limits of the steps of the power profile that the ESA has previously suggested it would use.\nHeat pump and Solar PV example: A heat pump may have the ability to heat hot water as well as heating the home. The heat pump scheduling system may have determined that the home will be unoccupied during the day, or that the indoor temperature is above the set-point and so it knows that it will not need to heat the home.\nHowever, the hot water tank is likely to need to be reheated before the homeowner comes home in the evening. The heat pump is not aware that the property also has a solar PV inverter which is also an ESA that is communicating with the EMS.\nThe EMS first requests the Forecast data from each of its registered ESAs. It determines that the heat pump has a power profile suggesting it needs to heat hot water around 6pm. The solar PV inverter has forecast that it will generate 3.6kW of power during the middle of the day and into the afternoon before the sun goes down.\nThe EMS can then optimize the home considering other non-ESA loads and can ask the heat pump to heat the hot water around 3pm when it has forecast that excess solar power will be available.\nIt does this by sending a ModifyForecastRequest to the heat pump and asks the heat pump to expect to run at a lower power consumption (within the solar excess power) which requires the heat pump to run for a longer duration to achieve its required energy demand.",
@@ -90,10 +90,10 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
90
90
  }),
91
91
  (0, import_elements.FieldElement)({
92
92
  name: "CON",
93
- conformance: "P, O.a+",
93
+ conformance: "O",
94
94
  constraint: "6",
95
95
  description: "ConstraintBasedAdjustment",
96
- details: "ESAs which support the Constraint-Based Adjustment feature allow an EMS to inform the ESA of periods during which power usage should be modified (for example when the EMS has been made aware that the grid supplier has requested reduced energy usage due to overall peak grid demand) and may cause the ESA to modify the intended power profile has previously suggested it would use.\nEVSE example: An EVSE scheduling system may have determined that the vehicle would be charged starting at a moderate rate at 1am, so that it has enough charge by the time it is needed later that morning.\nHowever, the DSR service provider has informed the EMS that due to high forecast winds it is now forecast that there will be very cheap energy available from wind generation between 2am and 3am.\nThe EMS first requests the Forecast data from each of its registered ESAs. It determines that the\nEVSE has a power profile suggesting it plans to start charging the vehicle at 1am.\nThe EMS can then try to reduce the cost of charging the EV by informing the EVSE of the desire to increase the charging between scheduled times.\nIt does this by sending a RequestConstraintBasedForecast to the EVSE and asks it to run at a higher NominalPower consumption during the constraint period, which may require it to decrease its charge rate outside the constraint period to achieve its required energy demand.",
96
+ details: "ESAs which support the Constraint-Based Adjustment feature allow an EMS to inform the ESA of periods during which power usage should be modified (for example when the EMS has been made aware that the grid supplier has requested reduced energy usage due to overall peak grid demand)\nand may cause the ESA to modify the intended power profile has previously suggested it would use.\nEVSE example: An EVSE scheduling system may have determined that the vehicle would be charged starting at a moderate rate at 1am, so that it has enough charge by the time it is needed later that morning.\nHowever, the DSR service provider has informed the EMS that due to high forecast winds it is now forecast that there will be very cheap energy available from wind generation between 2am and 3am.\nThe EMS first requests the Forecast data from each of its registered ESAs. It determines that the EVSE has a power profile suggesting it plans to start charging the vehicle at 1am.\nThe EMS can then try to reduce the cost of charging the EV by informing the EVSE of the desire to increase the charging between scheduled times.\nIt does this by sending a RequestConstraintBasedForecast to the EVSE and asks it to run at a higher NominalPower consumption during the constraint period, which may require it to decrease its charge rate outside the constraint period to achieve its required energy demand.",
97
97
  xref: { document: "cluster", section: "9.2.4.7" }
98
98
  })
99
99
  ),
@@ -117,7 +117,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
117
117
  conformance: "M",
118
118
  default: false,
119
119
  quality: "F",
120
- details: "Indicates whether the ESA is classed as a generator or load. This allows an EMS to understand whether the power values reported by the ESA need to have their sign inverted when dealing with forecasts and adjustments.\nFor example, a solar PV inverter (being a generator) may produce positive values to indicate generation, however an EMS when predicting the total home load would need to subtract these positive values from the loads to compute a net import at the grid meter.\nFor example, a home battery storage system (BESS) which needs to charge the battery and then discharge to the home loads, would be classed as a generator. These types of devices shall have this field set to true. When generating its forecast or advertising its PowerAdjustmentCapability, the power values shall be positive to indicate discharging to the loads in the home, and negative to indicate when it is charging its battery.\nGRID meter = \u03A3 LoadPowers - \u03A3 GeneratorPowers\nExample:",
120
+ details: "Indicates whether the ESA is classed as a generator or load. This allows an EMS to understand whether the power values reported by the ESA need to have their sign inverted when dealing with forecasts and adjustments.\nFor example, a solar PV inverter (being a generator) may produce negative values to indicate generation (since power is flowing out of the node into the home), however a display showing the power to the consumers may need to present a positive solar production value to the consumer.\nFor example, a home battery storage system (BESS) which needs to charge the battery and then discharge to the home loads, would be classed as a generator. These types of devices shall have this field set to true. When generating its forecast or advertising its PowerAdjustmentCapability, the power values shall be negative to indicate discharging to the loads in the home, and positive to indicate when it is charging its battery.\nGRID meter = \u03A3 LoadPowers + \u03A3 GeneratorPowers\nExample:",
121
121
  xref: { document: "cluster", section: "9.2.8.2" }
122
122
  }
123
123
  ),
@@ -139,7 +139,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
139
139
  access: "R V",
140
140
  conformance: "M",
141
141
  default: 0,
142
- details: "Indicates the minimum electrical power that the ESA can consume when switched on. This does not include when in power save or standby modes.\nNote that for Generator ESAs that can charge an internal battery (such as a battery storage inverter), the AbsMinPower will be a negative number representing the maximum power that the ESA can charge its internal battery.",
142
+ details: "Indicates the minimum electrical power that the ESA can consume when switched on. This does not include when in power save or standby modes.\nNOTE\nFor Generator ESAs that can discharge an internal battery (such as a battery storage inverter) to loads in the home, the AbsMinPower will be a negative number representing the maximum power that the ESA can discharge its internal battery.",
143
143
  xref: { document: "cluster", section: "9.2.8.4" }
144
144
  }),
145
145
  (0, import_elements.AttributeElement)({
@@ -148,25 +148,22 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
148
148
  type: "power-mW",
149
149
  access: "R V",
150
150
  conformance: "M",
151
+ constraint: "min absMinPower",
151
152
  default: 0,
152
- details: "Indicates the maximum electrical power that the ESA can consume when switched on.\nThe value of the AbsMaxPower attribute shall be limited\nAbsMaxPower >= AbsMinPower\nNote that for Generator ESAs that can discharge a battery to loads in the home (such as a battery storage inverter), the AbsMaxPower will be a positive number representing the maximum power at which the ESA can discharge its internal battery.\nFor example, a battery storage inverter that can charge its battery at a maximum power of 2000W and can discharge the battery at a maximum power of 3000W, would have a AbsMinPower: -2000, AbsMaxPower: 3000W.",
153
+ details: "Indicates the maximum electrical power that the ESA can consume when switched on.\nNote that for Generator ESAs that can charge a battery by importing power into the node (such as a battery storage inverter), the AbsMaxPower will be a positive number representing the maximum power at which the ESA can charge its internal battery.\nFor example, a battery storage inverter that can charge its battery at a maximum power of 2000W and can discharge the battery at a maximum power of 3000W, would have a AbsMinPower: -3000, AbsMaxPower: 2000W.",
153
154
  xref: { document: "cluster", section: "9.2.8.5" }
154
155
  }),
155
- (0, import_elements.AttributeElement)(
156
- {
157
- name: "PowerAdjustmentCapability",
158
- id: 5,
159
- type: "list",
160
- access: "R V",
161
- conformance: "PA",
162
- constraint: "max 8",
163
- default: null,
164
- quality: "X",
165
- details: "Indicates how the ESA can be adjusted at the current time. This attribute SHOULD be updated regularly by ESAs.\nFor example, a battery storage inverter may need to regulate its internal temperature, or the charging rate of the battery may be limited due to cold temperatures, or a change in the state of charge of the battery may mean that the maximum charging or discharging rate is limited.\nAn empty list shall indicate that no power adjustment is currently possible.\nMultiple entries in the list allow to indicate that permutations of scenarios may be possible.\nFor example, a 10kWh battery could be at 80% state of charge. If charging at 2kW, then it would be full in 1 hour. However, it could be discharged at 2kW for 4 hours.\nIn this example the list of PowerAdjustStructs allows multiple scenarios to be offered as follows:",
166
- xref: { document: "cluster", section: "9.2.8.6" }
167
- },
168
- (0, import_elements.FieldElement)({ name: "entry", type: "PowerAdjustStruct" })
169
- ),
156
+ (0, import_elements.AttributeElement)({
157
+ name: "PowerAdjustmentCapability",
158
+ id: 5,
159
+ type: "PowerAdjustCapabilityStruct",
160
+ access: "R V",
161
+ conformance: "PA",
162
+ default: null,
163
+ quality: "X Q",
164
+ details: "Indicates how the ESA can be adjusted at the current time, and the state of any active adjustment.\nA null value indicates that no power adjustment is currently possible, and nor is any adjustment currently active.\nThis attribute SHOULD be updated periodically by ESAs to reflect any changes in internal state, for example temperature or stored energy, which would affect the power or duration limits.\nChanges to this attribute shall only be marked as reportable in the following cases:\n \u2022 At most once every 10 seconds on changes, or\n \u2022 When it changes from null to any other value and vice versa.",
165
+ xref: { document: "cluster", section: "9.2.8.6" }
166
+ }),
170
167
  (0, import_elements.AttributeElement)({
171
168
  name: "Forecast",
172
169
  id: 6,
@@ -174,8 +171,8 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
174
171
  access: "R V",
175
172
  conformance: "PFR | SFR",
176
173
  default: null,
177
- quality: "X",
178
- details: "This attribute allows an ESA to share its intended forecast with a client (such as an Energy Management System).\nA null value indicates that there is no forecast currently available\nyet been selected by the user).\nA server may reset this value attribute to null on a reboot, and it does not need to persist any previous forecasts.",
174
+ quality: "X Q",
175
+ details: "This attribute allows an ESA to share its intended forecast with a client (such as an Energy Management System).\nA null value indicates that there is no forecast currently available (for example, a program has not yet been selected by the user).\nA server may reset this value attribute to null on a reboot, and it does not need to persist any previous forecasts.\nChanges to this attribute shall only be marked as reportable in the following cases:\n \u2022 At most once every 10 seconds on changes, or\n \u2022 When it changes from null to any other value and vice versa, or\n \u2022 As a result of a command which causes the forecast to be updated, or\n \u2022 As a result of a change in the opt-out status which in turn may cause the ESA to recalculate its forecast.",
179
176
  xref: { document: "cluster", section: "9.2.8.7" }
180
177
  }),
181
178
  (0, import_elements.AttributeElement)({
@@ -186,7 +183,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
186
183
  conformance: "PA | STA | PAU | FA | CON",
187
184
  constraint: "desc",
188
185
  default: 0,
189
- details: "Indicates the current Opt-Out state of the ESA. The ESA may have a local user interface to allow the user to control this OptOutState. An EMS may subscribe to the OptOutState to get notified about changes in operational state.\nIf the ESA is in the LocalOptOut or OptOut states, so it cannot be controlled by an EMS for local optimization reasons, it shall reject any commands which have the AdjustmentCauseEnum value LocalOptimization. If the ESA is in the GridOptOut or OptOut states, so it cannot be controlled by an EMS for grid optimization reasons, it shall reject any commands which have the AdjustmentCauseEnum value GridOptimization. If the ESA is in the LocalOptOut, GridOptOut, or NoOptOut states, the device is still permitted to optimize its own energy usage, for example, using tariff information it may obtain.",
186
+ details: "Indicates the current Opt-Out state of the ESA. The ESA may have a local user interface to allow the user to control this OptOutState. An EMS may subscribe to the OptOutState to get notified about changes in operational state.\nIf the ESA is in the LocalOptOut or OptOut states, so it cannot be controlled by an EMS for local optimization reasons, it shall reject any commands which have the AdjustmentCauseEnum value LocalOptimization. If the ESA is in the GridOptOut or OptOut states, so it cannot be controlled by an EMS for grid optimization reasons, it shall reject any commands which have the AdjustmentCauseEnum value GridOptimization.\nIf the user changes the Opt-Out state of the ESA which is currently operating with a Forecast that is due to a previous StartTimeAdjustRequest, ModifyForecastRequest or RequestConstraintBasedForecast command that would now not be permitted due to the new Opt-out state\nattribute ForecastUpdateReason field currently contains a reason which is now opted out), the ESA shall behave as if it had received a CancelRequest command.\nIf the user changes the Opt-Out state of the ESA which currently has the ESAStateEnum with value Paused due to a previous PauseRequest command that would now not be permitted due to the new Opt-out state, and the ESA supports the PFR or SFR features (i.e. the Forecast attribute ForecastUpdateReason field currently contains a reason which is now opted out), the ESA shall behave as if it had received a ResumeRequest command.\nIf the user changes the Opt-Out state of the ESA which currently has the ESAStateEnum with value PowerAdjustActive due to a previous PowerAdjustRequest command that would now not be permitted due to the new Opt-out state (i.e. the Forecast attribute ForecastUpdateReason field currently contains a reason which is now opted out), the ESA shall behave as if it had received a CancelPowerAdjustRequest command.\nIf the ESA is in the LocalOptOut, GridOptOut, or NoOptOut states, the device is still permitted to optimize its own energy usage, for example, using tariff information it may obtain.",
190
187
  xref: { document: "cluster", section: "9.2.8.8" }
191
188
  }),
192
189
  (0, import_elements.EventElement)({
@@ -230,7 +227,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
230
227
  id: 2,
231
228
  type: "energy-mWh",
232
229
  conformance: "M",
233
- details: "This field shall indicate the approximate energy used by the ESA during the session.\nFor example, if the ESA was on and was adjusted to be switched off, then this shall be 0W. If this was a battery inverter that was requested to charge it would have a negative energy use. If this was a normal load that was turned on, then it will have positive value.",
230
+ details: "This field shall indicate the approximate energy used by the ESA during the session.\nFor example, if the ESA was on and was adjusted to be switched off, then this shall be 0 mWh. If this was a battery inverter that was requested to discharge it would have a negative EnergyUse value. If this was a normal load that was turned on, then it will have positive value.",
234
231
  xref: { document: "cluster", section: "9.2.10.2.3" }
235
232
  })
236
233
  ),
@@ -337,7 +334,6 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
337
334
  id: 1,
338
335
  type: "AdjustmentCauseEnum",
339
336
  conformance: "M",
340
- constraint: "desc",
341
337
  details: "This field shall indicate the cause of the request from the EMS.",
342
338
  xref: { document: "cluster", section: "9.2.9.3.2" }
343
339
  })
@@ -367,7 +363,6 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
367
363
  id: 1,
368
364
  type: "AdjustmentCauseEnum",
369
365
  conformance: "M",
370
- constraint: "desc",
371
366
  details: "This field shall indicate the cause of the request from the EMS.",
372
367
  xref: { document: "cluster", section: "9.2.9.4.2" }
373
368
  })
@@ -398,7 +393,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
398
393
  id: 0,
399
394
  type: "uint32",
400
395
  conformance: "M",
401
- details: "This field shall indicate the ForecastId that is to be modified.",
396
+ details: "This field shall indicate the ForecastID that is to be modified.",
402
397
  xref: { document: "cluster", section: "9.2.9.6.1" }
403
398
  }),
404
399
  (0, import_elements.FieldElement)(
@@ -408,7 +403,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
408
403
  type: "list",
409
404
  conformance: "M",
410
405
  constraint: "max 10",
411
- details: "This field shall contain a list of SlotAdjustment parameters that should be modified in the corresponding Forecast with matching ForecastId.",
406
+ details: "This field shall contain a list of SlotAdjustment parameters that should be modified in the corresponding Forecast with matching ForecastID.",
412
407
  xref: { document: "cluster", section: "9.2.9.6.2" }
413
408
  },
414
409
  (0, import_elements.FieldElement)({ name: "entry", type: "SlotAdjustmentStruct" })
@@ -418,7 +413,6 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
418
413
  id: 2,
419
414
  type: "AdjustmentCauseEnum",
420
415
  conformance: "M",
421
- constraint: "desc",
422
416
  details: "This field shall indicate the cause of the request from the EMS.",
423
417
  xref: { document: "cluster", section: "9.2.9.6.3" }
424
418
  })
@@ -441,7 +435,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
441
435
  type: "list",
442
436
  conformance: "M",
443
437
  constraint: "max 10",
444
- details: "This field shall indicate the series of turn up or turn down power requests that the ESA is being asked to constrain its operation within.\nFor example, a grid event which requires devices to reduce power (turn down) between 4pm and 6pm and due to excess power on the grid overnight, may request ESAs to increase their power demand (turn up) between midnight and 6am.\nIf this ESA supports PFR this would have 2 entries in the list as follows:\nIf this ESA supports SFR where it does not know the actual power, but has an understanding of the functions that use more energy, it could be requested to use more or less energy using the LoadControl field as follows:",
438
+ details: "This field shall indicate the series of turn up or turn down power requests that the ESA is being asked to constrain its operation within. These requests shall be in the future, shall be in chronological order, starting with the earliest start time, and shall NOT overlap in time.\nFor example, a grid event which requires devices to reduce power (turn down) between 4pm and 6pm and due to excess power on the grid overnight, may request ESAs to increase their power demand (turn up) between midnight and 6am.\nIf this ESA supports PFR this would have 2 entries in the list as follows:\nIf this ESA supports SFR where it does not know the actual power, but has an understanding of the functions that use more energy, it could be requested to use more or less energy using the LoadCon\ntrol field as follows:",
445
439
  xref: { document: "cluster", section: "9.2.9.7.1" }
446
440
  },
447
441
  (0, import_elements.FieldElement)({ name: "entry", type: "ConstraintsStruct" })
@@ -451,7 +445,6 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
451
445
  id: 1,
452
446
  type: "AdjustmentCauseEnum",
453
447
  conformance: "M",
454
- constraint: "desc",
455
448
  details: "This field shall indicate the cause of the request from the EMS.",
456
449
  xref: { document: "cluster", section: "9.2.9.7.2" }
457
450
  })
@@ -548,7 +541,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
548
541
  (0, import_elements.FieldElement)({
549
542
  name: "Paused",
550
543
  id: 4,
551
- conformance: "[FA]",
544
+ conformance: "PAU",
552
545
  description: "The ESA is currently paused by a client using the PauseRequest command"
553
546
  })
554
547
  ),
@@ -584,36 +577,36 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
584
577
  (0, import_elements.FieldElement)({
585
578
  name: "NormalCompletion",
586
579
  id: 0,
587
- conformance: "O",
580
+ conformance: "M",
588
581
  description: "The ESA completed the power adjustment as requested"
589
582
  }),
590
- (0, import_elements.FieldElement)({ name: "Offline", id: 1, conformance: "O", description: "The ESA was set to offline" }),
583
+ (0, import_elements.FieldElement)({ name: "Offline", id: 1, conformance: "M", description: "The ESA was set to offline" }),
591
584
  (0, import_elements.FieldElement)({
592
585
  name: "Fault",
593
586
  id: 2,
594
- conformance: "O",
587
+ conformance: "M",
595
588
  description: "The ESA has developed a fault could not complete the adjustment"
596
589
  }),
597
590
  (0, import_elements.FieldElement)({
598
591
  name: "UserOptOut",
599
592
  id: 3,
600
- conformance: "O",
593
+ conformance: "M",
601
594
  description: "The user has disabled the ESA\u2019s flexibility capability"
602
595
  }),
603
- (0, import_elements.FieldElement)({ name: "Cancelled", id: 4, conformance: "O", description: "The adjustment was cancelled by a client" })
596
+ (0, import_elements.FieldElement)({ name: "Cancelled", id: 4, conformance: "M", description: "The adjustment was cancelled by a client" })
604
597
  ),
605
598
  (0, import_elements.DatatypeElement)(
606
599
  { name: "AdjustmentCauseEnum", type: "enum8", xref: { document: "cluster", section: "9.2.7.6" } },
607
600
  (0, import_elements.FieldElement)({
608
601
  name: "LocalOptimization",
609
602
  id: 0,
610
- conformance: "O",
603
+ conformance: "M",
611
604
  description: "The adjustment is to optimize the local energy usage"
612
605
  }),
613
606
  (0, import_elements.FieldElement)({
614
607
  name: "GridOptimization",
615
608
  id: 1,
616
- conformance: "O",
609
+ conformance: "M",
617
610
  description: "The adjustment is to optimize the grid energy usage"
618
611
  })
619
612
  ),
@@ -622,23 +615,39 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
622
615
  (0, import_elements.FieldElement)({
623
616
  name: "InternalOptimization",
624
617
  id: 0,
625
- conformance: "O",
618
+ conformance: "M",
626
619
  description: "The update was due to internal ESA device optimization"
627
620
  }),
628
621
  (0, import_elements.FieldElement)({
629
622
  name: "LocalOptimization",
630
623
  id: 1,
631
- conformance: "O",
624
+ conformance: "M",
632
625
  description: "The update was due to local EMS optimization"
633
626
  }),
634
- (0, import_elements.FieldElement)({ name: "GridOptimization", id: 2, conformance: "O", description: "The update was due to grid optimization" })
627
+ (0, import_elements.FieldElement)({ name: "GridOptimization", id: 2, conformance: "M", description: "The update was due to grid optimization" })
628
+ ),
629
+ (0, import_elements.DatatypeElement)(
630
+ { name: "PowerAdjustReasonEnum", type: "enum8", xref: { document: "cluster", section: "9.2.7.8" } },
631
+ (0, import_elements.FieldElement)({ name: "NoAdjustment", id: 0, conformance: "M", description: "There is no Power Adjustment active" }),
632
+ (0, import_elements.FieldElement)({
633
+ name: "LocalOptimizationAdjustment",
634
+ id: 1,
635
+ conformance: "M",
636
+ description: "There is PowerAdjustment active due to local EMS optimization"
637
+ }),
638
+ (0, import_elements.FieldElement)({
639
+ name: "GridOptimizationAdjustment",
640
+ id: 2,
641
+ conformance: "M",
642
+ description: "There is PowerAdjustment active due to local EMS optimization"
643
+ })
635
644
  ),
636
645
  (0, import_elements.DatatypeElement)(
637
646
  {
638
647
  name: "CostStruct",
639
648
  type: "struct",
640
649
  details: "This indicates a generic mechanism for expressing cost to run an appliance, in terms of financial, GHG emissions, comfort value etc.",
641
- xref: { document: "cluster", section: "9.2.7.8" }
650
+ xref: { document: "cluster", section: "9.2.7.9" }
642
651
  },
643
652
  (0, import_elements.FieldElement)({
644
653
  name: "CostType",
@@ -647,7 +656,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
647
656
  conformance: "M",
648
657
  default: 0,
649
658
  details: "This field shall indicate the type of cost being represented (see CostTypeEnum).",
650
- xref: { document: "cluster", section: "9.2.7.8.1" }
659
+ xref: { document: "cluster", section: "9.2.7.9.1" }
651
660
  }),
652
661
  (0, import_elements.FieldElement)({
653
662
  name: "Value",
@@ -656,7 +665,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
656
665
  conformance: "M",
657
666
  default: 0,
658
667
  details: "This field shall indicate the value of the cost. This may be negative (indicating that it is not a cost, but a free benefit).\nFor example, if the Value was -302 and DecimalPoints was 2, then this would represent a benefit of 3.02.",
659
- xref: { document: "cluster", section: "9.2.7.8.2" }
668
+ xref: { document: "cluster", section: "9.2.7.9.2" }
660
669
  }),
661
670
  (0, import_elements.FieldElement)({
662
671
  name: "DecimalPoints",
@@ -665,7 +674,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
665
674
  conformance: "M",
666
675
  default: 0,
667
676
  details: "This field shall indicate the number of digits to the right of the decimal point in the Value field. For example, if the Value was 102 and DecimalPoints was 2, then this would represent a cost of 1.02.",
668
- xref: { document: "cluster", section: "9.2.7.8.3" }
677
+ xref: { document: "cluster", section: "9.2.7.9.3" }
669
678
  }),
670
679
  (0, import_elements.FieldElement)({
671
680
  name: "Currency",
@@ -675,28 +684,29 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
675
684
  constraint: "max 999",
676
685
  default: 0,
677
686
  details: "Indicates the currency for the value in the Value field. The value of the currency field shall match the values defined by [ISO 4217].\nThis is an optional field. It shall be included if CostType is Financial.",
678
- xref: { document: "cluster", section: "9.2.7.8.4" }
687
+ xref: { document: "cluster", section: "9.2.7.9.4" }
679
688
  })
680
689
  ),
681
690
  (0, import_elements.DatatypeElement)(
682
- { name: "PowerAdjustStruct", type: "struct", xref: { document: "cluster", section: "9.2.7.9" } },
691
+ { name: "PowerAdjustStruct", type: "struct", xref: { document: "cluster", section: "9.2.7.10" } },
683
692
  (0, import_elements.FieldElement)({
684
693
  name: "MinPower",
685
694
  id: 0,
686
695
  type: "power-mW",
687
696
  conformance: "M",
688
697
  default: 0,
689
- details: "This field shall indicate the minimum power that the ESA can have its power adjusted to.\nNote that this is a signed value. Negative values indicate power flows away from loads (e.g. charging a battery inverter).\nMinPower shall be less than MaxPower.",
690
- xref: { document: "cluster", section: "9.2.7.9.1" }
698
+ details: "This field shall indicate the minimum power that the ESA can have its power adjusted to.\nNote that this is a signed value. Negative values indicate power flows out of the node (e.g. discharging a battery).",
699
+ xref: { document: "cluster", section: "9.2.7.10.1" }
691
700
  }),
692
701
  (0, import_elements.FieldElement)({
693
702
  name: "MaxPower",
694
703
  id: 1,
695
704
  type: "power-mW",
696
705
  conformance: "M",
706
+ constraint: "min minPower",
697
707
  default: 0,
698
- details: "This field shall indicate the maximum power that the ESA can have its power adjusted to.\nNote that this is a signed value. Negative values indicate power flows away from loads (e.g. charging a battery inverter).\nMinPower shall be less than MaxPower.\nFor example, if the charging current of an EVSE can be adjusted within the range of 6A to 32A on a 230V supply, then the power adjustment range is between 1380W and 7360W. Here the MinPower would be 1380W, and MaxPower would be 7360W.\nFor example, if a battery storage inverter can discharge between 0 to 3000W towards a load, then its MinPower would be 0W and its MaxPower would be 3000W.\nIn another example, if a battery storage inverter can charge its internal battery, between 0W and 2000W. Here power is flowing away from the home loads, so the power values need to be negative. As such the MinPower becomes -2000W and MaxPower becomes 0W.",
699
- xref: { document: "cluster", section: "9.2.7.9.2" }
708
+ details: "This field shall indicate the maximum power that the ESA can have its power adjusted to.\nNote that this is a signed value. Negative values indicate power flows out of the node (e.g. discharging a battery).\nFor example, if the charging current of an EVSE can be adjusted within the range of 6A to 32A on a 230V supply, then the power adjustment range is between 1380W and 7360W. Here the MinPower would be 1380W, and MaxPower would be 7360W.\nFor example, if a battery storage inverter can discharge between 0 to 3000W towards a load, then power is flowing out of the node and is therefore negative. Its MinPower would be -3000W and its MaxPower would be 0W.\nIn another example, if a battery storage inverter can charge its internal battery, between 0W and 2000W. Here power is flowing into the node when charging. As such the MinPower becomes 0W and MaxPower becomes 2000W.",
709
+ xref: { document: "cluster", section: "9.2.7.10.2" }
700
710
  }),
701
711
  (0, import_elements.FieldElement)({
702
712
  name: "MinDuration",
@@ -704,33 +714,52 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
704
714
  type: "elapsed-s",
705
715
  conformance: "M",
706
716
  default: 0,
707
- details: "This field shall indicate the minimum duration, in seconds, that a controller may invoke an ESA power adjustment. Manufacturers may use this to as an anti-cycling capability to avoid controllers from rapidly making power adjustments.\nNote that MinDuration shall be less than MaxDuration.",
708
- xref: { document: "cluster", section: "9.2.7.9.3" }
717
+ details: "This field shall indicate the minimum duration, in seconds, that a controller may invoke an ESA power adjustment. Manufacturers may use this to as an anti-cycling capability to avoid controllers from rapidly making power adjustments.",
718
+ xref: { document: "cluster", section: "9.2.7.10.3" }
709
719
  }),
710
720
  (0, import_elements.FieldElement)({
711
721
  name: "MaxDuration",
712
722
  id: 3,
713
723
  type: "elapsed-s",
714
724
  conformance: "M",
715
- details: "This field shall indicate the maximum duration, in seconds, that a controller may invoke an ESA power adjustment. Manufacturers may use this to protect the user experience, to avoid over heating of the ESA, ensuring that there is sufficient headroom to use or store energy in the ESA or for any other reason.\nNote that MinDuration shall be less than MaxDuration.",
716
- xref: { document: "cluster", section: "9.2.7.9.4" }
725
+ constraint: "min minDuration",
726
+ details: "This field shall indicate the maximum duration, in seconds, that a controller may invoke an ESA power adjustment. Manufacturers may use this to protect the user experience, to avoid over heating of the ESA, ensuring that there is sufficient headroom to use or store energy in the ESA or for any other reason.",
727
+ xref: { document: "cluster", section: "9.2.7.10.4" }
717
728
  })
718
729
  ),
730
+ (0, import_elements.DatatypeElement)(
731
+ { name: "PowerAdjustCapabilityStruct", type: "struct", xref: { document: "cluster", section: "9.2.7.11" } },
732
+ (0, import_elements.FieldElement)(
733
+ {
734
+ name: "PowerAdjustCapability",
735
+ id: 0,
736
+ type: "list",
737
+ conformance: "M",
738
+ constraint: "max 8",
739
+ default: null,
740
+ quality: "X",
741
+ details: "This field shall indicate how the ESA can be adjusted at the current time.\nFor example, a battery storage inverter may need to regulate its internal temperature, or the charging rate of the battery may be limited due to cold temperatures, or a change in the state of charge of the battery may mean that the maximum charging or discharging rate is limited.\nAn empty list shall indicate that no power adjustment is currently possible.\nMultiple entries in the list allow indicating that permutations of scenarios may be possible.\nFor example, a 10kWh battery could be at 80% state of charge. If charging at 2kW, then it would be full in 1 hour. However, it could be discharged at 2kW for 4 hours.\nIn this example the list of PowerAdjustStructs allows multiple scenarios to be offered as follows:",
742
+ xref: { document: "cluster", section: "9.2.7.12" }
743
+ },
744
+ (0, import_elements.FieldElement)({ name: "entry", type: "PowerAdjustStruct" })
745
+ ),
746
+ (0, import_elements.FieldElement)({ name: "Cause", id: 1, type: "PowerAdjustReasonEnum", conformance: "M", default: 0 })
747
+ ),
719
748
  (0, import_elements.DatatypeElement)(
720
749
  {
721
750
  name: "ForecastStruct",
722
751
  type: "struct",
723
752
  details: "This indicates a list of 'slots' describing the overall timing of the ESA\u2019s planned energy and power use, with different power and energy demands per slot. For example, slots might be used to describe the distinct stages of a washing machine cycle.\nWhere an ESA does not know the actual power and energy use of the system, it may support the SFR\nfeature and instead report its internal state.",
724
- xref: { document: "cluster", section: "9.2.7.10" }
753
+ xref: { document: "cluster", section: "9.2.7.13" }
725
754
  },
726
755
  (0, import_elements.FieldElement)({
727
756
  name: "ForecastId",
728
757
  id: 0,
729
- type: "uint16",
758
+ type: "uint32",
730
759
  conformance: "M",
731
760
  default: 0,
732
- details: "This field shall indicate the sequence number for the current forecast. If the ESA updates a forecast, it shall monotonically increase this value.\nThe ESA does not need to persist this value across reboots, since the EMS SHOULD be able to detect that any previous subscriptions are lost if a device reboots. The loss of a subscription and subsequent re-subscription allows the EMS to learn about any new forecasts.\nThe value of ForecastId is allowed to wrap.",
733
- xref: { document: "cluster", section: "9.2.7.10.1" }
761
+ details: "This field shall indicate the sequence number for the current forecast. If the ESA updates a forecast, it shall monotonically increase this value.\nThe ESA does not need to persist this value across reboots, since the EMS SHOULD be able to detect that any previous subscriptions are lost if a device reboots. The loss of a subscription and subsequent re-subscription allows the EMS to learn about any new forecasts.\nThe value of ForecastID is allowed to wrap.",
762
+ xref: { document: "cluster", section: "9.2.7.13.1" }
734
763
  }),
735
764
  (0, import_elements.FieldElement)({
736
765
  name: "ActiveSlotNumber",
@@ -740,7 +769,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
740
769
  default: 0,
741
770
  quality: "X",
742
771
  details: "This field shall indicate which element of the Slots list is currently active in the Forecast sequence. A null value indicates that the sequence has not yet started.",
743
- xref: { document: "cluster", section: "9.2.7.10.2" }
772
+ xref: { document: "cluster", section: "9.2.7.13.2" }
744
773
  }),
745
774
  (0, import_elements.FieldElement)({
746
775
  name: "StartTime",
@@ -748,7 +777,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
748
777
  type: "epoch-s",
749
778
  conformance: "M",
750
779
  details: "This field shall indicate the planned start time, in UTC, for the entire Forecast.",
751
- xref: { document: "cluster", section: "9.2.7.10.3" }
780
+ xref: { document: "cluster", section: "9.2.7.13.3" }
752
781
  }),
753
782
  (0, import_elements.FieldElement)({
754
783
  name: "EndTime",
@@ -756,7 +785,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
756
785
  type: "epoch-s",
757
786
  conformance: "M",
758
787
  details: "This field shall indicate the planned end time, in UTC, for the entire Forecast.",
759
- xref: { document: "cluster", section: "9.2.7.10.4" }
788
+ xref: { document: "cluster", section: "9.2.7.13.4" }
760
789
  }),
761
790
  (0, import_elements.FieldElement)({
762
791
  name: "EarliestStartTime",
@@ -764,8 +793,8 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
764
793
  type: "epoch-s",
765
794
  conformance: "STA",
766
795
  quality: "X",
767
- details: "This field shall indicate the earliest start time, in UTC, that the entire Forecast can be shifted to.\nA null value indicates that it can be started immediately.",
768
- xref: { document: "cluster", section: "9.2.7.10.5" }
796
+ details: "This field shall indicate the earliest start time, in UTC, that the entire Forecast can be shifted to. A null value indicates that it can be started immediately.",
797
+ xref: { document: "cluster", section: "9.2.7.13.5" }
769
798
  }),
770
799
  (0, import_elements.FieldElement)({
771
800
  name: "LatestEndTime",
@@ -773,15 +802,15 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
773
802
  type: "epoch-s",
774
803
  conformance: "STA",
775
804
  details: "This field shall indicate the latest end time, in UTC, for the entire Forecast.\ne.g. for an EVSE charging session, this may indicate the departure time for the vehicle, by which time the charging session must end.",
776
- xref: { document: "cluster", section: "9.2.7.10.6" }
805
+ xref: { document: "cluster", section: "9.2.7.13.6" }
777
806
  }),
778
807
  (0, import_elements.FieldElement)({
779
- name: "IsPauseable",
808
+ name: "IsPausable",
780
809
  id: 6,
781
810
  type: "bool",
782
811
  conformance: "M",
783
812
  details: "This field shall indicate that some part of the Forecast can be paused. It aims to allow a client to read this flag and if it is false, then none of the slots contain SlotIsPausable set to true. This can save a client from having to check each slot in the list.",
784
- xref: { document: "cluster", section: "9.2.7.10.7" }
813
+ xref: { document: "cluster", section: "9.2.7.13.7" }
785
814
  }),
786
815
  (0, import_elements.FieldElement)(
787
816
  {
@@ -791,7 +820,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
791
820
  conformance: "M",
792
821
  constraint: "max 10",
793
822
  details: "This field shall contain a list of SlotStructs.\nIt shall contain at least 1 entry, and a maximum of 10.",
794
- xref: { document: "cluster", section: "9.2.7.10.8" }
823
+ xref: { document: "cluster", section: "9.2.7.13.8" }
795
824
  },
796
825
  (0, import_elements.FieldElement)({ name: "entry", type: "SlotStruct" })
797
826
  ),
@@ -801,7 +830,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
801
830
  type: "ForecastUpdateReasonEnum",
802
831
  conformance: "M",
803
832
  details: "This field shall contain the reason the current Forecast was generated.",
804
- xref: { document: "cluster", section: "9.2.7.10.9" }
833
+ xref: { document: "cluster", section: "9.2.7.13.9" }
805
834
  })
806
835
  ),
807
836
  (0, import_elements.DatatypeElement)(
@@ -809,7 +838,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
809
838
  name: "SlotStruct",
810
839
  type: "struct",
811
840
  details: "This indicates a specific stage of an ESA\u2019s operation.",
812
- xref: { document: "cluster", section: "9.2.7.11" }
841
+ xref: { document: "cluster", section: "9.2.7.14" }
813
842
  },
814
843
  (0, import_elements.FieldElement)({
815
844
  name: "MinDuration",
@@ -817,7 +846,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
817
846
  type: "elapsed-s",
818
847
  conformance: "M",
819
848
  details: "This field shall indicate the minimum time (in seconds) that the appliance expects to be in this slot for.",
820
- xref: { document: "cluster", section: "9.2.7.11.1" }
849
+ xref: { document: "cluster", section: "9.2.7.14.1" }
821
850
  }),
822
851
  (0, import_elements.FieldElement)({
823
852
  name: "MaxDuration",
@@ -825,7 +854,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
825
854
  type: "elapsed-s",
826
855
  conformance: "M",
827
856
  details: "This field shall indicate the maximum time (in seconds) that the appliance expects to be in this slot for.",
828
- xref: { document: "cluster", section: "9.2.7.11.2" }
857
+ xref: { document: "cluster", section: "9.2.7.14.2" }
829
858
  }),
830
859
  (0, import_elements.FieldElement)({
831
860
  name: "DefaultDuration",
@@ -833,7 +862,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
833
862
  type: "elapsed-s",
834
863
  conformance: "M",
835
864
  details: "This field shall indicate the expected time (in seconds) that the appliance expects to be in this slot for.",
836
- xref: { document: "cluster", section: "9.2.7.11.3" }
865
+ xref: { document: "cluster", section: "9.2.7.14.3" }
837
866
  }),
838
867
  (0, import_elements.FieldElement)({
839
868
  name: "ElapsedSlotTime",
@@ -841,24 +870,31 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
841
870
  type: "elapsed-s",
842
871
  conformance: "M",
843
872
  details: "This field shall indicate the time (in seconds) that has already elapsed whilst in this slot. If the slot has not yet been started, then it shall be 0. Once the slot has been completed, then this reflects how much time was spent in this slot.\nWhen subscribed to, a change in this field value shall NOT cause the Forecast attribute to be updated since this value may change every 1 second.\nWhen the Forecast attribute is read, then this value shall be the most recent value.",
844
- xref: { document: "cluster", section: "9.2.7.11.4" }
873
+ xref: { document: "cluster", section: "9.2.7.14.4" }
845
874
  }),
846
875
  (0, import_elements.FieldElement)({
847
876
  name: "RemainingSlotTime",
848
877
  id: 4,
849
878
  type: "elapsed-s",
850
879
  conformance: "M",
851
- details: "This field shall indicate the time (in seconds) that is estimated to be remaining.\nNote that it may not align to the DefaultDuration - ElapsedSlotTime since an appliance may have revised its planned operation based on conditions.\nWhen subscribed to, a change in this field value shall NOT cause the Forecast attribute to be updated, since this value may change every 1 second.\nNote that if the ESA is currently paused, then this value shall not change.\nWhen the Forecast attribute is read, then this value shall be the most recent value.",
852
- xref: { document: "cluster", section: "9.2.7.11.5" }
880
+ details: "This field shall indicate the time (in seconds) that is estimated to be remaining.\nNote that it may not align to the DefaultDuration - ElapsedSlotTime since an appliance may have revised its planned operation based on conditions.\nWhen subscribed to, a change in this field value shall NOT cause the Forecast attribute to be updated, since this value may change every 1 second.\nNote that if the ESA is currently paused, then this value shall NOT change.\nWhen the Forecast attribute is read, then this value shall be the most recent value.",
881
+ xref: { document: "cluster", section: "9.2.7.14.5" }
882
+ }),
883
+ (0, import_elements.FieldElement)({
884
+ name: "SlotIsPausable",
885
+ id: 5,
886
+ type: "bool",
887
+ conformance: "PAU",
888
+ details: "This field shall indicate whether this slot can be paused.",
889
+ xref: { document: "cluster", section: "9.2.7.14.6" }
853
890
  }),
854
- (0, import_elements.FieldElement)({ name: "SlotIsPauseable", id: 5, type: "bool", conformance: "PAU" }),
855
891
  (0, import_elements.FieldElement)({
856
892
  name: "MinPauseDuration",
857
893
  id: 6,
858
894
  type: "elapsed-s",
859
895
  conformance: "PAU",
860
896
  details: "This field shall indicate the shortest period that the slot can be paused for. This can be set to avoid controllers trying to pause ESAs for short periods and then resuming operation in a cyclic fashion which may damage or cause excess energy to be consumed with restarting of an operation.",
861
- xref: { document: "cluster", section: "9.2.7.11.7" }
897
+ xref: { document: "cluster", section: "9.2.7.14.7" }
862
898
  }),
863
899
  (0, import_elements.FieldElement)({
864
900
  name: "MaxPauseDuration",
@@ -866,15 +902,15 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
866
902
  type: "elapsed-s",
867
903
  conformance: "PAU",
868
904
  details: "This field shall indicate the longest period that the slot can be paused for.",
869
- xref: { document: "cluster", section: "9.2.7.11.8" }
905
+ xref: { document: "cluster", section: "9.2.7.14.8" }
870
906
  }),
871
907
  (0, import_elements.FieldElement)({
872
908
  name: "ManufacturerEsaState",
873
909
  id: 8,
874
910
  type: "uint16",
875
911
  conformance: "SFR",
876
- details: "This field shall indicate a manufacturer defined value indicating the state of the ESA.\nThis may be used by an observing EMS which also has access to the metering data to ascertain the typical power drawn when the ESA is in a manufacturer defined state.\nSome appliances, such as smart thermostats, may not know how much power is being drawn by the HVAC system, but do know what they have asked the HVAC system to do.\nManufacturers can use this value to indicate a variety of states in an unspecified way. For example, they may choose to use values between 0-100 as a percentage of compressor modulation, or could use these values as Enum states meaning heating with fan, heating without fan etc.\nNOTE An ESA shall always use the same value to represent the same operating state.\nBy providing this information a smart EMS may be able to learn the observed power draw when the ESA is put into a specific state. It can potentially then use the information in the PowerForecastReporting data to predict the power draw from the appliance and potentially ask it to modify its timing via one of the adjustment request commands, or adjust other ESAs power to compensate.",
877
- xref: { document: "cluster", section: "9.2.7.11.9" }
912
+ details: "This field shall indicate a manufacturer defined value indicating the state of the ESA.\nThis may be used by an observing EMS which also has access to the metering data to ascertain the typical power drawn when the ESA is in a manufacturer defined state.\nSome appliances, such as smart thermostats, may not know how much power is being drawn by the HVAC system, but do know what they have asked the HVAC system to do.\nManufacturers can use this value to indicate a variety of states in an unspecified way. For example, they may choose to use values between 0-100 as a percentage of compressor modulation, or could use these values as Enum states meaning heating with fan, heating without fan etc.\nNOTE An ESA shall always use the same value to represent the same operating state.\nBy providing this information a smart EMS may be able to learn the observed power draw when the ESA is put into a specific state. It can potentially then use the ManufacturerESAState field in the Forecast attribute along with observed power drawn to predict the power draw from the appliance and potentially ask it to modify its timing via one of the adjustment request commands, or adjust other ESAs power to compensate.",
913
+ xref: { document: "cluster", section: "9.2.7.14.9" }
878
914
  }),
879
915
  (0, import_elements.FieldElement)({
880
916
  name: "NominalPower",
@@ -882,7 +918,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
882
918
  type: "power-mW",
883
919
  conformance: "PFR",
884
920
  details: "This field shall indicate the expected power that the appliance will use during this slot. It may be considered the average value over the slot, and some variation from this would be expected (for example, as it is ramping up).",
885
- xref: { document: "cluster", section: "9.2.7.11.10" }
921
+ xref: { document: "cluster", section: "9.2.7.14.10" }
886
922
  }),
887
923
  (0, import_elements.FieldElement)({
888
924
  name: "MinPower",
@@ -890,7 +926,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
890
926
  type: "power-mW",
891
927
  conformance: "PFR",
892
928
  details: "This field shall indicate the lowest power that the appliance expects to use during this slot. (e.g. during a ramp up it may be 0W).\nSome appliances (e.g. battery inverters which can charge and discharge) may have a negative power.",
893
- xref: { document: "cluster", section: "9.2.7.11.11" }
929
+ xref: { document: "cluster", section: "9.2.7.14.11" }
894
930
  }),
895
931
  (0, import_elements.FieldElement)({
896
932
  name: "MaxPower",
@@ -898,7 +934,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
898
934
  type: "power-mW",
899
935
  conformance: "PFR",
900
936
  details: "This field shall indicate the maximum power that the appliance expects to use during this slot. (e.g. during a ramp up it may be 0W). This field ignores the effects of short-lived inrush currents.\nSome appliances (e.g. battery inverters which can charge and discharge) may have a negative power.",
901
- xref: { document: "cluster", section: "9.2.7.11.12" }
937
+ xref: { document: "cluster", section: "9.2.7.14.12" }
902
938
  }),
903
939
  (0, import_elements.FieldElement)({
904
940
  name: "NominalEnergy",
@@ -906,7 +942,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
906
942
  type: "energy-mWh",
907
943
  conformance: "PFR",
908
944
  details: "This field shall indicate the expected energy that the appliance expects to use or produce during this slot.\nSome appliances (e.g. battery inverters which can charge and discharge) may have a negative energy.",
909
- xref: { document: "cluster", section: "9.2.7.11.13" }
945
+ xref: { document: "cluster", section: "9.2.7.14.13" }
910
946
  }),
911
947
  (0, import_elements.FieldElement)(
912
948
  {
@@ -916,7 +952,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
916
952
  conformance: "O",
917
953
  constraint: "max 5",
918
954
  details: "This field shall indicate the current estimated cost for operating.\nFor example, if the device has access to an Energy pricing server it may be able to use the tariff to estimate the cost of energy for this slot in the power forecast.\nWhen an Energy Management System requests a change in the schedule, then the device may suggest a change in the cost as a result of shifting its energy. This can allow a demand side response service to be informed of the relative cost to use energy at a different time.\nThe Costs field is a list of CostStruct structures which allows multiple CostTypeEnum and Values to be shared by the energy appliance. These could be based on GHG emissions, comfort value for the consumer etc.\nFor example, comfort could be expressed in abstract units or in currency. A water heater that is heated earlier in the day is likely to lose some of its heat before it is needed, which could require a top-up heating event to occur later in the day (which may incur additional cost).\nIf the ESA cannot calculate its cost for any reason (such as losing its connection to a Price server) it may omit this field. This is treated as extra meta data that an EMS may use to optimize a system.",
919
- xref: { document: "cluster", section: "9.2.7.11.14" }
955
+ xref: { document: "cluster", section: "9.2.7.14.14" }
920
956
  },
921
957
  (0, import_elements.FieldElement)({ name: "entry", type: "CostStruct" })
922
958
  ),
@@ -926,7 +962,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
926
962
  type: "power-mW",
927
963
  conformance: "FA & PFR",
928
964
  details: "This field shall indicate the minimum power that the appliance can be requested to use.\nFor example, some EVSEs cannot be switched on to charge below 6A which may equate to ~1.3kW in EU markets. If the slot indicates a NominalPower of 0W (indicating it is expecting to be off), this allows an ESA to indicate it could be switched on to charge, but this would be the minimum power limit it can be set to.",
929
- xref: { document: "cluster", section: "9.2.7.11.15" }
965
+ xref: { document: "cluster", section: "9.2.7.14.15" }
930
966
  }),
931
967
  (0, import_elements.FieldElement)({
932
968
  name: "MaxPowerAdjustment",
@@ -934,27 +970,27 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
934
970
  type: "power-mW",
935
971
  conformance: "FA & PFR",
936
972
  details: "This field shall indicate the maximum power that the appliance can be requested to use.\nFor example, an EVSE may be limited by its electrical supply to 32A which would be ~7.6kW in EU markets. If the slot indicates a NominalPower of 0W (indicating it is expecting to be off), this allows an ESA to indicate it could be switched on to charge, but this would be the maximum power limit it can be set to.",
937
- xref: { document: "cluster", section: "9.2.7.11.16" }
973
+ xref: { document: "cluster", section: "9.2.7.14.16" }
938
974
  }),
939
975
  (0, import_elements.FieldElement)({
940
976
  name: "MinDurationAdjustment",
941
977
  id: 16,
942
978
  type: "elapsed-s",
943
- conformance: "FA & (PFR | SFR)",
979
+ conformance: "FA",
944
980
  details: "This field shall indicate the minimum time, in seconds, that the slot can be requested to shortened to.\nFor example, if the slot indicates a NominalPower of 0W (indicating it is expecting to be off), this would allow an ESA to specify the minimum time it could be switched on for. This is to help protect the appliance from being damaged by short cycling times.\nFor example, a heat pump compressor may have a minimum cycle time of order a few minutes.",
945
- xref: { document: "cluster", section: "9.2.7.11.17" }
981
+ xref: { document: "cluster", section: "9.2.7.14.17" }
946
982
  }),
947
983
  (0, import_elements.FieldElement)({
948
984
  name: "MaxDurationAdjustment",
949
985
  id: 17,
950
986
  type: "elapsed-s",
951
- conformance: "FA & (PFR | SFR)",
987
+ conformance: "FA",
952
988
  details: "This field shall indicate the maximum time, in seconds, that the slot can be requested to extended to.\nFor example, if the slot indicates a NominalPower of 0W (indicating it is expecting to be off), this allows an ESA to specify the maximum time it could be switched on for. This may allow a battery or water heater to indicate the maximum duration that it can charge for before becoming full. In the case of a battery inverter which can be discharged, it may equally indicate the maximum time the battery could be discharged for (at the MaxPowerAdjustment power level).",
953
- xref: { document: "cluster", section: "9.2.7.11.18" }
989
+ xref: { document: "cluster", section: "9.2.7.14.18" }
954
990
  })
955
991
  ),
956
992
  (0, import_elements.DatatypeElement)(
957
- { name: "SlotAdjustmentStruct", type: "struct", xref: { document: "cluster", section: "9.2.7.12" } },
993
+ { name: "SlotAdjustmentStruct", type: "struct", xref: { document: "cluster", section: "9.2.7.15" } },
958
994
  (0, import_elements.FieldElement)({
959
995
  name: "SlotIndex",
960
996
  id: 0,
@@ -962,16 +998,16 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
962
998
  conformance: "M",
963
999
  constraint: "desc",
964
1000
  details: "This field shall indicate the index into the Slots list within the Forecast that is to be modified. It shall be less than the actual length of the Slots list (implicitly it must be in the range 0 to 9 based on the maximum length of the Slots list constraint).",
965
- xref: { document: "cluster", section: "9.2.7.12.1" }
1001
+ xref: { document: "cluster", section: "9.2.7.15.1" }
966
1002
  }),
967
1003
  (0, import_elements.FieldElement)({
968
1004
  name: "NominalPower",
969
1005
  id: 1,
970
1006
  type: "power-mW",
971
- conformance: "M",
1007
+ conformance: "PFR",
972
1008
  constraint: "desc",
973
- details: "This field shall indicate the new requested power that the ESA shall operate at. It MUST be between the MinPowerAdjustment and MaxPowerAdjustment for the slot as advertised by the ESA.",
974
- xref: { document: "cluster", section: "9.2.7.12.2" }
1009
+ details: "This field shall indicate the new requested power that the ESA shall operate at. It MUST be between the AbsMinPower and AbsMaxPower attributes as advertised by the ESA if it supports PFR.\nThis is a signed value and can be used to indicate charging or discharging. If the ESA does NOT support PFR this value shall be ignored by the ESA.",
1010
+ xref: { document: "cluster", section: "9.2.7.15.2" }
975
1011
  }),
976
1012
  (0, import_elements.FieldElement)({
977
1013
  name: "Duration",
@@ -980,7 +1016,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
980
1016
  conformance: "M",
981
1017
  constraint: "desc",
982
1018
  details: "This field shall indicate the new requested duration, in seconds, that the ESA shall extend or shorten the slot duration to. It MUST be between the MinDurationAdjustment and MaxDurationAdjustment for the slot as advertised by the ESA.",
983
- xref: { document: "cluster", section: "9.2.7.12.3" }
1019
+ xref: { document: "cluster", section: "9.2.7.15.3" }
984
1020
  })
985
1021
  ),
986
1022
  (0, import_elements.DatatypeElement)(
@@ -988,7 +1024,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
988
1024
  name: "ConstraintsStruct",
989
1025
  type: "struct",
990
1026
  details: "The ConstraintsStruct allows a client to inform an ESA about a constraint period (such as a grid event, or perhaps excess solar PV). The format allows the client to suggest that the ESA can either turn up its energy consumption, or turn down its energy consumption during this period.",
991
- xref: { document: "cluster", section: "9.2.7.13" }
1027
+ xref: { document: "cluster", section: "9.2.7.16" }
992
1028
  },
993
1029
  (0, import_elements.FieldElement)({
994
1030
  name: "StartTime",
@@ -997,16 +1033,16 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
997
1033
  conformance: "M",
998
1034
  constraint: "desc",
999
1035
  details: "This field shall indicate the start time of the constraint period that the client wishes the ESA to compute a new Forecast.\nThis value is in UTC and MUST be in the future.",
1000
- xref: { document: "cluster", section: "9.2.7.13.1" }
1036
+ xref: { document: "cluster", section: "9.2.7.16.1" }
1001
1037
  }),
1002
1038
  (0, import_elements.FieldElement)({
1003
1039
  name: "Duration",
1004
1040
  id: 1,
1005
1041
  type: "elapsed-s",
1006
1042
  conformance: "M",
1007
- constraint: "0 to 86400",
1043
+ constraint: "max 86400",
1008
1044
  details: "This field shall indicate the duration of the constraint in seconds.",
1009
- xref: { document: "cluster", section: "9.2.7.13.2" }
1045
+ xref: { document: "cluster", section: "9.2.7.16.2" }
1010
1046
  }),
1011
1047
  (0, import_elements.FieldElement)({
1012
1048
  name: "NominalPower",
@@ -1014,16 +1050,16 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
1014
1050
  type: "power-mW",
1015
1051
  conformance: "PFR",
1016
1052
  constraint: "desc",
1017
- details: "This field shall indicate the nominal power that client wishes the ESA to operate at during the constrained period. It MUST be between the AbsMinPower and AbsMaxPower attributes as advertised by the ESA if it supports PFR.\nThis is a signed value and can be used to indicate charging or discharging. If the ESA does NOT support PFR this value shall be ignored by the ESA.",
1018
- xref: { document: "cluster", section: "9.2.7.13.3" }
1053
+ details: "This field shall indicate the nominal power that client wishes the ESA to operate at during the constrained period. It MUST be between the AbsMinPower and AbsMaxPower attributes as advertised by the ESA if it supports PFR.\nThis is a signed value and can be used to indicate charging or discharging.",
1054
+ xref: { document: "cluster", section: "9.2.7.16.3" }
1019
1055
  }),
1020
1056
  (0, import_elements.FieldElement)({
1021
1057
  name: "MaximumEnergy",
1022
1058
  id: 3,
1023
1059
  type: "energy-mWh",
1024
1060
  conformance: "PFR",
1025
- details: "This field shall indicate the maximum energy that can be transferred to or from the ESA during the constraint period.\nThis is a signed value and can be used to indicate charging or discharging. If the ESA does NOT support PFR this value may be ignored by the ESA.",
1026
- xref: { document: "cluster", section: "9.2.7.13.4" }
1061
+ details: "This field shall indicate the maximum energy that can be transferred to or from the ESA during the constraint period.\nThis is a signed value and can be used to indicate charging or discharging.",
1062
+ xref: { document: "cluster", section: "9.2.7.16.4" }
1027
1063
  }),
1028
1064
  (0, import_elements.FieldElement)({
1029
1065
  name: "LoadControl",
@@ -1031,7 +1067,7 @@ const DeviceEnergyManagement = (0, import_elements.ClusterElement)(
1031
1067
  type: "int8",
1032
1068
  conformance: "SFR",
1033
1069
  details: "This field shall indicate the turn up or turn down nature that the grid wants as the outcome by the ESA during the constraint period.\nThis is expressed as a signed value between -100 to +100. A value of 0 would indicate no bias to using more or less energy. A negative value indicates a request to use less energy. A positive value indicates a request to use more energy.\nNote that the mapping between values and operation is manufacturer specific.",
1034
- xref: { document: "cluster", section: "9.2.7.13.5" }
1070
+ xref: { document: "cluster", section: "9.2.7.16.5" }
1035
1071
  })
1036
1072
  )
1037
1073
  );