@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
@@ -35,10 +35,10 @@ const Thermostat = (0, import_elements.ClusterElement)(
35
35
  asOf: "1.3",
36
36
  classification: "application",
37
37
  pics: "TSTAT",
38
- details: "This cluster provides an interface to the functionality of a thermostat.",
38
+ details: 'This cluster provides an interface to the functionality of a thermostat.\nOptional temperature, humidity and occupancy sensors\nThermostat\nHeating / cooling control panel\nC\nDehumidification configuration\nDehumidification notification\nThermostatS\nHeating / cooling device (e.g. indoor air handler)\nS\nuser interface S\nconfiguration\nC\nConfiguration tool\nThermostat configuration\nC C Fan control S\nThermostatS notification C\nC = Client S = Server\nNote: Device names are examples for illustration purposes only\nFigure 15. Example Usage of the Thermostat and Related Clusters"',
39
39
  xref: { document: "cluster", section: "4.3" }
40
40
  },
41
- (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 6 }),
41
+ (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 8 }),
42
42
  (0, import_elements.AttributeElement)(
43
43
  { name: "FeatureMap", id: 65532, type: "FeatureMap", xref: { document: "cluster", section: "4.3.4" } },
44
44
  (0, import_elements.FieldElement)({
@@ -90,6 +90,20 @@ const Thermostat = (0, import_elements.ClusterElement)(
90
90
  description: "LocalTemperatureNotExposed",
91
91
  details: "This feature indicates that the Calculated Local Temperature used internally is unavailable to report externally, for example due to the temperature control being done by a separate subsystem which does not offer a view into the currently measured temperature, but allows setpoints to be provided.",
92
92
  xref: { document: "cluster", section: "4.3.4.1" }
93
+ }),
94
+ (0, import_elements.FieldElement)({
95
+ name: "MSCH",
96
+ conformance: "O",
97
+ constraint: "7",
98
+ description: "MatterScheduleConfiguration",
99
+ details: "Supports enhanced schedules"
100
+ }),
101
+ (0, import_elements.FieldElement)({
102
+ name: "PRES",
103
+ conformance: "O",
104
+ constraint: "8",
105
+ description: "Presets",
106
+ details: "Thermostat supports setpoint presets"
93
107
  })
94
108
  ),
95
109
  (0, import_elements.AttributeElement)({
@@ -101,7 +115,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
101
115
  default: null,
102
116
  quality: "X P",
103
117
  details: "Indicates the current Calculated Local Temperature, when available.\n \u2022 If the LTNE feature is not supported:\n \u25E6 If the LocalTemperatureCalibration is invalid or currently unavailable, the attribute shall report null.\n \u25E6 If the LocalTemperatureCalibration is valid, the attribute shall report that value.\n \u2022 Otherwise, if the LTNE feature is supported, there is no feedback externally available for the LocalTemperatureCalibration. In that case, the LocalTemperature attribute shall always report null.",
104
- xref: { document: "cluster", section: "4.3.9.3" }
118
+ xref: { document: "cluster", section: "4.3.9.2" }
105
119
  }),
106
120
  (0, import_elements.AttributeElement)({
107
121
  name: "OutdoorTemperature",
@@ -112,7 +126,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
112
126
  default: null,
113
127
  quality: "X",
114
128
  details: "Indicates the outdoor temperature, as measured locally or remotely (over the network).",
115
- xref: { document: "cluster", section: "4.3.9.4" }
129
+ xref: { document: "cluster", section: "4.3.9.3" }
116
130
  }),
117
131
  (0, import_elements.AttributeElement)({
118
132
  name: "Occupancy",
@@ -120,10 +134,9 @@ const Thermostat = (0, import_elements.ClusterElement)(
120
134
  type: "OccupancyBitmap",
121
135
  access: "R V",
122
136
  conformance: "OCC",
123
- constraint: "desc",
124
137
  default: 1,
125
138
  details: "Indicates whether the heated/cooled space is occupied or not, as measured locally or remotely (over the network).",
126
- xref: { document: "cluster", section: "4.3.9.5" }
139
+ xref: { document: "cluster", section: "4.3.9.4" }
127
140
  }),
128
141
  (0, import_elements.AttributeElement)({
129
142
  name: "AbsMinHeatSetpointLimit",
@@ -134,7 +147,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
134
147
  constraint: "desc",
135
148
  default: { type: "celsius", value: 7 },
136
149
  quality: "F",
137
- xref: { document: "cluster", section: "4.3.9" }
150
+ details: "Indicates the absolute minimum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints",
151
+ xref: { document: "cluster", section: "4.3.9.5" }
138
152
  }),
139
153
  (0, import_elements.AttributeElement)({
140
154
  name: "AbsMaxHeatSetpointLimit",
@@ -156,8 +170,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
156
170
  constraint: "desc",
157
171
  default: { type: "celsius", value: 16 },
158
172
  quality: "F",
159
- details: "Indicates the absolute minimum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints",
160
- xref: { document: "cluster", section: "4.3.9.8" }
173
+ xref: { document: "cluster", section: "4.3.9" }
161
174
  }),
162
175
  (0, import_elements.AttributeElement)({
163
176
  name: "AbsMaxCoolSetpointLimit",
@@ -169,7 +182,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
169
182
  default: { type: "celsius", value: 32 },
170
183
  quality: "F",
171
184
  details: "Indicates the absolute maximum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints",
172
- xref: { document: "cluster", section: "4.3.9.9" }
185
+ xref: { document: "cluster", section: "4.3.9.8" }
173
186
  }),
174
187
  (0, import_elements.AttributeElement)({
175
188
  name: "PiCoolingDemand",
@@ -177,10 +190,10 @@ const Thermostat = (0, import_elements.ClusterElement)(
177
190
  type: "uint8",
178
191
  access: "R V",
179
192
  conformance: "[COOL]",
180
- constraint: "0 to 100",
193
+ constraint: "0% to 100%",
181
194
  quality: "P",
182
195
  details: "Indicates the level of cooling demanded by the PI (proportional integral) control loop in use by the thermostat (if any), in percent. This value is 0 when the thermostat is in \u201Coff\u201D or \u201Cheating\u201D mode.\nThis attribute is reported regularly and may be used to control a cooling device.",
183
- xref: { document: "cluster", section: "4.3.9.10" }
196
+ xref: { document: "cluster", section: "4.3.9.9" }
184
197
  }),
185
198
  (0, import_elements.AttributeElement)({
186
199
  name: "PiHeatingDemand",
@@ -188,10 +201,10 @@ const Thermostat = (0, import_elements.ClusterElement)(
188
201
  type: "uint8",
189
202
  access: "R V",
190
203
  conformance: "[HEAT]",
191
- constraint: "0 to 100",
204
+ constraint: "0% to 100%",
192
205
  quality: "P",
193
206
  details: "Indicates the level of heating demanded by the PI loop in percent. This value is 0 when the thermostat is in \u201Coff\u201D or \u201Ccooling\u201D mode.\nThis attribute is reported regularly and may be used to control a heating device.",
194
- xref: { document: "cluster", section: "4.3.9.11" }
207
+ xref: { document: "cluster", section: "4.3.9.10" }
195
208
  }),
196
209
  (0, import_elements.AttributeElement)({
197
210
  name: "HvacSystemTypeConfiguration",
@@ -202,8 +215,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
202
215
  constraint: "desc",
203
216
  default: 0,
204
217
  quality: "N",
205
- details: "Indicates the HVAC system type controlled by the thermostat. If the thermostat uses physical DIP switches to set these parameters, this information shall be available read-only from the DIP switches. If these parameters are set via software, there shall be read/write access in order to provide remote programming capability.",
206
- xref: { document: "cluster", section: "4.3.9.12" }
218
+ details: "Indicates the HVAC system type controlled by the thermostat. If the thermostat uses physical DIP switches to set these parameters, this information shall be available read-only\nfrom the DIP switches. If these parameters are set via software, there shall be read/write access in order to provide remote programming capability.",
219
+ xref: { document: "cluster", section: "4.3.9.11" }
207
220
  }),
208
221
  (0, import_elements.AttributeElement)({
209
222
  name: "LocalTemperatureCalibration",
@@ -211,11 +224,10 @@ const Thermostat = (0, import_elements.ClusterElement)(
211
224
  type: "SignedTemperature",
212
225
  access: "RW VM",
213
226
  conformance: "[!LTNE]",
214
- constraint: "-2.5\xB0C to 2.5\xB0C",
215
227
  default: { type: "celsius", value: 0 },
216
228
  quality: "N",
217
- details: "Indicates the offset the Thermostat server shall make to the measured temperature (locally or remotely) to adjust the Calculated Local Temperature prior to using, displaying or reporting it.\nThe purpose of this attribute is to adjust the calibration of the Thermostat server per the user\u2019s preferences (e.g., to match if there are multiple servers displaying different values for the same HVAC area) or compensate for variability amongst temperature sensors.\nIf a Thermostat client attempts to write LocalTemperatureCalibration attribute to an unsupported value (e.g., out of the range supported by the Thermostat server), the Thermostat server shall respond with a status of SUCCESS and set the value of LocalTemperatureCalibration to the upper or lower limit reached.",
218
- xref: { document: "cluster", section: "4.3.9.13" }
229
+ details: "Indicates the offset the Thermostat server shall make to the measured temperature (locally or remotely) to adjust the Calculated Local Temperature prior to using, displaying or reporting it.\nThe purpose of this attribute is to adjust the calibration of the Thermostat server per the user\u2019s preferences (e.g., to match if there are multiple servers displaying different values for the same HVAC area) or compensate for variability amongst temperature sensors.\nIf a Thermostat client attempts to write LocalTemperatureCalibration attribute to an unsupported value (e.g., out of the range supported by the Thermostat server), the Thermostat server shall respond with a status of SUCCESS and set the value of LocalTemperatureCalibration to the upper or lower limit reached.\nNOTE\nPrior to revision 8 of this cluster specification the value of this attribute was constrained to a range of -2.5\xB0C to 2.5\xB0C.",
230
+ xref: { document: "cluster", section: "4.3.9.12" }
219
231
  }),
220
232
  (0, import_elements.AttributeElement)({
221
233
  name: "OccupiedCoolingSetpoint",
@@ -225,9 +237,9 @@ const Thermostat = (0, import_elements.ClusterElement)(
225
237
  conformance: "COOL",
226
238
  constraint: "desc",
227
239
  default: { type: "celsius", value: 26 },
228
- quality: "N S",
229
- details: "Indicates the cooling mode setpoint when the room is occupied.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf the occupancy status of the room is unknown, this attribute shall be used as the cooling mode setpoint.",
230
- xref: { document: "cluster", section: "4.3.9.14" }
240
+ quality: "N",
241
+ details: "Indicates the cooling mode setpoint when the room is occupied. Refer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is less than (OccupiedHeatingSetpoint + MinSetpointDeadBand), the value of OccupiedHeatingSetpoint shall be adjusted to (OccupiedCoolingSetpoint - MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall be used as the cooling mode setpoint.\nIf a client changes the value of this attribute, the server supports the PRES feature, and the server either does not support the OCC feature or the Occupied bit is set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null.",
242
+ xref: { document: "cluster", section: "4.3.9.13" }
231
243
  }),
232
244
  (0, import_elements.AttributeElement)({
233
245
  name: "OccupiedHeatingSetpoint",
@@ -237,9 +249,9 @@ const Thermostat = (0, import_elements.ClusterElement)(
237
249
  conformance: "HEAT",
238
250
  constraint: "desc",
239
251
  default: { type: "celsius", value: 20 },
240
- quality: "N S",
241
- details: "Indicates the heating mode setpoint when the room is occupied.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf the occupancy status of the room is unknown, this attribute shall be used as the heating mode setpoint.",
242
- xref: { document: "cluster", section: "4.3.9.15" }
252
+ quality: "N",
253
+ details: "Indicates the heating mode setpoint when the room is occupied. Refer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is greater than\nBand), the value of OccupiedCoolingSetpoint shall be adjusted to (OccupiedHeatingSetpoint + MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall be used as the heating mode setpoint.\nIf a client changes the value of this attribute, the server supports the PRES feature, and the server either does not support the OCC feature or the Occupied bit is set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null.",
254
+ xref: { document: "cluster", section: "4.3.9.14" }
243
255
  }),
244
256
  (0, import_elements.AttributeElement)({
245
257
  name: "UnoccupiedCoolingSetpoint",
@@ -250,8 +262,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
250
262
  constraint: "desc",
251
263
  default: { type: "celsius", value: 26 },
252
264
  quality: "N",
253
- details: "Indicates the cooling mode setpoint when the room is unoccupied.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf the occupancy status of the room is unknown, this attribute shall NOT be used.",
254
- xref: { document: "cluster", section: "4.3.9.16" }
265
+ details: "Indicates the cooling mode setpoint when the room is unoccupied. Refer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is less than (UnoccupiedHeatingSetpoint + MinSetpointDeadBand), the value of UnoccupiedHeatingSetpoint shall be adjusted to (UnoccupiedCoolingSetpoint - MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall NOT be used.\nIf a client changes the value of this attribute, the server supports the PRES and OCC features, and the Occupied bit is not set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null.",
266
+ xref: { document: "cluster", section: "4.3.9.15" }
255
267
  }),
256
268
  (0, import_elements.AttributeElement)({
257
269
  name: "UnoccupiedHeatingSetpoint",
@@ -262,8 +274,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
262
274
  constraint: "desc",
263
275
  default: { type: "celsius", value: 20 },
264
276
  quality: "N",
265
- details: "Indicates the heating mode setpoint when the room is unoccupied.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf the occupancy status of the room is unknown, this attribute shall NOT be used.",
266
- xref: { document: "cluster", section: "4.3.9.17" }
277
+ details: "Indicates the heating mode setpoint when the room is unoccupied. Refer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is greater than (UnoccupiedCoolingSetpoint - MinSetpointDeadBand), the value of UnoccupiedCoolingSetpoint shall be adjusted to\n+ MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall NOT be used.\nIf a client changes the value of this attribute, the server supports the PRES and OCC features, and the Occupied bit is not set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null.",
278
+ xref: { document: "cluster", section: "4.3.9.16" }
267
279
  }),
268
280
  (0, import_elements.AttributeElement)({
269
281
  name: "MinHeatSetpointLimit",
@@ -275,7 +287,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
275
287
  default: { type: "reference", name: "AbsMinHeatSetpointLimit" },
276
288
  quality: "N",
277
289
  details: "Indicates the minimum level that the heating setpoint may be set to.\nThis attribute, and the following three attributes, allow the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (e.g., in a commercial building) to such setpoint limits can help conserve power.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
278
- xref: { document: "cluster", section: "4.3.9.18" }
290
+ xref: { document: "cluster", section: "4.3.9.17" }
279
291
  }),
280
292
  (0, import_elements.AttributeElement)({
281
293
  name: "MaxHeatSetpointLimit",
@@ -287,7 +299,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
287
299
  default: { type: "reference", name: "AbsMaxHeatSetpointLimit" },
288
300
  quality: "N",
289
301
  details: "Indicates the maximum level that the heating setpoint may be set to.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
290
- xref: { document: "cluster", section: "4.3.9.19" }
302
+ xref: { document: "cluster", section: "4.3.9.18" }
291
303
  }),
292
304
  (0, import_elements.AttributeElement)({
293
305
  name: "MinCoolSetpointLimit",
@@ -299,7 +311,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
299
311
  default: { type: "reference", name: "AbsMinCoolSetpointLimit" },
300
312
  quality: "N",
301
313
  details: "Indicates the minimum level that the cooling setpoint may be set to.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
302
- xref: { document: "cluster", section: "4.3.9.20" }
314
+ xref: { document: "cluster", section: "4.3.9.19" }
303
315
  }),
304
316
  (0, import_elements.AttributeElement)({
305
317
  name: "MaxCoolSetpointLimit",
@@ -311,7 +323,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
311
323
  default: { type: "reference", name: "AbsMaxCoolSetpointLimit" },
312
324
  quality: "N",
313
325
  details: "Indicates the maximum level that the cooling setpoint may be set to.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
314
- xref: { document: "cluster", section: "4.3.9.21" }
326
+ xref: { document: "cluster", section: "4.3.9.20" }
315
327
  }),
316
328
  (0, import_elements.AttributeElement)({
317
329
  name: "MinSetpointDeadBand",
@@ -319,11 +331,11 @@ const Thermostat = (0, import_elements.ClusterElement)(
319
331
  type: "SignedTemperature",
320
332
  access: "R[W] VM",
321
333
  conformance: "AUTO",
322
- constraint: "0\xB0C to 2.5\xB0C",
334
+ constraint: "0 to 12.7\xB0C",
323
335
  default: { type: "celsius", value: 2 },
324
336
  quality: "N",
325
- details: "On devices which support the AUTO feature, this attribute shall indicate the minimum difference between the Heat Setpoint and the Cool Setpoint.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
326
- xref: { document: "cluster", section: "4.3.9.22" }
337
+ details: "On devices which support the AUTO feature, this attribute shall indicate the minimum difference between the Heat Setpoint and the Cool Setpoint.\nRefer to Setpoint Limits for constraints.\nNOTE\nPrior to revision 8 of this cluster specification the value of this attribute was constrained to a range of 0\xB0C to 2.5\xB0C.\nNOTE\nFor backwards compatibility, this attribute is optionally writeable. However any writes to this attribute shall be silently ignored.",
338
+ xref: { document: "cluster", section: "4.3.9.21" }
327
339
  }),
328
340
  (0, import_elements.AttributeElement)({
329
341
  name: "RemoteSensing",
@@ -334,7 +346,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
334
346
  default: 0,
335
347
  quality: "N",
336
348
  details: "Indicates when the local temperature, outdoor temperature and occupancy are being sensed by remote networked sensors, rather than internal sensors.\nIf the LTNE feature is present in the server, the LocalTemperature RemoteSensing bit value shall always report a value of 0.\nIf the LocalTemperature RemoteSensing bit is written with a value of 1 when the LTNE feature is present, the write shall fail and the server shall report a CONSTRAINT_ERROR.",
337
- xref: { document: "cluster", section: "4.3.9.23" }
349
+ xref: { document: "cluster", section: "4.3.9.22" }
338
350
  }),
339
351
  (0, import_elements.AttributeElement)({
340
352
  name: "ControlSequenceOfOperation",
@@ -344,8 +356,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
344
356
  conformance: "M",
345
357
  constraint: "desc",
346
358
  quality: "N",
347
- details: "Indicates the overall operating environment of the thermostat, and thus the possible system modes that the thermostat can operate in.",
348
- xref: { document: "cluster", section: "4.3.9.24" }
359
+ details: "Indicates the overall operating environment of the thermostat, and thus the possible system modes that the thermostat can operate in.\nIf an attempt is made to write to this attribute, the server shall silently ignore the write and the value of this attribute shall remain unchanged. This behavior is in place for backwards compatibility with existing thermostats.",
360
+ xref: { document: "cluster", section: "4.3.9.23" }
349
361
  }),
350
362
  (0, import_elements.AttributeElement)({
351
363
  name: "SystemMode",
@@ -355,9 +367,9 @@ const Thermostat = (0, import_elements.ClusterElement)(
355
367
  conformance: "M",
356
368
  constraint: "desc",
357
369
  default: 1,
358
- quality: "N S",
370
+ quality: "N",
359
371
  details: "Indicates the current operating mode of the thermostat. Its value shall be limited by the ControlSequenceOfOperation attribute.",
360
- xref: { document: "cluster", section: "4.3.9.25" }
372
+ xref: { document: "cluster", section: "4.3.9.24" }
361
373
  }),
362
374
  (0, import_elements.AttributeElement)({
363
375
  name: "ThermostatRunningMode",
@@ -368,7 +380,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
368
380
  constraint: "desc",
369
381
  default: 0,
370
382
  details: "Indicates the running mode of the thermostat. This attribute uses the same values as SystemModeEnum but can only be Off, Cool or Heat. This attribute is intended to provide additional information when the thermostat\u2019s system mode is in auto mode.",
371
- xref: { document: "cluster", section: "4.3.9.27" }
383
+ xref: { document: "cluster", section: "4.3.9.26" }
372
384
  }),
373
385
  (0, import_elements.AttributeElement)({
374
386
  name: "StartOfWeek",
@@ -379,7 +391,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
379
391
  constraint: "desc",
380
392
  quality: "F",
381
393
  details: "Indicates the day of the week that this thermostat considers to be the start of week for weekly setpoint scheduling.\nThis attribute may be able to be used as the base to determine if the device supports weekly scheduling by reading the attribute. Successful response means that the weekly scheduling is supported.",
382
- xref: { document: "cluster", section: "4.3.9.28" }
394
+ xref: { document: "cluster", section: "4.3.9.27" }
383
395
  }),
384
396
  (0, import_elements.AttributeElement)({
385
397
  name: "NumberOfWeeklyTransitions",
@@ -390,7 +402,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
390
402
  default: 0,
391
403
  quality: "F",
392
404
  details: "Indicates how many weekly schedule transitions the thermostat is capable of handling.",
393
- xref: { document: "cluster", section: "4.3.9.29" }
405
+ xref: { document: "cluster", section: "4.3.9.28" }
394
406
  }),
395
407
  (0, import_elements.AttributeElement)({
396
408
  name: "NumberOfDailyTransitions",
@@ -401,7 +413,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
401
413
  default: 0,
402
414
  quality: "F",
403
415
  details: "Indicates how many daily schedule transitions the thermostat is capable of handling.",
404
- xref: { document: "cluster", section: "4.3.9.30" }
416
+ xref: { document: "cluster", section: "4.3.9.29" }
405
417
  }),
406
418
  (0, import_elements.AttributeElement)({
407
419
  name: "TemperatureSetpointHold",
@@ -412,8 +424,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
412
424
  constraint: "desc",
413
425
  default: 0,
414
426
  quality: "N",
415
- details: "Indicates the temperature hold status on the thermostat. If hold status is on, the thermostat SHOULD maintain the temperature setpoint for the current mode until a system mode change. If hold status is off, the thermostat SHOULD follow the setpoint transitions specified by its internal scheduling program. If the thermostat supports setpoint hold for a specific duration, it SHOULD also implement the TemperatureSetpointHoldDuration attribute.",
416
- xref: { document: "cluster", section: "4.3.9.31" }
427
+ details: "Indicates the temperature hold status on the thermostat. If hold status is on, the thermostat SHOULD maintain the temperature setpoint for the current mode until a system mode change. If hold status is off, the thermostat SHOULD follow the setpoint transitions specified by its internal scheduling program. If the thermostat supports setpoint hold for a specific duration, it SHOULD also implement the TemperatureSetpointHoldDuration attribute.\nIf the server supports a setpoint hold for a specific duration, it SHOULD also implement the SetpointHoldExpiryTimestamp attribute.\nIf this attribute is updated to SetpointHoldOn and the TemperatureSetpointHoldDuration has a non- null value and the SetpointHoldExpiryTimestamp is supported, the server shall update the SetpointHoldExpiryTimestamp with a value of current UTC timestamp, in seconds, plus the value in TemperatureSetpointHoldDuration multiplied by 60.\nIf this attribute is updated to SetpointHoldOff and the SetpointHoldExpiryTimestamp is supported, the server shall set the SetpointHoldExpiryTimestamp to null.",
428
+ xref: { document: "cluster", section: "4.3.9.30" }
417
429
  }),
418
430
  (0, import_elements.AttributeElement)({
419
431
  name: "TemperatureSetpointHoldDuration",
@@ -424,8 +436,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
424
436
  constraint: "max 1440",
425
437
  default: null,
426
438
  quality: "X N",
427
- details: "Indicates the period in minutes for which a setpoint hold is active. Thermostats that support hold for a specified duration SHOULD implement this attribute. The null value indicates the field is unused. All other values are reserved.",
428
- xref: { document: "cluster", section: "4.3.9.32" }
439
+ details: "Indicates the period in minutes for which a setpoint hold is active. Thermostats that support hold for a specified duration SHOULD implement this attribute. The null value indicates the field is unused. All other values are reserved.\nIf this attribute is updated to a non-null value and the TemperatureSetpointHold is set to SetpointHoldOn and the SetpointHoldExpiryTimestamp is supported, the server shall update SetpointHoldExpiryTimestamp with a value of current UTC timestamp, in seconds, plus the new value of this attribute multiplied by 60.\nIf this attribute is set to null and the SetpointHoldExpiryTimestamp is supported, the server shall set the SetpointHoldExpiryTimestamp to null.",
440
+ xref: { document: "cluster", section: "4.3.9.31" }
429
441
  }),
430
442
  (0, import_elements.AttributeElement)({
431
443
  name: "ThermostatProgrammingOperationMode",
@@ -437,7 +449,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
437
449
  default: 0,
438
450
  quality: "P",
439
451
  details: "Indicates the operational state of the thermostat\u2019s programming. The thermostat shall modify its programming operation when this attribute is modified by a client and update this attribute when its programming operation is modified locally by a user. The thermostat may support more than one active ProgrammingOperationModeBitmap. For example, the thermostat may operate simultaneously in Schedule Programming Mode and Recovery Mode.\nThermostats which contain a schedule may use this attribute to control how that schedule is used, even if they do not support the ScheduleConfiguration feature.\nWhen ScheduleActive is not set, the setpoint is altered only by manual up/down changes at the thermostat or remotely, not by internal schedule programming.\nNOTE\nModifying the ScheduleActive bit does not clear or delete previous weekly schedule programming configurations.",
440
- xref: { document: "cluster", section: "4.3.9.33" }
452
+ xref: { document: "cluster", section: "4.3.9.32" }
441
453
  }),
442
454
  (0, import_elements.AttributeElement)({
443
455
  name: "ThermostatRunningState",
@@ -447,7 +459,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
447
459
  conformance: "O",
448
460
  constraint: "desc",
449
461
  details: "Indicates the current relay state of the heat, cool, and fan relays. Unimplemented outputs shall be treated as if they were Off.",
450
- xref: { document: "cluster", section: "4.3.9.34" }
462
+ xref: { document: "cluster", section: "4.3.9.33" }
451
463
  }),
452
464
  (0, import_elements.AttributeElement)({
453
465
  name: "SetpointChangeSource",
@@ -458,7 +470,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
458
470
  constraint: "desc",
459
471
  default: 0,
460
472
  details: "Indicates the source of the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint (i.e., who or what determined the current setpoint).\nThis attribute enables service providers to determine whether changes to setpoints were initiated due to occupant comfort, scheduled programming or some other source (e.g., electric utility or other service provider). Because automation services may initiate frequent setpoint changes, this attribute clearly differentiates the source of setpoint changes made at the thermostat.",
461
- xref: { document: "cluster", section: "4.3.9.35" }
473
+ xref: { document: "cluster", section: "4.3.9.34" }
462
474
  }),
463
475
  (0, import_elements.AttributeElement)({
464
476
  name: "SetpointChangeAmount",
@@ -469,7 +481,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
469
481
  default: null,
470
482
  quality: "X",
471
483
  details: "Indicates the delta between the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint and the previous active setpoint. This attribute is meant to accompany the SetpointChangeSource attribute; devices implementing SetpointChangeAmount SHOULD also implement SetpointChangeSource.\nThe null value indicates that the previous setpoint was unknown.",
472
- xref: { document: "cluster", section: "4.3.9.36" }
484
+ xref: { document: "cluster", section: "4.3.9.35" }
473
485
  }),
474
486
  (0, import_elements.AttributeElement)({
475
487
  name: "SetpointChangeSourceTimestamp",
@@ -479,7 +491,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
479
491
  conformance: "O",
480
492
  default: 0,
481
493
  details: "Indicates the time in UTC at which the SetpointChangeAmount attribute change was recorded.",
482
- xref: { document: "cluster", section: "4.3.9.37" }
494
+ xref: { document: "cluster", section: "4.3.9.36" }
483
495
  }),
484
496
  (0, import_elements.AttributeElement)({
485
497
  name: "OccupiedSetback",
@@ -491,7 +503,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
491
503
  default: null,
492
504
  quality: "X N",
493
505
  details: "Indicates the amount that the Thermostat server will allow the Calculated Local Temperature to float above the OccupiedCoolingSetpoint (i.e., OccupiedCoolingSetpoint + OccupiedSetback) or below the OccupiedHeatingSetpoint setpoint (i.e., OccupiedHeatingSetpoint \u2013 OccupiedSetback) before initiating a state change to bring the temperature back to the user\u2019s desired setpoint. This attribute is sometimes also referred to as the \u201Cspan.\u201D\nThe purpose of this attribute is to allow remote configuration of the span between the desired setpoint and the measured temperature to help prevent over-cycling and reduce energy bills, though this may result in lower comfort on the part of some users.\nThe null value indicates the attribute is unused.\nIf the Thermostat client attempts to write OccupiedSetback to a value greater than OccupiedSetbackMax, the Thermostat server shall set its OccupiedSetback value to OccupiedSetbackMax and shall send a Write Attribute Response command with a Status Code field enumeration of SUCCESS response.\nIf the Thermostat client attempts to write OccupiedSetback to a value less than OccupiedSetbackMin, the Thermostat server shall set its OccupiedSetback value to OccupiedSetbackMin and shall send a Write Attribute Response command with a Status Code field enumeration of SUCCESS response.",
494
- xref: { document: "cluster", section: "4.3.9.38" }
506
+ xref: { document: "cluster", section: "4.3.9.37" }
495
507
  }),
496
508
  (0, import_elements.AttributeElement)({
497
509
  name: "OccupiedSetbackMin",
@@ -503,7 +515,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
503
515
  default: null,
504
516
  quality: "X F",
505
517
  details: "Indicates the minimum value that the Thermostat server will allow the OccupiedSetback attribute to be configured by a user.\nThe null value indicates the attribute is unused.",
506
- xref: { document: "cluster", section: "4.3.9.39" }
518
+ xref: { document: "cluster", section: "4.3.9.38" }
507
519
  }),
508
520
  (0, import_elements.AttributeElement)({
509
521
  name: "OccupiedSetbackMax",
@@ -515,7 +527,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
515
527
  default: null,
516
528
  quality: "X F",
517
529
  details: "Indicates the maximum value that the Thermostat server will allow the OccupiedSetback attribute to be configured by a user.\nThe null value indicates the attribute is unused.",
518
- xref: { document: "cluster", section: "4.3.9.40" }
530
+ xref: { document: "cluster", section: "4.3.9.39" }
519
531
  }),
520
532
  (0, import_elements.AttributeElement)({
521
533
  name: "UnoccupiedSetback",
@@ -527,7 +539,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
527
539
  default: null,
528
540
  quality: "X N",
529
541
  details: "Indicates the amount that the Thermostat server will allow the Calculated Local Temperature to float above the UnoccupiedCoolingSetpoint (i.e., UnoccupiedCoolingSetpoint + UnoccupiedSetback) or below the UnoccupiedHeatingSetpoint setpoint (i.e., UnoccupiedHeatingSetpoint - UnoccupiedSetback) before initiating a state change to bring the temperature back to the user\u2019s desired setpoint. This attribute is sometimes also referred to as the \u201Cspan.\u201D\nThe purpose of this attribute is to allow remote configuration of the span between the desired setpoint and the measured temperature to help prevent over-cycling and reduce energy bills, though this may result in lower comfort on the part of some users.\nThe null value indicates the attribute is unused.\nIf the Thermostat client attempts to write UnoccupiedSetback to a value greater than UnoccupiedSetbackMax, the Thermostat server shall set its UnoccupiedSetback value to UnoccupiedSetbackMax and shall send a Write Attribute Response command with a Status Code field enumeration of SUCCESS response.\nIf the Thermostat client attempts to write UnoccupiedSetback to a value less than UnoccupiedSetbackMin, the Thermostat server shall set its UnoccupiedSetback value to UnoccupiedSetbackMin and shall send a Write Attribute Response command with a Status Code field enumeration of SUCCESS response.",
530
- xref: { document: "cluster", section: "4.3.9.41" }
542
+ xref: { document: "cluster", section: "4.3.9.40" }
531
543
  }),
532
544
  (0, import_elements.AttributeElement)({
533
545
  name: "UnoccupiedSetbackMin",
@@ -539,7 +551,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
539
551
  default: null,
540
552
  quality: "X F",
541
553
  details: "Indicates the minimum value that the Thermostat server will allow the UnoccupiedSetback attribute to be configured by a user.\nThe null value indicates the attribute is unused.",
542
- xref: { document: "cluster", section: "4.3.9.42" }
554
+ xref: { document: "cluster", section: "4.3.9.41" }
543
555
  }),
544
556
  (0, import_elements.AttributeElement)({
545
557
  name: "UnoccupiedSetbackMax",
@@ -551,7 +563,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
551
563
  default: null,
552
564
  quality: "X F",
553
565
  details: "Indicates the maximum value that the Thermostat server will allow the UnoccupiedSetback attribute to be configured by a user.\nThe null value indicates the attribute is unused.",
554
- xref: { document: "cluster", section: "4.3.9.43" }
566
+ xref: { document: "cluster", section: "4.3.9.42" }
555
567
  }),
556
568
  (0, import_elements.AttributeElement)(
557
569
  {
@@ -563,7 +575,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
563
575
  default: { type: "celsius", value: 25 },
564
576
  quality: "N",
565
577
  details: "Indicates the delta between the Calculated Local Temperature and the OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint attributes at which the Thermostat server will operate in emergency heat mode.\nIf the difference between the Calculated Local Temperature and OccupiedCoolingSetpoint or UnoccupiedCoolingSetpoint is greater than or equal to the EmergencyHeatDelta and the Thermostat server\u2019s SystemMode attribute is in a heating-related mode, then the Thermostat server shall immediately switch to the SystemMode attribute value that provides the highest stage of heating (e.g., emergency heat) and continue operating in that running state until the OccupiedHeatingSetpoint value is reached. For example:\n \u2022 Calculated Local Temperature = 10.0\xB0C\n \u2022 OccupiedHeatingSetpoint = 16.0\xB0C\n \u2022 EmergencyHeatDelta = 2.0\xB0C\n\u21D2 OccupiedHeatingSetpoint - Calculated Local Temperature \u2265? EmergencyHeatDelta\n\u21D2 16\xB0C - 10\xB0C \u2265? 2\xB0C\n\u21D2 TRUE >>> Thermostat server changes its SystemMode to operate in 2nd stage or emergency heat mode\nThe purpose of this attribute is to provide Thermostat clients the ability to configure rapid heating when a setpoint is of a specified amount greater than the measured temperature. This allows the heated space to be quickly heated to the desired level set by the user.",
566
- xref: { document: "cluster", section: "4.3.9.44" }
578
+ xref: { document: "cluster", section: "4.3.9.43" }
567
579
  }
568
580
  ),
569
581
  (0, import_elements.AttributeElement)({
@@ -576,7 +588,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
576
588
  default: 0,
577
589
  quality: "N",
578
590
  details: "Indicates the type of Mini Split ACTypeEnum of Mini Split AC is defined depending on how Cooling and Heating condition is achieved by Mini Split AC.",
579
- xref: { document: "cluster", section: "4.3.9.45" }
591
+ xref: { document: "cluster", section: "4.3.9.44" }
580
592
  }),
581
593
  (0, import_elements.AttributeElement)({
582
594
  name: "AcCapacity",
@@ -587,7 +599,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
587
599
  default: 0,
588
600
  quality: "N",
589
601
  details: "Indicates capacity of Mini Split AC in terms of the format defined by the ACCapacityFormat attribute",
590
- xref: { document: "cluster", section: "4.3.9.46" }
602
+ xref: { document: "cluster", section: "4.3.9.45" }
591
603
  }),
592
604
  (0, import_elements.AttributeElement)({
593
605
  name: "AcRefrigerantType",
@@ -599,7 +611,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
599
611
  default: 0,
600
612
  quality: "N",
601
613
  details: "Indicates type of refrigerant used within the Mini Split AC.",
602
- xref: { document: "cluster", section: "4.3.9.47" }
614
+ xref: { document: "cluster", section: "4.3.9.46" }
603
615
  }),
604
616
  (0, import_elements.AttributeElement)({
605
617
  name: "AcCompressorType",
@@ -611,7 +623,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
611
623
  default: 0,
612
624
  quality: "N",
613
625
  details: "Indicates the type of compressor used within the Mini Split AC.",
614
- xref: { document: "cluster", section: "4.3.9.48" }
626
+ xref: { document: "cluster", section: "4.3.9.47" }
615
627
  }),
616
628
  (0, import_elements.AttributeElement)({
617
629
  name: "AcErrorCode",
@@ -621,7 +633,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
621
633
  conformance: "O",
622
634
  default: 0,
623
635
  details: "Indicates the type of errors encountered within the Mini Split AC.",
624
- xref: { document: "cluster", section: "4.3.9.49" }
636
+ xref: { document: "cluster", section: "4.3.9.48" }
625
637
  }),
626
638
  (0, import_elements.AttributeElement)({
627
639
  name: "AcLouverPosition",
@@ -633,7 +645,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
633
645
  default: 0,
634
646
  quality: "N",
635
647
  details: "Indicates the position of Louver on the AC.",
636
- xref: { document: "cluster", section: "4.3.9.50" }
648
+ xref: { document: "cluster", section: "4.3.9.49" }
637
649
  }),
638
650
  (0, import_elements.AttributeElement)({
639
651
  name: "AcCoilTemperature",
@@ -644,7 +656,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
644
656
  default: null,
645
657
  quality: "X",
646
658
  details: "Indicates the temperature of the AC coil, as measured locally or remotely (over the network).",
647
- xref: { document: "cluster", section: "4.3.9.51" }
659
+ xref: { document: "cluster", section: "4.3.9.50" }
648
660
  }),
649
661
  (0, import_elements.AttributeElement)({
650
662
  name: "AcCapacityFormat",
@@ -656,7 +668,143 @@ const Thermostat = (0, import_elements.ClusterElement)(
656
668
  default: 0,
657
669
  quality: "N",
658
670
  details: "Indicates the format for the ACCapacity attribute.",
659
- xref: { document: "cluster", section: "4.3.9.52" }
671
+ xref: { document: "cluster", section: "4.3.9.51" }
672
+ }),
673
+ (0, import_elements.AttributeElement)(
674
+ {
675
+ name: "PresetTypes",
676
+ id: 72,
677
+ type: "list",
678
+ access: "R V",
679
+ conformance: "PRES",
680
+ constraint: "desc",
681
+ quality: "F",
682
+ details: "Indicates the supported PresetScenarioEnum values, limits on how many presets can be created for each PresetScenarioEnum, and whether or not a thermostat can transition automatically to a given scenario.",
683
+ xref: { document: "cluster", section: "4.3.9.52" }
684
+ },
685
+ (0, import_elements.FieldElement)({ name: "entry", type: "PresetTypeStruct" })
686
+ ),
687
+ (0, import_elements.AttributeElement)(
688
+ {
689
+ name: "ScheduleTypes",
690
+ id: 73,
691
+ type: "list",
692
+ access: "R V",
693
+ conformance: "MSCH",
694
+ constraint: "desc",
695
+ quality: "F",
696
+ details: "Indicates the supported SystemMode values for Schedules, limits on how many schedules can be created for each SystemMode value, and whether or not a given SystemMode value supports transitions to Presets, target setpoints, or both.",
697
+ xref: { document: "cluster", section: "4.3.9.53" }
698
+ },
699
+ (0, import_elements.FieldElement)({ name: "entry", type: "ScheduleTypeStruct" })
700
+ ),
701
+ (0, import_elements.AttributeElement)({
702
+ name: "NumberOfPresets",
703
+ id: 74,
704
+ type: "uint8",
705
+ access: "R V",
706
+ conformance: "PRES",
707
+ default: 0,
708
+ quality: "F",
709
+ details: "Indicates the maximum number of entries supported by the Presets attribute.",
710
+ xref: { document: "cluster", section: "4.3.9.54" }
711
+ }),
712
+ (0, import_elements.AttributeElement)({
713
+ name: "NumberOfSchedules",
714
+ id: 75,
715
+ type: "uint8",
716
+ access: "R V",
717
+ conformance: "MSCH",
718
+ default: 0,
719
+ quality: "F",
720
+ details: "Indicates the maximum number of entries supported by the Schedules attribute.",
721
+ xref: { document: "cluster", section: "4.3.9.55" }
722
+ }),
723
+ (0, import_elements.AttributeElement)({
724
+ name: "NumberOfScheduleTransitions",
725
+ id: 76,
726
+ type: "uint8",
727
+ access: "R V",
728
+ conformance: "MSCH",
729
+ default: 0,
730
+ quality: "F",
731
+ details: "Indicates the maximum number of transitions per Schedules attribute entry.",
732
+ xref: { document: "cluster", section: "4.3.9.56" }
733
+ }),
734
+ (0, import_elements.AttributeElement)({
735
+ name: "NumberOfScheduleTransitionPerDay",
736
+ id: 77,
737
+ type: "uint8",
738
+ access: "R V",
739
+ conformance: "MSCH",
740
+ default: null,
741
+ quality: "X F",
742
+ xref: { document: "cluster", section: "4.3.9" }
743
+ }),
744
+ (0, import_elements.AttributeElement)({
745
+ name: "ActivePresetHandle",
746
+ id: 78,
747
+ type: "octstr",
748
+ access: "R V",
749
+ conformance: "PRES",
750
+ constraint: "max 16",
751
+ default: null,
752
+ quality: "X N",
753
+ details: "Indicates the PresetHandle of the active preset. If this attribute is null, then there is no active preset.",
754
+ xref: { document: "cluster", section: "4.3.9.58" }
755
+ }),
756
+ (0, import_elements.AttributeElement)({
757
+ name: "ActiveScheduleHandle",
758
+ id: 79,
759
+ type: "octstr",
760
+ access: "R V",
761
+ conformance: "MSCH",
762
+ constraint: "max 16",
763
+ default: null,
764
+ quality: "X N",
765
+ details: "Indicates the ScheduleHandle of the active schedule. A null value in this attribute indicates that there is no active schedule.",
766
+ xref: { document: "cluster", section: "4.3.9.59" }
767
+ }),
768
+ (0, import_elements.AttributeElement)(
769
+ {
770
+ name: "Presets",
771
+ id: 80,
772
+ type: "list",
773
+ access: "RW VM",
774
+ conformance: "PRES",
775
+ constraint: "max numberOfPresets",
776
+ default: [],
777
+ quality: "N T",
778
+ details: "This attribute shall contain the current list of configured presets. On receipt of a write request:\n 1. If the PresetHandle field is null, the PresetStruct shall be treated as an added preset, and the device shall create a new unique value for the PresetHandle field.\n a. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. If the PresetHandle field is not null, the PresetStruct shall be treated as a modification of an existing preset.\n a. If the value of the PresetHandle field does not match any of the existing presets, a response with the status code NOT_FOUND shall be returned.\n b. If the value of the PresetHandle field is duplicated on multiple presets in the updated list, a response with the status code CONSTRAINT_ERROR shall be returned.\n c. If the BuiltIn field is true, and the PresetStruct in the current value with a matching PresetHandle field has a BuiltIn field set to false, a response with the status code CONSTRAINT_ERROR shall be returned.\n d. If the BuiltIn field is false, and the PresetStruct in the current value with a matching PresetHandle field has a BuiltIn field set to true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the specified PresetScenarioEnum value does not exist in PresetTypes, a response with the status code CONSTRAINT_ERROR shall be returned.\n 4. If the Name is set, but the associated PresetTypeStruct does not have the SupportsNames bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 5. If appending the received PresetStruct to the pending list of Presets would cause the total number of pending presets to exceed the value of the NumberOfPresets attribute, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 6. If appending the received PresetStruct to the pending list of Presets would cause the total number of pending presets whose PresetScenario field matches the appended preset\u2019s PresetScenario field to exceed the value of the NumberOfPresets field on the PresetTypeStruct whose PresetScenario matches the appended preset\u2019s PresetScenario field, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 7. Otherwise, the write shall be pended until receipt of a commit request, and the status code SUCCESS shall be returned.\n a. If the BuiltIn field is null:\n i. If there is a PresetStruct in the current value with a matching PresetHandle field, the BuiltIn field on the pending PresetStruct shall be set to the value of the BuiltIn on the matching PresetStruct.\n ii. Otherwise, the BuiltIn field on the pending PresetStruct shall be set to false.\nOn an attempt to commit, the status of this attribute shall be determined as follows:\n 1. For all existing presets:\n a. If, after applying all pending changes, the updated value of the Presets attribute would not contain a PresetStruct with a matching PresetHandle field, indicating the removal of the PresetStruct, the server shall check for invalid removal of the PresetStruct:\n i. If the BuiltIn field is true on the removed PresetStruct, the attribute status shall be CONSTRAINT_ERROR.\n ii. If the MSCH feature is supported and the removed PresetHandle would be referenced by any PresetHandle on any ScheduleTransitionStruct on any ScheduleStruct in the updated value of the Schedules attribute, the attribute status shall be INVALID_IN_STATE.\n iii. If the removed PresetHandle is equal to the value of the ActivePresetHandle attribute, the attribute status shall be INVALID_IN_STATE.\n 2. Otherwise, the attribute status shall be SUCCESS.",
779
+ xref: { document: "cluster", section: "4.3.9.60" }
780
+ },
781
+ (0, import_elements.FieldElement)({ name: "entry", type: "PresetStruct" })
782
+ ),
783
+ (0, import_elements.AttributeElement)(
784
+ {
785
+ name: "Schedules",
786
+ id: 81,
787
+ type: "list",
788
+ access: "RW VM",
789
+ conformance: "MSCH",
790
+ constraint: "desc",
791
+ default: [],
792
+ quality: "N T",
793
+ details: "This attribute shall contain a list of ScheduleStructs. On receipt of a write request:\n 1. For all schedules in the write request:\n a. If the ScheduleHandle field is null, the ScheduleStruct shall be treated as an added schedule, and the device shall create a new unique value for the ScheduleHandle field.\n i. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be returned.\n b. Otherwise, if the ScheduleHandle field is not null, the ScheduleStruct shall be treated as a modification of an existing schedule.\n i. If the value of the ScheduleHandle field does not match any of the existing schedules, a response with the status code NOT_FOUND shall be returned.\n ii. If the BuiltIn field is true, and the ScheduleStruct in the current value with a matching ScheduleHandle field has a BuiltIn field set to false, a response with the status code CONSTRAINT_ERROR shall be returned.\n iii. If the BuiltIn field is false, and the ScheduleStruct in the current value with a matching ScheduleHandle field has a BuiltIn field set to true, a response with the status code CONSTRAINT_ERROR shall be returned.\n c. If the specified SystemMode does not exist in ScheduleTypes, a response with the status code CONSTRAINT_ERROR shall be returned.\n d. If the number of transitions exceeds the NumberOfScheduleTransitions value, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n e. If the value of the NumberOfScheduleTransitionsPerDay attribute is not null, and the number of transitions on any single day of the week exceeds the NumberOfScheduleTransitionsPerDay value, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n f. If the PresetHandle field is present, but the associated ScheduleTypeStruct does not have the SupportsPresets bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n g. If the PresetHandle field is present, but after applying all pending changes, the Presets attribute would not contain a PresetStruct whose PresetHandle field matches the value of the PresetHandle field, a response with the status code CONSTRAINT_ERROR shall be returned.\n h. If the Name is set, but the associated ScheduleTypeStruct does not have the SupportsNames bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n i. For all transitions in all schedules in the write request:\n i. If the PresetHandle field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsPresets bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n j. If the PresetHandle field is present, but after applying all pending changes, the Presets attribute would not contain a PresetStruct whose PresetHandle field matches the value of the PresetHandle field, a response with the status code CONSTRAINT_ERROR shall be returned.\n i. If the SystemMode field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n ii. If the SystemMode field is has a value of SystemModeOff, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsOff bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n k. If the HeatingSetpoint field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n l. If the CoolingSetpoint field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. If appending the received ScheduleStruct to the pending list of Schedules would cause the total number of pending schedules to exceed the value of the NumberOfSchedules attribute, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 3. If appending the received ScheduleStruct to the pending list of Schedules would cause the total number of pending schedules whose SystemMode field matches the appended schedule\u2019s SystemMode field to exceed the value of the NumberOfSchedules field on the ScheduleTypeStruct whose SystemMode field matches the appended schedule\u2019s SystemMode field, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 4. Otherwise, the write shall be pended until receipt of a commit request, and the attribute status shall be SUCCESS.\n a. If the BuiltIn field is null:\n i. If there is a ScheduleStruct in the current value with a matching ScheduleHandle field, the BuiltIn field on the pending ScheduleStruct shall be set to the value of the BuiltIn on the matching ScheduleStruct.\n ii. Otherwise, the BuiltIn field on the pending ScheduleStruct shall be set to false.\nOn an attempt to commit, the status of this attribute shall be determined as follows:\n 1. For all existing schedules:\n a. If, after applying all pending changes, the updated value of the Schedules attribute would not contain a ScheduleStruct with a matching ScheduleHandle field, indicating the removal of the ScheduleStruct, the server shall check for invalid removal of the ScheduleStruct:\n i. If the BuiltIn field is true on the removed ScheduleStruct, the attribute status shall be CONSTRAINT_ERROR.\n ii. If the removed ScheduleHandle is equal to the value of the ActiveScheduleHandle attribute, the attribute status shall be INVALID_IN_STATE.\n 2. Otherwise, the attribute status shall be SUCCESS.",
794
+ xref: { document: "cluster", section: "4.3.9.61" }
795
+ },
796
+ (0, import_elements.FieldElement)({ name: "entry", type: "ScheduleStruct" })
797
+ ),
798
+ (0, import_elements.AttributeElement)({
799
+ name: "SetpointHoldExpiryTimestamp",
800
+ id: 82,
801
+ type: "epoch-s",
802
+ access: "R V",
803
+ conformance: "O",
804
+ default: null,
805
+ quality: "X N",
806
+ details: "If there is a known time when the TemperatureSetpointHold shall be cleared, this attribute shall contain the timestamp in UTC indicating when that will happen. If there is no such known time, this attribute shall be null.\nIf the TemperatureSetpointHold is set to SetpointHoldOff or the TemperatureSetpointHoldDuration is set to null, this attribute shall be set to null indicating there is no hold on the Thermostat either with or without a duration.",
807
+ xref: { document: "cluster", section: "4.3.9.62" }
660
808
  }),
661
809
  (0, import_elements.CommandElement)(
662
810
  {
@@ -666,11 +814,25 @@ const Thermostat = (0, import_elements.ClusterElement)(
666
814
  conformance: "M",
667
815
  direction: "request",
668
816
  response: "status",
669
- details: "Upon receipt, the attributes for the indicated setpoint(s) shall have the amount specified in the Amount field added to them. If the resulting value is outside the limits imposed by MinCoolSetpointLimit, MaxCoolSetpointLimit, MinHeatSetpointLimit and MaxHeatSetpointLimit, the value is clamped to those limits. This is not considered an error condition.",
670
817
  xref: { document: "cluster", section: "4.3.10.1" }
671
818
  },
672
- (0, import_elements.FieldElement)({ name: "Mode", id: 0, type: "SetpointRaiseLowerModeEnum", conformance: "M", constraint: "desc" }),
673
- (0, import_elements.FieldElement)({ name: "Amount", id: 1, type: "int8", conformance: "M" })
819
+ (0, import_elements.FieldElement)({
820
+ name: "Mode",
821
+ id: 0,
822
+ type: "SetpointRaiseLowerModeEnum",
823
+ conformance: "M",
824
+ constraint: "desc",
825
+ details: "The field shall specify which setpoints are to be adjusted.",
826
+ xref: { document: "cluster", section: "4.3.10.1.1" }
827
+ }),
828
+ (0, import_elements.FieldElement)({
829
+ name: "Amount",
830
+ id: 1,
831
+ type: "int8",
832
+ conformance: "M",
833
+ details: "This field shall indicate the amount (possibly negative) that should be added to the setpoint(s), in steps of 0.1\xB0C.",
834
+ xref: { document: "cluster", section: "4.3.10.1.2" }
835
+ })
674
836
  ),
675
837
  (0, import_elements.CommandElement)(
676
838
  {
@@ -680,8 +842,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
680
842
  conformance: "SCH",
681
843
  direction: "request",
682
844
  response: "status",
683
- details: "Upon receipt, the weekly schedule for updating setpoints shall be stored in the thermostat and SHOULD begin at the time of receipt. A status code shall be sent in response.\nWhen a command is received that requires a total number of transitions greater than the device supports, the status of the response shall be INSUFFICIENT_SPACE.\nWhen any of the setpoints sent in the sequence is out of range (AbsMin/MaxSetPointLimit), or when the Mode for Sequence field includes a mode not supported by the device, the status of the response shall be CONSTRAINT_ERROR and no setpoints from the entire sequence SHOULD be used.\nWhen an overlapping transition is detected, the status of the response shall be FAILURE.\nWhen a device which does not support multiple days in a command receives a command with more than one bit set in the DayOfWeekForSequence field, or when a device which does not support multiple modes in a command receives a command with more than one bit set in the ModeForSequence field, or when the contents of the Transitions field does not agree with NumberOfTransitionsForSequence, DayOfWeekForSequence or ModeForSequence, the status of the response shall be INVALID_COMMAND.\nWhen the transitions could be added successfully, the status of the response shall be SUCCESS.\nThe set weekly schedule command is used to update the thermostat weekly setpoint schedule from a management system. If the thermostat already has a weekly setpoint schedule programmed, then it SHOULD replace each daily setpoint set as it receives the updates from the management system. For example, if the thermostat has 4 setpoints for every day of the week and is sent a Set Weekly Schedule command with one setpoint for Saturday then the thermostat SHOULD remove all 4 setpoints for Saturday and replace those with the updated setpoint but leave all other days unchanged. If the schedule is larger than what fits in one frame or contains more than 10 transitions, the schedule shall then be sent using multiple Set Weekly Schedule Commands.",
684
- xref: { document: "cluster", section: "4.3.10.4" }
845
+ details: "This command is used to update the thermostat weekly setpoint schedule from a management system. If the thermostat already has a weekly setpoint schedule programmed, then it SHOULD replace each daily setpoint set as it receives the updates from the management system. For example, if the thermostat has 4 setpoints for every day of the week and is sent a SetWeeklySchedule command with one setpoint for Saturday then the thermostat SHOULD remove all 4 setpoints for Saturday and replace those with the updated setpoint but leave all other days unchanged. If the schedule is larger than what fits in one frame or contains more than 10 transitions, the schedule shall then be sent using multiple SetWeeklySchedule Commands.",
846
+ xref: { document: "cluster", section: "4.3.10.2" }
685
847
  },
686
848
  (0, import_elements.FieldElement)({
687
849
  name: "NumberOfTransitionsForSequence",
@@ -689,7 +851,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
689
851
  type: "uint8",
690
852
  conformance: "M",
691
853
  details: "This field shall indicate how many individual transitions to expect for this sequence of commands. If a device supports more than 10 transitions in its schedule they can send this by sending more than 1 \u201CSet Weekly Schedule\u201D command, each containing the separate information that the device needs to set.",
692
- xref: { document: "cluster", section: "4.3.10.4.1" }
854
+ xref: { document: "cluster", section: "4.3.10.2.1" }
693
855
  }),
694
856
  (0, import_elements.FieldElement)({
695
857
  name: "DayOfWeekForSequence",
@@ -698,7 +860,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
698
860
  conformance: "M",
699
861
  constraint: "desc",
700
862
  details: "This field shall represent the day of the week at which all the transitions within the payload of the command SHOULD be associated to. This field is a bitmap and therefore the associated setpoint could overlap onto multiple days (you could set one transition time for all \u201Cweek days\u201D or whatever combination of days the implementation requests).\nEach setpoint transition will begin with the day of week for this transition. There can be up to 10 transitions for each command.",
701
- xref: { document: "cluster", section: "4.3.10.4.2" }
863
+ xref: { document: "cluster", section: "4.3.10.2.2" }
702
864
  }),
703
865
  (0, import_elements.FieldElement)({
704
866
  name: "ModeForSequence",
@@ -707,7 +869,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
707
869
  conformance: "M",
708
870
  constraint: "desc",
709
871
  details: "This field shall indicate how the application decodes the setpoint fields of each transition in the Transitions list.\nIf the HeatSetpointPresent bit is On, the HeatSetpoint field shall NOT be null in every entry of the Transitions list.\nIf the HeatSetpointPresent bit is Off, the HeatSetpoint field shall be null in every entry of the Transitions list.\nIf the CoolSetpointPresent bit is On, the CoolSetpoint field shall NOT be null in every entry of the Transitions list.\nIf the CoolSetpointPresent bit is Off, the CoolSetpoint field shall be null in every entry of the Transitions list.\nAt least one of the bits in the Mode For Sequence byte shall be on.\nBoth bits must be respected, even if the HEAT or COOL feature is not supported, to ensure the command is decoded and handled correctly.",
710
- xref: { document: "cluster", section: "4.3.10.4.3" }
872
+ xref: { document: "cluster", section: "4.3.10.2.3" }
711
873
  }),
712
874
  (0, import_elements.FieldElement)(
713
875
  {
@@ -717,7 +879,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
717
879
  conformance: "M",
718
880
  constraint: "max 10",
719
881
  details: "This field shall contain the list of setpoint transitions used to update the specified daily schedules",
720
- xref: { document: "cluster", section: "4.3.10.4.4" }
882
+ xref: { document: "cluster", section: "4.3.10.2.4" }
721
883
  },
722
884
  (0, import_elements.FieldElement)({ name: "entry", type: "WeeklyScheduleTransitionStruct" })
723
885
  )
@@ -730,8 +892,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
730
892
  conformance: "SCH",
731
893
  direction: "request",
732
894
  response: "GetWeeklyScheduleResponse",
733
- details: "Upon receipt, the unit SHOULD send in return the Get Weekly Schedule Response command. The Days to Return and Mode to Return fields are defined as bitmask for the flexibility to support multiple days and multiple modes within one command. If thermostat cannot handle incoming command with multiple days and/or multiple modes within one command, it shall send default response of INVALID_COMMAND in return.",
734
- xref: { document: "cluster", section: "4.3.10.5" }
895
+ xref: { document: "cluster", section: "4.3.10.3" }
735
896
  },
736
897
  (0, import_elements.FieldElement)({
737
898
  name: "DaysToReturn",
@@ -740,7 +901,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
740
901
  conformance: "M",
741
902
  constraint: "desc",
742
903
  details: "This field shall indicate the number of days the client would like to return the setpoint values for and could be any combination of single days or the entire week.",
743
- xref: { document: "cluster", section: "4.3.10.5.1" }
904
+ xref: { document: "cluster", section: "4.3.10.3.1" }
744
905
  }),
745
906
  (0, import_elements.FieldElement)({
746
907
  name: "ModeToReturn",
@@ -749,7 +910,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
749
910
  conformance: "M",
750
911
  constraint: "desc",
751
912
  details: "This field shall indicate the mode the client would like to return the set point values for and could be any combination of heat only, cool only or heat & cool.",
752
- xref: { document: "cluster", section: "4.3.10.5.2" }
913
+ xref: { document: "cluster", section: "4.3.10.3.2" }
753
914
  })
754
915
  ),
755
916
  (0, import_elements.CommandElement)(
@@ -759,7 +920,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
759
920
  conformance: "SCH",
760
921
  direction: "response",
761
922
  details: "This command has the same payload format as the Set Weekly Schedule.",
762
- xref: { document: "cluster", section: "4.3.10.6" }
923
+ xref: { document: "cluster", section: "4.3.10.4" }
763
924
  },
764
925
  (0, import_elements.FieldElement)({ name: "NumberOfTransitionsForSequence", id: 0, type: "uint8", conformance: "M" }),
765
926
  (0, import_elements.FieldElement)({
@@ -783,7 +944,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
783
944
  direction: "request",
784
945
  response: "status",
785
946
  details: "This command is used to clear the weekly schedule. The Clear weekly schedule has no payload.\nUpon receipt, all transitions currently stored shall be cleared and a default response of SUCCESS shall be sent in response. There are no error responses to this command.",
786
- xref: { document: "cluster", section: "4.3.10.7" }
947
+ xref: { document: "cluster", section: "4.3.10.5" }
787
948
  }),
788
949
  (0, import_elements.CommandElement)(
789
950
  {
@@ -792,7 +953,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
792
953
  conformance: "GetRelayStatusLog",
793
954
  direction: "response",
794
955
  details: "This command is sent from the thermostat cluster server in response to the Get Relay Status Log. After the Relay Status Entry is sent over the air to the requesting client, the specific entry will be cleared from the thermostat internal log.",
795
- xref: { document: "cluster", section: "4.3.10.9" }
956
+ xref: { document: "cluster", section: "4.3.10.7" }
796
957
  },
797
958
  (0, import_elements.FieldElement)({
798
959
  name: "TimeOfDay",
@@ -801,7 +962,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
801
962
  conformance: "M",
802
963
  constraint: "max 1439",
803
964
  details: "This field shall indicate the sample time of the day, in minutes since midnight, when the relay status was captured for this associated log entry. For example, 6am will be represented by 360 minutes since midnight and 11:30pm will be represented by 1410 minutes since midnight.",
804
- xref: { document: "cluster", section: "4.3.10.9.1" }
965
+ xref: { document: "cluster", section: "4.3.10.7.1" }
805
966
  }),
806
967
  (0, import_elements.FieldElement)({
807
968
  name: "RelayStatus",
@@ -810,7 +971,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
810
971
  conformance: "M",
811
972
  constraint: "desc",
812
973
  details: "This field shall indicate the relay status for thermostat when the log is captured. Each bit represents one relay used by the thermostat. If the bit is on, the associated relay is on and active. Each thermostat manufacturer can create its own mapping between the bitmap and the associated relay.",
813
- xref: { document: "cluster", section: "4.3.10.9.2" }
974
+ xref: { document: "cluster", section: "4.3.10.7.2" }
814
975
  }),
815
976
  (0, import_elements.FieldElement)({
816
977
  name: "LocalTemperature",
@@ -819,14 +980,14 @@ const Thermostat = (0, import_elements.ClusterElement)(
819
980
  conformance: "M",
820
981
  quality: "X",
821
982
  details: "This field shall indicate the LocalTemperature when the log is captured. The null value indicates that LocalTemperature was invalid or unavailable.",
822
- xref: { document: "cluster", section: "4.3.10.9.3" }
983
+ xref: { document: "cluster", section: "4.3.10.7.3" }
823
984
  }),
824
985
  (0, import_elements.FieldElement)({
825
986
  name: "HumidityInPercentage",
826
987
  id: 3,
827
988
  type: "uint8",
828
989
  conformance: "M",
829
- constraint: "0 to 100",
990
+ constraint: "0% to 100%",
830
991
  quality: "X"
831
992
  }),
832
993
  (0, import_elements.FieldElement)({
@@ -835,7 +996,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
835
996
  type: "temperature",
836
997
  conformance: "M",
837
998
  details: "This field shall indicate the target setpoint temperature when the log is captured.",
838
- xref: { document: "cluster", section: "4.3.10.9.5" }
999
+ xref: { document: "cluster", section: "4.3.10.7.5" }
839
1000
  }),
840
1001
  (0, import_elements.FieldElement)({
841
1002
  name: "UnreadEntries",
@@ -843,7 +1004,48 @@ const Thermostat = (0, import_elements.ClusterElement)(
843
1004
  type: "uint16",
844
1005
  conformance: "M",
845
1006
  details: "This field shall indicate the number of unread entries within the thermostat internal log system.",
846
- xref: { document: "cluster", section: "4.3.10.9.6" }
1007
+ xref: { document: "cluster", section: "4.3.10.7.6" }
1008
+ })
1009
+ ),
1010
+ (0, import_elements.CommandElement)(
1011
+ {
1012
+ name: "SetActiveScheduleRequest",
1013
+ id: 5,
1014
+ access: "O",
1015
+ conformance: "MSCH",
1016
+ direction: "request",
1017
+ response: "status",
1018
+ xref: { document: "cluster", section: "4.3.10.8" }
1019
+ },
1020
+ (0, import_elements.FieldElement)({
1021
+ name: "ScheduleHandle",
1022
+ id: 0,
1023
+ type: "octstr",
1024
+ conformance: "M",
1025
+ constraint: "max 16",
1026
+ details: "This field shall specify the value of the ScheduleHandle field on the ScheduleStruct to be made active.",
1027
+ xref: { document: "cluster", section: "4.3.10.8.1" }
1028
+ })
1029
+ ),
1030
+ (0, import_elements.CommandElement)(
1031
+ {
1032
+ name: "SetActivePresetRequest",
1033
+ id: 6,
1034
+ access: "O",
1035
+ conformance: "PRES",
1036
+ direction: "request",
1037
+ response: "status",
1038
+ xref: { document: "cluster", section: "4.3.10.9" }
1039
+ },
1040
+ (0, import_elements.FieldElement)({
1041
+ name: "PresetHandle",
1042
+ id: 0,
1043
+ type: "octstr",
1044
+ conformance: "M",
1045
+ constraint: "max 16",
1046
+ quality: "X",
1047
+ details: "This field shall specify the value of the PresetHandle field on the PresetStruct to be made active. If the field is set to null, that indicates there should be no active preset.",
1048
+ xref: { document: "cluster", section: "4.3.10.9.1" }
847
1049
  })
848
1050
  ),
849
1051
  (0, import_elements.DatatypeElement)(
@@ -893,7 +1095,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
893
1095
  (0, import_elements.FieldElement)(
894
1096
  {
895
1097
  name: "CoolingStage",
896
- constraint: "0 to 2",
1098
+ constraint: "1 to 1",
897
1099
  description: "Stage of cooling the HVAC system is using.",
898
1100
  details: "These bits shall indicate what stage of cooling the HVAC system is using.\n \u2022 00 = Cool Stage 1\n \u2022 01 = Cool Stage 2\n \u2022 10 = Cool Stage 3\n \u2022 11 = Reserved",
899
1101
  xref: { document: "cluster", section: "4.3.8.6.1" }
@@ -902,7 +1104,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
902
1104
  (0, import_elements.FieldElement)(
903
1105
  {
904
1106
  name: "HeatingStage",
905
- constraint: "2 to 4",
1107
+ constraint: "3 to 3",
906
1108
  description: "Stage of heating the HVAC system is using.",
907
1109
  details: "These bits shall indicate what stage of heating the HVAC system is using.\n \u2022 00 = Heat Stage 1\n \u2022 01 = Heat Stage 2\n \u2022 10 = Heat Stage 3\n \u2022 11 = Reserved",
908
1110
  xref: { document: "cluster", section: "4.3.8.6.2" }
@@ -927,8 +1129,18 @@ const Thermostat = (0, import_elements.ClusterElement)(
927
1129
  }
928
1130
  )
929
1131
  ),
1132
+ (0, import_elements.DatatypeElement)({
1133
+ name: "OccupancyBitmap",
1134
+ type: "OccupancySensing.OccupancyBitmap",
1135
+ xref: { document: "cluster", section: "4.3.8.7" }
1136
+ }),
1137
+ (0, import_elements.DatatypeElement)(
1138
+ { name: "PresetTypeFeaturesBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.8" } },
1139
+ (0, import_elements.FieldElement)({ name: "Automatic", constraint: "0", description: "Preset may be automatically activated by the thermostat" }),
1140
+ (0, import_elements.FieldElement)({ name: "SupportsNames", constraint: "1", description: "Preset supports user- provided names" })
1141
+ ),
930
1142
  (0, import_elements.DatatypeElement)(
931
- { name: "ProgrammingOperationModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.7" } },
1143
+ { name: "ProgrammingOperationModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.9" } },
932
1144
  (0, import_elements.FieldElement)({
933
1145
  name: "ScheduleActive",
934
1146
  constraint: "0",
@@ -938,17 +1150,17 @@ const Thermostat = (0, import_elements.ClusterElement)(
938
1150
  (0, import_elements.FieldElement)({ name: "Economy", constraint: "2", description: "Economy/EnergyStar mode" })
939
1151
  ),
940
1152
  (0, import_elements.DatatypeElement)(
941
- { name: "RelayStateBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.8" } },
942
- (0, import_elements.FieldElement)({ name: "Heat", constraint: "0", description: "Heat State On" }),
943
- (0, import_elements.FieldElement)({ name: "Cool", constraint: "1", description: "Cool State On" }),
944
- (0, import_elements.FieldElement)({ name: "Fan", constraint: "2", description: "Fan State On" }),
945
- (0, import_elements.FieldElement)({ name: "HeatStage2", constraint: "3", description: "Heat 2nd State On" }),
946
- (0, import_elements.FieldElement)({ name: "CoolStage2", constraint: "4", description: "Cool 2nd State On" }),
947
- (0, import_elements.FieldElement)({ name: "FanStage2", constraint: "5", description: "Fan 2nd State On" }),
1153
+ { name: "RelayStateBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.10" } },
1154
+ (0, import_elements.FieldElement)({ name: "Heat", constraint: "0", description: "Heat Stage On" }),
1155
+ (0, import_elements.FieldElement)({ name: "Cool", constraint: "1", description: "Cool Stage On" }),
1156
+ (0, import_elements.FieldElement)({ name: "Fan", constraint: "2", description: "Fan Stage On" }),
1157
+ (0, import_elements.FieldElement)({ name: "HeatStage2", constraint: "3", description: "Heat 2nd Stage On" }),
1158
+ (0, import_elements.FieldElement)({ name: "CoolStage2", constraint: "4", description: "Cool 2nd Stage On" }),
1159
+ (0, import_elements.FieldElement)({ name: "FanStage2", constraint: "5", description: "Fan 2nd Stage On" }),
948
1160
  (0, import_elements.FieldElement)({ name: "FanStage3", constraint: "6", description: "Fan 3rd Stage On" })
949
1161
  ),
950
1162
  (0, import_elements.DatatypeElement)(
951
- { name: "RemoteSensingBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.9" } },
1163
+ { name: "RemoteSensingBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.11" } },
952
1164
  (0, import_elements.FieldElement)({
953
1165
  name: "LocalTemperature",
954
1166
  constraint: "0",
@@ -959,12 +1171,43 @@ const Thermostat = (0, import_elements.ClusterElement)(
959
1171
  constraint: "1",
960
1172
  description: "OutdoorTemperature is derived from a remote node",
961
1173
  details: "This bit shall be supported if the OutdoorTemperature attribute is supported.",
962
- xref: { document: "cluster", section: "4.3.8.9.1" }
1174
+ xref: { document: "cluster", section: "4.3.8.11.1" }
963
1175
  }),
964
1176
  (0, import_elements.FieldElement)({ name: "Occupancy", constraint: "2", description: "Occupancy is derived from a remote node" })
965
1177
  ),
966
1178
  (0, import_elements.DatatypeElement)(
967
- { name: "ScheduleDayOfWeekBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.10" } },
1179
+ { name: "ScheduleTypeFeaturesBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.12" } },
1180
+ (0, import_elements.FieldElement)({
1181
+ name: "SupportsPresets",
1182
+ constraint: "0",
1183
+ description: "Supports presets",
1184
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports specifying presets on ScheduleTransitionStructs contained in its Transitions field.",
1185
+ xref: { document: "cluster", section: "4.3.8.12.1" }
1186
+ }),
1187
+ (0, import_elements.FieldElement)({
1188
+ name: "SupportsSetpoints",
1189
+ constraint: "1",
1190
+ description: "Supports setpoints",
1191
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports specifying setpoints on ScheduleTransitionStructs contained in its Transitions field.",
1192
+ xref: { document: "cluster", section: "4.3.8.12.2" }
1193
+ }),
1194
+ (0, import_elements.FieldElement)({
1195
+ name: "SupportsNames",
1196
+ constraint: "2",
1197
+ description: "Supports user-provided names",
1198
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports setting the value of the Name field.",
1199
+ xref: { document: "cluster", section: "4.3.8.12.3" }
1200
+ }),
1201
+ (0, import_elements.FieldElement)({
1202
+ name: "SupportsOff",
1203
+ constraint: "3",
1204
+ description: "Supports transitioning to SystemModeOff",
1205
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports setting its SystemMode field to Off.",
1206
+ xref: { document: "cluster", section: "4.3.8.12.4" }
1207
+ })
1208
+ ),
1209
+ (0, import_elements.DatatypeElement)(
1210
+ { name: "ScheduleDayOfWeekBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.13" } },
968
1211
  (0, import_elements.FieldElement)({ name: "Sunday", constraint: "0", description: "Sunday" }),
969
1212
  (0, import_elements.FieldElement)({ name: "Monday", constraint: "1", description: "Monday" }),
970
1213
  (0, import_elements.FieldElement)({ name: "Tuesday", constraint: "2", description: "Tuesday" }),
@@ -975,23 +1218,23 @@ const Thermostat = (0, import_elements.ClusterElement)(
975
1218
  (0, import_elements.FieldElement)({ name: "Away", constraint: "7", description: "Away or Vacation" })
976
1219
  ),
977
1220
  (0, import_elements.DatatypeElement)(
978
- { name: "ScheduleModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.11" } },
1221
+ { name: "ScheduleModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.14" } },
979
1222
  (0, import_elements.FieldElement)({ name: "HeatSetpointPresent", constraint: "0", description: "Adjust Heat Setpoint" }),
980
1223
  (0, import_elements.FieldElement)({ name: "CoolSetpointPresent", constraint: "1", description: "Adjust Cool Setpoint" })
981
1224
  ),
982
1225
  (0, import_elements.DatatypeElement)(
983
- { name: "ACCapacityFormatEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.12" } },
1226
+ { name: "ACCapacityFormatEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.15" } },
984
1227
  (0, import_elements.FieldElement)({ name: "BtUh", id: 0, conformance: "O", description: "British Thermal Unit per Hour" })
985
1228
  ),
986
1229
  (0, import_elements.DatatypeElement)(
987
- { name: "ACCompressorTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.13" } },
1230
+ { name: "ACCompressorTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.16" } },
988
1231
  (0, import_elements.FieldElement)({ name: "Unknown", id: 0, conformance: "O", description: "Unknown compressor type" }),
989
1232
  (0, import_elements.FieldElement)({ name: "T1", id: 1, conformance: "O", description: "Max working ambient 43 \xB0C" }),
990
1233
  (0, import_elements.FieldElement)({ name: "T2", id: 2, conformance: "O", description: "Max working ambient 35 \xB0C" }),
991
1234
  (0, import_elements.FieldElement)({ name: "T3", id: 3, conformance: "O", description: "Max working ambient 52 \xB0C" })
992
1235
  ),
993
1236
  (0, import_elements.DatatypeElement)(
994
- { name: "ACLouverPositionEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.14" } },
1237
+ { name: "ACLouverPositionEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.17" } },
995
1238
  (0, import_elements.FieldElement)({ name: "Closed", id: 1, conformance: "O", description: "Fully Closed" }),
996
1239
  (0, import_elements.FieldElement)({ name: "Open", id: 2, conformance: "O", description: "Fully Open" }),
997
1240
  (0, import_elements.FieldElement)({ name: "Quarter", id: 3, conformance: "O", description: "Quarter Open" }),
@@ -999,14 +1242,14 @@ const Thermostat = (0, import_elements.ClusterElement)(
999
1242
  (0, import_elements.FieldElement)({ name: "ThreeQuarters", id: 5, conformance: "O", description: "Three Quarters Open" })
1000
1243
  ),
1001
1244
  (0, import_elements.DatatypeElement)(
1002
- { name: "ACRefrigerantTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.15" } },
1245
+ { name: "ACRefrigerantTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.18" } },
1003
1246
  (0, import_elements.FieldElement)({ name: "Unknown", id: 0, conformance: "O", description: "Unknown Refrigerant Type" }),
1004
1247
  (0, import_elements.FieldElement)({ name: "R22", id: 1, conformance: "O", description: "R22 Refrigerant" }),
1005
1248
  (0, import_elements.FieldElement)({ name: "R410A", id: 2, conformance: "O", description: "R410a Refrigerant" }),
1006
1249
  (0, import_elements.FieldElement)({ name: "R407C", id: 3, conformance: "O", description: "R407c Refrigerant" })
1007
1250
  ),
1008
1251
  (0, import_elements.DatatypeElement)(
1009
- { name: "ACTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.16" } },
1252
+ { name: "ACTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.19" } },
1010
1253
  (0, import_elements.FieldElement)({ name: "Unknown", id: 0, conformance: "O", description: "Unknown AC Type" }),
1011
1254
  (0, import_elements.FieldElement)({ name: "CoolingFixed", id: 1, conformance: "O", description: "Cooling and Fixed Speed" }),
1012
1255
  (0, import_elements.FieldElement)({ name: "HeatPumpFixed", id: 2, conformance: "O", description: "Heat Pump and Fixed Speed" }),
@@ -1014,7 +1257,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1014
1257
  (0, import_elements.FieldElement)({ name: "HeatPumpInverter", id: 4, conformance: "O", description: "Heat Pump and Inverter" })
1015
1258
  ),
1016
1259
  (0, import_elements.DatatypeElement)(
1017
- { name: "SetpointRaiseLowerModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.17" } },
1260
+ { name: "SetpointRaiseLowerModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.20" } },
1018
1261
  (0, import_elements.FieldElement)({ name: "Heat", id: 0, conformance: "HEAT", description: "Adjust Heat Setpoint" }),
1019
1262
  (0, import_elements.FieldElement)({ name: "Cool", id: 1, conformance: "COOL", description: "Adjust Cool Setpoint" }),
1020
1263
  (0, import_elements.FieldElement)({ name: "Both", id: 2, conformance: "HEAT | COOL", description: "Adjust Heat Setpoint and Cool Setpoint" })
@@ -1024,7 +1267,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1024
1267
  name: "ControlSequenceOfOperationEnum",
1025
1268
  type: "enum8",
1026
1269
  details: "NOTE\nCoolingAndHeating\nA thermostat indicating it supports CoolingAndHeating (or CoolingAndHeatingWithReheat) SHOULD be able to request heating or cooling on demand and will usually support the Auto SystemMode.\nSystems which support cooling or heating, requiring external intervention to change modes or where the whole building must be in the same mode, SHOULD report CoolingOnly or HeatingOnly based on the current capability.",
1027
- xref: { document: "cluster", section: "4.3.8.18" }
1270
+ xref: { document: "cluster", section: "4.3.8.21" }
1028
1271
  },
1029
1272
  (0, import_elements.FieldElement)({ name: "CoolingOnly", id: 0, conformance: "[COOL]", description: "Heat and Emergency are not possible" }),
1030
1273
  (0, import_elements.FieldElement)({
@@ -1054,7 +1297,66 @@ const Thermostat = (0, import_elements.ClusterElement)(
1054
1297
  })
1055
1298
  ),
1056
1299
  (0, import_elements.DatatypeElement)(
1057
- { name: "SetpointChangeSourceEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.19" } },
1300
+ { name: "PresetScenarioEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.22" } },
1301
+ (0, import_elements.FieldElement)({
1302
+ name: "Occupied",
1303
+ id: 1,
1304
+ conformance: "M",
1305
+ description: "The thermostat-controlled area is occupied",
1306
+ details: "This value shall indicate the preset for periods when the thermostat\u2019s temperature-controlled area is occupied. It is intended for thermostats that can automatically determine occupancy.",
1307
+ xref: { document: "cluster", section: "4.3.8.22.2" }
1308
+ }),
1309
+ (0, import_elements.FieldElement)({
1310
+ name: "Unoccupied",
1311
+ id: 2,
1312
+ conformance: "M",
1313
+ description: "The thermostat-controlled area is unoccupied",
1314
+ details: "This value shall indicate the preset for periods when the thermostat\u2019s temperature-controlled area is unoccupied. It is intended for thermostats that can automatically determine occupancy.",
1315
+ xref: { document: "cluster", section: "4.3.8.22.3" }
1316
+ }),
1317
+ (0, import_elements.FieldElement)({
1318
+ name: "Sleep",
1319
+ id: 3,
1320
+ conformance: "M",
1321
+ description: "Users are likely to be sleeping",
1322
+ details: "This value shall indicate the preset for periods when users are likely to be asleep.",
1323
+ xref: { document: "cluster", section: "4.3.8.22.4" }
1324
+ }),
1325
+ (0, import_elements.FieldElement)({
1326
+ name: "Wake",
1327
+ id: 4,
1328
+ conformance: "M",
1329
+ description: "Users are likely to be waking up",
1330
+ details: "This value shall indicate the preset for periods when users are likely to be waking up.",
1331
+ xref: { document: "cluster", section: "4.3.8.22.5" }
1332
+ }),
1333
+ (0, import_elements.FieldElement)({
1334
+ name: "Vacation",
1335
+ id: 5,
1336
+ conformance: "M",
1337
+ description: "Users are on vacation",
1338
+ details: "This value shall indicate the preset for periods when users are on vacation, or otherwise out-of- home for extended periods of time.",
1339
+ xref: { document: "cluster", section: "4.3.8.22.6" }
1340
+ }),
1341
+ (0, import_elements.FieldElement)({
1342
+ name: "GoingToSleep",
1343
+ id: 6,
1344
+ conformance: "M",
1345
+ description: "Users are likely to be going to sleep",
1346
+ details: "This value shall indicate the preset for periods when users are likely to be going to sleep.",
1347
+ xref: { document: "cluster", section: "4.3.8.22.7" }
1348
+ }),
1349
+ (0, import_elements.FieldElement)({
1350
+ name: "UserDefined",
1351
+ id: 254,
1352
+ conformance: "M",
1353
+ description: "Custom presets",
1354
+ details: "This value shall indicate a free-form preset; when set, the Name field on PresetStruct shall NOT be null.",
1355
+ xref: { document: "cluster", section: "4.3.8.22.8" }
1356
+ })
1357
+ ),
1358
+ (0, import_elements.DatatypeElement)(
1359
+ { name: "SetpointChangeSourceEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.23" } },
1058
1360
  (0, import_elements.FieldElement)({
1059
1361
  name: "Manual",
1060
1362
  id: 0,
@@ -1064,7 +1366,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1064
1366
  (0, import_elements.FieldElement)({
1065
1367
  name: "Schedule",
1066
1368
  id: 1,
1067
- conformance: "[SCH]",
1369
+ conformance: "[SCH | MSCH]",
1068
1370
  description: "Schedule/internal programming-initiated setpoint change"
1069
1371
  }),
1070
1372
  (0, import_elements.FieldElement)({
@@ -1075,7 +1377,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1075
1377
  })
1076
1378
  ),
1077
1379
  (0, import_elements.DatatypeElement)(
1078
- { name: "StartOfWeekEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.20" } },
1380
+ { name: "StartOfWeekEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.24" } },
1079
1381
  (0, import_elements.FieldElement)({ name: "Sunday", id: 0, conformance: "M" }),
1080
1382
  (0, import_elements.FieldElement)({ name: "Monday", id: 1, conformance: "M" }),
1081
1383
  (0, import_elements.FieldElement)({ name: "Tuesday", id: 2, conformance: "M" }),
@@ -1088,8 +1390,8 @@ const Thermostat = (0, import_elements.ClusterElement)(
1088
1390
  {
1089
1391
  name: "SystemModeEnum",
1090
1392
  type: "enum8",
1091
- details: "Table 35. Interpretation of Heat, Cool and Auto SystemModeEnum Values",
1092
- xref: { document: "cluster", section: "4.3.8.21" }
1393
+ details: "Table 9. Interpretation of Heat, Cool and Auto SystemModeEnum Values",
1394
+ xref: { document: "cluster", section: "4.3.8.25" }
1093
1395
  },
1094
1396
  (0, import_elements.FieldElement)({
1095
1397
  name: "Off",
@@ -1117,7 +1419,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1117
1419
  (0, import_elements.FieldElement)({ name: "Sleep", id: 9, conformance: "O" })
1118
1420
  ),
1119
1421
  (0, import_elements.DatatypeElement)(
1120
- { name: "ThermostatRunningModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.22" } },
1422
+ { name: "ThermostatRunningModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.26" } },
1121
1423
  (0, import_elements.FieldElement)({
1122
1424
  name: "Off",
1123
1425
  id: 0,
@@ -1128,7 +1430,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1128
1430
  (0, import_elements.FieldElement)({ name: "Heat", id: 4, conformance: "[HEAT]", description: "Demand is only generated for Heating" })
1129
1431
  ),
1130
1432
  (0, import_elements.DatatypeElement)(
1131
- { name: "TemperatureSetpointHoldEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.23" } },
1433
+ { name: "TemperatureSetpointHoldEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.27" } },
1132
1434
  (0, import_elements.FieldElement)({ name: "SetpointHoldOff", id: 0, conformance: "M", description: "Follow scheduling program" }),
1133
1435
  (0, import_elements.FieldElement)({
1134
1436
  name: "SetpointHoldOn",
@@ -1137,12 +1439,103 @@ const Thermostat = (0, import_elements.ClusterElement)(
1137
1439
  description: "Maintain current setpoint, regardless of schedule transitions"
1138
1440
  })
1139
1441
  ),
1442
+ (0, import_elements.DatatypeElement)(
1443
+ { name: "PresetStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.28" } },
1444
+ (0, import_elements.FieldElement)({
1445
+ name: "PresetHandle",
1446
+ id: 0,
1447
+ type: "octstr",
1448
+ conformance: "M",
1449
+ constraint: "max 16",
1450
+ quality: "X",
1451
+ details: "This field shall indicate a device generated identifier for this preset. It shall be unique on the device, and shall NOT be reused after the associated preset has been deleted.\nThis field shall only be null when the encompassing PresetStruct is appended to the Presets attribute for the purpose of creating a new Preset. Refer to Presets for the creation of Preset handles.",
1452
+ xref: { document: "cluster", section: "4.3.8.28.1" }
1453
+ }),
1454
+ (0, import_elements.FieldElement)({
1455
+ name: "PresetScenario",
1456
+ id: 1,
1457
+ type: "PresetScenarioEnum",
1458
+ conformance: "M",
1459
+ details: "This field shall indicate the associated PresetScenarioEnum value for this preset.",
1460
+ xref: { document: "cluster", section: "4.3.8.28.2" }
1461
+ }),
1462
+ (0, import_elements.FieldElement)({
1463
+ name: "Name",
1464
+ id: 2,
1465
+ type: "string",
1466
+ conformance: "O",
1467
+ constraint: "max 64",
1468
+ default: null,
1469
+ quality: "X",
1470
+ details: "This field shall indicate a name provided by a user. The null value shall indicate no name.\nWithin each subset of presets sharing the same PresetScenario field value, there shall NOT be any presets with the same value, including null as a value, in the Name field.",
1471
+ xref: { document: "cluster", section: "4.3.8.28.3" }
1472
+ }),
1473
+ (0, import_elements.FieldElement)({
1474
+ name: "CoolingSetpoint",
1475
+ id: 3,
1476
+ type: "temperature",
1477
+ conformance: "COOL",
1478
+ constraint: "desc",
1479
+ default: { type: "celsius", value: 26 },
1480
+ details: "This field shall indicate the cooling setpoint for the preset. Refer to Setpoint Limits for value constraints.",
1481
+ xref: { document: "cluster", section: "4.3.8.28.4" }
1482
+ }),
1483
+ (0, import_elements.FieldElement)({
1484
+ name: "HeatingSetpoint",
1485
+ id: 4,
1486
+ type: "temperature",
1487
+ conformance: "HEAT",
1488
+ constraint: "desc",
1489
+ default: { type: "celsius", value: 20 },
1490
+ details: "This field shall indicate the heating setpoint for the preset. Refer to Setpoint Limits for value constraints.",
1491
+ xref: { document: "cluster", section: "4.3.8.28.5" }
1492
+ }),
1493
+ (0, import_elements.FieldElement)({
1494
+ name: "BuiltIn",
1495
+ id: 5,
1496
+ type: "bool",
1497
+ conformance: "M",
1498
+ default: false,
1499
+ quality: "X",
1500
+ details: 'This field shall indicate whether the preset is marked as "built-in", meaning that it can be modified, but it cannot be deleted.',
1501
+ xref: { document: "cluster", section: "4.3.8.28.6" }
1502
+ })
1503
+ ),
1504
+ (0, import_elements.DatatypeElement)(
1505
+ { name: "PresetTypeStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.29" } },
1506
+ (0, import_elements.FieldElement)({
1507
+ name: "PresetScenario",
1508
+ id: 0,
1509
+ type: "PresetScenarioEnum",
1510
+ conformance: "M",
1511
+ details: "This field shall specify a PresetScenarioEnum value supported by this thermostat.",
1512
+ xref: { document: "cluster", section: "4.3.8.29.1" }
1513
+ }),
1514
+ (0, import_elements.FieldElement)({
1515
+ name: "NumberOfPresets",
1516
+ id: 1,
1517
+ type: "uint8",
1518
+ conformance: "M",
1519
+ default: 0,
1520
+ details: "This field shall specify a limit for the number of presets for this PresetScenarioEnum.",
1521
+ xref: { document: "cluster", section: "4.3.8.29.2" }
1522
+ }),
1523
+ (0, import_elements.FieldElement)({
1524
+ name: "PresetTypeFeatures",
1525
+ id: 2,
1526
+ type: "PresetTypeFeaturesBitmap",
1527
+ conformance: "M",
1528
+ default: 0,
1529
+ details: "This field shall specify a bitmap of features for this PresetTypeStruct.",
1530
+ xref: { document: "cluster", section: "4.3.8.29.3" }
1531
+ })
1532
+ ),
1140
1533
  (0, import_elements.DatatypeElement)(
1141
1534
  {
1142
1535
  name: "WeeklyScheduleTransitionStruct",
1143
1536
  type: "struct",
1144
1537
  details: "This represents a single transition in a Thermostat schedule",
1145
- xref: { document: "cluster", section: "4.3.8.24" }
1538
+ xref: { document: "cluster", section: "4.3.8.30" }
1146
1539
  },
1147
1540
  (0, import_elements.FieldElement)({
1148
1541
  name: "TransitionTime",
@@ -1151,7 +1544,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1151
1544
  conformance: "M",
1152
1545
  constraint: "max 1439",
1153
1546
  details: "This field shall represent the start time of the schedule transition during the associated day. The time will be represented by a 16 bits unsigned integer to designate the minutes since midnight. For example, 6am will be represented by 360 minutes since midnight and 11:30pm will be represented by 1410 minutes since midnight.",
1154
- xref: { document: "cluster", section: "4.3.8.24.1" }
1547
+ xref: { document: "cluster", section: "4.3.8.30.1" }
1155
1548
  }),
1156
1549
  (0, import_elements.FieldElement)({
1157
1550
  name: "HeatSetpoint",
@@ -1160,7 +1553,7 @@ const Thermostat = (0, import_elements.ClusterElement)(
1160
1553
  conformance: "M",
1161
1554
  quality: "X",
1162
1555
  details: "This field shall represent the heat setpoint to be applied at this associated transition start time.",
1163
- xref: { document: "cluster", section: "4.3.8.24.2" }
1556
+ xref: { document: "cluster", section: "4.3.8.30.2" }
1164
1557
  }),
1165
1558
  (0, import_elements.FieldElement)({
1166
1559
  name: "CoolSetpoint",
@@ -1169,10 +1562,166 @@ const Thermostat = (0, import_elements.ClusterElement)(
1169
1562
  conformance: "M",
1170
1563
  quality: "X",
1171
1564
  details: "This field shall represent the cool setpoint to be applied at this associated transition start time.",
1172
- xref: { document: "cluster", section: "4.3.8.24.3" }
1565
+ xref: { document: "cluster", section: "4.3.8.30.3" }
1566
+ })
1567
+ ),
1568
+ (0, import_elements.DatatypeElement)(
1569
+ { name: "ScheduleStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.31" } },
1570
+ (0, import_elements.FieldElement)({
1571
+ name: "ScheduleHandle",
1572
+ id: 0,
1573
+ type: "octstr",
1574
+ conformance: "M",
1575
+ constraint: "max 16",
1576
+ quality: "X",
1577
+ details: "This field shall indicate a device generated identifier for this schedule. It shall be unique on the device, and shall NOT be reused after the associated schedule has been deleted.\nThis field shall only be null when the encompassing ScheduleStruct is appended to the Schedules attribute for the purpose of creating a new Schedule. Refer to Schedules for the creation of Schedule handles.",
1578
+ xref: { document: "cluster", section: "4.3.8.31.1" }
1579
+ }),
1580
+ (0, import_elements.FieldElement)({
1581
+ name: "SystemMode",
1582
+ id: 1,
1583
+ type: "SystemModeEnum",
1584
+ conformance: "M",
1585
+ constraint: "desc",
1586
+ details: "This field shall specify the default thermostat system mode for transitions in this schedule. The only valid values for this field shall be Auto, Heat, and Cool.",
1587
+ xref: { document: "cluster", section: "4.3.8.31.2" }
1588
+ }),
1589
+ (0, import_elements.FieldElement)({
1590
+ name: "Name",
1591
+ id: 2,
1592
+ type: "string",
1593
+ conformance: "O",
1594
+ constraint: "max 64",
1595
+ details: "This field shall specify a name for the ScheduleStruct.",
1596
+ xref: { document: "cluster", section: "4.3.8.31.3" }
1597
+ }),
1598
+ (0, import_elements.FieldElement)({
1599
+ name: "PresetHandle",
1600
+ id: 3,
1601
+ type: "octstr",
1602
+ conformance: "O",
1603
+ constraint: "max 16",
1604
+ details: "This field shall indicate the default PresetHandle value for transitions in this schedule.",
1605
+ xref: { document: "cluster", section: "4.3.8.31.4" }
1606
+ }),
1607
+ (0, import_elements.FieldElement)(
1608
+ {
1609
+ name: "Transitions",
1610
+ id: 4,
1611
+ type: "list",
1612
+ conformance: "M",
1613
+ constraint: "1 to numberOfScheduleTransitions",
1614
+ default: [],
1615
+ details: "This field shall specify a list of transitions for the schedule.\nThis field shall NOT contain more than one ScheduleStruct with the same TransitionTime field and overlapping DayOfWeek fields; i.e. there shall be no duplicate transitions.\nIf the NumberOfScheduleTransitionsPerDay attribute is not null, then for each bit in ScheduleDayOfWeekBitmap, the number of transitions with that bit set in DayOfWeek shall NOT be greater than the value of the NumberOfScheduleTransitionsPerDay attribute.\nFor the purposes of determining which ScheduleStruct in this list is currently active, the current time shall be the number of minutes past midnight in the display value of the current time, not the actual number of minutes that have elapsed since midnight. On days which transition into or out of daylight saving time, certain values may repeat or not occur during the transition period.\nA ScheduleTransitionStruct in this list shall be active if the current day of the week matches its DayOfWeek field and the current time is greater than or equal to the TransitionTime, but less than the TransitionTime on any other ScheduleTransitionStruct in the Transitions field whose DayOfWeek field also matches the current day of the week.\nIf the current time is less than every ScheduleTransitionStruct whose DayOfWeek field also matches the current day of the week, the server shall attempt the same process to identify the active ScheduleTransitionStruct for the day preceding the previously attempted day of the week, repeating until an active ScheduleTransitionStruct is found or the attempted day is the current day of the week again. If no active ScheduleTransitionStruct is found, then the active ScheduleTransitionStruct shall be the ScheduleTransitionStruct with the largest TransitionTime field from the set of ScheduleTransitionStructs whose DayOfWeek field matches the current day of the week.",
1616
+ xref: { document: "cluster", section: "4.3.8.31.5" }
1617
+ },
1618
+ (0, import_elements.FieldElement)({ name: "entry", type: "ScheduleTransitionStruct" })
1619
+ ),
1620
+ (0, import_elements.FieldElement)({
1621
+ name: "BuiltIn",
1622
+ id: 5,
1623
+ type: "bool",
1624
+ conformance: "M",
1625
+ default: false,
1626
+ quality: "X",
1627
+ details: 'This field shall indicate whether the schedule is marked as "built-in", meaning that it can be modified, but it cannot be deleted.',
1628
+ xref: { document: "cluster", section: "4.3.8.31.6" }
1173
1629
  })
1174
1630
  ),
1175
- (0, import_elements.DatatypeElement)({ name: "OccupancyBitmap", type: "OccupancySensing.OccupancyBitmap" })
1631
+ (0, import_elements.DatatypeElement)(
1632
+ {
1633
+ name: "ScheduleTransitionStruct",
1634
+ type: "struct",
1635
+ details: "This struct provides a time of day and a set of days of the week for a state transition within a schedule. The thermostat shall use the following order of precedence for determining a new setpoint at the time of transition:\n 1. If the PresetHandle field is provided, then the setpoint for the PresetStruct in the Presets attribute with that identifier shall be used\n 2. If either the HeatingSetpoint or CoolingSetpoint is provided, then it shall be used\n a. If the SystemMode field is provided, the HeatingSetpoint and CoolingSetpoint fields shall be interpreted using the SystemMode field\n b. If the SystemMode field is not provided, the HeatingSetpoint and CoolingSetpoint fields shall be interpreted using the SystemMode field on the parent ScheduleStruct\n 3. If neither the PresetHandle field or any Setpoint field is provided, then the PresetHandle field on the parent ScheduleStruct shall be used to determine the active PresetStruct\n 4. If the PresetHandle is not indicated and no setpoint is provided for the current SystemMode, the server shall use a default value for the current SystemMode.\nIf the setpoint was derived from a preset, then the ActivePresetHandle shall be set to the PresetHandle of that preset.\nIf a CoolingSetpoint was used to determine the cooling setpoint:\n \u2022 If the server supports the OCC feature, and the Occupied bit is not set on the Occupancy attribute, then the UnoccupiedCoolingSetpoint attribute shall be set to the CoolingSetpoint\n \u2022 Otherwise, the OccupiedCoolingSetpoint attribute shall be set to the CoolingSetpoint If a HeatingSetpoint was used to determine the heating setpoint:\n \u2022 If the server supports the OCC feature, and the Occupied bit is not set on the Occupancy attribute, then the UnoccupiedHeatingSetpoint attribute shall be set to the HeatingSetpoint\n \u2022 Otherwise, the OccupiedHeatingSetpoint attribute shall be set to the HeatingSetpoint The ScheduleTransitionStruct shall be invalid if all the following are true:\n \u2022 The HeatingSetpoint field is not provided\n \u2022 The PresetHandle field is not provided\n \u2022 The PresetHandle field on the encompassing ScheduleStruct is not provided\n \u2022 The SystemMode field is provided and has the value Heat or Auto, or the SystemMode field on the parent ScheduleStruct has the value Heat or Auto\nThe ScheduleTransitionStruct shall be invalid if all the following are true:\n \u2022 The CoolingSetpoint field is not provided\n \u2022 The PresetHandle field is not provided\n \u2022 The PresetHandle field on the encompassing ScheduleStruct is not provided\n \u2022 The SystemMode field is provided and has the value Cool or Auto, or the SystemMode field on the parent ScheduleStruct has the value Cool or Auto",
1636
+ xref: { document: "cluster", section: "4.3.8.32" }
1637
+ },
1638
+ (0, import_elements.FieldElement)({
1639
+ name: "DayOfWeek",
1640
+ id: 0,
1641
+ type: "ScheduleDayOfWeekBitmap",
1642
+ conformance: "M",
1643
+ constraint: "desc",
1644
+ details: "This field shall specify a bitmask of days of the week that the transition applies to. The Vacation bit shall NOT be set; vacation schedules shall be set via the vacation preset.",
1645
+ xref: { document: "cluster", section: "4.3.8.32.1" }
1646
+ }),
1647
+ (0, import_elements.FieldElement)({
1648
+ name: "TransitionTime",
1649
+ id: 1,
1650
+ type: "uint16",
1651
+ conformance: "M",
1652
+ constraint: "max 1439",
1653
+ details: "This shall specify the time of day at which the transition becomes active, in terms of minutes within the day representing the wall clock, where 0 is 00:00:00, 1 is 00:01:00 and 1439 is 23:59:00.\nHandling of transitions during the changeover of Daylight Saving Time is implementation-dependent.",
1654
+ xref: { document: "cluster", section: "4.3.8.32.2" }
1655
+ }),
1656
+ (0, import_elements.FieldElement)({
1657
+ name: "PresetHandle",
1658
+ id: 2,
1659
+ type: "octstr",
1660
+ conformance: "[PRES]",
1661
+ constraint: "max 16",
1662
+ details: "This field shall specify the preset used at the TransitionTime. If this field is provided, then the SystemMode, CoolingSetpoint and HeatingSetpoint fields shall NOT be provided.",
1663
+ xref: { document: "cluster", section: "4.3.8.32.3" }
1664
+ }),
1665
+ (0, import_elements.FieldElement)({
1666
+ name: "SystemMode",
1667
+ id: 3,
1668
+ type: "SystemModeEnum",
1669
+ conformance: "O",
1670
+ constraint: "desc",
1671
+ details: "This shall specify the default mode to which the thermostat will switch for this transition, overriding the default for the schedule. The only valid values for this field shall be Auto, Heat, Cool and Off. This field shall only be included when the required system mode differs from the schedule\u2019s default SystemMode.",
1672
+ xref: { document: "cluster", section: "4.3.8.32.4" }
1673
+ }),
1674
+ (0, import_elements.FieldElement)({
1675
+ name: "CoolingSetpoint",
1676
+ id: 4,
1677
+ type: "temperature",
1678
+ conformance: "[COOL]",
1679
+ constraint: "desc",
1680
+ details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this field shall NOT be included. Refer to Setpoint Limits for value constraints.",
1681
+ xref: { document: "cluster", section: "4.3.8.32.5" }
1682
+ }),
1683
+ (0, import_elements.FieldElement)({
1684
+ name: "HeatingSetpoint",
1685
+ id: 5,
1686
+ type: "temperature",
1687
+ conformance: "[HEAT]",
1688
+ constraint: "desc",
1689
+ details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this field shall NOT be included. Refer to Setpoint Limits for value constraints.",
1690
+ xref: { document: "cluster", section: "4.3.8.32.6" }
1691
+ })
1692
+ ),
1693
+ (0, import_elements.DatatypeElement)(
1694
+ { name: "ScheduleTypeStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.33" } },
1695
+ (0, import_elements.FieldElement)({
1696
+ name: "SystemMode",
1697
+ id: 0,
1698
+ type: "SystemModeEnum",
1699
+ conformance: "M",
1700
+ constraint: "desc",
1701
+ details: "This field shall specify a SystemModeEnum supported by this thermostat for Schedules. The only valid values for this field shall be Auto, Heat, and Cool.",
1702
+ xref: { document: "cluster", section: "4.3.8.33.1" }
1703
+ }),
1704
+ (0, import_elements.FieldElement)({
1705
+ name: "NumberOfSchedules",
1706
+ id: 1,
1707
+ type: "uint8",
1708
+ conformance: "M",
1709
+ constraint: "max numberOfSchedules",
1710
+ default: 0,
1711
+ details: "This field shall specify a limit for the number of Schedules for this SystemMode.",
1712
+ xref: { document: "cluster", section: "4.3.8.33.2" }
1713
+ }),
1714
+ (0, import_elements.FieldElement)({
1715
+ name: "ScheduleTypeFeatures",
1716
+ id: 2,
1717
+ type: "ScheduleTypeFeaturesBitmap",
1718
+ conformance: "M",
1719
+ constraint: "desc",
1720
+ default: 0,
1721
+ details: "This field shall specify a bitmap of features for this schedule entry. At least one of SupportsPresets and SupportsSetpoints shall be set.",
1722
+ xref: { document: "cluster", section: "4.3.8.33.3" }
1723
+ })
1724
+ )
1176
1725
  );
1177
1726
  import_MatterDefinition.MatterDefinition.children.push(Thermostat);
1178
1727
  //# sourceMappingURL=Thermostat.js.map