@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
@@ -18,10 +18,51 @@ import {
18
18
  export const Thermostat = Cluster(
19
19
  {
20
20
  name: "Thermostat", id: 0x201, asOf: "1.3", classification: "application", pics: "TSTAT",
21
- details: "This cluster provides an interface to the functionality of a thermostat.",
21
+
22
+ details: "This cluster provides an interface to the functionality of a thermostat." +
23
+ "\n" +
24
+ "Optional temperature, humidity and occupancy sensors" +
25
+ "\n" +
26
+ "Thermostat" +
27
+ "\n" +
28
+ "Heating / cooling control panel" +
29
+ "\n" +
30
+ "C" +
31
+ "\n" +
32
+ "Dehumidification configuration" +
33
+ "\n" +
34
+ "Dehumidification notification" +
35
+ "\n" +
36
+ "ThermostatS" +
37
+ "\n" +
38
+ "Heating / cooling device (e.g. indoor air handler)" +
39
+ "\n" +
40
+ "S" +
41
+ "\n" +
42
+ "user interface S" +
43
+ "\n" +
44
+ "configuration" +
45
+ "\n" +
46
+ "C" +
47
+ "\n" +
48
+ "Configuration tool" +
49
+ "\n" +
50
+ "Thermostat configuration" +
51
+ "\n" +
52
+ "C C Fan control S" +
53
+ "\n" +
54
+ "ThermostatS notification C" +
55
+ "\n" +
56
+ "C = Client S = Server" +
57
+ "\n" +
58
+ "Note: Device names are examples for illustration purposes only" +
59
+ "\n" +
60
+ "Figure 15. Example Usage of the Thermostat and Related Clusters\"",
61
+
22
62
  xref: { document: "cluster", section: "4.3" }
23
63
  },
24
- Attribute({ name: "ClusterRevision", id: 0xfffd, type: "ClusterRevision", default: 6 }),
64
+
65
+ Attribute({ name: "ClusterRevision", id: 0xfffd, type: "ClusterRevision", default: 8 }),
25
66
 
26
67
  Attribute(
27
68
  { name: "FeatureMap", id: 0xfffc, type: "FeatureMap", xref: { document: "cluster", section: "4.3.4" } },
@@ -57,6 +98,15 @@ export const Thermostat = Cluster(
57
98
  "which does not offer a view into the currently measured temperature, but allows setpoints to be " +
58
99
  "provided.",
59
100
  xref: { document: "cluster", section: "4.3.4.1" }
101
+ }),
102
+
103
+ Field({
104
+ name: "MSCH", conformance: "O", constraint: "7", description: "MatterScheduleConfiguration",
105
+ details: "Supports enhanced schedules"
106
+ }),
107
+ Field({
108
+ name: "PRES", conformance: "O", constraint: "8", description: "Presets",
109
+ details: "Thermostat supports setpoint presets"
60
110
  })
61
111
  ),
62
112
 
@@ -77,43 +127,42 @@ export const Thermostat = Cluster(
77
127
  " LocalTemperatureCalibration. In that case, the LocalTemperature attribute shall always report " +
78
128
  " null.",
79
129
 
80
- xref: { document: "cluster", section: "4.3.9.3" }
130
+ xref: { document: "cluster", section: "4.3.9.2" }
81
131
  }),
82
132
 
83
133
  Attribute({
84
134
  name: "OutdoorTemperature", id: 0x1, type: "temperature", access: "R V", conformance: "O",
85
135
  default: null, quality: "X",
86
136
  details: "Indicates the outdoor temperature, as measured locally or remotely (over the network).",
87
- xref: { document: "cluster", section: "4.3.9.4" }
137
+ xref: { document: "cluster", section: "4.3.9.3" }
88
138
  }),
89
139
 
90
140
  Attribute({
91
- name: "Occupancy", id: 0x2, type: "OccupancyBitmap", access: "R V", conformance: "OCC",
92
- constraint: "desc", default: 1,
141
+ name: "Occupancy", id: 0x2, type: "OccupancyBitmap", access: "R V", conformance: "OCC", default: 1,
93
142
  details: "Indicates whether the heated/cooled space is occupied or not, as measured locally or remotely (over " +
94
143
  "the network).",
95
- xref: { document: "cluster", section: "4.3.9.5" }
144
+ xref: { document: "cluster", section: "4.3.9.4" }
96
145
  }),
97
146
 
98
147
  Attribute({
99
148
  name: "AbsMinHeatSetpointLimit", id: 0x3, type: "temperature", access: "R V", conformance: "[HEAT]",
100
149
  constraint: "desc", default: { type: "celsius", value: 7 }, quality: "F",
101
- 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 " +
151
+ "imposed by the manufacturer." +
152
+ "\n" +
153
+ "Refer to Setpoint Limits for constraints",
154
+ xref: { document: "cluster", section: "4.3.9.5" }
102
155
  }),
156
+
103
157
  Attribute({
104
158
  name: "AbsMaxHeatSetpointLimit", id: 0x4, type: "temperature", access: "R V", conformance: "[HEAT]",
105
159
  constraint: "desc", default: { type: "celsius", value: 30 }, quality: "F",
106
160
  xref: { document: "cluster", section: "4.3.9" }
107
161
  }),
108
-
109
162
  Attribute({
110
163
  name: "AbsMinCoolSetpointLimit", id: 0x5, type: "temperature", access: "R V", conformance: "[COOL]",
111
164
  constraint: "desc", default: { type: "celsius", value: 16 }, quality: "F",
112
- details: "Indicates the absolute minimum level that the cooling setpoint may be set to. This is a limitation " +
113
- "imposed by the manufacturer." +
114
- "\n" +
115
- "Refer to Setpoint Limits for constraints",
116
- xref: { document: "cluster", section: "4.3.9.8" }
165
+ xref: { document: "cluster", section: "4.3.9" }
117
166
  }),
118
167
 
119
168
  Attribute({
@@ -123,44 +172,44 @@ export const Thermostat = Cluster(
123
172
  "imposed by the manufacturer." +
124
173
  "\n" +
125
174
  "Refer to Setpoint Limits for constraints",
126
- xref: { document: "cluster", section: "4.3.9.9" }
175
+ xref: { document: "cluster", section: "4.3.9.8" }
127
176
  }),
128
177
 
129
178
  Attribute({
130
179
  name: "PiCoolingDemand", id: 0x7, type: "uint8", access: "R V", conformance: "[COOL]",
131
- constraint: "0 to 100", quality: "P",
180
+ constraint: "0% to 100%", quality: "P",
132
181
  details: "Indicates the level of cooling demanded by the PI (proportional integral) control loop in use by " +
133
182
  "the thermostat (if any), in percent. This value is 0 when the thermostat is in “off” or “heating” " +
134
183
  "mode." +
135
184
  "\n" +
136
185
  "This attribute is reported regularly and may be used to control a cooling device.",
137
- xref: { document: "cluster", section: "4.3.9.10" }
186
+ xref: { document: "cluster", section: "4.3.9.9" }
138
187
  }),
139
188
 
140
189
  Attribute({
141
190
  name: "PiHeatingDemand", id: 0x8, type: "uint8", access: "R V", conformance: "[HEAT]",
142
- constraint: "0 to 100", quality: "P",
191
+ constraint: "0% to 100%", quality: "P",
143
192
  details: "Indicates the level of heating demanded by the PI loop in percent. This value is 0 when the " +
144
193
  "thermostat is in “off” or “cooling” mode." +
145
194
  "\n" +
146
195
  "This attribute is reported regularly and may be used to control a heating device.",
147
- xref: { document: "cluster", section: "4.3.9.11" }
196
+ xref: { document: "cluster", section: "4.3.9.10" }
148
197
  }),
149
198
 
150
199
  Attribute({
151
200
  name: "HvacSystemTypeConfiguration", id: 0x9, type: "HVACSystemTypeBitmap", access: "R[W] VM",
152
201
  conformance: "D", constraint: "desc", default: 0, quality: "N",
153
202
  details: "Indicates the HVAC system type controlled by the thermostat. If the thermostat uses physical DIP " +
154
- "switches to set these parameters, this information shall be available read-only from the DIP " +
155
- "switches. If these parameters are set via software, there shall be read/write access in order to " +
156
- "provide remote programming capability.",
157
- xref: { document: "cluster", section: "4.3.9.12" }
203
+ "switches to set these parameters, this information shall be available read-only" +
204
+ "\n" +
205
+ "from the DIP switches. If these parameters are set via software, there shall be read/write access " +
206
+ "in order to provide remote programming capability.",
207
+ xref: { document: "cluster", section: "4.3.9.11" }
158
208
  }),
159
209
 
160
210
  Attribute({
161
211
  name: "LocalTemperatureCalibration", id: 0x10, type: "SignedTemperature", access: "RW VM",
162
- conformance: "[!LTNE]", constraint: "-2.5°C to 2.5°C", default: { type: "celsius", value: 0 },
163
- quality: "N",
212
+ conformance: "[!LTNE]", default: { type: "celsius", value: 0 }, quality: "N",
164
213
 
165
214
  details: "Indicates the offset the Thermostat server shall make to the measured temperature (locally or " +
166
215
  "remotely) to adjust the Calculated Local Temperature prior to using, displaying or reporting it." +
@@ -172,39 +221,63 @@ export const Thermostat = Cluster(
172
221
  "If a Thermostat client attempts to write LocalTemperatureCalibration attribute to an unsupported " +
173
222
  "value (e.g., out of the range supported by the Thermostat server), the Thermostat server shall " +
174
223
  "respond with a status of SUCCESS and set the value of LocalTemperatureCalibration to the upper or " +
175
- "lower limit reached.",
224
+ "lower limit reached." +
225
+ "\n" +
226
+ "NOTE" +
227
+ "\n" +
228
+ "Prior to revision 8 of this cluster specification the value of this attribute was constrained to a " +
229
+ "range of -2.5°C to 2.5°C.",
176
230
 
177
- xref: { document: "cluster", section: "4.3.9.13" }
231
+ xref: { document: "cluster", section: "4.3.9.12" }
178
232
  }),
179
233
 
180
234
  Attribute({
181
235
  name: "OccupiedCoolingSetpoint", id: 0x11, type: "temperature", access: "RW VO",
182
- conformance: "COOL", constraint: "desc", default: { type: "celsius", value: 26 }, quality: "N S",
236
+ conformance: "COOL", constraint: "desc", default: { type: "celsius", value: 26 }, quality: "N",
183
237
 
184
- details: "Indicates the cooling mode setpoint when the room is occupied." +
238
+ details: "Indicates the cooling mode setpoint when the room is occupied. Refer to Setpoint Limits for " +
239
+ "constraints." +
185
240
  "\n" +
186
- "Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that " +
187
- "these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned." +
241
+ "If an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less " +
242
+ "than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned." +
243
+ "\n" +
244
+ "If this attribute is set to a value that is less than (OccupiedHeatingSetpoint + " +
245
+ "MinSetpointDeadBand), the value of OccupiedHeatingSetpoint shall be adjusted to " +
246
+ "(OccupiedCoolingSetpoint - MinSetpointDeadBand)." +
188
247
  "\n" +
189
248
  "If the occupancy status of the room is unknown, this attribute shall be used as the cooling mode " +
190
- "setpoint.",
249
+ "setpoint." +
250
+ "\n" +
251
+ "If a client changes the value of this attribute, the server supports the PRES feature, and the " +
252
+ "server either does not support the OCC feature or the Occupied bit is set on the Occupancy " +
253
+ "attribute, the value of the ActivePresetHandle attribute shall be set to null.",
191
254
 
192
- xref: { document: "cluster", section: "4.3.9.14" }
255
+ xref: { document: "cluster", section: "4.3.9.13" }
193
256
  }),
194
257
 
195
258
  Attribute({
196
259
  name: "OccupiedHeatingSetpoint", id: 0x12, type: "temperature", access: "RW VO",
197
- conformance: "HEAT", constraint: "desc", default: { type: "celsius", value: 20 }, quality: "N S",
260
+ conformance: "HEAT", constraint: "desc", default: { type: "celsius", value: 20 }, quality: "N",
198
261
 
199
- details: "Indicates the heating mode setpoint when the room is occupied." +
262
+ details: "Indicates the heating mode setpoint when the room is occupied. Refer to Setpoint Limits for " +
263
+ "constraints." +
200
264
  "\n" +
201
- "Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that " +
202
- "these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned." +
265
+ "If an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less " +
266
+ "than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned." +
267
+ "\n" +
268
+ "If this attribute is set to a value that is greater than" +
269
+ "\n" +
270
+ "Band), the value of OccupiedCoolingSetpoint shall be adjusted to (OccupiedHeatingSetpoint + " +
271
+ "MinSetpointDeadBand)." +
203
272
  "\n" +
204
273
  "If the occupancy status of the room is unknown, this attribute shall be used as the heating mode " +
205
- "setpoint.",
274
+ "setpoint." +
275
+ "\n" +
276
+ "If a client changes the value of this attribute, the server supports the PRES feature, and the " +
277
+ "server either does not support the OCC feature or the Occupied bit is set on the Occupancy " +
278
+ "attribute, the value of the ActivePresetHandle attribute shall be set to null.",
206
279
 
207
- xref: { document: "cluster", section: "4.3.9.15" }
280
+ xref: { document: "cluster", section: "4.3.9.14" }
208
281
  }),
209
282
 
210
283
  Attribute({
@@ -212,14 +285,23 @@ export const Thermostat = Cluster(
212
285
  conformance: "COOL & OCC", constraint: "desc", default: { type: "celsius", value: 26 },
213
286
  quality: "N",
214
287
 
215
- details: "Indicates the cooling mode setpoint when the room is unoccupied." +
288
+ details: "Indicates the cooling mode setpoint when the room is unoccupied. Refer to Setpoint Limits for " +
289
+ "constraints." +
290
+ "\n" +
291
+ "If an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less " +
292
+ "than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned." +
216
293
  "\n" +
217
- "Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that " +
218
- "these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned." +
294
+ "If this attribute is set to a value that is less than (UnoccupiedHeatingSetpoint + " +
295
+ "MinSetpointDeadBand), the value of UnoccupiedHeatingSetpoint shall be adjusted to " +
296
+ "(UnoccupiedCoolingSetpoint - MinSetpointDeadBand)." +
219
297
  "\n" +
220
- "If the occupancy status of the room is unknown, this attribute shall NOT be used.",
298
+ "If the occupancy status of the room is unknown, this attribute shall NOT be used." +
299
+ "\n" +
300
+ "If a client changes the value of this attribute, the server supports the PRES and OCC features, and " +
301
+ "the Occupied bit is not set on the Occupancy attribute, the value of the ActivePresetHandle " +
302
+ "attribute shall be set to null.",
221
303
 
222
- xref: { document: "cluster", section: "4.3.9.16" }
304
+ xref: { document: "cluster", section: "4.3.9.15" }
223
305
  }),
224
306
 
225
307
  Attribute({
@@ -227,14 +309,24 @@ export const Thermostat = Cluster(
227
309
  conformance: "HEAT & OCC", constraint: "desc", default: { type: "celsius", value: 20 },
228
310
  quality: "N",
229
311
 
230
- details: "Indicates the heating mode setpoint when the room is unoccupied." +
312
+ details: "Indicates the heating mode setpoint when the room is unoccupied. Refer to Setpoint Limits for " +
313
+ "constraints." +
314
+ "\n" +
315
+ "If an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less " +
316
+ "than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned." +
317
+ "\n" +
318
+ "If this attribute is set to a value that is greater than (UnoccupiedCoolingSetpoint - " +
319
+ "MinSetpointDeadBand), the value of UnoccupiedCoolingSetpoint shall be adjusted to" +
231
320
  "\n" +
232
- "Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute such that " +
233
- "these constraints are violated, a response with the status code CONSTRAINT_ERROR shall be returned." +
321
+ "+ MinSetpointDeadBand)." +
234
322
  "\n" +
235
- "If the occupancy status of the room is unknown, this attribute shall NOT be used.",
323
+ "If the occupancy status of the room is unknown, this attribute shall NOT be used." +
324
+ "\n" +
325
+ "If a client changes the value of this attribute, the server supports the PRES and OCC features, and " +
326
+ "the Occupied bit is not set on the Occupancy attribute, the value of the ActivePresetHandle " +
327
+ "attribute shall be set to null.",
236
328
 
237
- xref: { document: "cluster", section: "4.3.9.17" }
329
+ xref: { document: "cluster", section: "4.3.9.16" }
238
330
  }),
239
331
 
240
332
  Attribute({
@@ -253,7 +345,7 @@ export const Thermostat = Cluster(
253
345
  "attribute to a value which is not consistent with the constraints and cannot be resolved by " +
254
346
  "modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
255
347
 
256
- xref: { document: "cluster", section: "4.3.9.18" }
348
+ xref: { document: "cluster", section: "4.3.9.17" }
257
349
  }),
258
350
 
259
351
  Attribute({
@@ -268,7 +360,7 @@ export const Thermostat = Cluster(
268
360
  "attribute to a value which is not consistent with the constraints and cannot be resolved by " +
269
361
  "modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
270
362
 
271
- xref: { document: "cluster", section: "4.3.9.19" }
363
+ xref: { document: "cluster", section: "4.3.9.18" }
272
364
  }),
273
365
 
274
366
  Attribute({
@@ -283,7 +375,7 @@ export const Thermostat = Cluster(
283
375
  "attribute to a value which is not consistent with the constraints and cannot be resolved by " +
284
376
  "modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
285
377
 
286
- xref: { document: "cluster", section: "4.3.9.20" }
378
+ xref: { document: "cluster", section: "4.3.9.19" }
287
379
  }),
288
380
 
289
381
  Attribute({
@@ -298,24 +390,30 @@ export const Thermostat = Cluster(
298
390
  "attribute to a value which is not consistent with the constraints and cannot be resolved by " +
299
391
  "modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
300
392
 
301
- xref: { document: "cluster", section: "4.3.9.21" }
393
+ xref: { document: "cluster", section: "4.3.9.20" }
302
394
  }),
303
395
 
304
396
  Attribute({
305
397
  name: "MinSetpointDeadBand", id: 0x19, type: "SignedTemperature", access: "R[W] VM",
306
- conformance: "AUTO", constraint: "0°C to 2.5°C", default: { type: "celsius", value: 2 },
398
+ conformance: "AUTO", constraint: "0 to 12.7°C", default: { type: "celsius", value: 2 },
307
399
  quality: "N",
308
400
 
309
401
  details: "On devices which support the AUTO feature, this attribute shall indicate the minimum difference " +
310
402
  "between the Heat Setpoint and the Cool Setpoint." +
311
403
  "\n" +
312
- "Refer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value " +
313
- "which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount " +
314
- "to permit this attribute to be set to the desired value. If an attempt is made to set this " +
315
- "attribute to a value which is not consistent with the constraints and cannot be resolved by " +
316
- "modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned.",
404
+ "Refer to Setpoint Limits for constraints." +
405
+ "\n" +
406
+ "NOTE" +
407
+ "\n" +
408
+ "Prior to revision 8 of this cluster specification the value of this attribute was constrained to a " +
409
+ "range of 0°C to 2.5°C." +
410
+ "\n" +
411
+ "NOTE" +
412
+ "\n" +
413
+ "For backwards compatibility, this attribute is optionally writeable. However any writes to this " +
414
+ "attribute shall be silently ignored.",
317
415
 
318
- xref: { document: "cluster", section: "4.3.9.22" }
416
+ xref: { document: "cluster", section: "4.3.9.21" }
319
417
  }),
320
418
 
321
419
  Attribute({
@@ -331,23 +429,29 @@ export const Thermostat = Cluster(
331
429
  "If the LocalTemperature RemoteSensing bit is written with a value of 1 when the LTNE feature is " +
332
430
  "present, the write shall fail and the server shall report a CONSTRAINT_ERROR.",
333
431
 
334
- xref: { document: "cluster", section: "4.3.9.23" }
432
+ xref: { document: "cluster", section: "4.3.9.22" }
335
433
  }),
336
434
 
337
435
  Attribute({
338
436
  name: "ControlSequenceOfOperation", id: 0x1b, type: "ControlSequenceOfOperationEnum",
339
437
  access: "RW VM", conformance: "M", constraint: "desc", quality: "N",
438
+
340
439
  details: "Indicates the overall operating environment of the thermostat, and thus the possible system modes " +
341
- "that the thermostat can operate in.",
342
- xref: { document: "cluster", section: "4.3.9.24" }
440
+ "that the thermostat can operate in." +
441
+ "\n" +
442
+ "If an attempt is made to write to this attribute, the server shall silently ignore the write and " +
443
+ "the value of this attribute shall remain unchanged. This behavior is in place for backwards " +
444
+ "compatibility with existing thermostats.",
445
+
446
+ xref: { document: "cluster", section: "4.3.9.23" }
343
447
  }),
344
448
 
345
449
  Attribute({
346
450
  name: "SystemMode", id: 0x1c, type: "SystemModeEnum", access: "RW VM", conformance: "M",
347
- constraint: "desc", default: 1, quality: "N S",
451
+ constraint: "desc", default: 1, quality: "N",
348
452
  details: "Indicates the current operating mode of the thermostat. Its value shall be limited by the " +
349
453
  "ControlSequenceOfOperation attribute.",
350
- xref: { document: "cluster", section: "4.3.9.25" }
454
+ xref: { document: "cluster", section: "4.3.9.24" }
351
455
  }),
352
456
 
353
457
  Attribute({
@@ -356,7 +460,7 @@ export const Thermostat = Cluster(
356
460
  details: "Indicates the running mode of the thermostat. This attribute uses the same values as SystemModeEnum " +
357
461
  "but can only be Off, Cool or Heat. This attribute is intended to provide additional information " +
358
462
  "when the thermostat’s system mode is in auto mode.",
359
- xref: { document: "cluster", section: "4.3.9.27" }
463
+ xref: { document: "cluster", section: "4.3.9.26" }
360
464
  }),
361
465
 
362
466
  Attribute({
@@ -370,41 +474,64 @@ export const Thermostat = Cluster(
370
474
  "scheduling by reading the attribute. Successful response means that the weekly scheduling is " +
371
475
  "supported.",
372
476
 
373
- xref: { document: "cluster", section: "4.3.9.28" }
477
+ xref: { document: "cluster", section: "4.3.9.27" }
374
478
  }),
375
479
 
376
480
  Attribute({
377
481
  name: "NumberOfWeeklyTransitions", id: 0x21, type: "uint8", access: "R V", conformance: "SCH",
378
482
  default: 0, quality: "F",
379
483
  details: "Indicates how many weekly schedule transitions the thermostat is capable of handling.",
380
- xref: { document: "cluster", section: "4.3.9.29" }
484
+ xref: { document: "cluster", section: "4.3.9.28" }
381
485
  }),
382
486
 
383
487
  Attribute({
384
488
  name: "NumberOfDailyTransitions", id: 0x22, type: "uint8", access: "R V", conformance: "SCH",
385
489
  default: 0, quality: "F",
386
490
  details: "Indicates how many daily schedule transitions the thermostat is capable of handling.",
387
- xref: { document: "cluster", section: "4.3.9.30" }
491
+ xref: { document: "cluster", section: "4.3.9.29" }
388
492
  }),
389
493
 
390
494
  Attribute({
391
495
  name: "TemperatureSetpointHold", id: 0x23, type: "TemperatureSetpointHoldEnum", access: "RW VM",
392
496
  conformance: "O", constraint: "desc", default: 0, quality: "N",
497
+
393
498
  details: "Indicates the temperature hold status on the thermostat. If hold status is on, the thermostat " +
394
499
  "SHOULD maintain the temperature setpoint for the current mode until a system mode change. If hold " +
395
500
  "status is off, the thermostat SHOULD follow the setpoint transitions specified by its internal " +
396
501
  "scheduling program. If the thermostat supports setpoint hold for a specific duration, it SHOULD " +
397
- "also implement the TemperatureSetpointHoldDuration attribute.",
398
- xref: { document: "cluster", section: "4.3.9.31" }
502
+ "also implement the TemperatureSetpointHoldDuration attribute." +
503
+ "\n" +
504
+ "If the server supports a setpoint hold for a specific duration, it SHOULD also implement the " +
505
+ "SetpointHoldExpiryTimestamp attribute." +
506
+ "\n" +
507
+ "If this attribute is updated to SetpointHoldOn and the TemperatureSetpointHoldDuration has a non- " +
508
+ "null value and the SetpointHoldExpiryTimestamp is supported, the server shall update the " +
509
+ "SetpointHoldExpiryTimestamp with a value of current UTC timestamp, in seconds, plus the value in " +
510
+ "TemperatureSetpointHoldDuration multiplied by 60." +
511
+ "\n" +
512
+ "If this attribute is updated to SetpointHoldOff and the SetpointHoldExpiryTimestamp is supported, " +
513
+ "the server shall set the SetpointHoldExpiryTimestamp to null.",
514
+
515
+ xref: { document: "cluster", section: "4.3.9.30" }
399
516
  }),
400
517
 
401
518
  Attribute({
402
519
  name: "TemperatureSetpointHoldDuration", id: 0x24, type: "uint16", access: "RW VM",
403
520
  conformance: "O", constraint: "max 1440", default: null, quality: "X N",
521
+
404
522
  details: "Indicates the period in minutes for which a setpoint hold is active. Thermostats that support hold " +
405
523
  "for a specified duration SHOULD implement this attribute. The null value indicates the field is " +
406
- "unused. All other values are reserved.",
407
- xref: { document: "cluster", section: "4.3.9.32" }
524
+ "unused. All other values are reserved." +
525
+ "\n" +
526
+ "If this attribute is updated to a non-null value and the TemperatureSetpointHold is set to " +
527
+ "SetpointHoldOn and the SetpointHoldExpiryTimestamp is supported, the server shall update " +
528
+ "SetpointHoldExpiryTimestamp with a value of current UTC timestamp, in seconds, plus the new value " +
529
+ "of this attribute multiplied by 60." +
530
+ "\n" +
531
+ "If this attribute is set to null and the SetpointHoldExpiryTimestamp is supported, the server shall " +
532
+ "set the SetpointHoldExpiryTimestamp to null.",
533
+
534
+ xref: { document: "cluster", section: "4.3.9.31" }
408
535
  }),
409
536
 
410
537
  Attribute({
@@ -428,7 +555,7 @@ export const Thermostat = Cluster(
428
555
  "Modifying the ScheduleActive bit does not clear or delete previous weekly schedule programming " +
429
556
  "configurations.",
430
557
 
431
- xref: { document: "cluster", section: "4.3.9.33" }
558
+ xref: { document: "cluster", section: "4.3.9.32" }
432
559
  }),
433
560
 
434
561
  Attribute({
@@ -436,7 +563,7 @@ export const Thermostat = Cluster(
436
563
  constraint: "desc",
437
564
  details: "Indicates the current relay state of the heat, cool, and fan relays. Unimplemented outputs shall be " +
438
565
  "treated as if they were Off.",
439
- xref: { document: "cluster", section: "4.3.9.34" }
566
+ xref: { document: "cluster", section: "4.3.9.33" }
440
567
  }),
441
568
 
442
569
  Attribute({
@@ -451,7 +578,7 @@ export const Thermostat = Cluster(
451
578
  "other service provider). Because automation services may initiate frequent setpoint changes, this " +
452
579
  "attribute clearly differentiates the source of setpoint changes made at the thermostat.",
453
580
 
454
- xref: { document: "cluster", section: "4.3.9.35" }
581
+ xref: { document: "cluster", section: "4.3.9.34" }
455
582
  }),
456
583
 
457
584
  Attribute({
@@ -462,14 +589,14 @@ export const Thermostat = Cluster(
462
589
  "attribute; devices implementing SetpointChangeAmount SHOULD also implement SetpointChangeSource." +
463
590
  "\n" +
464
591
  "The null value indicates that the previous setpoint was unknown.",
465
- xref: { document: "cluster", section: "4.3.9.36" }
592
+ xref: { document: "cluster", section: "4.3.9.35" }
466
593
  }),
467
594
 
468
595
  Attribute({
469
596
  name: "SetpointChangeSourceTimestamp", id: 0x32, type: "epoch-s", access: "R V", conformance: "O",
470
597
  default: 0,
471
598
  details: "Indicates the time in UTC at which the SetpointChangeAmount attribute change was recorded.",
472
- xref: { document: "cluster", section: "4.3.9.37" }
599
+ xref: { document: "cluster", section: "4.3.9.36" }
473
600
  }),
474
601
 
475
602
  Attribute({
@@ -497,7 +624,7 @@ export const Thermostat = Cluster(
497
624
  "the Thermostat server shall set its OccupiedSetback value to OccupiedSetbackMin and shall send a " +
498
625
  "Write Attribute Response command with a Status Code field enumeration of SUCCESS response.",
499
626
 
500
- xref: { document: "cluster", section: "4.3.9.38" }
627
+ xref: { document: "cluster", section: "4.3.9.37" }
501
628
  }),
502
629
 
503
630
  Attribute({
@@ -507,7 +634,7 @@ export const Thermostat = Cluster(
507
634
  "be configured by a user." +
508
635
  "\n" +
509
636
  "The null value indicates the attribute is unused.",
510
- xref: { document: "cluster", section: "4.3.9.39" }
637
+ xref: { document: "cluster", section: "4.3.9.38" }
511
638
  }),
512
639
 
513
640
  Attribute({
@@ -517,7 +644,7 @@ export const Thermostat = Cluster(
517
644
  "be configured by a user." +
518
645
  "\n" +
519
646
  "The null value indicates the attribute is unused.",
520
- xref: { document: "cluster", section: "4.3.9.40" }
647
+ xref: { document: "cluster", section: "4.3.9.39" }
521
648
  }),
522
649
 
523
650
  Attribute({
@@ -547,7 +674,7 @@ export const Thermostat = Cluster(
547
674
  "UnoccupiedSetbackMin and shall send a Write Attribute Response command with a Status Code field " +
548
675
  "enumeration of SUCCESS response.",
549
676
 
550
- xref: { document: "cluster", section: "4.3.9.41" }
677
+ xref: { document: "cluster", section: "4.3.9.40" }
551
678
  }),
552
679
 
553
680
  Attribute({
@@ -557,7 +684,7 @@ export const Thermostat = Cluster(
557
684
  "to be configured by a user." +
558
685
  "\n" +
559
686
  "The null value indicates the attribute is unused.",
560
- xref: { document: "cluster", section: "4.3.9.42" }
687
+ xref: { document: "cluster", section: "4.3.9.41" }
561
688
  }),
562
689
 
563
690
  Attribute({
@@ -568,7 +695,7 @@ export const Thermostat = Cluster(
568
695
  "to be configured by a user." +
569
696
  "\n" +
570
697
  "The null value indicates the attribute is unused.",
571
- xref: { document: "cluster", section: "4.3.9.43" }
698
+ xref: { document: "cluster", section: "4.3.9.42" }
572
699
  }),
573
700
 
574
701
  Attribute(
@@ -603,7 +730,7 @@ export const Thermostat = Cluster(
603
730
  "heating when a setpoint is of a specified amount greater than the measured temperature. This allows " +
604
731
  "the heated space to be quickly heated to the desired level set by the user.",
605
732
 
606
- xref: { document: "cluster", section: "4.3.9.44" }
733
+ xref: { document: "cluster", section: "4.3.9.43" }
607
734
  }
608
735
  ),
609
736
 
@@ -612,71 +739,363 @@ export const Thermostat = Cluster(
612
739
  default: 0, quality: "N",
613
740
  details: "Indicates the type of Mini Split ACTypeEnum of Mini Split AC is defined depending on how Cooling " +
614
741
  "and Heating condition is achieved by Mini Split AC.",
615
- xref: { document: "cluster", section: "4.3.9.45" }
742
+ xref: { document: "cluster", section: "4.3.9.44" }
616
743
  }),
617
744
 
618
745
  Attribute({
619
746
  name: "AcCapacity", id: 0x41, type: "uint16", access: "RW VM", conformance: "O", default: 0,
620
747
  quality: "N",
621
748
  details: "Indicates capacity of Mini Split AC in terms of the format defined by the ACCapacityFormat attribute",
622
- xref: { document: "cluster", section: "4.3.9.46" }
749
+ xref: { document: "cluster", section: "4.3.9.45" }
623
750
  }),
624
751
 
625
752
  Attribute({
626
753
  name: "AcRefrigerantType", id: 0x42, type: "ACRefrigerantTypeEnum", access: "RW VM",
627
754
  conformance: "O", constraint: "desc", default: 0, quality: "N",
628
755
  details: "Indicates type of refrigerant used within the Mini Split AC.",
629
- xref: { document: "cluster", section: "4.3.9.47" }
756
+ xref: { document: "cluster", section: "4.3.9.46" }
630
757
  }),
631
758
 
632
759
  Attribute({
633
760
  name: "AcCompressorType", id: 0x43, type: "ACCompressorTypeEnum", access: "RW VM", conformance: "O",
634
761
  constraint: "desc", default: 0, quality: "N",
635
762
  details: "Indicates the type of compressor used within the Mini Split AC.",
636
- xref: { document: "cluster", section: "4.3.9.48" }
763
+ xref: { document: "cluster", section: "4.3.9.47" }
637
764
  }),
638
765
 
639
766
  Attribute({
640
767
  name: "AcErrorCode", id: 0x44, type: "ACErrorCodeBitmap", access: "RW VM", conformance: "O",
641
768
  default: 0,
642
769
  details: "Indicates the type of errors encountered within the Mini Split AC.",
643
- xref: { document: "cluster", section: "4.3.9.49" }
770
+ xref: { document: "cluster", section: "4.3.9.48" }
644
771
  }),
645
772
 
646
773
  Attribute({
647
774
  name: "AcLouverPosition", id: 0x45, type: "ACLouverPositionEnum", access: "RW VM", conformance: "O",
648
775
  constraint: "desc", default: 0, quality: "N",
649
776
  details: "Indicates the position of Louver on the AC.",
650
- xref: { document: "cluster", section: "4.3.9.50" }
777
+ xref: { document: "cluster", section: "4.3.9.49" }
651
778
  }),
652
779
 
653
780
  Attribute({
654
781
  name: "AcCoilTemperature", id: 0x46, type: "temperature", access: "R V", conformance: "O",
655
782
  default: null, quality: "X",
656
783
  details: "Indicates the temperature of the AC coil, as measured locally or remotely (over the network).",
657
- xref: { document: "cluster", section: "4.3.9.51" }
784
+ xref: { document: "cluster", section: "4.3.9.50" }
658
785
  }),
659
786
 
660
787
  Attribute({
661
788
  name: "AcCapacityFormat", id: 0x47, type: "ACCapacityFormatEnum", access: "RW VM", conformance: "O",
662
789
  constraint: "desc", default: 0, quality: "N",
663
790
  details: "Indicates the format for the ACCapacity attribute.",
664
- xref: { document: "cluster", section: "4.3.9.52" }
791
+ xref: { document: "cluster", section: "4.3.9.51" }
792
+ }),
793
+
794
+ Attribute(
795
+ {
796
+ name: "PresetTypes", id: 0x48, type: "list", access: "R V", conformance: "PRES", constraint: "desc",
797
+ quality: "F",
798
+ details: "Indicates the supported PresetScenarioEnum values, limits on how many presets can be created for " +
799
+ "each PresetScenarioEnum, and whether or not a thermostat can transition automatically to a given " +
800
+ "scenario.",
801
+ xref: { document: "cluster", section: "4.3.9.52" }
802
+ },
803
+
804
+ Field({ name: "entry", type: "PresetTypeStruct" })
805
+ ),
806
+
807
+ Attribute(
808
+ {
809
+ name: "ScheduleTypes", id: 0x49, type: "list", access: "R V", conformance: "MSCH",
810
+ constraint: "desc", quality: "F",
811
+ details: "Indicates the supported SystemMode values for Schedules, limits on how many schedules can be " +
812
+ "created for each SystemMode value, and whether or not a given SystemMode value supports transitions " +
813
+ "to Presets, target setpoints, or both.",
814
+ xref: { document: "cluster", section: "4.3.9.53" }
815
+ },
816
+
817
+ Field({ name: "entry", type: "ScheduleTypeStruct" })
818
+ ),
819
+
820
+ Attribute({
821
+ name: "NumberOfPresets", id: 0x4a, type: "uint8", access: "R V", conformance: "PRES", default: 0,
822
+ quality: "F",
823
+ details: "Indicates the maximum number of entries supported by the Presets attribute.",
824
+ xref: { document: "cluster", section: "4.3.9.54" }
825
+ }),
826
+
827
+ Attribute({
828
+ name: "NumberOfSchedules", id: 0x4b, type: "uint8", access: "R V", conformance: "MSCH", default: 0,
829
+ quality: "F",
830
+ details: "Indicates the maximum number of entries supported by the Schedules attribute.",
831
+ xref: { document: "cluster", section: "4.3.9.55" }
832
+ }),
833
+
834
+ Attribute({
835
+ name: "NumberOfScheduleTransitions", id: 0x4c, type: "uint8", access: "R V", conformance: "MSCH",
836
+ default: 0, quality: "F",
837
+ details: "Indicates the maximum number of transitions per Schedules attribute entry.",
838
+ xref: { document: "cluster", section: "4.3.9.56" }
839
+ }),
840
+
841
+ Attribute({
842
+ name: "NumberOfScheduleTransitionPerDay", id: 0x4d, type: "uint8", access: "R V",
843
+ conformance: "MSCH", default: null, quality: "X F",
844
+ xref: { document: "cluster", section: "4.3.9" }
845
+ }),
846
+
847
+ Attribute({
848
+ name: "ActivePresetHandle", id: 0x4e, type: "octstr", access: "R V", conformance: "PRES",
849
+ constraint: "max 16", default: null, quality: "X N",
850
+ details: "Indicates the PresetHandle of the active preset. If this attribute is null, then there is no active " +
851
+ "preset.",
852
+ xref: { document: "cluster", section: "4.3.9.58" }
853
+ }),
854
+
855
+ Attribute({
856
+ name: "ActiveScheduleHandle", id: 0x4f, type: "octstr", access: "R V", conformance: "MSCH",
857
+ constraint: "max 16", default: null, quality: "X N",
858
+ details: "Indicates the ScheduleHandle of the active schedule. A null value in this attribute indicates that " +
859
+ "there is no active schedule.",
860
+ xref: { document: "cluster", section: "4.3.9.59" }
861
+ }),
862
+
863
+ Attribute(
864
+ {
865
+ name: "Presets", id: 0x50, type: "list", access: "RW VM", conformance: "PRES",
866
+ constraint: "max numberOfPresets", default: [], quality: "N T",
867
+
868
+ details: "This attribute shall contain the current list of configured presets. On receipt of a write request:" +
869
+ "\n" +
870
+ " 1. If the PresetHandle field is null, the PresetStruct shall be treated as an added preset, and " +
871
+ " the device shall create a new unique value for the PresetHandle field." +
872
+ "\n" +
873
+ " a. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be " +
874
+ " returned." +
875
+ "\n" +
876
+ " 2. If the PresetHandle field is not null, the PresetStruct shall be treated as a modification of " +
877
+ " an existing preset." +
878
+ "\n" +
879
+ " a. If the value of the PresetHandle field does not match any of the existing presets, a " +
880
+ " response with the status code NOT_FOUND shall be returned." +
881
+ "\n" +
882
+ " b. If the value of the PresetHandle field is duplicated on multiple presets in the updated " +
883
+ " list, a response with the status code CONSTRAINT_ERROR shall be returned." +
884
+ "\n" +
885
+ " c. If the BuiltIn field is true, and the PresetStruct in the current value with a matching " +
886
+ " PresetHandle field has a BuiltIn field set to false, a response with the status code " +
887
+ " CONSTRAINT_ERROR shall be returned." +
888
+ "\n" +
889
+ " d. If the BuiltIn field is false, and the PresetStruct in the current value with a matching " +
890
+ " PresetHandle field has a BuiltIn field set to true, a response with the status code " +
891
+ " CONSTRAINT_ERROR shall be returned." +
892
+ "\n" +
893
+ " 3. If the specified PresetScenarioEnum value does not exist in PresetTypes, a response with the " +
894
+ " status code CONSTRAINT_ERROR shall be returned." +
895
+ "\n" +
896
+ " 4. If the Name is set, but the associated PresetTypeStruct does not have the SupportsNames bit " +
897
+ " set, a response with the status code CONSTRAINT_ERROR shall be returned." +
898
+ "\n" +
899
+ " 5. If appending the received PresetStruct to the pending list of Presets would cause the total " +
900
+ " number of pending presets to exceed the value of the NumberOfPresets attribute, a response " +
901
+ " with the status code RESOURCE_EXHAUSTED shall be returned." +
902
+ "\n" +
903
+ " 6. If appending the received PresetStruct to the pending list of Presets would cause the total " +
904
+ " number of pending presets whose PresetScenario field matches the appended preset’s " +
905
+ " PresetScenario field to exceed the value of the NumberOfPresets field on the PresetTypeStruct " +
906
+ " whose PresetScenario matches the appended preset’s PresetScenario field, a response with the " +
907
+ " status code RESOURCE_EXHAUSTED shall be returned." +
908
+ "\n" +
909
+ " 7. Otherwise, the write shall be pended until receipt of a commit request, and the status code " +
910
+ " SUCCESS shall be returned." +
911
+ "\n" +
912
+ " a. If the BuiltIn field is null:" +
913
+ "\n" +
914
+ " i. If there is a PresetStruct in the current value with a matching PresetHandle field, the " +
915
+ " BuiltIn field on the pending PresetStruct shall be set to the value of the BuiltIn on the " +
916
+ " matching PresetStruct." +
917
+ "\n" +
918
+ " ii. Otherwise, the BuiltIn field on the pending PresetStruct shall be set to false." +
919
+ "\n" +
920
+ "On an attempt to commit, the status of this attribute shall be determined as follows:" +
921
+ "\n" +
922
+ " 1. For all existing presets:" +
923
+ "\n" +
924
+ " a. If, after applying all pending changes, the updated value of the Presets attribute would not " +
925
+ " contain a PresetStruct with a matching PresetHandle field, indicating the removal of the " +
926
+ " PresetStruct, the server shall check for invalid removal of the PresetStruct:" +
927
+ "\n" +
928
+ " i. If the BuiltIn field is true on the removed PresetStruct, the attribute status shall be " +
929
+ " CONSTRAINT_ERROR." +
930
+ "\n" +
931
+ " ii. If the MSCH feature is supported and the removed PresetHandle would be referenced by any " +
932
+ " PresetHandle on any ScheduleTransitionStruct on any ScheduleStruct in the updated value " +
933
+ " of the Schedules attribute, the attribute status shall be INVALID_IN_STATE." +
934
+ "\n" +
935
+ " iii. If the removed PresetHandle is equal to the value of the ActivePresetHandle attribute, " +
936
+ " the attribute status shall be INVALID_IN_STATE." +
937
+ "\n" +
938
+ " 2. Otherwise, the attribute status shall be SUCCESS.",
939
+
940
+ xref: { document: "cluster", section: "4.3.9.60" }
941
+ },
942
+
943
+ Field({ name: "entry", type: "PresetStruct" })
944
+ ),
945
+
946
+ Attribute(
947
+ {
948
+ name: "Schedules", id: 0x51, type: "list", access: "RW VM", conformance: "MSCH", constraint: "desc",
949
+ default: [], quality: "N T",
950
+
951
+ details: "This attribute shall contain a list of ScheduleStructs. On receipt of a write request:" +
952
+ "\n" +
953
+ " 1. For all schedules in the write request:" +
954
+ "\n" +
955
+ " a. If the ScheduleHandle field is null, the ScheduleStruct shall be treated as an added " +
956
+ " schedule, and the device shall create a new unique value for the ScheduleHandle field." +
957
+ "\n" +
958
+ " i. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be " +
959
+ " returned." +
960
+ "\n" +
961
+ " b. Otherwise, if the ScheduleHandle field is not null, the ScheduleStruct shall be treated as a " +
962
+ " modification of an existing schedule." +
963
+ "\n" +
964
+ " i. If the value of the ScheduleHandle field does not match any of the existing schedules, a " +
965
+ " response with the status code NOT_FOUND shall be returned." +
966
+ "\n" +
967
+ " ii. If the BuiltIn field is true, and the ScheduleStruct in the current value with a matching " +
968
+ " ScheduleHandle field has a BuiltIn field set to false, a response with the status code " +
969
+ " CONSTRAINT_ERROR shall be returned." +
970
+ "\n" +
971
+ " iii. If the BuiltIn field is false, and the ScheduleStruct in the current value with a " +
972
+ " matching ScheduleHandle field has a BuiltIn field set to true, a response with the " +
973
+ " status code CONSTRAINT_ERROR shall be returned." +
974
+ "\n" +
975
+ " c. If the specified SystemMode does not exist in ScheduleTypes, a response with the status code " +
976
+ " CONSTRAINT_ERROR shall be returned." +
977
+ "\n" +
978
+ " d. If the number of transitions exceeds the NumberOfScheduleTransitions value, a response with " +
979
+ " the status code RESOURCE_EXHAUSTED shall be returned." +
980
+ "\n" +
981
+ " e. If the value of the NumberOfScheduleTransitionsPerDay attribute is not null, and the number " +
982
+ " of transitions on any single day of the week exceeds the NumberOfScheduleTransitionsPerDay " +
983
+ " value, a response with the status code RESOURCE_EXHAUSTED shall be returned." +
984
+ "\n" +
985
+ " f. If the PresetHandle field is present, but the associated ScheduleTypeStruct does not have " +
986
+ " the SupportsPresets bit set, a response with the status code CONSTRAINT_ERROR shall be " +
987
+ " returned." +
988
+ "\n" +
989
+ " g. If the PresetHandle field is present, but after applying all pending changes, the Presets " +
990
+ " attribute would not contain a PresetStruct whose PresetHandle field matches the value of the " +
991
+ " PresetHandle field, a response with the status code CONSTRAINT_ERROR shall be returned." +
992
+ "\n" +
993
+ " h. If the Name is set, but the associated ScheduleTypeStruct does not have the SupportsNames " +
994
+ " bit set, a response with the status code CONSTRAINT_ERROR shall be returned." +
995
+ "\n" +
996
+ " i. For all transitions in all schedules in the write request:" +
997
+ "\n" +
998
+ " i. If the PresetHandle field is present, but the ScheduleTypeStruct matching the value of the " +
999
+ " SystemMode field on the encompassing ScheduleStruct does not have the SupportsPresets bit " +
1000
+ " set, a response with the status code CONSTRAINT_ERROR shall be returned." +
1001
+ "\n" +
1002
+ " j. If the PresetHandle field is present, but after applying all pending changes, the Presets " +
1003
+ " attribute would not contain a PresetStruct whose PresetHandle field matches the value of the " +
1004
+ " PresetHandle field, a response with the status code CONSTRAINT_ERROR shall be returned." +
1005
+ "\n" +
1006
+ " i. If the SystemMode field is present, but the ScheduleTypeStruct matching the value of the " +
1007
+ " SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints " +
1008
+ " bit set, a response with the status code CONSTRAINT_ERROR shall be returned." +
1009
+ "\n" +
1010
+ " ii. If the SystemMode field is has a value of SystemModeOff, but the ScheduleTypeStruct " +
1011
+ " matching the value of the SystemMode field on the encompassing ScheduleStruct does not " +
1012
+ " have the SupportsOff bit set, a response with the status code CONSTRAINT_ERROR shall be " +
1013
+ " returned." +
1014
+ "\n" +
1015
+ " k. If the HeatingSetpoint field is present, but the ScheduleTypeStruct matching the value of " +
1016
+ " the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints " +
1017
+ " bit set, a response with the status code CONSTRAINT_ERROR shall be returned." +
1018
+ "\n" +
1019
+ " l. If the CoolingSetpoint field is present, but the ScheduleTypeStruct matching the value of " +
1020
+ " the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints " +
1021
+ " bit set, a response with the status code CONSTRAINT_ERROR shall be returned." +
1022
+ "\n" +
1023
+ " 2. If appending the received ScheduleStruct to the pending list of Schedules would cause the " +
1024
+ " total number of pending schedules to exceed the value of the NumberOfSchedules attribute, a " +
1025
+ " response with the status code RESOURCE_EXHAUSTED shall be returned." +
1026
+ "\n" +
1027
+ " 3. If appending the received ScheduleStruct to the pending list of Schedules would cause the " +
1028
+ " total number of pending schedules whose SystemMode field matches the appended schedule’s " +
1029
+ " SystemMode field to exceed the value of the NumberOfSchedules field on the ScheduleTypeStruct " +
1030
+ " whose SystemMode field matches the appended schedule’s SystemMode field, a response with the " +
1031
+ " status code RESOURCE_EXHAUSTED shall be returned." +
1032
+ "\n" +
1033
+ " 4. Otherwise, the write shall be pended until receipt of a commit request, and the attribute " +
1034
+ " status shall be SUCCESS." +
1035
+ "\n" +
1036
+ " a. If the BuiltIn field is null:" +
1037
+ "\n" +
1038
+ " i. If there is a ScheduleStruct in the current value with a matching ScheduleHandle field, " +
1039
+ " the BuiltIn field on the pending ScheduleStruct shall be set to the value of the BuiltIn " +
1040
+ " on the matching ScheduleStruct." +
1041
+ "\n" +
1042
+ " ii. Otherwise, the BuiltIn field on the pending ScheduleStruct shall be set to false." +
1043
+ "\n" +
1044
+ "On an attempt to commit, the status of this attribute shall be determined as follows:" +
1045
+ "\n" +
1046
+ " 1. For all existing schedules:" +
1047
+ "\n" +
1048
+ " a. If, after applying all pending changes, the updated value of the Schedules attribute would " +
1049
+ " not contain a ScheduleStruct with a matching ScheduleHandle field, indicating the removal of " +
1050
+ " the ScheduleStruct, the server shall check for invalid removal of the ScheduleStruct:" +
1051
+ "\n" +
1052
+ " i. If the BuiltIn field is true on the removed ScheduleStruct, the attribute status shall be " +
1053
+ " CONSTRAINT_ERROR." +
1054
+ "\n" +
1055
+ " ii. If the removed ScheduleHandle is equal to the value of the ActiveScheduleHandle " +
1056
+ " attribute, the attribute status shall be INVALID_IN_STATE." +
1057
+ "\n" +
1058
+ " 2. Otherwise, the attribute status shall be SUCCESS.",
1059
+
1060
+ xref: { document: "cluster", section: "4.3.9.61" }
1061
+ },
1062
+
1063
+ Field({ name: "entry", type: "ScheduleStruct" })
1064
+ ),
1065
+
1066
+ Attribute({
1067
+ name: "SetpointHoldExpiryTimestamp", id: 0x52, type: "epoch-s", access: "R V", conformance: "O",
1068
+ default: null, quality: "X N",
1069
+
1070
+ details: "If there is a known time when the TemperatureSetpointHold shall be cleared, this attribute shall " +
1071
+ "contain the timestamp in UTC indicating when that will happen. If there is no such known time, this " +
1072
+ "attribute shall be null." +
1073
+ "\n" +
1074
+ "If the TemperatureSetpointHold is set to SetpointHoldOff or the TemperatureSetpointHoldDuration is " +
1075
+ "set to null, this attribute shall be set to null indicating there is no hold on the Thermostat " +
1076
+ "either with or without a duration.",
1077
+
1078
+ xref: { document: "cluster", section: "4.3.9.62" }
665
1079
  }),
666
1080
 
667
1081
  Command(
668
1082
  {
669
1083
  name: "SetpointRaiseLower", id: 0x0, access: "O", conformance: "M", direction: "request",
670
1084
  response: "status",
671
- details: "Upon receipt, the attributes for the indicated setpoint(s) shall have the amount specified in the " +
672
- "Amount field added to them. If the resulting value is outside the limits imposed by " +
673
- "MinCoolSetpointLimit, MaxCoolSetpointLimit, MinHeatSetpointLimit and MaxHeatSetpointLimit, the " +
674
- "value is clamped to those limits. This is not considered an error condition.",
675
1085
  xref: { document: "cluster", section: "4.3.10.1" }
676
1086
  },
1087
+ Field({
1088
+ name: "Mode", id: 0x0, type: "SetpointRaiseLowerModeEnum", conformance: "M", constraint: "desc",
1089
+ details: "The field shall specify which setpoints are to be adjusted.",
1090
+ xref: { document: "cluster", section: "4.3.10.1.1" }
1091
+ }),
677
1092
 
678
- Field({ name: "Mode", id: 0x0, type: "SetpointRaiseLowerModeEnum", conformance: "M", constraint: "desc" }),
679
- Field({ name: "Amount", id: 0x1, type: "int8", conformance: "M" })
1093
+ Field({
1094
+ name: "Amount", id: 0x1, type: "int8", conformance: "M",
1095
+ details: "This field shall indicate the amount (possibly negative) that should be added to the setpoint(s), " +
1096
+ "in steps of 0.1°C.",
1097
+ xref: { document: "cluster", section: "4.3.10.1.2" }
1098
+ })
680
1099
  ),
681
1100
 
682
1101
  Command(
@@ -684,36 +1103,16 @@ export const Thermostat = Cluster(
684
1103
  name: "SetWeeklySchedule", id: 0x1, access: "M", conformance: "SCH", direction: "request",
685
1104
  response: "status",
686
1105
 
687
- details: "Upon receipt, the weekly schedule for updating setpoints shall be stored in the thermostat and " +
688
- "SHOULD begin at the time of receipt. A status code shall be sent in response." +
689
- "\n" +
690
- "When a command is received that requires a total number of transitions greater than the device " +
691
- "supports, the status of the response shall be INSUFFICIENT_SPACE." +
692
- "\n" +
693
- "When any of the setpoints sent in the sequence is out of range (AbsMin/MaxSetPointLimit), or when " +
694
- "the Mode for Sequence field includes a mode not supported by the device, the status of the response " +
695
- "shall be CONSTRAINT_ERROR and no setpoints from the entire sequence SHOULD be used." +
696
- "\n" +
697
- "When an overlapping transition is detected, the status of the response shall be FAILURE." +
698
- "\n" +
699
- "When a device which does not support multiple days in a command receives a command with more than " +
700
- "one bit set in the DayOfWeekForSequence field, or when a device which does not support multiple " +
701
- "modes in a command receives a command with more than one bit set in the ModeForSequence field, or " +
702
- "when the contents of the Transitions field does not agree with NumberOfTransitionsForSequence, " +
703
- "DayOfWeekForSequence or ModeForSequence, the status of the response shall be INVALID_COMMAND." +
704
- "\n" +
705
- "When the transitions could be added successfully, the status of the response shall be SUCCESS." +
706
- "\n" +
707
- "The set weekly schedule command is used to update the thermostat weekly setpoint schedule from a " +
708
- "management system. If the thermostat already has a weekly setpoint schedule programmed, then it " +
709
- "SHOULD replace each daily setpoint set as it receives the updates from the management system. For " +
710
- "example, if the thermostat has 4 setpoints for every day of the week and is sent a Set Weekly " +
711
- "Schedule command with one setpoint for Saturday then the thermostat SHOULD remove all 4 setpoints " +
712
- "for Saturday and replace those with the updated setpoint but leave all other days unchanged. If the " +
713
- "schedule is larger than what fits in one frame or contains more than 10 transitions, the schedule " +
714
- "shall then be sent using multiple Set Weekly Schedule Commands.",
1106
+ details: "This command is used to update the thermostat weekly setpoint schedule from a management system. If " +
1107
+ "the thermostat already has a weekly setpoint schedule programmed, then it SHOULD replace each daily " +
1108
+ "setpoint set as it receives the updates from the management system. For example, if the thermostat " +
1109
+ "has 4 setpoints for every day of the week and is sent a SetWeeklySchedule command with one setpoint " +
1110
+ "for Saturday then the thermostat SHOULD remove all 4 setpoints for Saturday and replace those with " +
1111
+ "the updated setpoint but leave all other days unchanged. If the schedule is larger than what fits " +
1112
+ "in one frame or contains more than 10 transitions, the schedule shall then be sent using multiple " +
1113
+ "SetWeeklySchedule Commands.",
715
1114
 
716
- xref: { document: "cluster", section: "4.3.10.4" }
1115
+ xref: { document: "cluster", section: "4.3.10.2" }
717
1116
  },
718
1117
 
719
1118
  Field({
@@ -722,7 +1121,7 @@ export const Thermostat = Cluster(
722
1121
  "If a device supports more than 10 transitions in its schedule they can send this by sending more " +
723
1122
  "than 1 “Set Weekly Schedule” command, each containing the separate information that the device " +
724
1123
  "needs to set.",
725
- xref: { document: "cluster", section: "4.3.10.4.1" }
1124
+ xref: { document: "cluster", section: "4.3.10.2.1" }
726
1125
  }),
727
1126
 
728
1127
  Field({
@@ -737,7 +1136,7 @@ export const Thermostat = Cluster(
737
1136
  "Each setpoint transition will begin with the day of week for this transition. There can be up to 10 " +
738
1137
  "transitions for each command.",
739
1138
 
740
- xref: { document: "cluster", section: "4.3.10.4.2" }
1139
+ xref: { document: "cluster", section: "4.3.10.2.2" }
741
1140
  }),
742
1141
 
743
1142
  Field({
@@ -763,7 +1162,7 @@ export const Thermostat = Cluster(
763
1162
  "Both bits must be respected, even if the HEAT or COOL feature is not supported, to ensure the " +
764
1163
  "command is decoded and handled correctly.",
765
1164
 
766
- xref: { document: "cluster", section: "4.3.10.4.3" }
1165
+ xref: { document: "cluster", section: "4.3.10.2.3" }
767
1166
  }),
768
1167
 
769
1168
  Field(
@@ -771,7 +1170,7 @@ export const Thermostat = Cluster(
771
1170
  name: "Transitions", id: 0x3, type: "list", conformance: "M", constraint: "max 10",
772
1171
  details: "This field shall contain the list of setpoint transitions used to update the specified daily " +
773
1172
  "schedules",
774
- xref: { document: "cluster", section: "4.3.10.4.4" }
1173
+ xref: { document: "cluster", section: "4.3.10.2.4" }
775
1174
  },
776
1175
 
777
1176
  Field({ name: "entry", type: "WeeklyScheduleTransitionStruct" })
@@ -782,12 +1181,7 @@ export const Thermostat = Cluster(
782
1181
  {
783
1182
  name: "GetWeeklySchedule", id: 0x2, access: "O", conformance: "SCH", direction: "request",
784
1183
  response: "GetWeeklyScheduleResponse",
785
- details: "Upon receipt, the unit SHOULD send in return the Get Weekly Schedule Response command. The Days to " +
786
- "Return and Mode to Return fields are defined as bitmask for the flexibility to support multiple " +
787
- "days and multiple modes within one command. If thermostat cannot handle incoming command with " +
788
- "multiple days and/or multiple modes within one command, it shall send default response of " +
789
- "INVALID_COMMAND in return.",
790
- xref: { document: "cluster", section: "4.3.10.5" }
1184
+ xref: { document: "cluster", section: "4.3.10.3" }
791
1185
  },
792
1186
 
793
1187
  Field({
@@ -795,14 +1189,14 @@ export const Thermostat = Cluster(
795
1189
  constraint: "desc",
796
1190
  details: "This field shall indicate the number of days the client would like to return the setpoint values " +
797
1191
  "for and could be any combination of single days or the entire week.",
798
- xref: { document: "cluster", section: "4.3.10.5.1" }
1192
+ xref: { document: "cluster", section: "4.3.10.3.1" }
799
1193
  }),
800
1194
 
801
1195
  Field({
802
1196
  name: "ModeToReturn", id: 0x1, type: "ScheduleModeBitmap", conformance: "M", constraint: "desc",
803
1197
  details: "This field shall indicate the mode the client would like to return the set point values for and " +
804
1198
  "could be any combination of heat only, cool only or heat & cool.",
805
- xref: { document: "cluster", section: "4.3.10.5.2" }
1199
+ xref: { document: "cluster", section: "4.3.10.3.2" }
806
1200
  })
807
1201
  ),
808
1202
 
@@ -810,7 +1204,7 @@ export const Thermostat = Cluster(
810
1204
  {
811
1205
  name: "GetWeeklyScheduleResponse", id: 0x0, conformance: "SCH", direction: "response",
812
1206
  details: "This command has the same payload format as the Set Weekly Schedule.",
813
- xref: { document: "cluster", section: "4.3.10.6" }
1207
+ xref: { document: "cluster", section: "4.3.10.4" }
814
1208
  },
815
1209
  Field({ name: "NumberOfTransitionsForSequence", id: 0x0, type: "uint8", conformance: "M" }),
816
1210
  Field({
@@ -831,7 +1225,7 @@ export const Thermostat = Cluster(
831
1225
  "\n" +
832
1226
  "Upon receipt, all transitions currently stored shall be cleared and a default response of SUCCESS " +
833
1227
  "shall be sent in response. There are no error responses to this command.",
834
- xref: { document: "cluster", section: "4.3.10.7" }
1228
+ xref: { document: "cluster", section: "4.3.10.5" }
835
1229
  }),
836
1230
 
837
1231
  Command(
@@ -840,7 +1234,7 @@ export const Thermostat = Cluster(
840
1234
  details: "This command is sent from the thermostat cluster server in response to the Get Relay Status Log. " +
841
1235
  "After the Relay Status Entry is sent over the air to the requesting client, the specific entry will " +
842
1236
  "be cleared from the thermostat internal log.",
843
- xref: { document: "cluster", section: "4.3.10.9" }
1237
+ xref: { document: "cluster", section: "4.3.10.7" }
844
1238
  },
845
1239
 
846
1240
  Field({
@@ -848,7 +1242,7 @@ export const Thermostat = Cluster(
848
1242
  details: "This field shall indicate the sample time of the day, in minutes since midnight, when the relay " +
849
1243
  "status was captured for this associated log entry. For example, 6am will be represented by 360 " +
850
1244
  "minutes since midnight and 11:30pm will be represented by 1410 minutes since midnight.",
851
- xref: { document: "cluster", section: "4.3.10.9.1" }
1245
+ xref: { document: "cluster", section: "4.3.10.7.1" }
852
1246
  }),
853
1247
 
854
1248
  Field({
@@ -857,29 +1251,59 @@ export const Thermostat = Cluster(
857
1251
  "represents one relay used by the thermostat. If the bit is on, the associated relay is on and " +
858
1252
  "active. Each thermostat manufacturer can create its own mapping between the bitmap and the " +
859
1253
  "associated relay.",
860
- xref: { document: "cluster", section: "4.3.10.9.2" }
1254
+ xref: { document: "cluster", section: "4.3.10.7.2" }
861
1255
  }),
862
1256
 
863
1257
  Field({
864
1258
  name: "LocalTemperature", id: 0x2, type: "temperature", conformance: "M", quality: "X",
865
1259
  details: "This field shall indicate the LocalTemperature when the log is captured. The null value indicates " +
866
1260
  "that LocalTemperature was invalid or unavailable.",
867
- xref: { document: "cluster", section: "4.3.10.9.3" }
1261
+ xref: { document: "cluster", section: "4.3.10.7.3" }
868
1262
  }),
869
1263
 
870
1264
  Field({
871
- name: "HumidityInPercentage", id: 0x3, type: "uint8", conformance: "M", constraint: "0 to 100",
1265
+ name: "HumidityInPercentage", id: 0x3, type: "uint8", conformance: "M", constraint: "0% to 100%",
872
1266
  quality: "X"
873
1267
  }),
874
1268
  Field({
875
1269
  name: "SetPoint", id: 0x4, type: "temperature", conformance: "M",
876
1270
  details: "This field shall indicate the target setpoint temperature when the log is captured.",
877
- xref: { document: "cluster", section: "4.3.10.9.5" }
1271
+ xref: { document: "cluster", section: "4.3.10.7.5" }
878
1272
  }),
879
1273
  Field({
880
1274
  name: "UnreadEntries", id: 0x5, type: "uint16", conformance: "M",
881
1275
  details: "This field shall indicate the number of unread entries within the thermostat internal log system.",
882
- xref: { document: "cluster", section: "4.3.10.9.6" }
1276
+ xref: { document: "cluster", section: "4.3.10.7.6" }
1277
+ })
1278
+ ),
1279
+
1280
+ Command(
1281
+ {
1282
+ name: "SetActiveScheduleRequest", id: 0x5, access: "O", conformance: "MSCH", direction: "request",
1283
+ response: "status",
1284
+ xref: { document: "cluster", section: "4.3.10.8" }
1285
+ },
1286
+
1287
+ Field({
1288
+ name: "ScheduleHandle", id: 0x0, type: "octstr", conformance: "M", constraint: "max 16",
1289
+ details: "This field shall specify the value of the ScheduleHandle field on the ScheduleStruct to be made " +
1290
+ "active.",
1291
+ xref: { document: "cluster", section: "4.3.10.8.1" }
1292
+ })
1293
+ ),
1294
+
1295
+ Command(
1296
+ {
1297
+ name: "SetActivePresetRequest", id: 0x6, access: "O", conformance: "PRES", direction: "request",
1298
+ response: "status",
1299
+ xref: { document: "cluster", section: "4.3.10.9" }
1300
+ },
1301
+
1302
+ Field({
1303
+ name: "PresetHandle", id: 0x0, type: "octstr", conformance: "M", constraint: "max 16", quality: "X",
1304
+ details: "This field shall specify the value of the PresetHandle field on the PresetStruct to be made active. " +
1305
+ "If the field is set to null, that indicates there should be no active preset.",
1306
+ xref: { document: "cluster", section: "4.3.10.9.1" }
883
1307
  })
884
1308
  ),
885
1309
 
@@ -966,7 +1390,7 @@ export const Thermostat = Cluster(
966
1390
 
967
1391
  Field(
968
1392
  {
969
- name: "CoolingStage", constraint: "0 to 2",
1393
+ name: "CoolingStage", constraint: "1 to 1",
970
1394
  description: "Stage of cooling the HVAC system is using.",
971
1395
 
972
1396
  details: "These bits shall indicate what stage of cooling the HVAC system is using." +
@@ -985,7 +1409,7 @@ export const Thermostat = Cluster(
985
1409
 
986
1410
  Field(
987
1411
  {
988
- name: "HeatingStage", constraint: "2 to 4",
1412
+ name: "HeatingStage", constraint: "3 to 3",
989
1413
  description: "Stage of heating the HVAC system is using.",
990
1414
 
991
1415
  details: "These bits shall indicate what stage of heating the HVAC system is using." +
@@ -1027,8 +1451,18 @@ export const Thermostat = Cluster(
1027
1451
  )
1028
1452
  ),
1029
1453
 
1454
+ Datatype({
1455
+ name: "OccupancyBitmap", type: "OccupancySensing.OccupancyBitmap",
1456
+ xref: { document: "cluster", section: "4.3.8.7" }
1457
+ }),
1030
1458
  Datatype(
1031
- { name: "ProgrammingOperationModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.7" } },
1459
+ { name: "PresetTypeFeaturesBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.8" } },
1460
+ Field({ name: "Automatic", constraint: "0", description: "Preset may be automatically activated by the thermostat" }),
1461
+ Field({ name: "SupportsNames", constraint: "1", description: "Preset supports user- provided names" })
1462
+ ),
1463
+
1464
+ Datatype(
1465
+ { name: "ProgrammingOperationModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.9" } },
1032
1466
  Field({
1033
1467
  name: "ScheduleActive", constraint: "0",
1034
1468
  description: "Schedule programming mode. This enables any programmed weekly schedule configurations."
@@ -1038,18 +1472,18 @@ export const Thermostat = Cluster(
1038
1472
  ),
1039
1473
 
1040
1474
  Datatype(
1041
- { name: "RelayStateBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.8" } },
1042
- Field({ name: "Heat", constraint: "0", description: "Heat State On" }),
1043
- Field({ name: "Cool", constraint: "1", description: "Cool State On" }),
1044
- Field({ name: "Fan", constraint: "2", description: "Fan State On" }),
1045
- Field({ name: "HeatStage2", constraint: "3", description: "Heat 2nd State On" }),
1046
- Field({ name: "CoolStage2", constraint: "4", description: "Cool 2nd State On" }),
1047
- Field({ name: "FanStage2", constraint: "5", description: "Fan 2nd State On" }),
1475
+ { name: "RelayStateBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.10" } },
1476
+ Field({ name: "Heat", constraint: "0", description: "Heat Stage On" }),
1477
+ Field({ name: "Cool", constraint: "1", description: "Cool Stage On" }),
1478
+ Field({ name: "Fan", constraint: "2", description: "Fan Stage On" }),
1479
+ Field({ name: "HeatStage2", constraint: "3", description: "Heat 2nd Stage On" }),
1480
+ Field({ name: "CoolStage2", constraint: "4", description: "Cool 2nd Stage On" }),
1481
+ Field({ name: "FanStage2", constraint: "5", description: "Fan 2nd Stage On" }),
1048
1482
  Field({ name: "FanStage3", constraint: "6", description: "Fan 3rd Stage On" })
1049
1483
  ),
1050
1484
 
1051
1485
  Datatype(
1052
- { name: "RemoteSensingBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.9" } },
1486
+ { name: "RemoteSensingBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.11" } },
1053
1487
  Field({
1054
1488
  name: "LocalTemperature", constraint: "0",
1055
1489
  description: "Calculated Local Temperature is derived from a remote node"
@@ -1059,14 +1493,50 @@ export const Thermostat = Cluster(
1059
1493
  name: "OutdoorTemperature", constraint: "1",
1060
1494
  description: "OutdoorTemperature is derived from a remote node",
1061
1495
  details: "This bit shall be supported if the OutdoorTemperature attribute is supported.",
1062
- xref: { document: "cluster", section: "4.3.8.9.1" }
1496
+ xref: { document: "cluster", section: "4.3.8.11.1" }
1063
1497
  }),
1064
1498
 
1065
1499
  Field({ name: "Occupancy", constraint: "2", description: "Occupancy is derived from a remote node" })
1066
1500
  ),
1067
1501
 
1068
1502
  Datatype(
1069
- { name: "ScheduleDayOfWeekBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.10" } },
1503
+ { name: "ScheduleTypeFeaturesBitmap", type: "map16", xref: { document: "cluster", section: "4.3.8.12" } },
1504
+
1505
+ Field({
1506
+ name: "SupportsPresets", constraint: "0", description: "Supports presets",
1507
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
1508
+ "SystemMode field on the encompassing ScheduleTypeStruct supports specifying presets on " +
1509
+ "ScheduleTransitionStructs contained in its Transitions field.",
1510
+ xref: { document: "cluster", section: "4.3.8.12.1" }
1511
+ }),
1512
+
1513
+ Field({
1514
+ name: "SupportsSetpoints", constraint: "1", description: "Supports setpoints",
1515
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
1516
+ "SystemMode field on the encompassing ScheduleTypeStruct supports specifying setpoints on " +
1517
+ "ScheduleTransitionStructs contained in its Transitions field.",
1518
+ xref: { document: "cluster", section: "4.3.8.12.2" }
1519
+ }),
1520
+
1521
+ Field({
1522
+ name: "SupportsNames", constraint: "2", description: "Supports user-provided names",
1523
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
1524
+ "SystemMode field on the encompassing ScheduleTypeStruct supports setting the value of the Name " +
1525
+ "field.",
1526
+ xref: { document: "cluster", section: "4.3.8.12.3" }
1527
+ }),
1528
+
1529
+ Field({
1530
+ name: "SupportsOff", constraint: "3", description: "Supports transitioning to SystemModeOff",
1531
+ details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
1532
+ "SystemMode field on the encompassing ScheduleTypeStruct supports setting its SystemMode field to " +
1533
+ "Off.",
1534
+ xref: { document: "cluster", section: "4.3.8.12.4" }
1535
+ })
1536
+ ),
1537
+
1538
+ Datatype(
1539
+ { name: "ScheduleDayOfWeekBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.13" } },
1070
1540
  Field({ name: "Sunday", constraint: "0", description: "Sunday" }),
1071
1541
  Field({ name: "Monday", constraint: "1", description: "Monday" }),
1072
1542
  Field({ name: "Tuesday", constraint: "2", description: "Tuesday" }),
@@ -1078,17 +1548,17 @@ export const Thermostat = Cluster(
1078
1548
  ),
1079
1549
 
1080
1550
  Datatype(
1081
- { name: "ScheduleModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.11" } },
1551
+ { name: "ScheduleModeBitmap", type: "map8", xref: { document: "cluster", section: "4.3.8.14" } },
1082
1552
  Field({ name: "HeatSetpointPresent", constraint: "0", description: "Adjust Heat Setpoint" }),
1083
1553
  Field({ name: "CoolSetpointPresent", constraint: "1", description: "Adjust Cool Setpoint" })
1084
1554
  ),
1085
1555
  Datatype(
1086
- { name: "ACCapacityFormatEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.12" } },
1556
+ { name: "ACCapacityFormatEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.15" } },
1087
1557
  Field({ name: "BtUh", id: 0x0, conformance: "O", description: "British Thermal Unit per Hour" })
1088
1558
  ),
1089
1559
 
1090
1560
  Datatype(
1091
- { name: "ACCompressorTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.13" } },
1561
+ { name: "ACCompressorTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.16" } },
1092
1562
  Field({ name: "Unknown", id: 0x0, conformance: "O", description: "Unknown compressor type" }),
1093
1563
  Field({ name: "T1", id: 0x1, conformance: "O", description: "Max working ambient 43 °C" }),
1094
1564
  Field({ name: "T2", id: 0x2, conformance: "O", description: "Max working ambient 35 °C" }),
@@ -1096,7 +1566,7 @@ export const Thermostat = Cluster(
1096
1566
  ),
1097
1567
 
1098
1568
  Datatype(
1099
- { name: "ACLouverPositionEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.14" } },
1569
+ { name: "ACLouverPositionEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.17" } },
1100
1570
  Field({ name: "Closed", id: 0x1, conformance: "O", description: "Fully Closed" }),
1101
1571
  Field({ name: "Open", id: 0x2, conformance: "O", description: "Fully Open" }),
1102
1572
  Field({ name: "Quarter", id: 0x3, conformance: "O", description: "Quarter Open" }),
@@ -1105,7 +1575,7 @@ export const Thermostat = Cluster(
1105
1575
  ),
1106
1576
 
1107
1577
  Datatype(
1108
- { name: "ACRefrigerantTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.15" } },
1578
+ { name: "ACRefrigerantTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.18" } },
1109
1579
  Field({ name: "Unknown", id: 0x0, conformance: "O", description: "Unknown Refrigerant Type" }),
1110
1580
  Field({ name: "R22", id: 0x1, conformance: "O", description: "R22 Refrigerant" }),
1111
1581
  Field({ name: "R410A", id: 0x2, conformance: "O", description: "R410a Refrigerant" }),
@@ -1113,7 +1583,7 @@ export const Thermostat = Cluster(
1113
1583
  ),
1114
1584
 
1115
1585
  Datatype(
1116
- { name: "ACTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.16" } },
1586
+ { name: "ACTypeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.19" } },
1117
1587
  Field({ name: "Unknown", id: 0x0, conformance: "O", description: "Unknown AC Type" }),
1118
1588
  Field({ name: "CoolingFixed", id: 0x1, conformance: "O", description: "Cooling and Fixed Speed" }),
1119
1589
  Field({ name: "HeatPumpFixed", id: 0x2, conformance: "O", description: "Heat Pump and Fixed Speed" }),
@@ -1122,7 +1592,7 @@ export const Thermostat = Cluster(
1122
1592
  ),
1123
1593
 
1124
1594
  Datatype(
1125
- { name: "SetpointRaiseLowerModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.17" } },
1595
+ { name: "SetpointRaiseLowerModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.20" } },
1126
1596
  Field({ name: "Heat", id: 0x0, conformance: "HEAT", description: "Adjust Heat Setpoint" }),
1127
1597
  Field({ name: "Cool", id: 0x1, conformance: "COOL", description: "Adjust Cool Setpoint" }),
1128
1598
  Field({ name: "Both", id: 0x2, conformance: "HEAT | COOL", description: "Adjust Heat Setpoint and Cool Setpoint" })
@@ -1143,7 +1613,7 @@ export const Thermostat = Cluster(
1143
1613
  "the whole building must be in the same mode, SHOULD report CoolingOnly or HeatingOnly based on the " +
1144
1614
  "current capability.",
1145
1615
 
1146
- xref: { document: "cluster", section: "4.3.8.18" }
1616
+ xref: { document: "cluster", section: "4.3.8.21" }
1147
1617
  },
1148
1618
 
1149
1619
  Field({ name: "CoolingOnly", id: 0x0, conformance: "[COOL]", description: "Heat and Emergency are not possible" }),
@@ -1167,13 +1637,65 @@ export const Thermostat = Cluster(
1167
1637
  ),
1168
1638
 
1169
1639
  Datatype(
1170
- { name: "SetpointChangeSourceEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.19" } },
1640
+ { name: "PresetScenarioEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.22" } },
1641
+
1642
+ Field({
1643
+ name: "Occupied", id: 0x1, conformance: "M",
1644
+ description: "The thermostat-controlled area is occupied",
1645
+ details: "This value shall indicate the preset for periods when the thermostat’s temperature-controlled area " +
1646
+ "is occupied. It is intended for thermostats that can automatically determine occupancy.",
1647
+ xref: { document: "cluster", section: "4.3.8.22.2" }
1648
+ }),
1649
+
1650
+ Field({
1651
+ name: "Unoccupied", id: 0x2, conformance: "M",
1652
+ description: "The thermostat-controlled area is unoccupied",
1653
+ details: "This value shall indicate the preset for periods when the thermostat’s temperature-controlled area " +
1654
+ "is unoccupied. It is intended for thermostats that can automatically determine occupancy.",
1655
+ xref: { document: "cluster", section: "4.3.8.22.3" }
1656
+ }),
1657
+
1658
+ Field({
1659
+ name: "Sleep", id: 0x3, conformance: "M", description: "Users are likely to be sleeping",
1660
+ details: "This value shall indicate the preset for periods when users are likely to be asleep.",
1661
+ xref: { document: "cluster", section: "4.3.8.22.4" }
1662
+ }),
1663
+ Field({
1664
+ name: "Wake", id: 0x4, conformance: "M", description: "Users are likely to be waking up",
1665
+ details: "This value shall indicate the preset for periods when users are likely to be waking up.",
1666
+ xref: { document: "cluster", section: "4.3.8.22.5" }
1667
+ }),
1668
+
1669
+ Field({
1670
+ name: "Vacation", id: 0x5, conformance: "M", description: "Users are on vacation",
1671
+ details: "This value shall indicate the preset for periods when users are on vacation, or otherwise out-of- " +
1672
+ "home for extended periods of time.",
1673
+ xref: { document: "cluster", section: "4.3.8.22.6" }
1674
+ }),
1675
+
1676
+ Field({
1677
+ name: "GoingToSleep", id: 0x6, conformance: "M",
1678
+ description: "Users are likely to be going to sleep",
1679
+ details: "This value shall indicate the preset for periods when users are likely to be going to sleep.",
1680
+ xref: { document: "cluster", section: "4.3.8.22.7" }
1681
+ }),
1682
+
1683
+ Field({
1684
+ name: "UserDefined", id: 0xfe, conformance: "M", description: "Custom presets",
1685
+ details: "This value shall indicate a free-form preset; when set, the Name field on PresetStruct shall NOT be " +
1686
+ "null.",
1687
+ xref: { document: "cluster", section: "4.3.8.22.8" }
1688
+ })
1689
+ ),
1690
+
1691
+ Datatype(
1692
+ { name: "SetpointChangeSourceEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.23" } },
1171
1693
  Field({
1172
1694
  name: "Manual", id: 0x0, conformance: "O",
1173
1695
  description: "Manual, user-initiated setpoint change via the thermostat"
1174
1696
  }),
1175
1697
  Field({
1176
- name: "Schedule", id: 0x1, conformance: "[SCH]",
1698
+ name: "Schedule", id: 0x1, conformance: "[SCH | MSCH]",
1177
1699
  description: "Schedule/internal programming-initiated setpoint change"
1178
1700
  }),
1179
1701
  Field({
@@ -1183,7 +1705,7 @@ export const Thermostat = Cluster(
1183
1705
  ),
1184
1706
 
1185
1707
  Datatype(
1186
- { name: "StartOfWeekEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.20" } },
1708
+ { name: "StartOfWeekEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.24" } },
1187
1709
  Field({ name: "Sunday", id: 0x0, conformance: "M" }),
1188
1710
  Field({ name: "Monday", id: 0x1, conformance: "M" }),
1189
1711
  Field({ name: "Tuesday", id: 0x2, conformance: "M" }),
@@ -1196,8 +1718,8 @@ export const Thermostat = Cluster(
1196
1718
  Datatype(
1197
1719
  {
1198
1720
  name: "SystemModeEnum", type: "enum8",
1199
- details: "Table 35. Interpretation of Heat, Cool and Auto SystemModeEnum Values",
1200
- xref: { document: "cluster", section: "4.3.8.21" }
1721
+ details: "Table 9. Interpretation of Heat, Cool and Auto SystemModeEnum Values",
1722
+ xref: { document: "cluster", section: "4.3.8.25" }
1201
1723
  },
1202
1724
  Field({
1203
1725
  name: "Off", id: 0x0, conformance: "O",
@@ -1220,7 +1742,7 @@ export const Thermostat = Cluster(
1220
1742
  ),
1221
1743
 
1222
1744
  Datatype(
1223
- { name: "ThermostatRunningModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.22" } },
1745
+ { name: "ThermostatRunningModeEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.26" } },
1224
1746
  Field({
1225
1747
  name: "Off", id: 0x0, conformance: "O",
1226
1748
  description: "The Thermostat does not generate demand for Cooling or Heating"
@@ -1230,7 +1752,7 @@ export const Thermostat = Cluster(
1230
1752
  ),
1231
1753
 
1232
1754
  Datatype(
1233
- { name: "TemperatureSetpointHoldEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.23" } },
1755
+ { name: "TemperatureSetpointHoldEnum", type: "enum8", xref: { document: "cluster", section: "4.3.8.27" } },
1234
1756
  Field({ name: "SetpointHoldOff", id: 0x0, conformance: "M", description: "Follow scheduling program" }),
1235
1757
  Field({
1236
1758
  name: "SetpointHoldOn", id: 0x1, conformance: "M",
@@ -1238,11 +1760,86 @@ export const Thermostat = Cluster(
1238
1760
  })
1239
1761
  ),
1240
1762
 
1763
+ Datatype(
1764
+ { name: "PresetStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.28" } },
1765
+
1766
+ Field({
1767
+ name: "PresetHandle", id: 0x0, type: "octstr", conformance: "M", constraint: "max 16", quality: "X",
1768
+
1769
+ details: "This field shall indicate a device generated identifier for this preset. It shall be unique on the " +
1770
+ "device, and shall NOT be reused after the associated preset has been deleted." +
1771
+ "\n" +
1772
+ "This field shall only be null when the encompassing PresetStruct is appended to the Presets " +
1773
+ "attribute for the purpose of creating a new Preset. Refer to Presets for the creation of Preset " +
1774
+ "handles.",
1775
+
1776
+ xref: { document: "cluster", section: "4.3.8.28.1" }
1777
+ }),
1778
+
1779
+ Field({
1780
+ name: "PresetScenario", id: 0x1, type: "PresetScenarioEnum", conformance: "M",
1781
+ details: "This field shall indicate the associated PresetScenarioEnum value for this preset.",
1782
+ xref: { document: "cluster", section: "4.3.8.28.2" }
1783
+ }),
1784
+
1785
+ Field({
1786
+ name: "Name", id: 0x2, type: "string", conformance: "O", constraint: "max 64", default: null,
1787
+ quality: "X",
1788
+ details: "This field shall indicate a name provided by a user. The null value shall indicate no name." +
1789
+ "\n" +
1790
+ "Within each subset of presets sharing the same PresetScenario field value, there shall NOT be any " +
1791
+ "presets with the same value, including null as a value, in the Name field.",
1792
+ xref: { document: "cluster", section: "4.3.8.28.3" }
1793
+ }),
1794
+
1795
+ Field({
1796
+ name: "CoolingSetpoint", id: 0x3, type: "temperature", conformance: "COOL", constraint: "desc",
1797
+ default: { type: "celsius", value: 26 },
1798
+ details: "This field shall indicate the cooling setpoint for the preset. Refer to Setpoint Limits for value " +
1799
+ "constraints.",
1800
+ xref: { document: "cluster", section: "4.3.8.28.4" }
1801
+ }),
1802
+
1803
+ Field({
1804
+ name: "HeatingSetpoint", id: 0x4, type: "temperature", conformance: "HEAT", constraint: "desc",
1805
+ default: { type: "celsius", value: 20 },
1806
+ details: "This field shall indicate the heating setpoint for the preset. Refer to Setpoint Limits for value " +
1807
+ "constraints.",
1808
+ xref: { document: "cluster", section: "4.3.8.28.5" }
1809
+ }),
1810
+
1811
+ Field({
1812
+ name: "BuiltIn", id: 0x5, type: "bool", conformance: "M", default: false, quality: "X",
1813
+ details: "This field shall indicate whether the preset is marked as \"built-in\", meaning that it can be " +
1814
+ "modified, but it cannot be deleted.",
1815
+ xref: { document: "cluster", section: "4.3.8.28.6" }
1816
+ })
1817
+ ),
1818
+
1819
+ Datatype(
1820
+ { name: "PresetTypeStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.29" } },
1821
+ Field({
1822
+ name: "PresetScenario", id: 0x0, type: "PresetScenarioEnum", conformance: "M",
1823
+ details: "This field shall specify a PresetScenarioEnum value supported by this thermostat.",
1824
+ xref: { document: "cluster", section: "4.3.8.29.1" }
1825
+ }),
1826
+ Field({
1827
+ name: "NumberOfPresets", id: 0x1, type: "uint8", conformance: "M", default: 0,
1828
+ details: "This field shall specify a limit for the number of presets for this PresetScenarioEnum.",
1829
+ xref: { document: "cluster", section: "4.3.8.29.2" }
1830
+ }),
1831
+ Field({
1832
+ name: "PresetTypeFeatures", id: 0x2, type: "PresetTypeFeaturesBitmap", conformance: "M", default: 0,
1833
+ details: "This field shall specify a bitmap of features for this PresetTypeStruct.",
1834
+ xref: { document: "cluster", section: "4.3.8.29.3" }
1835
+ })
1836
+ ),
1837
+
1241
1838
  Datatype(
1242
1839
  {
1243
1840
  name: "WeeklyScheduleTransitionStruct", type: "struct",
1244
1841
  details: "This represents a single transition in a Thermostat schedule",
1245
- xref: { document: "cluster", section: "4.3.8.24" }
1842
+ xref: { document: "cluster", section: "4.3.8.30" }
1246
1843
  },
1247
1844
 
1248
1845
  Field({
@@ -1251,22 +1848,240 @@ export const Thermostat = Cluster(
1251
1848
  "time will be represented by a 16 bits unsigned integer to designate the minutes since midnight. For " +
1252
1849
  "example, 6am will be represented by 360 minutes since midnight and 11:30pm will be represented by " +
1253
1850
  "1410 minutes since midnight.",
1254
- xref: { document: "cluster", section: "4.3.8.24.1" }
1851
+ xref: { document: "cluster", section: "4.3.8.30.1" }
1255
1852
  }),
1256
1853
 
1257
1854
  Field({
1258
1855
  name: "HeatSetpoint", id: 0x1, type: "temperature", conformance: "M", quality: "X",
1259
1856
  details: "This field shall represent the heat setpoint to be applied at this associated transition start time.",
1260
- xref: { document: "cluster", section: "4.3.8.24.2" }
1857
+ xref: { document: "cluster", section: "4.3.8.30.2" }
1261
1858
  }),
1262
1859
  Field({
1263
1860
  name: "CoolSetpoint", id: 0x2, type: "temperature", conformance: "M", quality: "X",
1264
1861
  details: "This field shall represent the cool setpoint to be applied at this associated transition start time.",
1265
- xref: { document: "cluster", section: "4.3.8.24.3" }
1862
+ xref: { document: "cluster", section: "4.3.8.30.3" }
1266
1863
  })
1267
1864
  ),
1268
1865
 
1269
- Datatype({ name: "OccupancyBitmap", type: "OccupancySensing.OccupancyBitmap" })
1866
+ Datatype(
1867
+ { name: "ScheduleStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.31" } },
1868
+
1869
+ Field({
1870
+ name: "ScheduleHandle", id: 0x0, type: "octstr", conformance: "M", constraint: "max 16",
1871
+ quality: "X",
1872
+
1873
+ details: "This field shall indicate a device generated identifier for this schedule. It shall be unique on " +
1874
+ "the device, and shall NOT be reused after the associated schedule has been deleted." +
1875
+ "\n" +
1876
+ "This field shall only be null when the encompassing ScheduleStruct is appended to the Schedules " +
1877
+ "attribute for the purpose of creating a new Schedule. Refer to Schedules for the creation of " +
1878
+ "Schedule handles.",
1879
+
1880
+ xref: { document: "cluster", section: "4.3.8.31.1" }
1881
+ }),
1882
+
1883
+ Field({
1884
+ name: "SystemMode", id: 0x1, type: "SystemModeEnum", conformance: "M", constraint: "desc",
1885
+ details: "This field shall specify the default thermostat system mode for transitions in this schedule. The " +
1886
+ "only valid values for this field shall be Auto, Heat, and Cool.",
1887
+ xref: { document: "cluster", section: "4.3.8.31.2" }
1888
+ }),
1889
+
1890
+ Field({
1891
+ name: "Name", id: 0x2, type: "string", conformance: "O", constraint: "max 64",
1892
+ details: "This field shall specify a name for the ScheduleStruct.",
1893
+ xref: { document: "cluster", section: "4.3.8.31.3" }
1894
+ }),
1895
+ Field({
1896
+ name: "PresetHandle", id: 0x3, type: "octstr", conformance: "O", constraint: "max 16",
1897
+ details: "This field shall indicate the default PresetHandle value for transitions in this schedule.",
1898
+ xref: { document: "cluster", section: "4.3.8.31.4" }
1899
+ }),
1900
+
1901
+ Field(
1902
+ {
1903
+ name: "Transitions", id: 0x4, type: "list", conformance: "M",
1904
+ constraint: "1 to numberOfScheduleTransitions", default: [],
1905
+
1906
+ details: "This field shall specify a list of transitions for the schedule." +
1907
+ "\n" +
1908
+ "This field shall NOT contain more than one ScheduleStruct with the same TransitionTime field and " +
1909
+ "overlapping DayOfWeek fields; i.e. there shall be no duplicate transitions." +
1910
+ "\n" +
1911
+ "If the NumberOfScheduleTransitionsPerDay attribute is not null, then for each bit in " +
1912
+ "ScheduleDayOfWeekBitmap, the number of transitions with that bit set in DayOfWeek shall NOT be " +
1913
+ "greater than the value of the NumberOfScheduleTransitionsPerDay attribute." +
1914
+ "\n" +
1915
+ "For the purposes of determining which ScheduleStruct in this list is currently active, the current " +
1916
+ "time shall be the number of minutes past midnight in the display value of the current time, not the " +
1917
+ "actual number of minutes that have elapsed since midnight. On days which transition into or out of " +
1918
+ "daylight saving time, certain values may repeat or not occur during the transition period." +
1919
+ "\n" +
1920
+ "A ScheduleTransitionStruct in this list shall be active if the current day of the week matches its " +
1921
+ "DayOfWeek field and the current time is greater than or equal to the TransitionTime, but less than " +
1922
+ "the TransitionTime on any other ScheduleTransitionStruct in the Transitions field whose DayOfWeek " +
1923
+ "field also matches the current day of the week." +
1924
+ "\n" +
1925
+ "If the current time is less than every ScheduleTransitionStruct whose DayOfWeek field also matches " +
1926
+ "the current day of the week, the server shall attempt the same process to identify the active " +
1927
+ "ScheduleTransitionStruct for the day preceding the previously attempted day of the week, repeating " +
1928
+ "until an active ScheduleTransitionStruct is found or the attempted day is the current day of the " +
1929
+ "week again. If no active ScheduleTransitionStruct is found, then the active " +
1930
+ "ScheduleTransitionStruct shall be the ScheduleTransitionStruct with the largest TransitionTime " +
1931
+ "field from the set of ScheduleTransitionStructs whose DayOfWeek field matches the current day of " +
1932
+ "the week.",
1933
+
1934
+ xref: { document: "cluster", section: "4.3.8.31.5" }
1935
+ },
1936
+
1937
+ Field({ name: "entry", type: "ScheduleTransitionStruct" })
1938
+ ),
1939
+
1940
+ Field({
1941
+ name: "BuiltIn", id: 0x5, type: "bool", conformance: "M", default: false, quality: "X",
1942
+ details: "This field shall indicate whether the schedule is marked as \"built-in\", meaning that it can be " +
1943
+ "modified, but it cannot be deleted.",
1944
+ xref: { document: "cluster", section: "4.3.8.31.6" }
1945
+ })
1946
+ ),
1947
+
1948
+ Datatype(
1949
+ {
1950
+ name: "ScheduleTransitionStruct", type: "struct",
1951
+
1952
+ details: "This struct provides a time of day and a set of days of the week for a state transition within a " +
1953
+ "schedule. The thermostat shall use the following order of precedence for determining a new setpoint " +
1954
+ "at the time of transition:" +
1955
+ "\n" +
1956
+ " 1. If the PresetHandle field is provided, then the setpoint for the PresetStruct in the Presets " +
1957
+ " attribute with that identifier shall be used" +
1958
+ "\n" +
1959
+ " 2. If either the HeatingSetpoint or CoolingSetpoint is provided, then it shall be used" +
1960
+ "\n" +
1961
+ " a. If the SystemMode field is provided, the HeatingSetpoint and CoolingSetpoint fields shall be " +
1962
+ " interpreted using the SystemMode field" +
1963
+ "\n" +
1964
+ " b. If the SystemMode field is not provided, the HeatingSetpoint and CoolingSetpoint fields " +
1965
+ " shall be interpreted using the SystemMode field on the parent ScheduleStruct" +
1966
+ "\n" +
1967
+ " 3. If neither the PresetHandle field or any Setpoint field is provided, then the PresetHandle " +
1968
+ " field on the parent ScheduleStruct shall be used to determine the active PresetStruct" +
1969
+ "\n" +
1970
+ " 4. If the PresetHandle is not indicated and no setpoint is provided for the current SystemMode, " +
1971
+ " the server shall use a default value for the current SystemMode." +
1972
+ "\n" +
1973
+ "If the setpoint was derived from a preset, then the ActivePresetHandle shall be set to the " +
1974
+ "PresetHandle of that preset." +
1975
+ "\n" +
1976
+ "If a CoolingSetpoint was used to determine the cooling setpoint:" +
1977
+ "\n" +
1978
+ " • If the server supports the OCC feature, and the Occupied bit is not set on the Occupancy " +
1979
+ " attribute, then the UnoccupiedCoolingSetpoint attribute shall be set to the CoolingSetpoint" +
1980
+ "\n" +
1981
+ " • Otherwise, the OccupiedCoolingSetpoint attribute shall be set to the CoolingSetpoint If a " +
1982
+ " HeatingSetpoint was used to determine the heating setpoint:" +
1983
+ "\n" +
1984
+ " • If the server supports the OCC feature, and the Occupied bit is not set on the Occupancy " +
1985
+ " attribute, then the UnoccupiedHeatingSetpoint attribute shall be set to the HeatingSetpoint" +
1986
+ "\n" +
1987
+ " • Otherwise, the OccupiedHeatingSetpoint attribute shall be set to the HeatingSetpoint The " +
1988
+ " ScheduleTransitionStruct shall be invalid if all the following are true:" +
1989
+ "\n" +
1990
+ " • The HeatingSetpoint field is not provided" +
1991
+ "\n" +
1992
+ " • The PresetHandle field is not provided" +
1993
+ "\n" +
1994
+ " • The PresetHandle field on the encompassing ScheduleStruct is not provided" +
1995
+ "\n" +
1996
+ " • The SystemMode field is provided and has the value Heat or Auto, or the SystemMode field on the " +
1997
+ " parent ScheduleStruct has the value Heat or Auto" +
1998
+ "\n" +
1999
+ "The ScheduleTransitionStruct shall be invalid if all the following are true:" +
2000
+ "\n" +
2001
+ " • The CoolingSetpoint field is not provided" +
2002
+ "\n" +
2003
+ " • The PresetHandle field is not provided" +
2004
+ "\n" +
2005
+ " • The PresetHandle field on the encompassing ScheduleStruct is not provided" +
2006
+ "\n" +
2007
+ " • The SystemMode field is provided and has the value Cool or Auto, or the SystemMode field on the " +
2008
+ " parent ScheduleStruct has the value Cool or Auto",
2009
+
2010
+ xref: { document: "cluster", section: "4.3.8.32" }
2011
+ },
2012
+
2013
+ Field({
2014
+ name: "DayOfWeek", id: 0x0, type: "ScheduleDayOfWeekBitmap", conformance: "M", constraint: "desc",
2015
+ details: "This field shall specify a bitmask of days of the week that the transition applies to. The Vacation " +
2016
+ "bit shall NOT be set; vacation schedules shall be set via the vacation preset.",
2017
+ xref: { document: "cluster", section: "4.3.8.32.1" }
2018
+ }),
2019
+
2020
+ Field({
2021
+ name: "TransitionTime", id: 0x1, type: "uint16", conformance: "M", constraint: "max 1439",
2022
+ details: "This shall specify the time of day at which the transition becomes active, in terms of minutes " +
2023
+ "within the day representing the wall clock, where 0 is 00:00:00, 1 is 00:01:00 and 1439 is 23:59:00." +
2024
+ "\n" +
2025
+ "Handling of transitions during the changeover of Daylight Saving Time is implementation-dependent.",
2026
+ xref: { document: "cluster", section: "4.3.8.32.2" }
2027
+ }),
2028
+
2029
+ Field({
2030
+ name: "PresetHandle", id: 0x2, type: "octstr", conformance: "[PRES]", constraint: "max 16",
2031
+ details: "This field shall specify the preset used at the TransitionTime. If this field is provided, then the " +
2032
+ "SystemMode, CoolingSetpoint and HeatingSetpoint fields shall NOT be provided.",
2033
+ xref: { document: "cluster", section: "4.3.8.32.3" }
2034
+ }),
2035
+
2036
+ Field({
2037
+ name: "SystemMode", id: 0x3, type: "SystemModeEnum", conformance: "O", constraint: "desc",
2038
+ details: "This shall specify the default mode to which the thermostat will switch for this transition, " +
2039
+ "overriding the default for the schedule. The only valid values for this field shall be Auto, Heat, " +
2040
+ "Cool and Off. This field shall only be included when the required system mode differs from the " +
2041
+ "schedule’s default SystemMode.",
2042
+ xref: { document: "cluster", section: "4.3.8.32.4" }
2043
+ }),
2044
+
2045
+ Field({
2046
+ name: "CoolingSetpoint", id: 0x4, type: "temperature", conformance: "[COOL]", constraint: "desc",
2047
+ details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this " +
2048
+ "field shall NOT be included. Refer to Setpoint Limits for value constraints.",
2049
+ xref: { document: "cluster", section: "4.3.8.32.5" }
2050
+ }),
2051
+
2052
+ Field({
2053
+ name: "HeatingSetpoint", id: 0x5, type: "temperature", conformance: "[HEAT]", constraint: "desc",
2054
+ details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this " +
2055
+ "field shall NOT be included. Refer to Setpoint Limits for value constraints.",
2056
+ xref: { document: "cluster", section: "4.3.8.32.6" }
2057
+ })
2058
+ ),
2059
+
2060
+ Datatype(
2061
+ { name: "ScheduleTypeStruct", type: "struct", xref: { document: "cluster", section: "4.3.8.33" } },
2062
+
2063
+ Field({
2064
+ name: "SystemMode", id: 0x0, type: "SystemModeEnum", conformance: "M", constraint: "desc",
2065
+ details: "This field shall specify a SystemModeEnum supported by this thermostat for Schedules. The only " +
2066
+ "valid values for this field shall be Auto, Heat, and Cool.",
2067
+ xref: { document: "cluster", section: "4.3.8.33.1" }
2068
+ }),
2069
+
2070
+ Field({
2071
+ name: "NumberOfSchedules", id: 0x1, type: "uint8", conformance: "M",
2072
+ constraint: "max numberOfSchedules", default: 0,
2073
+ details: "This field shall specify a limit for the number of Schedules for this SystemMode.",
2074
+ xref: { document: "cluster", section: "4.3.8.33.2" }
2075
+ }),
2076
+
2077
+ Field({
2078
+ name: "ScheduleTypeFeatures", id: 0x2, type: "ScheduleTypeFeaturesBitmap", conformance: "M",
2079
+ constraint: "desc", default: 0,
2080
+ details: "This field shall specify a bitmap of features for this schedule entry. At least one of " +
2081
+ "SupportsPresets and SupportsSetpoints shall be set.",
2082
+ xref: { document: "cluster", section: "4.3.8.33.3" }
2083
+ })
2084
+ )
1270
2085
  );
1271
2086
 
1272
2087
  MatterDefinition.children.push(Thermostat);