@matter/model 0.17.4 → 0.17.5-alpha.0-20260704-9ea70abfa

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 (596) hide show
  1. package/dist/cjs/aspects/Quality.d.ts +1 -1
  2. package/dist/cjs/common/DeviceClassification.d.ts +6 -6
  3. package/dist/cjs/common/Specification.d.ts +2 -2
  4. package/dist/cjs/common/Specification.js +2 -2
  5. package/dist/cjs/dts/Specifications.d.ts +17 -0
  6. package/dist/cjs/logic/cluster-variance/InferredComponents.js +32 -2
  7. package/dist/cjs/logic/cluster-variance/InferredComponents.js.map +1 -1
  8. package/dist/cjs/models/Globals.d.ts +7 -0
  9. package/dist/cjs/models/Globals.d.ts.map +1 -1
  10. package/dist/cjs/standard/elements/access-control.element.d.ts.map +1 -1
  11. package/dist/cjs/standard/elements/access-control.element.js +26 -2
  12. package/dist/cjs/standard/elements/access-control.element.js.map +1 -1
  13. package/dist/cjs/standard/elements/ambient-context-sensing.element.d.ts +8 -0
  14. package/dist/cjs/standard/elements/ambient-context-sensing.element.d.ts.map +1 -0
  15. package/dist/cjs/standard/elements/ambient-context-sensing.element.js +186 -0
  16. package/dist/cjs/standard/elements/ambient-context-sensing.element.js.map +6 -0
  17. package/dist/cjs/standard/elements/base.element.js +1 -1
  18. package/dist/cjs/standard/elements/base.element.js.map +1 -1
  19. package/dist/cjs/standard/elements/basic-information.element.d.ts.map +1 -1
  20. package/dist/cjs/standard/elements/basic-information.element.js +24 -2
  21. package/dist/cjs/standard/elements/basic-information.element.js.map +1 -1
  22. package/dist/cjs/standard/elements/boolean-state-configuration.element.d.ts.map +1 -1
  23. package/dist/cjs/standard/elements/boolean-state-configuration.element.js +4 -3
  24. package/dist/cjs/standard/elements/boolean-state-configuration.element.js.map +1 -1
  25. package/dist/cjs/standard/elements/boolean-state.element.d.ts.map +1 -1
  26. package/dist/cjs/standard/elements/boolean-state.element.js +6 -2
  27. package/dist/cjs/standard/elements/boolean-state.element.js.map +2 -2
  28. package/dist/cjs/standard/elements/bridged-device-basic-information.element.js +2 -2
  29. package/dist/cjs/standard/elements/bridged-device-basic-information.element.js.map +1 -1
  30. package/dist/cjs/standard/elements/camera-av-stream-management.element.d.ts.map +1 -1
  31. package/dist/cjs/standard/elements/camera-av-stream-management.element.js +13 -3
  32. package/dist/cjs/standard/elements/camera-av-stream-management.element.js.map +1 -1
  33. package/dist/cjs/standard/elements/certification-type-enum.element.d.ts +8 -0
  34. package/dist/cjs/standard/elements/certification-type-enum.element.d.ts.map +1 -0
  35. package/dist/cjs/standard/elements/certification-type-enum.element.js +38 -0
  36. package/dist/cjs/standard/elements/certification-type-enum.element.js.map +6 -0
  37. package/dist/cjs/standard/elements/chime-cluster.element.js +2 -2
  38. package/dist/cjs/standard/elements/chime-cluster.element.js.map +1 -1
  39. package/dist/cjs/standard/elements/closure-controller.element.d.ts.map +1 -1
  40. package/dist/cjs/standard/elements/closure-controller.element.js +0 -1
  41. package/dist/cjs/standard/elements/closure-controller.element.js.map +1 -1
  42. package/dist/cjs/standard/elements/concentration-measurement.element.d.ts.map +1 -1
  43. package/dist/cjs/standard/elements/concentration-measurement.element.js +12 -4
  44. package/dist/cjs/standard/elements/concentration-measurement.element.js.map +1 -1
  45. package/dist/cjs/standard/elements/content-launcher.element.js +7 -7
  46. package/dist/cjs/standard/elements/content-launcher.element.js.map +1 -1
  47. package/dist/cjs/standard/elements/definitions.d.ts +7 -0
  48. package/dist/cjs/standard/elements/definitions.d.ts.map +1 -1
  49. package/dist/cjs/standard/elements/definitions.js +7 -0
  50. package/dist/cjs/standard/elements/definitions.js.map +1 -1
  51. package/dist/cjs/standard/elements/flow-measurement.element.d.ts.map +1 -1
  52. package/dist/cjs/standard/elements/flow-measurement.element.js +13 -4
  53. package/dist/cjs/standard/elements/flow-measurement.element.js.map +1 -1
  54. package/dist/cjs/standard/elements/general-commissioning.element.d.ts.map +1 -1
  55. package/dist/cjs/standard/elements/general-commissioning.element.js +6 -4
  56. package/dist/cjs/standard/elements/general-commissioning.element.js.map +1 -1
  57. package/dist/cjs/standard/elements/general-diagnostics.element.d.ts.map +1 -1
  58. package/dist/cjs/standard/elements/general-diagnostics.element.js +17 -1
  59. package/dist/cjs/standard/elements/general-diagnostics.element.js.map +1 -1
  60. package/dist/cjs/standard/elements/group-key-management.element.d.ts.map +1 -1
  61. package/dist/cjs/standard/elements/group-key-management.element.js +21 -3
  62. package/dist/cjs/standard/elements/group-key-management.element.js.map +1 -1
  63. package/dist/cjs/standard/elements/groupcast.element.d.ts +8 -0
  64. package/dist/cjs/standard/elements/groupcast.element.d.ts.map +1 -0
  65. package/dist/cjs/standard/elements/groupcast.element.js +198 -0
  66. package/dist/cjs/standard/elements/groupcast.element.js.map +6 -0
  67. package/dist/cjs/standard/elements/identified-human-activity.element.d.ts +8 -0
  68. package/dist/cjs/standard/elements/identified-human-activity.element.d.ts.map +1 -0
  69. package/dist/cjs/standard/elements/identified-human-activity.element.js +45 -0
  70. package/dist/cjs/standard/elements/identified-human-activity.element.js.map +6 -0
  71. package/dist/cjs/standard/elements/identified-object.element.d.ts +8 -0
  72. package/dist/cjs/standard/elements/identified-object.element.d.ts.map +1 -0
  73. package/dist/cjs/standard/elements/identified-object.element.js +48 -0
  74. package/dist/cjs/standard/elements/identified-object.element.js.map +6 -0
  75. package/dist/cjs/standard/elements/identified-sound.element.d.ts +8 -0
  76. package/dist/cjs/standard/elements/identified-sound.element.d.ts.map +1 -0
  77. package/dist/cjs/standard/elements/identified-sound.element.js +57 -0
  78. package/dist/cjs/standard/elements/identified-sound.element.js.map +6 -0
  79. package/dist/cjs/standard/elements/illuminance-measurement.element.d.ts.map +1 -1
  80. package/dist/cjs/standard/elements/illuminance-measurement.element.js +13 -5
  81. package/dist/cjs/standard/elements/illuminance-measurement.element.js.map +1 -1
  82. package/dist/cjs/standard/elements/joint-fabric-administrator-cluster.element.d.ts.map +1 -1
  83. package/dist/cjs/standard/elements/joint-fabric-administrator-cluster.element.js +20 -18
  84. package/dist/cjs/standard/elements/joint-fabric-administrator-cluster.element.js.map +1 -1
  85. package/dist/cjs/standard/elements/joint-fabric-datastore.element.d.ts.map +1 -1
  86. package/dist/cjs/standard/elements/joint-fabric-datastore.element.js +143 -62
  87. package/dist/cjs/standard/elements/joint-fabric-datastore.element.js.map +1 -1
  88. package/dist/cjs/standard/elements/mode-base.element.js +1 -1
  89. package/dist/cjs/standard/elements/mode-base.element.js.map +1 -1
  90. package/dist/cjs/standard/elements/models.d.ts +7 -0
  91. package/dist/cjs/standard/elements/models.d.ts.map +1 -1
  92. package/dist/cjs/standard/elements/models.js +14 -0
  93. package/dist/cjs/standard/elements/models.js.map +1 -1
  94. package/dist/cjs/standard/elements/namespace.element.d.ts.map +1 -1
  95. package/dist/cjs/standard/elements/namespace.element.js +4 -1
  96. package/dist/cjs/standard/elements/namespace.element.js.map +1 -1
  97. package/dist/cjs/standard/elements/network-commissioning.element.js +14 -14
  98. package/dist/cjs/standard/elements/network-commissioning.element.js.map +1 -1
  99. package/dist/cjs/standard/elements/network-infrastructure-manager.element.d.ts.map +1 -1
  100. package/dist/cjs/standard/elements/network-infrastructure-manager.element.js +6 -0
  101. package/dist/cjs/standard/elements/network-infrastructure-manager.element.js.map +1 -1
  102. package/dist/cjs/standard/elements/occupancy-sensing.element.d.ts.map +1 -1
  103. package/dist/cjs/standard/elements/occupancy-sensing.element.js +4 -3
  104. package/dist/cjs/standard/elements/occupancy-sensing.element.js.map +1 -1
  105. package/dist/cjs/standard/elements/power-topology.element.d.ts.map +1 -1
  106. package/dist/cjs/standard/elements/power-topology.element.js +0 -7
  107. package/dist/cjs/standard/elements/power-topology.element.js.map +2 -2
  108. package/dist/cjs/standard/elements/pressure-measurement.element.d.ts.map +1 -1
  109. package/dist/cjs/standard/elements/pressure-measurement.element.js +18 -8
  110. package/dist/cjs/standard/elements/pressure-measurement.element.js.map +1 -1
  111. package/dist/cjs/standard/elements/push-av-stream-transport.element.d.ts.map +1 -1
  112. package/dist/cjs/standard/elements/push-av-stream-transport.element.js +1 -3
  113. package/dist/cjs/standard/elements/push-av-stream-transport.element.js.map +1 -1
  114. package/dist/cjs/standard/elements/rain-sensor.element.d.ts.map +1 -1
  115. package/dist/cjs/standard/elements/rain-sensor.element.js +3 -2
  116. package/dist/cjs/standard/elements/rain-sensor.element.js.map +1 -1
  117. package/dist/cjs/standard/elements/refrigerator-device.element.d.ts.map +1 -1
  118. package/dist/cjs/standard/elements/refrigerator-device.element.js +4 -1
  119. package/dist/cjs/standard/elements/refrigerator-device.element.js.map +1 -1
  120. package/dist/cjs/standard/elements/relative-humidity-measurement.element.d.ts.map +1 -1
  121. package/dist/cjs/standard/elements/relative-humidity-measurement.element.js +12 -4
  122. package/dist/cjs/standard/elements/relative-humidity-measurement.element.js.map +1 -1
  123. package/dist/cjs/standard/elements/root-node.element.js +1 -1
  124. package/dist/cjs/standard/elements/root-node.element.js.map +1 -1
  125. package/dist/cjs/standard/elements/smoke-co-alarm-cluster.element.d.ts.map +1 -1
  126. package/dist/cjs/standard/elements/smoke-co-alarm-cluster.element.js +4 -2
  127. package/dist/cjs/standard/elements/smoke-co-alarm-cluster.element.js.map +1 -1
  128. package/dist/cjs/standard/elements/software-diagnostics.element.d.ts.map +1 -1
  129. package/dist/cjs/standard/elements/software-diagnostics.element.js +12 -4
  130. package/dist/cjs/standard/elements/software-diagnostics.element.js.map +1 -1
  131. package/dist/cjs/standard/elements/temperature-alarm.element.d.ts +8 -0
  132. package/dist/cjs/standard/elements/temperature-alarm.element.d.ts.map +1 -0
  133. package/dist/cjs/standard/elements/temperature-alarm.element.js +160 -0
  134. package/dist/cjs/standard/elements/temperature-alarm.element.js.map +6 -0
  135. package/dist/cjs/standard/elements/temperature-controlled-cabinet.element.d.ts.map +1 -1
  136. package/dist/cjs/standard/elements/temperature-controlled-cabinet.element.js +2 -1
  137. package/dist/cjs/standard/elements/temperature-controlled-cabinet.element.js.map +1 -1
  138. package/dist/cjs/standard/elements/temperature-measurement.element.d.ts.map +1 -1
  139. package/dist/cjs/standard/elements/temperature-measurement.element.js +13 -4
  140. package/dist/cjs/standard/elements/temperature-measurement.element.js.map +1 -1
  141. package/dist/cjs/standard/elements/thermostat-cluster.element.d.ts.map +1 -1
  142. package/dist/cjs/standard/elements/thermostat-cluster.element.js +143 -3
  143. package/dist/cjs/standard/elements/thermostat-cluster.element.js.map +2 -2
  144. package/dist/cjs/standard/elements/thermostat-device.element.d.ts.map +1 -1
  145. package/dist/cjs/standard/elements/thermostat-device.element.js +3 -2
  146. package/dist/cjs/standard/elements/thermostat-device.element.js.map +1 -1
  147. package/dist/cjs/standard/elements/water-freeze-detector.element.d.ts.map +1 -1
  148. package/dist/cjs/standard/elements/water-freeze-detector.element.js +3 -2
  149. package/dist/cjs/standard/elements/water-freeze-detector.element.js.map +1 -1
  150. package/dist/cjs/standard/elements/water-leak-detector.element.d.ts.map +1 -1
  151. package/dist/cjs/standard/elements/water-leak-detector.element.js +3 -2
  152. package/dist/cjs/standard/elements/water-leak-detector.element.js.map +1 -1
  153. package/dist/cjs/standard/elements/web-rtc-transport-provider.element.d.ts.map +1 -1
  154. package/dist/cjs/standard/elements/web-rtc-transport-provider.element.js +0 -8
  155. package/dist/cjs/standard/elements/web-rtc-transport-provider.element.js.map +2 -2
  156. package/dist/cjs/standard/resources/access-control.resource.js +68 -21
  157. package/dist/cjs/standard/resources/access-control.resource.js.map +1 -1
  158. package/dist/cjs/standard/resources/account-login.resource.js +3 -3
  159. package/dist/cjs/standard/resources/ambient-context-sensing.resource.d.ts +7 -0
  160. package/dist/cjs/standard/resources/ambient-context-sensing.resource.d.ts.map +1 -0
  161. package/dist/cjs/standard/resources/ambient-context-sensing.resource.js +241 -0
  162. package/dist/cjs/standard/resources/ambient-context-sensing.resource.js.map +6 -0
  163. package/dist/cjs/standard/resources/base.resource.js +38 -8
  164. package/dist/cjs/standard/resources/base.resource.js.map +1 -1
  165. package/dist/cjs/standard/resources/basic-information.resource.js +24 -0
  166. package/dist/cjs/standard/resources/basic-information.resource.js.map +1 -1
  167. package/dist/cjs/standard/resources/boolean-state-configuration.resource.js +7 -1
  168. package/dist/cjs/standard/resources/boolean-state-configuration.resource.js.map +1 -1
  169. package/dist/cjs/standard/resources/boolean-state.resource.js +14 -3
  170. package/dist/cjs/standard/resources/boolean-state.resource.js.map +1 -1
  171. package/dist/cjs/standard/resources/camera-av-stream-management.resource.js +7 -1
  172. package/dist/cjs/standard/resources/camera-av-stream-management.resource.js.map +1 -1
  173. package/dist/cjs/standard/resources/certification-type-enum.resource.d.ts +7 -0
  174. package/dist/cjs/standard/resources/certification-type-enum.resource.d.ts.map +1 -0
  175. package/dist/cjs/standard/resources/certification-type-enum.resource.js +22 -0
  176. package/dist/cjs/standard/resources/certification-type-enum.resource.js.map +6 -0
  177. package/dist/cjs/standard/resources/closure-controller.resource.js +0 -1
  178. package/dist/cjs/standard/resources/closure-controller.resource.js.map +1 -1
  179. package/dist/cjs/standard/resources/color-control.resource.js +12 -12
  180. package/dist/cjs/standard/resources/color-control.resource.js.map +1 -1
  181. package/dist/cjs/standard/resources/energy-preference.resource.js +1 -1
  182. package/dist/cjs/standard/resources/energy-preference.resource.js.map +1 -1
  183. package/dist/cjs/standard/resources/general-commissioning.resource.js +2 -2
  184. package/dist/cjs/standard/resources/general-diagnostics.resource.js +44 -0
  185. package/dist/cjs/standard/resources/general-diagnostics.resource.js.map +1 -1
  186. package/dist/cjs/standard/resources/group-key-management.resource.js +37 -15
  187. package/dist/cjs/standard/resources/group-key-management.resource.js.map +1 -1
  188. package/dist/cjs/standard/resources/groupcast.resource.d.ts +7 -0
  189. package/dist/cjs/standard/resources/groupcast.resource.d.ts.map +1 -0
  190. package/dist/cjs/standard/resources/groupcast.resource.js +375 -0
  191. package/dist/cjs/standard/resources/groupcast.resource.js.map +6 -0
  192. package/dist/cjs/standard/resources/groups.resource.js +1 -1
  193. package/dist/cjs/standard/resources/groups.resource.js.map +1 -1
  194. package/dist/cjs/standard/resources/icd-management.resource.js +1 -1
  195. package/dist/cjs/standard/resources/icd-management.resource.js.map +1 -1
  196. package/dist/cjs/standard/resources/identified-human-activity.resource.d.ts +7 -0
  197. package/dist/cjs/standard/resources/identified-human-activity.resource.d.ts.map +1 -0
  198. package/dist/cjs/standard/resources/identified-human-activity.resource.js +26 -0
  199. package/dist/cjs/standard/resources/identified-human-activity.resource.js.map +6 -0
  200. package/dist/cjs/standard/resources/identified-object.resource.d.ts +7 -0
  201. package/dist/cjs/standard/resources/identified-object.resource.d.ts.map +1 -0
  202. package/dist/cjs/standard/resources/identified-object.resource.js +29 -0
  203. package/dist/cjs/standard/resources/identified-object.resource.js.map +6 -0
  204. package/dist/cjs/standard/resources/identified-sound.resource.d.ts +7 -0
  205. package/dist/cjs/standard/resources/identified-sound.resource.d.ts.map +1 -0
  206. package/dist/cjs/standard/resources/identified-sound.resource.js +42 -0
  207. package/dist/cjs/standard/resources/identified-sound.resource.js.map +6 -0
  208. package/dist/cjs/standard/resources/index.d.ts +7 -0
  209. package/dist/cjs/standard/resources/index.d.ts.map +1 -1
  210. package/dist/cjs/standard/resources/index.js +7 -0
  211. package/dist/cjs/standard/resources/index.js.map +1 -1
  212. package/dist/cjs/standard/resources/joint-fabric-administrator-cluster.resource.js +23 -18
  213. package/dist/cjs/standard/resources/joint-fabric-administrator-cluster.resource.js.map +1 -1
  214. package/dist/cjs/standard/resources/joint-fabric-datastore.resource.js +353 -39
  215. package/dist/cjs/standard/resources/joint-fabric-datastore.resource.js.map +1 -1
  216. package/dist/cjs/standard/resources/mode-base.resource.js +1 -1
  217. package/dist/cjs/standard/resources/namespace.resource.js +15 -0
  218. package/dist/cjs/standard/resources/namespace.resource.js.map +1 -1
  219. package/dist/cjs/standard/resources/network-commissioning.resource.js +13 -13
  220. package/dist/cjs/standard/resources/network-commissioning.resource.js.map +1 -1
  221. package/dist/cjs/standard/resources/network-infrastructure-manager.resource.js +12 -6
  222. package/dist/cjs/standard/resources/network-infrastructure-manager.resource.js.map +1 -1
  223. package/dist/cjs/standard/resources/occupancy-sensing.resource.js +2 -1
  224. package/dist/cjs/standard/resources/occupancy-sensing.resource.js.map +1 -1
  225. package/dist/cjs/standard/resources/on-off.resource.js +2 -2
  226. package/dist/cjs/standard/resources/on-off.resource.js.map +1 -1
  227. package/dist/cjs/standard/resources/oven-mode.resource.js +1 -1
  228. package/dist/cjs/standard/resources/oven-mode.resource.js.map +1 -1
  229. package/dist/cjs/standard/resources/power-topology.resource.js +2 -28
  230. package/dist/cjs/standard/resources/power-topology.resource.js.map +1 -1
  231. package/dist/cjs/standard/resources/push-av-stream-transport.resource.js +3 -15
  232. package/dist/cjs/standard/resources/push-av-stream-transport.resource.js.map +1 -1
  233. package/dist/cjs/standard/resources/refrigerator-device.resource.js +1 -0
  234. package/dist/cjs/standard/resources/refrigerator-device.resource.js.map +1 -1
  235. package/dist/cjs/standard/resources/smoke-co-alarm-cluster.resource.js +10 -2
  236. package/dist/cjs/standard/resources/smoke-co-alarm-cluster.resource.js.map +1 -1
  237. package/dist/cjs/standard/resources/temperature-alarm.resource.d.ts +7 -0
  238. package/dist/cjs/standard/resources/temperature-alarm.resource.d.ts.map +1 -0
  239. package/dist/cjs/standard/resources/temperature-alarm.resource.js +183 -0
  240. package/dist/cjs/standard/resources/temperature-alarm.resource.js.map +6 -0
  241. package/dist/cjs/standard/resources/temperature-controlled-cabinet.resource.js +1 -0
  242. package/dist/cjs/standard/resources/temperature-controlled-cabinet.resource.js.map +1 -1
  243. package/dist/cjs/standard/resources/thermostat-cluster.resource.js +459 -135
  244. package/dist/cjs/standard/resources/thermostat-cluster.resource.js.map +1 -1
  245. package/dist/cjs/standard/resources/thermostat-device.resource.js +2 -1
  246. package/dist/cjs/standard/resources/thermostat-device.resource.js.map +1 -1
  247. package/dist/cjs/standard/resources/web-rtc-transport-definitions.resource.js +21 -21
  248. package/dist/cjs/standard/resources/web-rtc-transport-provider.resource.js +42 -80
  249. package/dist/cjs/standard/resources/web-rtc-transport-provider.resource.js.map +1 -1
  250. package/dist/cjs/standard/resources/window-covering-cluster.resource.js +14 -14
  251. package/dist/esm/aspects/Quality.d.ts +1 -1
  252. package/dist/esm/common/DeviceClassification.d.ts +6 -6
  253. package/dist/esm/common/Specification.d.ts +2 -2
  254. package/dist/esm/common/Specification.js +2 -2
  255. package/dist/esm/dts/Specifications.d.ts +17 -0
  256. package/dist/esm/logic/cluster-variance/InferredComponents.js +32 -2
  257. package/dist/esm/logic/cluster-variance/InferredComponents.js.map +1 -1
  258. package/dist/esm/models/Globals.d.ts +7 -0
  259. package/dist/esm/models/Globals.d.ts.map +1 -1
  260. package/dist/esm/standard/elements/access-control.element.d.ts.map +1 -1
  261. package/dist/esm/standard/elements/access-control.element.js +26 -2
  262. package/dist/esm/standard/elements/access-control.element.js.map +1 -1
  263. package/dist/esm/standard/elements/ambient-context-sensing.element.d.ts +8 -0
  264. package/dist/esm/standard/elements/ambient-context-sensing.element.d.ts.map +1 -0
  265. package/dist/esm/standard/elements/ambient-context-sensing.element.js +172 -0
  266. package/dist/esm/standard/elements/ambient-context-sensing.element.js.map +6 -0
  267. package/dist/esm/standard/elements/base.element.js +1 -1
  268. package/dist/esm/standard/elements/base.element.js.map +1 -1
  269. package/dist/esm/standard/elements/basic-information.element.d.ts.map +1 -1
  270. package/dist/esm/standard/elements/basic-information.element.js +24 -2
  271. package/dist/esm/standard/elements/basic-information.element.js.map +1 -1
  272. package/dist/esm/standard/elements/boolean-state-configuration.element.d.ts.map +1 -1
  273. package/dist/esm/standard/elements/boolean-state-configuration.element.js +4 -3
  274. package/dist/esm/standard/elements/boolean-state-configuration.element.js.map +1 -1
  275. package/dist/esm/standard/elements/boolean-state.element.d.ts.map +1 -1
  276. package/dist/esm/standard/elements/boolean-state.element.js +8 -4
  277. package/dist/esm/standard/elements/boolean-state.element.js.map +1 -1
  278. package/dist/esm/standard/elements/bridged-device-basic-information.element.js +2 -2
  279. package/dist/esm/standard/elements/bridged-device-basic-information.element.js.map +1 -1
  280. package/dist/esm/standard/elements/camera-av-stream-management.element.d.ts.map +1 -1
  281. package/dist/esm/standard/elements/camera-av-stream-management.element.js +13 -3
  282. package/dist/esm/standard/elements/camera-av-stream-management.element.js.map +1 -1
  283. package/dist/esm/standard/elements/certification-type-enum.element.d.ts +8 -0
  284. package/dist/esm/standard/elements/certification-type-enum.element.d.ts.map +1 -0
  285. package/dist/esm/standard/elements/certification-type-enum.element.js +18 -0
  286. package/dist/esm/standard/elements/certification-type-enum.element.js.map +6 -0
  287. package/dist/esm/standard/elements/chime-cluster.element.js +2 -2
  288. package/dist/esm/standard/elements/chime-cluster.element.js.map +1 -1
  289. package/dist/esm/standard/elements/closure-controller.element.d.ts.map +1 -1
  290. package/dist/esm/standard/elements/closure-controller.element.js +0 -1
  291. package/dist/esm/standard/elements/closure-controller.element.js.map +1 -1
  292. package/dist/esm/standard/elements/concentration-measurement.element.d.ts.map +1 -1
  293. package/dist/esm/standard/elements/concentration-measurement.element.js +12 -4
  294. package/dist/esm/standard/elements/concentration-measurement.element.js.map +1 -1
  295. package/dist/esm/standard/elements/content-launcher.element.js +7 -7
  296. package/dist/esm/standard/elements/content-launcher.element.js.map +1 -1
  297. package/dist/esm/standard/elements/definitions.d.ts +7 -0
  298. package/dist/esm/standard/elements/definitions.d.ts.map +1 -1
  299. package/dist/esm/standard/elements/definitions.js +7 -0
  300. package/dist/esm/standard/elements/definitions.js.map +1 -1
  301. package/dist/esm/standard/elements/flow-measurement.element.d.ts.map +1 -1
  302. package/dist/esm/standard/elements/flow-measurement.element.js +13 -4
  303. package/dist/esm/standard/elements/flow-measurement.element.js.map +1 -1
  304. package/dist/esm/standard/elements/general-commissioning.element.d.ts.map +1 -1
  305. package/dist/esm/standard/elements/general-commissioning.element.js +6 -4
  306. package/dist/esm/standard/elements/general-commissioning.element.js.map +1 -1
  307. package/dist/esm/standard/elements/general-diagnostics.element.d.ts.map +1 -1
  308. package/dist/esm/standard/elements/general-diagnostics.element.js +17 -1
  309. package/dist/esm/standard/elements/general-diagnostics.element.js.map +1 -1
  310. package/dist/esm/standard/elements/group-key-management.element.d.ts.map +1 -1
  311. package/dist/esm/standard/elements/group-key-management.element.js +21 -3
  312. package/dist/esm/standard/elements/group-key-management.element.js.map +1 -1
  313. package/dist/esm/standard/elements/groupcast.element.d.ts +8 -0
  314. package/dist/esm/standard/elements/groupcast.element.d.ts.map +1 -0
  315. package/dist/esm/standard/elements/groupcast.element.js +185 -0
  316. package/dist/esm/standard/elements/groupcast.element.js.map +6 -0
  317. package/dist/esm/standard/elements/identified-human-activity.element.d.ts +8 -0
  318. package/dist/esm/standard/elements/identified-human-activity.element.d.ts.map +1 -0
  319. package/dist/esm/standard/elements/identified-human-activity.element.js +28 -0
  320. package/dist/esm/standard/elements/identified-human-activity.element.js.map +6 -0
  321. package/dist/esm/standard/elements/identified-object.element.d.ts +8 -0
  322. package/dist/esm/standard/elements/identified-object.element.d.ts.map +1 -0
  323. package/dist/esm/standard/elements/identified-object.element.js +31 -0
  324. package/dist/esm/standard/elements/identified-object.element.js.map +6 -0
  325. package/dist/esm/standard/elements/identified-sound.element.d.ts +8 -0
  326. package/dist/esm/standard/elements/identified-sound.element.d.ts.map +1 -0
  327. package/dist/esm/standard/elements/identified-sound.element.js +40 -0
  328. package/dist/esm/standard/elements/identified-sound.element.js.map +6 -0
  329. package/dist/esm/standard/elements/illuminance-measurement.element.d.ts.map +1 -1
  330. package/dist/esm/standard/elements/illuminance-measurement.element.js +13 -5
  331. package/dist/esm/standard/elements/illuminance-measurement.element.js.map +1 -1
  332. package/dist/esm/standard/elements/joint-fabric-administrator-cluster.element.d.ts.map +1 -1
  333. package/dist/esm/standard/elements/joint-fabric-administrator-cluster.element.js +20 -18
  334. package/dist/esm/standard/elements/joint-fabric-administrator-cluster.element.js.map +1 -1
  335. package/dist/esm/standard/elements/joint-fabric-datastore.element.d.ts.map +1 -1
  336. package/dist/esm/standard/elements/joint-fabric-datastore.element.js +143 -62
  337. package/dist/esm/standard/elements/joint-fabric-datastore.element.js.map +1 -1
  338. package/dist/esm/standard/elements/mode-base.element.js +1 -1
  339. package/dist/esm/standard/elements/mode-base.element.js.map +1 -1
  340. package/dist/esm/standard/elements/models.d.ts +7 -0
  341. package/dist/esm/standard/elements/models.d.ts.map +1 -1
  342. package/dist/esm/standard/elements/models.js +14 -0
  343. package/dist/esm/standard/elements/models.js.map +1 -1
  344. package/dist/esm/standard/elements/namespace.element.d.ts.map +1 -1
  345. package/dist/esm/standard/elements/namespace.element.js +4 -1
  346. package/dist/esm/standard/elements/namespace.element.js.map +1 -1
  347. package/dist/esm/standard/elements/network-commissioning.element.js +14 -14
  348. package/dist/esm/standard/elements/network-commissioning.element.js.map +1 -1
  349. package/dist/esm/standard/elements/network-infrastructure-manager.element.d.ts.map +1 -1
  350. package/dist/esm/standard/elements/network-infrastructure-manager.element.js +6 -0
  351. package/dist/esm/standard/elements/network-infrastructure-manager.element.js.map +1 -1
  352. package/dist/esm/standard/elements/occupancy-sensing.element.d.ts.map +1 -1
  353. package/dist/esm/standard/elements/occupancy-sensing.element.js +4 -3
  354. package/dist/esm/standard/elements/occupancy-sensing.element.js.map +1 -1
  355. package/dist/esm/standard/elements/power-topology.element.d.ts.map +1 -1
  356. package/dist/esm/standard/elements/power-topology.element.js +1 -9
  357. package/dist/esm/standard/elements/power-topology.element.js.map +1 -1
  358. package/dist/esm/standard/elements/pressure-measurement.element.d.ts.map +1 -1
  359. package/dist/esm/standard/elements/pressure-measurement.element.js +18 -8
  360. package/dist/esm/standard/elements/pressure-measurement.element.js.map +1 -1
  361. package/dist/esm/standard/elements/push-av-stream-transport.element.d.ts.map +1 -1
  362. package/dist/esm/standard/elements/push-av-stream-transport.element.js +1 -3
  363. package/dist/esm/standard/elements/push-av-stream-transport.element.js.map +1 -1
  364. package/dist/esm/standard/elements/rain-sensor.element.d.ts.map +1 -1
  365. package/dist/esm/standard/elements/rain-sensor.element.js +3 -2
  366. package/dist/esm/standard/elements/rain-sensor.element.js.map +1 -1
  367. package/dist/esm/standard/elements/refrigerator-device.element.d.ts.map +1 -1
  368. package/dist/esm/standard/elements/refrigerator-device.element.js +4 -1
  369. package/dist/esm/standard/elements/refrigerator-device.element.js.map +1 -1
  370. package/dist/esm/standard/elements/relative-humidity-measurement.element.d.ts.map +1 -1
  371. package/dist/esm/standard/elements/relative-humidity-measurement.element.js +12 -4
  372. package/dist/esm/standard/elements/relative-humidity-measurement.element.js.map +1 -1
  373. package/dist/esm/standard/elements/root-node.element.js +1 -1
  374. package/dist/esm/standard/elements/root-node.element.js.map +1 -1
  375. package/dist/esm/standard/elements/smoke-co-alarm-cluster.element.d.ts.map +1 -1
  376. package/dist/esm/standard/elements/smoke-co-alarm-cluster.element.js +4 -2
  377. package/dist/esm/standard/elements/smoke-co-alarm-cluster.element.js.map +1 -1
  378. package/dist/esm/standard/elements/software-diagnostics.element.d.ts.map +1 -1
  379. package/dist/esm/standard/elements/software-diagnostics.element.js +12 -4
  380. package/dist/esm/standard/elements/software-diagnostics.element.js.map +1 -1
  381. package/dist/esm/standard/elements/temperature-alarm.element.d.ts +8 -0
  382. package/dist/esm/standard/elements/temperature-alarm.element.d.ts.map +1 -0
  383. package/dist/esm/standard/elements/temperature-alarm.element.js +146 -0
  384. package/dist/esm/standard/elements/temperature-alarm.element.js.map +6 -0
  385. package/dist/esm/standard/elements/temperature-controlled-cabinet.element.d.ts.map +1 -1
  386. package/dist/esm/standard/elements/temperature-controlled-cabinet.element.js +2 -1
  387. package/dist/esm/standard/elements/temperature-controlled-cabinet.element.js.map +1 -1
  388. package/dist/esm/standard/elements/temperature-measurement.element.d.ts.map +1 -1
  389. package/dist/esm/standard/elements/temperature-measurement.element.js +13 -4
  390. package/dist/esm/standard/elements/temperature-measurement.element.js.map +1 -1
  391. package/dist/esm/standard/elements/thermostat-cluster.element.d.ts.map +1 -1
  392. package/dist/esm/standard/elements/thermostat-cluster.element.js +144 -3
  393. package/dist/esm/standard/elements/thermostat-cluster.element.js.map +1 -1
  394. package/dist/esm/standard/elements/thermostat-device.element.d.ts.map +1 -1
  395. package/dist/esm/standard/elements/thermostat-device.element.js +3 -2
  396. package/dist/esm/standard/elements/thermostat-device.element.js.map +1 -1
  397. package/dist/esm/standard/elements/water-freeze-detector.element.d.ts.map +1 -1
  398. package/dist/esm/standard/elements/water-freeze-detector.element.js +3 -2
  399. package/dist/esm/standard/elements/water-freeze-detector.element.js.map +1 -1
  400. package/dist/esm/standard/elements/water-leak-detector.element.d.ts.map +1 -1
  401. package/dist/esm/standard/elements/water-leak-detector.element.js +3 -2
  402. package/dist/esm/standard/elements/water-leak-detector.element.js.map +1 -1
  403. package/dist/esm/standard/elements/web-rtc-transport-provider.element.d.ts.map +1 -1
  404. package/dist/esm/standard/elements/web-rtc-transport-provider.element.js +1 -10
  405. package/dist/esm/standard/elements/web-rtc-transport-provider.element.js.map +1 -1
  406. package/dist/esm/standard/resources/access-control.resource.js +68 -21
  407. package/dist/esm/standard/resources/access-control.resource.js.map +1 -1
  408. package/dist/esm/standard/resources/account-login.resource.js +3 -3
  409. package/dist/esm/standard/resources/ambient-context-sensing.resource.d.ts +7 -0
  410. package/dist/esm/standard/resources/ambient-context-sensing.resource.d.ts.map +1 -0
  411. package/dist/esm/standard/resources/ambient-context-sensing.resource.js +240 -0
  412. package/dist/esm/standard/resources/ambient-context-sensing.resource.js.map +6 -0
  413. package/dist/esm/standard/resources/base.resource.js +38 -8
  414. package/dist/esm/standard/resources/base.resource.js.map +1 -1
  415. package/dist/esm/standard/resources/basic-information.resource.js +24 -0
  416. package/dist/esm/standard/resources/basic-information.resource.js.map +1 -1
  417. package/dist/esm/standard/resources/boolean-state-configuration.resource.js +7 -1
  418. package/dist/esm/standard/resources/boolean-state-configuration.resource.js.map +1 -1
  419. package/dist/esm/standard/resources/boolean-state.resource.js +14 -3
  420. package/dist/esm/standard/resources/boolean-state.resource.js.map +1 -1
  421. package/dist/esm/standard/resources/camera-av-stream-management.resource.js +7 -1
  422. package/dist/esm/standard/resources/camera-av-stream-management.resource.js.map +1 -1
  423. package/dist/esm/standard/resources/certification-type-enum.resource.d.ts +7 -0
  424. package/dist/esm/standard/resources/certification-type-enum.resource.d.ts.map +1 -0
  425. package/dist/esm/standard/resources/certification-type-enum.resource.js +21 -0
  426. package/dist/esm/standard/resources/certification-type-enum.resource.js.map +6 -0
  427. package/dist/esm/standard/resources/closure-controller.resource.js +0 -1
  428. package/dist/esm/standard/resources/closure-controller.resource.js.map +1 -1
  429. package/dist/esm/standard/resources/color-control.resource.js +12 -12
  430. package/dist/esm/standard/resources/color-control.resource.js.map +1 -1
  431. package/dist/esm/standard/resources/energy-preference.resource.js +1 -1
  432. package/dist/esm/standard/resources/energy-preference.resource.js.map +1 -1
  433. package/dist/esm/standard/resources/general-commissioning.resource.js +2 -2
  434. package/dist/esm/standard/resources/general-diagnostics.resource.js +44 -0
  435. package/dist/esm/standard/resources/general-diagnostics.resource.js.map +1 -1
  436. package/dist/esm/standard/resources/group-key-management.resource.js +37 -15
  437. package/dist/esm/standard/resources/group-key-management.resource.js.map +1 -1
  438. package/dist/esm/standard/resources/groupcast.resource.d.ts +7 -0
  439. package/dist/esm/standard/resources/groupcast.resource.d.ts.map +1 -0
  440. package/dist/esm/standard/resources/groupcast.resource.js +374 -0
  441. package/dist/esm/standard/resources/groupcast.resource.js.map +6 -0
  442. package/dist/esm/standard/resources/groups.resource.js +1 -1
  443. package/dist/esm/standard/resources/groups.resource.js.map +1 -1
  444. package/dist/esm/standard/resources/icd-management.resource.js +1 -1
  445. package/dist/esm/standard/resources/icd-management.resource.js.map +1 -1
  446. package/dist/esm/standard/resources/identified-human-activity.resource.d.ts +7 -0
  447. package/dist/esm/standard/resources/identified-human-activity.resource.d.ts.map +1 -0
  448. package/dist/esm/standard/resources/identified-human-activity.resource.js +25 -0
  449. package/dist/esm/standard/resources/identified-human-activity.resource.js.map +6 -0
  450. package/dist/esm/standard/resources/identified-object.resource.d.ts +7 -0
  451. package/dist/esm/standard/resources/identified-object.resource.d.ts.map +1 -0
  452. package/dist/esm/standard/resources/identified-object.resource.js +28 -0
  453. package/dist/esm/standard/resources/identified-object.resource.js.map +6 -0
  454. package/dist/esm/standard/resources/identified-sound.resource.d.ts +7 -0
  455. package/dist/esm/standard/resources/identified-sound.resource.d.ts.map +1 -0
  456. package/dist/esm/standard/resources/identified-sound.resource.js +41 -0
  457. package/dist/esm/standard/resources/identified-sound.resource.js.map +6 -0
  458. package/dist/esm/standard/resources/index.d.ts +7 -0
  459. package/dist/esm/standard/resources/index.d.ts.map +1 -1
  460. package/dist/esm/standard/resources/index.js +7 -0
  461. package/dist/esm/standard/resources/index.js.map +1 -1
  462. package/dist/esm/standard/resources/joint-fabric-administrator-cluster.resource.js +23 -18
  463. package/dist/esm/standard/resources/joint-fabric-administrator-cluster.resource.js.map +1 -1
  464. package/dist/esm/standard/resources/joint-fabric-datastore.resource.js +353 -39
  465. package/dist/esm/standard/resources/joint-fabric-datastore.resource.js.map +1 -1
  466. package/dist/esm/standard/resources/mode-base.resource.js +1 -1
  467. package/dist/esm/standard/resources/namespace.resource.js +15 -0
  468. package/dist/esm/standard/resources/namespace.resource.js.map +1 -1
  469. package/dist/esm/standard/resources/network-commissioning.resource.js +13 -13
  470. package/dist/esm/standard/resources/network-commissioning.resource.js.map +1 -1
  471. package/dist/esm/standard/resources/network-infrastructure-manager.resource.js +12 -6
  472. package/dist/esm/standard/resources/network-infrastructure-manager.resource.js.map +1 -1
  473. package/dist/esm/standard/resources/occupancy-sensing.resource.js +2 -1
  474. package/dist/esm/standard/resources/occupancy-sensing.resource.js.map +1 -1
  475. package/dist/esm/standard/resources/on-off.resource.js +2 -2
  476. package/dist/esm/standard/resources/on-off.resource.js.map +1 -1
  477. package/dist/esm/standard/resources/oven-mode.resource.js +1 -1
  478. package/dist/esm/standard/resources/oven-mode.resource.js.map +1 -1
  479. package/dist/esm/standard/resources/power-topology.resource.js +2 -28
  480. package/dist/esm/standard/resources/power-topology.resource.js.map +1 -1
  481. package/dist/esm/standard/resources/push-av-stream-transport.resource.js +3 -15
  482. package/dist/esm/standard/resources/push-av-stream-transport.resource.js.map +1 -1
  483. package/dist/esm/standard/resources/refrigerator-device.resource.js +1 -0
  484. package/dist/esm/standard/resources/refrigerator-device.resource.js.map +1 -1
  485. package/dist/esm/standard/resources/smoke-co-alarm-cluster.resource.js +10 -2
  486. package/dist/esm/standard/resources/smoke-co-alarm-cluster.resource.js.map +1 -1
  487. package/dist/esm/standard/resources/temperature-alarm.resource.d.ts +7 -0
  488. package/dist/esm/standard/resources/temperature-alarm.resource.d.ts.map +1 -0
  489. package/dist/esm/standard/resources/temperature-alarm.resource.js +182 -0
  490. package/dist/esm/standard/resources/temperature-alarm.resource.js.map +6 -0
  491. package/dist/esm/standard/resources/temperature-controlled-cabinet.resource.js +1 -0
  492. package/dist/esm/standard/resources/temperature-controlled-cabinet.resource.js.map +1 -1
  493. package/dist/esm/standard/resources/thermostat-cluster.resource.js +459 -135
  494. package/dist/esm/standard/resources/thermostat-cluster.resource.js.map +1 -1
  495. package/dist/esm/standard/resources/thermostat-device.resource.js +2 -1
  496. package/dist/esm/standard/resources/thermostat-device.resource.js.map +1 -1
  497. package/dist/esm/standard/resources/web-rtc-transport-definitions.resource.js +21 -21
  498. package/dist/esm/standard/resources/web-rtc-transport-provider.resource.js +42 -80
  499. package/dist/esm/standard/resources/web-rtc-transport-provider.resource.js.map +1 -1
  500. package/dist/esm/standard/resources/window-covering-cluster.resource.js +14 -14
  501. package/package.json +3 -3
  502. package/src/aspects/Quality.ts +1 -1
  503. package/src/common/DeviceClassification.ts +6 -6
  504. package/src/common/Specification.ts +2 -2
  505. package/src/dts/Specifications.d.ts +17 -0
  506. package/src/logic/cluster-variance/InferredComponents.ts +43 -3
  507. package/src/standard/elements/access-control.element.ts +26 -2
  508. package/src/standard/elements/ambient-context-sensing.element.ts +140 -0
  509. package/src/standard/elements/base.element.ts +1 -1
  510. package/src/standard/elements/basic-information.element.ts +15 -2
  511. package/src/standard/elements/boolean-state-configuration.element.ts +4 -3
  512. package/src/standard/elements/boolean-state.element.ts +8 -4
  513. package/src/standard/elements/bridged-device-basic-information.element.ts +2 -2
  514. package/src/standard/elements/camera-av-stream-management.element.ts +8 -3
  515. package/src/standard/elements/certification-type-enum.element.ts +19 -0
  516. package/src/standard/elements/chime-cluster.element.ts +2 -2
  517. package/src/standard/elements/closure-controller.element.ts +0 -1
  518. package/src/standard/elements/concentration-measurement.element.ts +7 -4
  519. package/src/standard/elements/content-launcher.element.ts +7 -7
  520. package/src/standard/elements/definitions.ts +7 -0
  521. package/src/standard/elements/flow-measurement.element.ts +7 -4
  522. package/src/standard/elements/general-commissioning.element.ts +6 -4
  523. package/src/standard/elements/general-diagnostics.element.ts +14 -1
  524. package/src/standard/elements/group-key-management.element.ts +19 -3
  525. package/src/standard/elements/groupcast.element.ts +165 -0
  526. package/src/standard/elements/identified-human-activity.element.ts +29 -0
  527. package/src/standard/elements/identified-object.element.ts +32 -0
  528. package/src/standard/elements/identified-sound.element.ts +41 -0
  529. package/src/standard/elements/illuminance-measurement.element.ts +8 -5
  530. package/src/standard/elements/joint-fabric-administrator-cluster.element.ts +21 -19
  531. package/src/standard/elements/joint-fabric-datastore.element.ts +101 -60
  532. package/src/standard/elements/mode-base.element.ts +1 -1
  533. package/src/standard/elements/models.ts +7 -0
  534. package/src/standard/elements/namespace.element.ts +4 -1
  535. package/src/standard/elements/network-commissioning.element.ts +14 -14
  536. package/src/standard/elements/network-infrastructure-manager.element.ts +6 -0
  537. package/src/standard/elements/occupancy-sensing.element.ts +4 -3
  538. package/src/standard/elements/power-topology.element.ts +1 -10
  539. package/src/standard/elements/pressure-measurement.element.ts +11 -8
  540. package/src/standard/elements/push-av-stream-transport.element.ts +1 -3
  541. package/src/standard/elements/rain-sensor.element.ts +3 -2
  542. package/src/standard/elements/refrigerator-device.element.ts +4 -1
  543. package/src/standard/elements/relative-humidity-measurement.element.ts +7 -4
  544. package/src/standard/elements/root-node.element.ts +1 -1
  545. package/src/standard/elements/smoke-co-alarm-cluster.element.ts +4 -2
  546. package/src/standard/elements/software-diagnostics.element.ts +9 -4
  547. package/src/standard/elements/temperature-alarm.element.ts +109 -0
  548. package/src/standard/elements/temperature-controlled-cabinet.element.ts +2 -1
  549. package/src/standard/elements/temperature-measurement.element.ts +7 -4
  550. package/src/standard/elements/thermostat-cluster.element.ts +123 -3
  551. package/src/standard/elements/thermostat-device.element.ts +3 -2
  552. package/src/standard/elements/water-freeze-detector.element.ts +3 -2
  553. package/src/standard/elements/water-leak-detector.element.ts +3 -2
  554. package/src/standard/elements/web-rtc-transport-provider.element.ts +1 -11
  555. package/src/standard/resources/access-control.resource.ts +111 -21
  556. package/src/standard/resources/account-login.resource.ts +3 -3
  557. package/src/standard/resources/ambient-context-sensing.resource.ts +288 -0
  558. package/src/standard/resources/base.resource.ts +26 -8
  559. package/src/standard/resources/basic-information.resource.ts +29 -0
  560. package/src/standard/resources/boolean-state-configuration.resource.ts +6 -1
  561. package/src/standard/resources/boolean-state.resource.ts +12 -3
  562. package/src/standard/resources/camera-av-stream-management.resource.ts +17 -1
  563. package/src/standard/resources/certification-type-enum.resource.ts +22 -0
  564. package/src/standard/resources/closure-controller.resource.ts +0 -2
  565. package/src/standard/resources/color-control.resource.ts +12 -13
  566. package/src/standard/resources/energy-preference.resource.ts +1 -5
  567. package/src/standard/resources/general-commissioning.resource.ts +4 -4
  568. package/src/standard/resources/general-diagnostics.resource.ts +48 -0
  569. package/src/standard/resources/group-key-management.resource.ts +106 -41
  570. package/src/standard/resources/groupcast.resource.ts +568 -0
  571. package/src/standard/resources/groups.resource.ts +10 -1
  572. package/src/standard/resources/icd-management.resource.ts +2 -1
  573. package/src/standard/resources/identified-human-activity.resource.ts +28 -0
  574. package/src/standard/resources/identified-object.resource.ts +47 -0
  575. package/src/standard/resources/identified-sound.resource.ts +46 -0
  576. package/src/standard/resources/index.ts +7 -0
  577. package/src/standard/resources/joint-fabric-administrator-cluster.resource.ts +21 -22
  578. package/src/standard/resources/joint-fabric-datastore.resource.ts +814 -581
  579. package/src/standard/resources/mode-base.resource.ts +1 -1
  580. package/src/standard/resources/namespace.resource.ts +37 -0
  581. package/src/standard/resources/network-commissioning.resource.ts +28 -22
  582. package/src/standard/resources/network-infrastructure-manager.resource.ts +12 -6
  583. package/src/standard/resources/occupancy-sensing.resource.ts +2 -1
  584. package/src/standard/resources/on-off.resource.ts +15 -5
  585. package/src/standard/resources/oven-mode.resource.ts +6 -4
  586. package/src/standard/resources/power-topology.resource.ts +2 -25
  587. package/src/standard/resources/push-av-stream-transport.resource.ts +4 -18
  588. package/src/standard/resources/refrigerator-device.resource.ts +1 -0
  589. package/src/standard/resources/smoke-co-alarm-cluster.resource.ts +27 -2
  590. package/src/standard/resources/temperature-alarm.resource.ts +165 -0
  591. package/src/standard/resources/temperature-controlled-cabinet.resource.ts +1 -0
  592. package/src/standard/resources/thermostat-cluster.resource.ts +492 -135
  593. package/src/standard/resources/thermostat-device.resource.ts +2 -1
  594. package/src/standard/resources/web-rtc-transport-definitions.resource.ts +21 -21
  595. package/src/standard/resources/web-rtc-transport-provider.resource.ts +42 -80
  596. package/src/standard/resources/window-covering-cluster.resource.ts +14 -14
@@ -34,312 +34,524 @@ import_Resource.Resource.add(
34
34
  xref: "cluster\xA74.3.4.2",
35
35
  details: "This feature indicates that the thermostat is capable of schedules. If this feature is supported, the thermostat shall support a mechanism to do time synchronization."
36
36
  },
37
- { tag: "field", name: "PRES", details: "Thermostat supports setpoint presets" }
37
+ { tag: "field", name: "PRES", details: "Thermostat supports setpoint presets" },
38
+ { tag: "field", name: "TEVT", details: "Thermostat supports events" },
39
+ {
40
+ tag: "field",
41
+ name: "TSUGGEST",
42
+ xref: "cluster\xA74.3.4.3",
43
+ details: "This feature indicates that the thermostat can process suggestions. If this feature is supported, the thermostat shall support a mechanism to do time synchronization."
44
+ }
38
45
  ]
39
46
  },
40
47
  {
41
48
  tag: "attribute",
42
49
  name: "LocalTemperature",
43
- xref: "cluster\xA74.3.9.2",
50
+ xref: "cluster\xA74.3.11.2",
44
51
  details: "Indicates the current Calculated Local Temperature, when available.\n - If the LTNE feature is not supported:\n - If the LocalTemperatureCalibration is invalid or currently unavailable, the attribute shall report null.\n - If the LocalTemperatureCalibration is valid, the attribute shall report that value.\n - Otherwise, if the LTNE feature is supported, there is no feedback externally available for the LocalTemperatureCalibration. In that case, the LocalTemperature attribute shall always report null."
45
52
  },
46
53
  {
47
54
  tag: "attribute",
48
55
  name: "OutdoorTemperature",
49
- xref: "cluster\xA74.3.9.3",
56
+ xref: "cluster\xA74.3.11.3",
50
57
  details: "Indicates the outdoor temperature, as measured locally or remotely (over the network)."
51
58
  },
52
59
  {
53
60
  tag: "attribute",
54
61
  name: "Occupancy",
55
- xref: "cluster\xA74.3.9.4",
62
+ xref: "cluster\xA74.3.11.4",
56
63
  details: "Indicates whether the heated/cooled space is occupied or not, as measured locally or remotely (over the network)."
57
64
  },
58
65
  {
59
66
  tag: "attribute",
60
67
  name: "AbsMinHeatSetpointLimit",
61
- xref: "cluster\xA74.3.9.5",
68
+ xref: "cluster\xA74.3.11.5",
62
69
  details: "Indicates the absolute minimum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints"
63
70
  },
64
- { tag: "attribute", name: "AbsMaxHeatSetpointLimit", xref: "cluster\xA74.3.9" },
65
- { tag: "attribute", name: "AbsMinCoolSetpointLimit", xref: "cluster\xA74.3.9" },
71
+ {
72
+ tag: "attribute",
73
+ name: "AbsMaxHeatSetpointLimit",
74
+ xref: "cluster\xA74.3.11.6",
75
+ details: "Indicates the absolute maximum level that the heating setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints"
76
+ },
77
+ {
78
+ tag: "attribute",
79
+ name: "AbsMinCoolSetpointLimit",
80
+ xref: "cluster\xA74.3.11.7",
81
+ details: "Indicates the absolute minimum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints"
82
+ },
66
83
  {
67
84
  tag: "attribute",
68
85
  name: "AbsMaxCoolSetpointLimit",
69
- xref: "cluster\xA74.3.9.8",
86
+ xref: "cluster\xA74.3.11.8",
70
87
  details: "Indicates the absolute maximum level that the cooling setpoint may be set to. This is a limitation imposed by the manufacturer.\nRefer to Setpoint Limits for constraints"
71
88
  },
72
- { tag: "attribute", name: "PiCoolingDemand", xref: "cluster\xA74.3.9" },
73
- { tag: "attribute", name: "PiHeatingDemand", xref: "cluster\xA74.3.9" },
89
+ { tag: "attribute", name: "PiCoolingDemand", xref: "cluster\xA74.3.11" },
90
+ { tag: "attribute", name: "PiHeatingDemand", xref: "cluster\xA74.3.11" },
74
91
  {
75
92
  tag: "attribute",
76
93
  name: "HvacSystemTypeConfiguration",
77
- xref: "cluster\xA74.3.9.9",
94
+ xref: "cluster\xA74.3.11.9",
78
95
  details: "Indicates the HVAC system type controlled by the thermostat. If the thermostat uses physical DIP switches to set these parameters, this information shall be available read-only from the DIP switches. If these parameters are set via software, there shall be read/write access in order to provide remote programming capability."
79
96
  },
80
97
  {
81
98
  tag: "attribute",
82
99
  name: "LocalTemperatureCalibration",
83
- xref: "cluster\xA74.3.9.10",
100
+ xref: "cluster\xA74.3.11.10",
84
101
  details: "Indicates the offset the Thermostat server shall make to the measured temperature (locally or remotely) to adjust the Calculated Local Temperature prior to using, displaying or reporting it.\nThe purpose of this attribute is to adjust the calibration of the Thermostat server per the user's preferences (e.g., to match if there are multiple servers displaying different values for the same HVAC area) or compensate for variability amongst temperature sensors.\nIf a Thermostat client attempts to write LocalTemperatureCalibration attribute to an unsupported value (e.g., out of the range supported by the Thermostat server), the Thermostat server shall respond with a status of SUCCESS and set the value of LocalTemperatureCalibration to the upper or lower limit reached.\n> [!NOTE]\n> NOTE: Prior to revision 8 of this cluster specification the value of this attribute was constrained to a range of -2.5\xB0C to 2.5\xB0C."
85
102
  },
86
103
  {
87
104
  tag: "attribute",
88
105
  name: "OccupiedCoolingSetpoint",
89
- xref: "cluster\xA74.3.9.11",
106
+ xref: "cluster\xA74.3.11.11",
90
107
  details: "Indicates the cooling mode setpoint when the room is occupied.\nRefer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is less than (OccupiedHeatingSetpoint + MinSetpointDeadBand), the value of OccupiedHeatingSetpoint shall be adjusted to (OccupiedCoolingSetpoint - MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall be used as the cooling mode setpoint.\nIf a client changes the value of this attribute, the server supports the PRES feature, and the server either does not support the OCC feature or the Occupied bit is set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null."
91
108
  },
92
109
  {
93
110
  tag: "attribute",
94
111
  name: "OccupiedHeatingSetpoint",
95
- xref: "cluster\xA74.3.9.12",
112
+ xref: "cluster\xA74.3.11.12",
96
113
  details: "Indicates the heating mode setpoint when the room is occupied.\nRefer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is greater than (OccupiedCoolingSetpoint - MinSetpointDeadBand), the value of OccupiedCoolingSetpoint shall be adjusted to (OccupiedHeatingSetpoint + MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall be used as the heating mode setpoint.\nIf a client changes the value of this attribute, the server supports the PRES feature, and the server either does not support the OCC feature or the Occupied bit is set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null."
97
114
  },
98
115
  {
99
116
  tag: "attribute",
100
117
  name: "UnoccupiedCoolingSetpoint",
101
- xref: "cluster\xA74.3.9.13",
118
+ xref: "cluster\xA74.3.11.13",
102
119
  details: "Indicates the cooling mode setpoint when the room is unoccupied.\nRefer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxCoolSetpointLimit or less than MinCoolSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is less than (UnoccupiedHeatingSetpoint + MinSetpointDeadBand), the value of UnoccupiedHeatingSetpoint shall be adjusted to (UnoccupiedCoolingSetpoint - MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall NOT be used.\nIf a client changes the value of this attribute, the server supports the PRES and OCC features, and the Occupied bit is not set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null."
103
120
  },
104
121
  {
105
122
  tag: "attribute",
106
123
  name: "UnoccupiedHeatingSetpoint",
107
- xref: "cluster\xA74.3.9.14",
124
+ xref: "cluster\xA74.3.11.14",
108
125
  details: "Indicates the heating mode setpoint when the room is unoccupied.\nRefer to Setpoint Limits for constraints.\nIf an attempt is made to set this attribute to a value greater than MaxHeatSetpointLimit or less than MinHeatSetpointLimit, a response with the status code CONSTRAINT_ERROR shall be returned.\nIf this attribute is set to a value that is greater than (UnoccupiedCoolingSetpoint - MinSetpointDeadBand), the value of UnoccupiedCoolingSetpoint shall be adjusted to (UnoccupiedHeatingSetpoint + MinSetpointDeadBand).\nIf the occupancy status of the room is unknown, this attribute shall NOT be used.\nIf a client changes the value of this attribute, the server supports the PRES and OCC features, and the Occupied bit is not set on the Occupancy attribute, the value of the ActivePresetHandle attribute shall be set to null."
109
126
  },
110
127
  {
111
128
  tag: "attribute",
112
129
  name: "MinHeatSetpointLimit",
113
- xref: "cluster\xA74.3.9.15",
130
+ xref: "cluster\xA74.3.11.15",
114
131
  details: "Indicates the minimum level that the heating setpoint may be set to.\nThis attribute, and the following three attributes, allow the user to define setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (e.g., in a commercial building) to such setpoint limits can help conserve power.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned."
115
132
  },
116
133
  {
117
134
  tag: "attribute",
118
135
  name: "MaxHeatSetpointLimit",
119
- xref: "cluster\xA74.3.9.16",
136
+ xref: "cluster\xA74.3.11.16",
120
137
  details: "Indicates the maximum level that the heating setpoint may be set to.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned."
121
138
  },
122
139
  {
123
140
  tag: "attribute",
124
141
  name: "MinCoolSetpointLimit",
125
- xref: "cluster\xA74.3.9.17",
142
+ xref: "cluster\xA74.3.11.17",
126
143
  details: "Indicates the minimum level that the cooling setpoint may be set to.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned."
127
144
  },
128
145
  {
129
146
  tag: "attribute",
130
147
  name: "MaxCoolSetpointLimit",
131
- xref: "cluster\xA74.3.9.18",
148
+ xref: "cluster\xA74.3.11.18",
132
149
  details: "Indicates the maximum level that the cooling setpoint may be set to.\nRefer to Setpoint Limits for constraints. If an attempt is made to set this attribute to a value which conflicts with setpoint values then those setpoints shall be adjusted by the minimum amount to permit this attribute to be set to the desired value. If an attempt is made to set this attribute to a value which is not consistent with the constraints and cannot be resolved by modifying setpoints then a response with the status code CONSTRAINT_ERROR shall be returned."
133
150
  },
134
151
  {
135
152
  tag: "attribute",
136
153
  name: "MinSetpointDeadBand",
137
- xref: "cluster\xA74.3.9.19",
154
+ xref: "cluster\xA74.3.11.19",
138
155
  details: "On devices which support the AUTO feature, this attribute shall indicate the minimum difference between the Heat Setpoint and the Cool Setpoint.\nRefer to Setpoint Limits for constraints.\n> [!NOTE]\n> NOTE: Prior to revision 8 of this cluster specification the value of this attribute was constrained to a range of 0\xB0C to 2.5\xB0C.\n> [!NOTE]\n> NOTE: For backwards compatibility, this attribute is optionally writeable. However any writes to this attribute shall be silently ignored."
139
156
  },
140
157
  {
141
158
  tag: "attribute",
142
159
  name: "RemoteSensing",
143
- xref: "cluster\xA74.3.9.20",
160
+ xref: "cluster\xA74.3.11.20",
144
161
  details: "Indicates when the local temperature, outdoor temperature and occupancy are being sensed by remote networked sensors, rather than internal sensors.\nIf the LTNE feature is present in the server, the LocalTemperature RemoteSensing bit value shall always report a value of 0.\nIf the LocalTemperature RemoteSensing bit is written with a value of 1 when the LTNE feature is present, the write shall fail and the server shall report a CONSTRAINT_ERROR."
145
162
  },
146
163
  {
147
164
  tag: "attribute",
148
165
  name: "ControlSequenceOfOperation",
149
- xref: "cluster\xA74.3.9.21",
166
+ xref: "cluster\xA74.3.11.21",
150
167
  details: "Indicates the overall operating environment of the thermostat, and thus the possible system modes that the thermostat can operate in.\nIf an attempt is made to write to this attribute, the server shall silently ignore the write and the value of this attribute shall remain unchanged. This behavior is in place for backwards compatibility with existing thermostats."
151
168
  },
152
169
  {
153
170
  tag: "attribute",
154
171
  name: "SystemMode",
155
- xref: "cluster\xA74.3.9.22",
172
+ xref: "cluster\xA74.3.11.22",
156
173
  details: "Indicates the current operating mode of the thermostat. Its value shall be limited by the ControlSequenceOfOperation attribute."
157
174
  },
158
175
  {
159
176
  tag: "attribute",
160
177
  name: "ThermostatRunningMode",
161
- xref: "cluster\xA74.3.9.23",
178
+ xref: "cluster\xA74.3.11.23",
162
179
  details: "Indicates the running mode of the thermostat. This attribute uses the same values as SystemModeEnum but can only be Off, Cool or Heat. This attribute is intended to provide additional information when the thermostat's system mode is in auto mode."
163
180
  },
164
181
  {
165
182
  tag: "attribute",
166
183
  name: "TemperatureSetpointHold",
167
- xref: "cluster\xA74.3.9.27",
184
+ xref: "cluster\xA74.3.11.27",
168
185
  details: "Indicates the temperature hold status on the thermostat. If hold status is on, the thermostat SHOULD maintain the temperature setpoint for the current mode until a system mode change. If hold status is off, the thermostat SHOULD follow the setpoint transitions specified by its internal scheduling program. If the thermostat supports setpoint hold for a specific duration, it SHOULD also implement the TemperatureSetpointHoldDuration attribute.\nIf the server supports a setpoint hold for a specific duration, it SHOULD also implement the SetpointHoldExpiryTimestamp attribute.\nIf this attribute is updated to SetpointHoldOn and the TemperatureSetpointHoldDuration has a non-null value and the SetpointHoldExpiryTimestamp is supported, the server shall update the SetpointHoldExpiryTimestamp with a value of current UTC timestamp, in seconds, plus the value in TemperatureSetpointHoldDuration multiplied by 60.\nIf this attribute is updated to SetpointHoldOff and the SetpointHoldExpiryTimestamp is supported, the server shall set the SetpointHoldExpiryTimestamp to null."
169
186
  },
170
187
  {
171
188
  tag: "attribute",
172
189
  name: "TemperatureSetpointHoldDuration",
173
- xref: "cluster\xA74.3.9.28",
190
+ xref: "cluster\xA74.3.11.28",
174
191
  details: "Indicates the period in minutes for which a setpoint hold is active. Thermostats that support hold for a specified duration SHOULD implement this attribute. The null value indicates the field is unused. All other values are reserved.\nIf this attribute is updated to a non-null value and the TemperatureSetpointHold is set to SetpointHoldOn and the SetpointHoldExpiryTimestamp is supported, the server shall update SetpointHoldExpiryTimestamp with a value of current UTC timestamp, in seconds, plus the new value of this attribute multiplied by 60.\nIf this attribute is set to null and the SetpointHoldExpiryTimestamp is supported, the server shall set the SetpointHoldExpiryTimestamp to null."
175
192
  },
176
- { tag: "attribute", name: "ThermostatProgrammingOperationMode", xref: "cluster\xA74.3.9" },
193
+ { tag: "attribute", name: "ThermostatProgrammingOperationMode", xref: "cluster\xA74.3.11" },
177
194
  {
178
195
  tag: "attribute",
179
196
  name: "ThermostatRunningState",
180
- xref: "cluster\xA74.3.9.29",
197
+ xref: "cluster\xA74.3.11.29",
181
198
  details: "Indicates the current relay state of the heat, cool, and fan relays.\nUnimplemented outputs shall be treated as if they were Off."
182
199
  },
183
200
  {
184
201
  tag: "attribute",
185
202
  name: "SetpointChangeSource",
186
- xref: "cluster\xA74.3.9.30",
203
+ xref: "cluster\xA74.3.11.30",
187
204
  details: "Indicates the source of the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint (i.e., who or what determined the current setpoint).\nThis attribute enables service providers to determine whether changes to setpoints were initiated due to occupant comfort, scheduled programming or some other source (e.g., electric utility or other service provider). Because automation services may initiate frequent setpoint changes, this attribute clearly differentiates the source of setpoint changes made at the thermostat."
188
205
  },
189
206
  {
190
207
  tag: "attribute",
191
208
  name: "SetpointChangeAmount",
192
- xref: "cluster\xA74.3.9.31",
209
+ xref: "cluster\xA74.3.11.31",
193
210
  details: "Indicates the delta between the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint and the previous active setpoint. This attribute is meant to accompany the SetpointChangeSource attribute; devices implementing SetpointChangeAmount SHOULD also implement SetpointChangeSource.\nThe null value indicates that the previous setpoint was unknown."
194
211
  },
195
212
  {
196
213
  tag: "attribute",
197
214
  name: "SetpointChangeSourceTimestamp",
198
- xref: "cluster\xA74.3.9.32",
215
+ xref: "cluster\xA74.3.11.32",
199
216
  details: "Indicates the time in UTC at which the SetpointChangeAmount attribute change was recorded."
200
217
  },
201
- { tag: "attribute", name: "OccupiedSetback", xref: "cluster\xA74.3.9" },
202
- { tag: "attribute", name: "OccupiedSetbackMin", xref: "cluster\xA74.3.9" },
203
- { tag: "attribute", name: "OccupiedSetbackMax", xref: "cluster\xA74.3.9" },
204
- { tag: "attribute", name: "UnoccupiedSetback", xref: "cluster\xA74.3.9" },
205
- { tag: "attribute", name: "UnoccupiedSetbackMin", xref: "cluster\xA74.3.9" },
206
- { tag: "attribute", name: "UnoccupiedSetbackMax", xref: "cluster\xA74.3.9" },
218
+ { tag: "attribute", name: "OccupiedSetback", xref: "cluster\xA74.3.11" },
219
+ { tag: "attribute", name: "OccupiedSetbackMin", xref: "cluster\xA74.3.11" },
220
+ { tag: "attribute", name: "OccupiedSetbackMax", xref: "cluster\xA74.3.11" },
221
+ { tag: "attribute", name: "UnoccupiedSetback", xref: "cluster\xA74.3.11" },
222
+ { tag: "attribute", name: "UnoccupiedSetbackMin", xref: "cluster\xA74.3.11" },
223
+ { tag: "attribute", name: "UnoccupiedSetbackMax", xref: "cluster\xA74.3.11" },
207
224
  {
208
225
  tag: "attribute",
209
226
  name: "EmergencyHeatDelta",
210
- xref: "cluster\xA74.3.9.33",
227
+ xref: "cluster\xA74.3.11.33",
211
228
  details: "Indicates the delta between the Calculated Local Temperature and the OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint attributes at which the Thermostat server will operate in emergency heat mode.\nIf the difference between the Calculated Local Temperature and OccupiedCoolingSetpoint or UnoccupiedCoolingSetpoint is greater than or equal to the EmergencyHeatDelta and the Thermostat server's SystemMode attribute is in a heating-related mode, then the Thermostat server shall immediately switch to the SystemMode attribute value that provides the highest stage of heating (e.g., emergency heat) and continue operating in that running state until the OccupiedHeatingSetpoint value is reached. For example:\n - Calculated Local Temperature = 10.0\xB0C\n - OccupiedHeatingSetpoint = 16.0\xB0C\n - EmergencyHeatDelta = 2.0\xB0C\n=> OccupiedHeatingSetpoint - Calculated Local Temperature \u2265? EmergencyHeatDelta\n - => 16\xB0C - 10\xB0C \u2265? 2\xB0C\n=> TRUE >>> Thermostat server changes its SystemMode to operate in 2^nd stage or emergency heat mode\nThe purpose of this attribute is to provide Thermostat clients the ability to configure rapid heating when a setpoint is of a specified amount greater than the measured temperature. This allows the heated space to be quickly heated to the desired level set by the user."
212
229
  },
213
230
  {
214
231
  tag: "attribute",
215
232
  name: "AcType",
216
- xref: "cluster\xA74.3.9.34",
233
+ xref: "cluster\xA74.3.11.34",
217
234
  details: "Indicates the type of Mini Split ACTypeEnum of Mini Split AC is defined depending on how Cooling and Heating condition is achieved by Mini Split AC."
218
235
  },
219
236
  {
220
237
  tag: "attribute",
221
238
  name: "AcCapacity",
222
- xref: "cluster\xA74.3.9.35",
239
+ xref: "cluster\xA74.3.11.35",
223
240
  details: "Indicates capacity of Mini Split AC in terms of the format defined by the ACCapacityFormat attribute"
224
241
  },
225
242
  {
226
243
  tag: "attribute",
227
244
  name: "AcRefrigerantType",
228
- xref: "cluster\xA74.3.9.36",
245
+ xref: "cluster\xA74.3.11.36",
229
246
  details: "Indicates type of refrigerant used within the Mini Split AC."
230
247
  },
231
248
  {
232
249
  tag: "attribute",
233
250
  name: "AcCompressorType",
234
- xref: "cluster\xA74.3.9.37",
251
+ xref: "cluster\xA74.3.11.37",
235
252
  details: "Indicates the type of compressor used within the Mini Split AC."
236
253
  },
237
254
  {
238
255
  tag: "attribute",
239
256
  name: "AcErrorCode",
240
- xref: "cluster\xA74.3.9.38",
257
+ xref: "cluster\xA74.3.11.38",
241
258
  details: "Indicates the type of errors encountered within the Mini Split AC."
242
259
  },
243
260
  {
244
261
  tag: "attribute",
245
262
  name: "AcLouverPosition",
246
- xref: "cluster\xA74.3.9.39",
263
+ xref: "cluster\xA74.3.11.39",
247
264
  details: "Indicates the position of Louver on the AC."
248
265
  },
249
266
  {
250
267
  tag: "attribute",
251
268
  name: "AcCoilTemperature",
252
- xref: "cluster\xA74.3.9.40",
269
+ xref: "cluster\xA74.3.11.40",
253
270
  details: "Indicates the temperature of the AC coil, as measured locally or remotely (over the network)."
254
271
  },
255
272
  {
256
273
  tag: "attribute",
257
274
  name: "AcCapacityFormat",
258
- xref: "cluster\xA74.3.9.41",
275
+ xref: "cluster\xA74.3.11.41",
259
276
  details: "Indicates the format for the ACCapacity attribute."
260
277
  },
261
278
  {
262
279
  tag: "attribute",
263
280
  name: "PresetTypes",
264
- xref: "cluster\xA74.3.9.42",
281
+ xref: "cluster\xA74.3.11.42",
265
282
  details: "Indicates the supported PresetScenarioEnum values, limits on how many presets can be created for each PresetScenarioEnum, and whether or not a thermostat can transition automatically to a given scenario.\nThe list shall contain at least one entry. The list shall NOT be larger than the number of supported PresetScenarioEnum values (maximum 7). The list shall NOT contain any PresetTypeStruct entries with duplicate PresetScenarioEnum values."
266
283
  },
267
284
  {
268
285
  tag: "attribute",
269
286
  name: "ScheduleTypes",
270
- xref: "cluster\xA74.3.9.43",
287
+ xref: "cluster\xA74.3.11.43",
271
288
  details: "Indicates the supported SystemMode values for Schedules, limits on how many schedules can be created for each SystemMode value, and whether or not a given SystemMode value supports transitions to Presets, target setpoints, or both.\nThe list shall contain at least one entry. The list shall NOT be larger than the number of supported schedule SystemMode values (maximum 3, since the data type only allows Auto, Heat and Cool). The list shall NOT contain any ScheduleTypeStruct entries with duplicate SystemModeEnum values."
272
289
  },
273
290
  {
274
291
  tag: "attribute",
275
292
  name: "NumberOfPresets",
276
- xref: "cluster\xA74.3.9.44",
293
+ xref: "cluster\xA74.3.11.44",
277
294
  details: "Indicates the maximum number of entries supported by the Presets attribute."
278
295
  },
279
296
  {
280
297
  tag: "attribute",
281
298
  name: "NumberOfSchedules",
282
- xref: "cluster\xA74.3.9.45",
299
+ xref: "cluster\xA74.3.11.45",
283
300
  details: "Indicates the maximum number of entries supported by the Schedules attribute."
284
301
  },
285
302
  {
286
303
  tag: "attribute",
287
304
  name: "NumberOfScheduleTransitions",
288
- xref: "cluster\xA74.3.9.46",
305
+ xref: "cluster\xA74.3.11.46",
289
306
  details: "Indicates the maximum number of transitions per Schedules attribute entry."
290
307
  },
291
308
  {
292
309
  tag: "attribute",
293
310
  name: "NumberOfScheduleTransitionPerDay",
294
- xref: "cluster\xA74.3.9.47",
311
+ xref: "cluster\xA74.3.11.47",
295
312
  details: "Indicates the maximum number of transitions per day of the week supported by each Schedules attribute entry. If this value is null, there is no limit on the number of transitions per day."
296
313
  },
297
314
  {
298
315
  tag: "attribute",
299
316
  name: "ActivePresetHandle",
300
- xref: "cluster\xA74.3.9.48",
317
+ xref: "cluster\xA74.3.11.48",
301
318
  details: "Indicates the PresetHandle of the active preset. If this attribute is null, then there is no active preset."
302
319
  },
303
320
  {
304
321
  tag: "attribute",
305
322
  name: "ActiveScheduleHandle",
306
- xref: "cluster\xA74.3.9.49",
323
+ xref: "cluster\xA74.3.11.49",
307
324
  details: "Indicates the ScheduleHandle of the active schedule. A null value in this attribute indicates that there is no active schedule."
308
325
  },
309
326
  {
310
327
  tag: "attribute",
311
328
  name: "Presets",
312
- xref: "cluster\xA74.3.9.50",
313
- details: "This attribute shall contain the current list of configured presets.\nOn receipt of a write request:\n 1. If the PresetHandle field is null, the PresetStruct shall be treated as an added preset, and the device shall create a new unique value for the PresetHandle field.\n 1. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. If the PresetHandle field is not null, the PresetStruct shall be treated as a modification of an existing preset.\n 1. If the value of the PresetHandle field does not match any of the existing presets, a response with the status code NOT_FOUND shall be returned.\n 2. If the value of the PresetHandle field is duplicated on multiple presets in the updated list, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the BuiltIn field is true, and the PresetStruct in the current value with a matching PresetHandle field has a BuiltIn field set to false, a response with the status code CONSTRAINT_ERROR shall be returned.\n 4. If the BuiltIn field is false, and the PresetStruct in the current value with a matching PresetHandle field has a BuiltIn field set to true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the specified PresetScenarioEnum value does not exist in PresetTypes, a response with the status code CONSTRAINT_ERROR shall be returned.\n 4. If the Name is set, but the associated PresetTypeStruct does not have the SupportsNames bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 5. If appending the received PresetStruct to the pending list of Presets would cause the total number of pending presets to exceed the value of the NumberOfPresets attribute, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 6. If appending the received PresetStruct to the pending list of Presets would cause the total number of pending presets whose PresetScenario field matches the appended preset's PresetScenario field to exceed the value of the NumberOfPresets field on the PresetTypeStruct whose PresetScenario matches the appended preset's PresetScenario field, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 7. Otherwise, the write shall be pended until receipt of a commit request, and the status code SUCCESS shall be returned.\n 1. If the BuiltIn field is null:\n 1. If there is a PresetStruct in the current value with a matching PresetHandle field, the BuiltIn field on the pending PresetStruct shall be set to the value of the BuiltIn on the matching PresetStruct.\n 2. Otherwise, the BuiltIn field on the pending PresetStruct shall be set to false.\nOn an attempt to commit, the status of this attribute shall be determined as follows:\n 1. For all existing presets:\n 1. If, after applying all pending changes, the updated value of the Presets attribute would not contain a PresetStruct with a matching PresetHandle field, indicating the removal of the PresetStruct, the server shall check for invalid removal of the PresetStruct:\n 1. If the BuiltIn field is true on the removed PresetStruct, the attribute status shall be CONSTRAINT_ERROR.\n 2. If the MSCH feature is supported and the removed PresetHandle would be referenced by any PresetHandle on any ScheduleTransitionStruct on any ScheduleStruct in the updated value of the Schedules attribute, the attribute status shall be INVALID_IN_STATE.\n 3. If the removed PresetHandle is equal to the value of the ActivePresetHandle attribute, the attribute status shall be INVALID_IN_STATE.\n 2. Otherwise, the attribute status shall be SUCCESS."
329
+ xref: "cluster\xA74.3.11.50",
330
+ details: "This attribute shall contain the current list of configured presets.\nOn receipt of a write request:\n 1. If the PresetHandle field is null, the PresetStruct shall be treated as an added preset, and the device shall create a new unique value for the PresetHandle field.\n 1. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. If the PresetHandle field is not null, the PresetStruct shall be treated as a modification of an existing preset.\n 1. If the value of the PresetHandle field does not match any of the existing presets, a response with the status code NOT_FOUND shall be returned.\n 2. If the value of the PresetHandle field is duplicated on multiple presets in the updated list, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the BuiltIn field is true, and the PresetStruct in the current value with a matching PresetHandle field has a BuiltIn field set to false, a response with the status code CONSTRAINT_ERROR shall be returned.\n 4. If the BuiltIn field is false, and the PresetStruct in the current value with a matching PresetHandle field has a BuiltIn field set to true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the specified PresetScenarioEnum value does not exist in PresetTypes, a response with the status code CONSTRAINT_ERROR shall be returned.\n 4. If the Name is set, but the associated PresetTypeStruct does not have the SupportsNames bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 5. If appending the received PresetStruct to the pending list of Presets would cause the total number of pending presets to exceed the value of the NumberOfPresets attribute, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 6. If appending the received PresetStruct to the pending list of Presets would cause the total number of pending presets whose PresetScenario field matches the appended preset's PresetScenario field to exceed the value of the NumberOfPresets field on the PresetTypeStruct whose PresetScenario matches the appended preset's PresetScenario field, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 7. Otherwise, the write shall be pended until receipt of a commit request, and the status code SUCCESS shall be returned.\n 1. If the BuiltIn field is null:\n 1. If there is a PresetStruct in the current value with a matching PresetHandle field, the BuiltIn field on the pending PresetStruct shall be set to the value of the BuiltIn on the matching PresetStruct.\n 2. Otherwise, the BuiltIn field on the pending PresetStruct shall be set to false.\nOn an attempt to commit, the status of this attribute shall be determined as follows:\n 1. For all existing presets:\n 1. If, after applying all pending changes, the updated value of the Presets attribute would not contain a PresetStruct with a matching PresetHandle field, indicating the removal of the PresetStruct, the server shall check for invalid removal of the PresetStruct:\n 1. If the BuiltIn field is true on the removed PresetStruct, the attribute status shall be CONSTRAINT_ERROR.\n 2. If the MSCH feature is supported and the removed PresetHandle would be referenced by any PresetHandle on any ScheduleTransitionStruct on any ScheduleStruct in the updated value of the Schedules attribute, the attribute status shall be INVALID_IN_STATE.\n 3. If the removed PresetHandle is equal to the value of the ActivePresetHandle attribute, the attribute status shall be INVALID_IN_STATE.\n 2. If the attribute status has not yet been determined:\n 1. The attribute status shall be SUCCESS.\n 2. For all existing presets:\n 1. If, after applying all pending changes, the updated value of the Presets attribute would not contain a PresetStruct with a matching PresetHandle field, indicating the removal of the PresetStruct, the server shall ensure that the preset being removed is unused, as follows:\n 1. If the PresetHandle field of the removed preset is equal to the value of the PresetHandle field of the CurrentThermostatSuggestion attribute's value, the CurrentThermostatSuggestion attribute shall be set to null.\n 2. If the PresetHandle field of the removed preset is equal to the value of the PresetHandle field of one or more of the entries in the ThermostatSuggestions attribute, the server shall delete any such entries from the ThermostatSuggestions attribute."
314
331
  },
315
332
  {
316
333
  tag: "attribute",
317
334
  name: "Schedules",
318
- xref: "cluster\xA74.3.9.51",
335
+ xref: "cluster\xA74.3.11.51",
319
336
  details: "This attribute shall contain a list of ScheduleStructs.\nOn receipt of a write request:\n 1. For all schedules in the write request:\n 1. If the ScheduleHandle field is null, the ScheduleStruct shall be treated as an added schedule, and the device shall create a new unique value for the ScheduleHandle field.\n 1. If the BuiltIn field is true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. Otherwise, if the ScheduleHandle field is not null, the ScheduleStruct shall be treated as a modification of an existing schedule.\n 1. If the value of the ScheduleHandle field does not match any of the existing schedules, a response with the status code NOT_FOUND shall be returned.\n 2. If the BuiltIn field is true, and the ScheduleStruct in the current value with a matching ScheduleHandle field has a BuiltIn field set to false, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the BuiltIn field is false, and the ScheduleStruct in the current value with a matching ScheduleHandle field has a BuiltIn field set to true, a response with the status code CONSTRAINT_ERROR shall be returned.\n 3. If the specified SystemMode does not exist in ScheduleTypes, a response with the status code CONSTRAINT_ERROR shall be returned.\n 4. If the number of transitions exceeds the NumberOfScheduleTransitions value, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 5. If the value of the NumberOfScheduleTransitionPerDay attribute is not null, and the number of transitions on any single day of the week exceeds the NumberOfScheduleTransitionPerDay value, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 6. If the PresetHandle field is present, but the associated ScheduleTypeStruct does not have the SupportsPresets bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 7. If the PresetHandle field is present, but after applying all pending changes, the Presets attribute would not contain a PresetStruct whose PresetHandle field matches the value of the PresetHandle field, a response with the status code CONSTRAINT_ERROR shall be returned.\n 8. If the Name is set, but the associated ScheduleTypeStruct does not have the SupportsNames bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 9. For all transitions in all schedules in the write request:\n 1. If the PresetHandle field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsPresets bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 10. If the PresetHandle field is present, but after applying all pending changes, the Presets attribute would not contain a PresetStruct whose PresetHandle field matches the value of the PresetHandle field, a response with the status code CONSTRAINT_ERROR shall be returned.\n 1. If the SystemMode field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. If the SystemMode field is has a value of SystemModeOff, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsOff bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 11. If the HeatingSetpoint field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 12. If the CoolingSetpoint field is present, but the ScheduleTypeStruct matching the value of the SystemMode field on the encompassing ScheduleStruct does not have the SupportsSetpoints bit set, a response with the status code CONSTRAINT_ERROR shall be returned.\n 2. If appending the received ScheduleStruct to the pending list of Schedules would cause the total number of pending schedules to exceed the value of the NumberOfSchedules attribute, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 3. If appending the received ScheduleStruct to the pending list of Schedules would cause the total number of pending schedules whose SystemMode field matches the appended schedule's SystemMode field to exceed the value of the NumberOfSchedules field on the ScheduleTypeStruct whose SystemMode field matches the appended schedule's SystemMode field, a response with the status code RESOURCE_EXHAUSTED shall be returned.\n 4. Otherwise, the write shall be pended until receipt of a commit request, and the attribute status shall be SUCCESS.\n 1. If the BuiltIn field is null:\n 1. If there is a ScheduleStruct in the current value with a matching ScheduleHandle field, the BuiltIn field on the pending ScheduleStruct shall be set to the value of the BuiltIn on the matching ScheduleStruct.\n 2. Otherwise, the BuiltIn field on the pending ScheduleStruct shall be set to false.\nOn an attempt to commit, the status of this attribute shall be determined as follows:\n 1. For all existing schedules:\n 1. If, after applying all pending changes, the updated value of the Schedules attribute would not contain a ScheduleStruct with a matching ScheduleHandle field, indicating the removal of the ScheduleStruct, the server shall check for invalid removal of the ScheduleStruct:\n 1. If the BuiltIn field is true on the removed ScheduleStruct, the attribute status shall be CONSTRAINT_ERROR.\n 2. If the removed ScheduleHandle is equal to the value of the ActiveScheduleHandle attribute, the attribute status shall be INVALID_IN_STATE.\n 2. Otherwise, the attribute status shall be SUCCESS."
320
337
  },
321
338
  {
322
339
  tag: "attribute",
323
340
  name: "SetpointHoldExpiryTimestamp",
324
- xref: "cluster\xA74.3.9.52",
341
+ xref: "cluster\xA74.3.11.52",
325
342
  details: "If there is a known time when the TemperatureSetpointHold shall be cleared, this attribute shall contain the timestamp in UTC indicating when that will happen. If there is no such known time, this attribute shall be null.\nIf the TemperatureSetpointHold is set to SetpointHoldOn and the TemperatureSetpointHoldDuration is set to null, this attribute shall be set to null indicating there is a hold on the Thermostat without a duration.\nIf the TemperatureSetpointHold is set to SetpointHoldOff, this attribute shall be set to null indicating there is no hold on the Thermostat."
326
343
  },
344
+ {
345
+ tag: "attribute",
346
+ name: "MaxThermostatSuggestions",
347
+ xref: "cluster\xA74.3.11.53",
348
+ details: "Indicates the maximum number of entries supported by the ThermostatSuggestions attribute."
349
+ },
350
+ {
351
+ tag: "attribute",
352
+ name: "ThermostatSuggestions",
353
+ xref: "cluster\xA74.3.11.54",
354
+ details: `Indicates an unordered set of thermostat suggestions.
355
+ The suggested value shall be a PresetHandle that shall match the PresetHandle of one of the entries in the Presets attribute.
356
+ The Thermostat may use this information to ensure user comfort while also prioritizing other factors (e.g. energy savings, cost, and so on). Entries with effective times in the future may be used for pre-cool or pre-heat decisions.
357
+ See Section 4.3.7, "Re-evaluation of Current Thermostat Suggestion" for what to do if this attribute's value changes.`
358
+ },
359
+ {
360
+ tag: "attribute",
361
+ name: "CurrentThermostatSuggestion",
362
+ xref: "cluster\xA74.3.11.55",
363
+ details: `Indicates an entry in the entries, which identifies the current thermostat suggestion.
364
+ A value of null shall indicate that there is no current thermostat suggestion. When this attribute's value changes to a null value, the server may decide to set the ActivePresetHandle attribute to a value of its choice, based on schedules, occupancy sensors, etc.
365
+ When the server is "following the suggestion" that means that the server shall ensure that the value of the ActivePresetHandle attribute matches the value of this attribute.
366
+ When there is a current thermostat suggestion and the server is unable to follow the suggestion or the server is unable to choose a current thermostat suggestion due to conflicting suggestions, it shall set the ThermostatSuggestionNotFollowingReason attribute to a non-null value as described in the definition of the ThermostatSuggestionNotFollowingReason attribute. Otherwise, the server shall follow the suggestion and set the ThermostatSuggestionNotFollowingReason attribute to null.
367
+ Whenever the state of the server changes such that it might need to start or stop following the suggestion, the server shall re-evaluate whether it is doing so and update the ActivePresetHandle and ThermostatSuggestionNotFollowingReason attributes as needed.`
368
+ },
369
+ {
370
+ tag: "attribute",
371
+ name: "ThermostatSuggestionNotFollowingReason",
372
+ xref: "cluster\xA74.3.11.56",
373
+ details: "Indicates the reasons the Thermostat is unable to follow suggestions.\nWhen the server is unable to follow the suggestion, it shall set the appropriate bits in the value of the ThermostatSuggestionNotFollowingReason attribute to indicate the reasons due to which the suggestion is not being followed. The value of the ThermostatSuggestionNotFollowingReason attribute shall be 0 (all bits cleared) if there are no bits defined in ThermostatSuggestionNotFollowingReasonBitmap that represent the reasons the suggestion is not being followed.\nIf the CurrentThermostatSuggestion attribute is null, this attribute shall be set to null."
374
+ },
375
+ {
376
+ tag: "event",
377
+ name: "SystemModeChange",
378
+ xref: "cluster\xA74.3.13.1",
379
+ details: "This event shall be generated when the SystemMode attribute changes.",
380
+ children: [
381
+ {
382
+ tag: "field",
383
+ name: "PreviousSystemMode",
384
+ xref: "cluster\xA74.3.13.1.1",
385
+ details: "This field shall indicate the previous value of the SystemMode attribute. If the previous value is unavailable, this field shall be omitted."
386
+ },
387
+ {
388
+ tag: "field",
389
+ name: "CurrentSystemMode",
390
+ xref: "cluster\xA74.3.13.1.2",
391
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the SystemMode attribute."
392
+ }
393
+ ]
394
+ },
395
+ {
396
+ tag: "event",
397
+ name: "LocalTemperatureChange",
398
+ xref: "cluster\xA74.3.13.2",
399
+ details: "This event shall be generated when the LocalTemperature attribute changes significantly.\nSignificant changes are:\n - Changes from null to not null, or from not null to null.\n - Changes from one not-null value to another not-null value that are sufficiently large, as determined by the server.\nLocalTemperatureChange events shall NOT be generated more often than once every 60 seconds.",
400
+ children: [{
401
+ tag: "field",
402
+ name: "CurrentLocalTemperature",
403
+ xref: "cluster\xA74.3.13.2.1",
404
+ details: "This field shall indicate the current value of the LocalTemperature attribute."
405
+ }]
406
+ },
407
+ {
408
+ tag: "event",
409
+ name: "OccupancyChange",
410
+ xref: "cluster\xA74.3.13.3",
411
+ details: "This event shall be generated when the Occupancy attribute changes.",
412
+ children: [
413
+ {
414
+ tag: "field",
415
+ name: "PreviousOccupancy",
416
+ xref: "cluster\xA74.3.13.3.1",
417
+ details: "This field shall indicate the previous value of the Occupancy attribute. If the previous value is unavailable, this field shall be omitted."
418
+ },
419
+ {
420
+ tag: "field",
421
+ name: "CurrentOccupancy",
422
+ xref: "cluster\xA74.3.13.3.2",
423
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the Occupancy attribute."
424
+ }
425
+ ]
426
+ },
427
+ {
428
+ tag: "event",
429
+ name: "SetpointChange",
430
+ xref: "cluster\xA74.3.13.4",
431
+ details: "This event shall be generated when the value of any of the OccupiedHeatingSetpoint, UnoccupiedHeatingSetpoint, OccupiedCoolingSetpoint, or UnoccupiedCoolingSetpoint attributes is changed.",
432
+ children: [
433
+ {
434
+ tag: "field",
435
+ name: "SystemMode",
436
+ xref: "cluster\xA74.3.13.4.1",
437
+ details: "This field shall indicate the system mode associated with the changed attribute. If the changed attribute is OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint, the value of this field shall be Heat. If the changed attribute is OccupiedCoolingSetpoint or UnoccupiedCoolingSetpoint, the value of this field shall be Cool."
438
+ },
439
+ {
440
+ tag: "field",
441
+ name: "Occupancy",
442
+ xref: "cluster\xA74.3.13.4.2",
443
+ details: "This field shall indicate the occupancy associated with the changed attribute. If the changed attribute is OccupiedHeatingSetpoint or OccupiedCoolingSetpoint, the value of this field shall be 1. If the changed attribute is UnoccupiedHeatingSetpoint or UnoccupiedCoolingSetpoint, the value of this field shall be 0."
444
+ },
445
+ {
446
+ tag: "field",
447
+ name: "PreviousSetpoint",
448
+ xref: "cluster\xA74.3.13.4.3",
449
+ details: "This field shall indicate the previous value of the changed attribute. If the previous value is unavailable, this field shall be omitted."
450
+ },
451
+ {
452
+ tag: "field",
453
+ name: "CurrentSetpoint",
454
+ xref: "cluster\xA74.3.13.4.4",
455
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the changed attribute."
456
+ }
457
+ ]
458
+ },
459
+ {
460
+ tag: "event",
461
+ name: "RunningStateChange",
462
+ xref: "cluster\xA74.3.13.6",
463
+ details: "This event shall be generated when the ThermostatRunningState attribute changes.",
464
+ children: [
465
+ {
466
+ tag: "field",
467
+ name: "PreviousRunningState",
468
+ xref: "cluster\xA74.3.13.6.1",
469
+ details: "This field shall indicate the previous value of the ThermostatRunningState attribute. If the previous value is unavailable, this field shall be omitted."
470
+ },
471
+ {
472
+ tag: "field",
473
+ name: "CurrentRunningState",
474
+ xref: "cluster\xA74.3.13.6.2",
475
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the ThermostatRunningState attribute."
476
+ }
477
+ ]
478
+ },
479
+ {
480
+ tag: "event",
481
+ name: "RunningModeChange",
482
+ xref: "cluster\xA74.3.13.5",
483
+ details: "This event shall be generated when the ThermostatRunningMode attribute changes.",
484
+ children: [
485
+ {
486
+ tag: "field",
487
+ name: "PreviousRunningMode",
488
+ xref: "cluster\xA74.3.13.5.1",
489
+ details: "This field shall indicate the previous value of the ThermostatRunningMode attribute. If the previous value is unavailable, this field shall be omitted."
490
+ },
491
+ {
492
+ tag: "field",
493
+ name: "CurrentRunningMode",
494
+ xref: "cluster\xA74.3.13.5.2",
495
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the ThermostatRunningMode attribute."
496
+ }
497
+ ]
498
+ },
499
+ {
500
+ tag: "event",
501
+ name: "ActiveScheduleChange",
502
+ xref: "cluster\xA74.3.13.8",
503
+ details: "This event shall be generated when the ActiveScheduleHandle attribute changes.",
504
+ children: [
505
+ {
506
+ tag: "field",
507
+ name: "PreviousScheduleHandle",
508
+ xref: "cluster\xA74.3.13.8.1",
509
+ details: "This field shall indicate the previous value of the ActiveScheduleHandle attribute. If the previous value is unavailable, this field shall be omitted."
510
+ },
511
+ {
512
+ tag: "field",
513
+ name: "CurrentScheduleHandle",
514
+ xref: "cluster\xA74.3.13.8.2",
515
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the ActiveScheduleHandle attribute."
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ tag: "event",
521
+ name: "ActivePresetChange",
522
+ xref: "cluster\xA74.3.13.7",
523
+ details: "This event shall be generated when the ActivePresetHandle attribute changes.",
524
+ children: [
525
+ {
526
+ tag: "field",
527
+ name: "PreviousPresetHandle",
528
+ xref: "cluster\xA74.3.13.7.1",
529
+ details: "This field shall indicate the previous value of the ActivePresetHandle attribute. If the previous value is unavailable, this field shall be omitted."
530
+ },
531
+ {
532
+ tag: "field",
533
+ name: "CurrentPresetHandle",
534
+ xref: "cluster\xA74.3.13.7.2",
535
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value of the ActivePresetHandle attribute."
536
+ }
537
+ ]
538
+ },
327
539
  {
328
540
  tag: "command",
329
541
  name: "SetpointRaiseLower",
330
- xref: "cluster\xA74.3.10.1",
542
+ xref: "cluster\xA74.3.12.1",
331
543
  details: "This command will raise or lower the setpoint based on the provided values.",
332
544
  children: [
333
545
  {
334
546
  tag: "field",
335
547
  name: "Mode",
336
- xref: "cluster\xA74.3.10.1.1",
548
+ xref: "cluster\xA74.3.12.1.1",
337
549
  details: "The field shall specify which setpoints are to be adjusted."
338
550
  },
339
551
  {
340
552
  tag: "field",
341
553
  name: "Amount",
342
- xref: "cluster\xA74.3.10.1.2",
554
+ xref: "cluster\xA74.3.12.1.2",
343
555
  details: "This field shall indicate the amount (possibly negative) that should be added to the setpoint(s), in steps of 0.1\xB0C."
344
556
  }
345
557
  ]
@@ -347,31 +559,81 @@ import_Resource.Resource.add(
347
559
  {
348
560
  tag: "command",
349
561
  name: "SetActiveScheduleRequest",
350
- xref: "cluster\xA74.3.10.2",
562
+ xref: "cluster\xA74.3.12.2",
351
563
  details: "This command will set the active schedule to the provided schedule handle.",
352
564
  children: [{
353
565
  tag: "field",
354
566
  name: "ScheduleHandle",
355
- xref: "cluster\xA74.3.10.2.1",
567
+ xref: "cluster\xA74.3.12.2.1",
356
568
  details: "This field shall specify the value of the ScheduleHandle field on the ScheduleStruct to be made active."
357
569
  }]
358
570
  },
359
571
  {
360
572
  tag: "command",
361
573
  name: "SetActivePresetRequest",
362
- xref: "cluster\xA74.3.10.3",
574
+ xref: "cluster\xA74.3.12.3",
363
575
  details: "This command will set the active preset to the provided preset handle.",
364
576
  children: [{
365
577
  tag: "field",
366
578
  name: "PresetHandle",
367
- xref: "cluster\xA74.3.10.3.1",
579
+ xref: "cluster\xA74.3.12.3.1",
368
580
  details: "This field shall specify the value of the PresetHandle field on the PresetStruct to be made active. If the field is set to null, that indicates there should be no active preset."
369
581
  }]
370
582
  },
583
+ {
584
+ tag: "command",
585
+ name: "AddThermostatSuggestion",
586
+ xref: "cluster\xA74.3.12.4",
587
+ details: "This command will add a new suggestion based on the specified values.",
588
+ children: [
589
+ {
590
+ tag: "field",
591
+ name: "PresetHandle",
592
+ xref: "cluster\xA74.3.12.4.1",
593
+ details: "This field shall specify the value of the thermostat suggestion."
594
+ },
595
+ {
596
+ tag: "field",
597
+ name: "EffectiveTime",
598
+ xref: "cluster\xA74.3.12.4.2",
599
+ details: "This field shall indicate the timestamp in UTC at which the thermostat suggestion shall become available. If this field is set to null, that means the thermostat suggestion shall become available immediately."
600
+ },
601
+ {
602
+ tag: "field",
603
+ name: "ExpirationInMinutes",
604
+ xref: "cluster\xA74.3.12.4.3",
605
+ details: "This field shall indicate the duration in minutes after which the thermostat suggestion provided by this command shall expire."
606
+ }
607
+ ]
608
+ },
609
+ {
610
+ tag: "command",
611
+ name: "AddThermostatSuggestionResponse",
612
+ xref: "cluster\xA74.3.12.5",
613
+ details: "This command is sent in response to the AddThermostatSuggestion command.",
614
+ children: [{
615
+ tag: "field",
616
+ name: "UniqueId",
617
+ xref: "cluster\xA74.3.12.5.1",
618
+ details: "This field shall contain the value in the UniqueID field of the entry that was added to the ThermostatSuggestions attribute via the AddThermostatSuggestion command for which this response shall be sent."
619
+ }]
620
+ },
621
+ {
622
+ tag: "command",
623
+ name: "RemoveThermostatSuggestion",
624
+ xref: "cluster\xA74.3.12.6",
625
+ details: "This command will remove the specified suggestion.",
626
+ children: [{
627
+ tag: "field",
628
+ name: "UniqueId",
629
+ xref: "cluster\xA74.3.12.6.1",
630
+ details: "This field shall contain a unique identifier for an entry in the ThermostatSuggestions attribute that shall be removed."
631
+ }]
632
+ },
371
633
  {
372
634
  tag: "datatype",
373
635
  name: "ACErrorCodeBitmap",
374
- xref: "cluster\xA74.3.8.1",
636
+ xref: "cluster\xA74.3.10.1",
375
637
  children: [
376
638
  { tag: "field", name: "CompressorFail", description: "Compressor Failure or Refrigerant Leakage" },
377
639
  { tag: "field", name: "RoomSensorFail", description: "Room Temperature Sensor Failure" },
@@ -383,19 +645,19 @@ import_Resource.Resource.add(
383
645
  {
384
646
  tag: "datatype",
385
647
  name: "OccupancyBitmap",
386
- xref: "cluster\xA74.3.8.2",
648
+ xref: "cluster\xA74.3.10.2",
387
649
  children: [{
388
650
  tag: "field",
389
651
  name: "Occupied",
390
652
  description: "Indicates the occupancy state",
391
- xref: "cluster\xA74.3.8.2.1",
653
+ xref: "cluster\xA74.3.10.2.1",
392
654
  details: "If this bit is set, it shall indicate the occupied state else if the bit if not set, it shall indicate the unoccupied state."
393
655
  }]
394
656
  },
395
657
  {
396
658
  tag: "datatype",
397
659
  name: "PresetTypeFeaturesBitmap",
398
- xref: "cluster\xA74.3.8.3",
660
+ xref: "cluster\xA74.3.10.3",
399
661
  children: [
400
662
  {
401
663
  tag: "field",
@@ -408,7 +670,7 @@ import_Resource.Resource.add(
408
670
  {
409
671
  tag: "datatype",
410
672
  name: "RelayStateBitmap",
411
- xref: "cluster\xA74.3.8.4",
673
+ xref: "cluster\xA74.3.10.4",
412
674
  children: [
413
675
  { tag: "field", name: "Heat", description: "Heat Stage On" },
414
676
  { tag: "field", name: "Cool", description: "Cool Stage On" },
@@ -422,7 +684,7 @@ import_Resource.Resource.add(
422
684
  {
423
685
  tag: "datatype",
424
686
  name: "RemoteSensingBitmap",
425
- xref: "cluster\xA74.3.8.5",
687
+ xref: "cluster\xA74.3.10.5",
426
688
  children: [
427
689
  {
428
690
  tag: "field",
@@ -440,34 +702,34 @@ import_Resource.Resource.add(
440
702
  {
441
703
  tag: "datatype",
442
704
  name: "ScheduleTypeFeaturesBitmap",
443
- xref: "cluster\xA74.3.8.6",
705
+ xref: "cluster\xA74.3.10.6",
444
706
  children: [
445
707
  {
446
708
  tag: "field",
447
709
  name: "SupportsPresets",
448
710
  description: "Supports presets",
449
- xref: "cluster\xA74.3.8.6.1",
711
+ xref: "cluster\xA74.3.10.6.1",
450
712
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports specifying presets on ScheduleTransitionStructs contained in its Transitions field."
451
713
  },
452
714
  {
453
715
  tag: "field",
454
716
  name: "SupportsSetpoints",
455
717
  description: "Supports setpoints",
456
- xref: "cluster\xA74.3.8.6.2",
718
+ xref: "cluster\xA74.3.10.6.2",
457
719
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports specifying setpoints on ScheduleTransitionStructs contained in its Transitions field."
458
720
  },
459
721
  {
460
722
  tag: "field",
461
723
  name: "SupportsNames",
462
724
  description: "Supports user-provided names",
463
- xref: "cluster\xA74.3.8.6.3",
725
+ xref: "cluster\xA74.3.10.6.3",
464
726
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports setting the value of the Name field."
465
727
  },
466
728
  {
467
729
  tag: "field",
468
730
  name: "SupportsOff",
469
731
  description: "Supports transitioning to SystemModeOff",
470
- xref: "cluster\xA74.3.8.6.4",
732
+ xref: "cluster\xA74.3.10.6.4",
471
733
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the SystemMode field on the encompassing ScheduleTypeStruct supports setting its SystemMode field to Off."
472
734
  }
473
735
  ]
@@ -475,7 +737,7 @@ import_Resource.Resource.add(
475
737
  {
476
738
  tag: "datatype",
477
739
  name: "ScheduleDayOfWeekBitmap",
478
- xref: "cluster\xA74.3.8.7",
740
+ xref: "cluster\xA74.3.10.7",
479
741
  children: [
480
742
  { tag: "field", name: "Sunday", description: "Sunday" },
481
743
  { tag: "field", name: "Monday", description: "Monday" },
@@ -490,22 +752,53 @@ import_Resource.Resource.add(
490
752
  {
491
753
  tag: "datatype",
492
754
  name: "ScheduleModeBitmap",
493
- xref: "cluster\xA74.3.8.8",
755
+ xref: "cluster\xA74.3.10.8",
494
756
  children: [
495
757
  { tag: "field", name: "HeatSetpointPresent", description: "Adjust Heat Setpoint" },
496
758
  { tag: "field", name: "CoolSetpointPresent", description: "Adjust Cool Setpoint" }
497
759
  ]
498
760
  },
761
+ {
762
+ tag: "datatype",
763
+ name: "ThermostatSuggestionNotFollowingReasonBitmap",
764
+ xref: "cluster\xA74.3.10.9",
765
+ children: [
766
+ {
767
+ tag: "field",
768
+ name: "DemandResponseEvent",
769
+ description: "Thermostat is responding to a Demand Response event"
770
+ },
771
+ { tag: "field", name: "OngoingHold", description: "Thermostat has an ongoing setpoint hold" },
772
+ { tag: "field", name: "Schedule", description: "Thermostat is following a schedule" },
773
+ { tag: "field", name: "Occupancy", description: "Thermostat is following the occupancy signal" },
774
+ { tag: "field", name: "VacationMode", description: "Thermostat is set to Vacation mode" },
775
+ {
776
+ tag: "field",
777
+ name: "TimeOfUseCostSavings",
778
+ description: "Thermostat is following a Time Of Use based cost savings plan"
779
+ },
780
+ {
781
+ tag: "field",
782
+ name: "PreCoolingOrPreHeating",
783
+ description: "Thermostat is precooling or preheating based on an energy forecast signal"
784
+ },
785
+ {
786
+ tag: "field",
787
+ name: "ConflictingSuggestions",
788
+ description: "Thermostat has conflicting suggestions and is unable to choose one"
789
+ }
790
+ ]
791
+ },
499
792
  {
500
793
  tag: "datatype",
501
794
  name: "ACCapacityFormatEnum",
502
- xref: "cluster\xA74.3.8.9",
795
+ xref: "cluster\xA74.3.10.10",
503
796
  children: [{ tag: "field", name: "BtUh", description: "British Thermal Unit per Hour" }]
504
797
  },
505
798
  {
506
799
  tag: "datatype",
507
800
  name: "ACCompressorTypeEnum",
508
- xref: "cluster\xA74.3.8.10",
801
+ xref: "cluster\xA74.3.10.11",
509
802
  children: [
510
803
  { tag: "field", name: "Unknown", description: "Unknown compressor type" },
511
804
  { tag: "field", name: "T1", description: "Max working ambient 43 \xB0C" },
@@ -516,7 +809,7 @@ import_Resource.Resource.add(
516
809
  {
517
810
  tag: "datatype",
518
811
  name: "ACLouverPositionEnum",
519
- xref: "cluster\xA74.3.8.11",
812
+ xref: "cluster\xA74.3.10.12",
520
813
  children: [
521
814
  { tag: "field", name: "Closed", description: "Fully Closed" },
522
815
  { tag: "field", name: "Open", description: "Fully Open" },
@@ -528,7 +821,7 @@ import_Resource.Resource.add(
528
821
  {
529
822
  tag: "datatype",
530
823
  name: "ACRefrigerantTypeEnum",
531
- xref: "cluster\xA74.3.8.12",
824
+ xref: "cluster\xA74.3.10.13",
532
825
  children: [
533
826
  { tag: "field", name: "Unknown", description: "Unknown Refrigerant Type" },
534
827
  { tag: "field", name: "R22", description: "R22 Refrigerant" },
@@ -539,7 +832,7 @@ import_Resource.Resource.add(
539
832
  {
540
833
  tag: "datatype",
541
834
  name: "ACTypeEnum",
542
- xref: "cluster\xA74.3.8.13",
835
+ xref: "cluster\xA74.3.10.14",
543
836
  children: [
544
837
  { tag: "field", name: "Unknown", description: "Unknown AC Type" },
545
838
  { tag: "field", name: "CoolingFixed", description: "Cooling and Fixed Speed" },
@@ -551,7 +844,7 @@ import_Resource.Resource.add(
551
844
  {
552
845
  tag: "datatype",
553
846
  name: "SetpointRaiseLowerModeEnum",
554
- xref: "cluster\xA74.3.8.14",
847
+ xref: "cluster\xA74.3.10.15",
555
848
  children: [
556
849
  { tag: "field", name: "Heat", description: "Adjust Heat Setpoint" },
557
850
  { tag: "field", name: "Cool", description: "Adjust Cool Setpoint" },
@@ -561,7 +854,7 @@ import_Resource.Resource.add(
561
854
  {
562
855
  tag: "datatype",
563
856
  name: "ControlSequenceOfOperationEnum",
564
- xref: "cluster\xA74.3.8.15",
857
+ xref: "cluster\xA74.3.10.16",
565
858
  details: "> [!NOTE]\n> NOTE: A thermostat indicating it supports CoolingAndHeating (or CoolingAndHeatingWithReheat) SHOULD be able to request heating or cooling on demand and will usually support the Auto SystemMode.\nSystems which support cooling or heating, requiring external intervention to change modes or where the whole building must be in the same mode, SHOULD report CoolingOnly or HeatingOnly based on the current capability.",
566
859
  children: [
567
860
  { tag: "field", name: "CoolingOnly", description: "Heat and Emergency are not possible" },
@@ -575,55 +868,55 @@ import_Resource.Resource.add(
575
868
  {
576
869
  tag: "datatype",
577
870
  name: "PresetScenarioEnum",
578
- xref: "cluster\xA74.3.8.16",
871
+ xref: "cluster\xA74.3.10.17",
579
872
  children: [
580
873
  {
581
874
  tag: "field",
582
875
  name: "Occupied",
583
876
  description: "The thermostat-controlled area is occupied",
584
- xref: "cluster\xA74.3.8.16.2",
877
+ xref: "cluster\xA74.3.10.17.2",
585
878
  details: "This value shall indicate the preset for periods when the thermostat's temperature-controlled area is occupied. It is intended for thermostats that can automatically determine occupancy."
586
879
  },
587
880
  {
588
881
  tag: "field",
589
882
  name: "Unoccupied",
590
883
  description: "The thermostat-controlled area is unoccupied",
591
- xref: "cluster\xA74.3.8.16.3",
884
+ xref: "cluster\xA74.3.10.17.3",
592
885
  details: "This value shall indicate the preset for periods when the thermostat's temperature-controlled area is unoccupied. It is intended for thermostats that can automatically determine occupancy."
593
886
  },
594
887
  {
595
888
  tag: "field",
596
889
  name: "Sleep",
597
890
  description: "Users are likely to be sleeping",
598
- xref: "cluster\xA74.3.8.16.4",
891
+ xref: "cluster\xA74.3.10.17.4",
599
892
  details: "This value shall indicate the preset for periods when users are likely to be asleep."
600
893
  },
601
894
  {
602
895
  tag: "field",
603
896
  name: "Wake",
604
897
  description: "Users are likely to be waking up",
605
- xref: "cluster\xA74.3.8.16.5",
898
+ xref: "cluster\xA74.3.10.17.5",
606
899
  details: "This value shall indicate the preset for periods when users are likely to be waking up."
607
900
  },
608
901
  {
609
902
  tag: "field",
610
903
  name: "Vacation",
611
904
  description: "Users are on vacation",
612
- xref: "cluster\xA74.3.8.16.6",
905
+ xref: "cluster\xA74.3.10.17.6",
613
906
  details: "This value shall indicate the preset for periods when users are on vacation, or otherwise out-of-home for extended periods of time."
614
907
  },
615
908
  {
616
909
  tag: "field",
617
910
  name: "GoingToSleep",
618
911
  description: "Users are likely to be going to sleep",
619
- xref: "cluster\xA74.3.8.16.7",
912
+ xref: "cluster\xA74.3.10.17.7",
620
913
  details: "This value shall indicate the preset for periods when users are likely to be going to sleep."
621
914
  },
622
915
  {
623
916
  tag: "field",
624
917
  name: "UserDefined",
625
918
  description: "Custom presets",
626
- xref: "cluster\xA74.3.8.16.8",
919
+ xref: "cluster\xA74.3.10.17.8",
627
920
  details: "This value shall indicate a free-form preset; when set, the Name field on PresetStruct shall NOT be null."
628
921
  }
629
922
  ]
@@ -631,7 +924,7 @@ import_Resource.Resource.add(
631
924
  {
632
925
  tag: "datatype",
633
926
  name: "SetpointChangeSourceEnum",
634
- xref: "cluster\xA74.3.8.17",
927
+ xref: "cluster\xA74.3.10.18",
635
928
  children: [
636
929
  {
637
930
  tag: "field",
@@ -650,11 +943,11 @@ import_Resource.Resource.add(
650
943
  }
651
944
  ]
652
945
  },
653
- { tag: "datatype", name: "StartOfWeekEnum", xref: "cluster\xA74.3.8.18" },
946
+ { tag: "datatype", name: "StartOfWeekEnum", xref: "cluster\xA74.3.10.19" },
654
947
  {
655
948
  tag: "datatype",
656
949
  name: "SystemModeEnum",
657
- xref: "cluster\xA74.3.8.19",
950
+ xref: "cluster\xA74.3.10.20",
658
951
  children: [
659
952
  {
660
953
  tag: "field",
@@ -679,7 +972,7 @@ import_Resource.Resource.add(
679
972
  {
680
973
  tag: "datatype",
681
974
  name: "ThermostatRunningModeEnum",
682
- xref: "cluster\xA74.3.8.20",
975
+ xref: "cluster\xA74.3.10.21",
683
976
  children: [
684
977
  {
685
978
  tag: "field",
@@ -693,7 +986,7 @@ import_Resource.Resource.add(
693
986
  {
694
987
  tag: "datatype",
695
988
  name: "TemperatureSetpointHoldEnum",
696
- xref: "cluster\xA74.3.8.21",
989
+ xref: "cluster\xA74.3.10.22",
697
990
  children: [
698
991
  { tag: "field", name: "SetpointHoldOff", description: "Follow scheduling program" },
699
992
  {
@@ -706,42 +999,42 @@ import_Resource.Resource.add(
706
999
  {
707
1000
  tag: "datatype",
708
1001
  name: "PresetStruct",
709
- xref: "cluster\xA74.3.8.22",
1002
+ xref: "cluster\xA74.3.10.23",
710
1003
  children: [
711
1004
  {
712
1005
  tag: "field",
713
1006
  name: "PresetHandle",
714
- xref: "cluster\xA74.3.8.22.1",
1007
+ xref: "cluster\xA74.3.10.23.1",
715
1008
  details: "This field shall indicate a device generated identifier for this preset. It shall be unique on the device, and shall NOT be reused after the associated preset has been deleted.\nThis field shall only be null when the encompassing PresetStruct is appended to the Presets attribute for the purpose of creating a new Preset. Refer to Presets for the creation of Preset handles."
716
1009
  },
717
1010
  {
718
1011
  tag: "field",
719
1012
  name: "PresetScenario",
720
- xref: "cluster\xA74.3.8.22.2",
1013
+ xref: "cluster\xA74.3.10.23.2",
721
1014
  details: "This field shall indicate the associated PresetScenarioEnum value for this preset."
722
1015
  },
723
1016
  {
724
1017
  tag: "field",
725
1018
  name: "Name",
726
- xref: "cluster\xA74.3.8.22.3",
1019
+ xref: "cluster\xA74.3.10.23.3",
727
1020
  details: "This field shall indicate a name provided by a user. The null value shall indicate no name.\nWithin each subset of presets sharing the same PresetScenario field value, there shall NOT be any presets with the same value, including null as a value, in the Name field."
728
1021
  },
729
1022
  {
730
1023
  tag: "field",
731
1024
  name: "CoolingSetpoint",
732
- xref: "cluster\xA74.3.8.22.4",
1025
+ xref: "cluster\xA74.3.10.23.4",
733
1026
  details: "This field shall indicate the cooling setpoint for the preset. Refer to Setpoint Limits for value constraints."
734
1027
  },
735
1028
  {
736
1029
  tag: "field",
737
1030
  name: "HeatingSetpoint",
738
- xref: "cluster\xA74.3.8.22.5",
1031
+ xref: "cluster\xA74.3.10.23.5",
739
1032
  details: "This field shall indicate the heating setpoint for the preset. Refer to Setpoint Limits for value constraints."
740
1033
  },
741
1034
  {
742
1035
  tag: "field",
743
1036
  name: "BuiltIn",
744
- xref: "cluster\xA74.3.8.22.6",
1037
+ xref: "cluster\xA74.3.10.23.6",
745
1038
  details: 'This field shall indicate whether the preset is marked as "built-in", meaning that it can be modified, but it cannot be deleted.'
746
1039
  }
747
1040
  ]
@@ -749,24 +1042,24 @@ import_Resource.Resource.add(
749
1042
  {
750
1043
  tag: "datatype",
751
1044
  name: "PresetTypeStruct",
752
- xref: "cluster\xA74.3.8.23",
1045
+ xref: "cluster\xA74.3.10.24",
753
1046
  children: [
754
1047
  {
755
1048
  tag: "field",
756
1049
  name: "PresetScenario",
757
- xref: "cluster\xA74.3.8.23.1",
1050
+ xref: "cluster\xA74.3.10.24.1",
758
1051
  details: "This field shall specify a PresetScenarioEnum value supported by this thermostat."
759
1052
  },
760
1053
  {
761
1054
  tag: "field",
762
1055
  name: "NumberOfPresets",
763
- xref: "cluster\xA74.3.8.23.2",
1056
+ xref: "cluster\xA74.3.10.24.2",
764
1057
  details: "This field shall specify a limit for the number of presets for this PresetScenarioEnum."
765
1058
  },
766
1059
  {
767
1060
  tag: "field",
768
1061
  name: "PresetTypeFeatures",
769
- xref: "cluster\xA74.3.8.23.3",
1062
+ xref: "cluster\xA74.3.10.24.3",
770
1063
  details: "This field shall specify a bitmap of features for this PresetTypeStruct."
771
1064
  }
772
1065
  ]
@@ -774,25 +1067,25 @@ import_Resource.Resource.add(
774
1067
  {
775
1068
  tag: "datatype",
776
1069
  name: "WeeklyScheduleTransitionStruct",
777
- xref: "cluster\xA74.3.8.24",
1070
+ xref: "cluster\xA74.3.10.25",
778
1071
  details: "This represents a single transition in a Thermostat schedule",
779
1072
  children: [
780
1073
  {
781
1074
  tag: "field",
782
1075
  name: "TransitionTime",
783
- xref: "cluster\xA74.3.8.24.1",
1076
+ xref: "cluster\xA74.3.10.25.1",
784
1077
  details: "This field shall represent the start time of the schedule transition during the associated day. The time will be represented by a 16 bits unsigned integer to designate the minutes since midnight. For example, 6am will be represented by 360 minutes since midnight and 11:30pm will be represented by 1410 minutes since midnight."
785
1078
  },
786
1079
  {
787
1080
  tag: "field",
788
1081
  name: "HeatSetpoint",
789
- xref: "cluster\xA74.3.8.24.2",
1082
+ xref: "cluster\xA74.3.10.25.2",
790
1083
  details: "This field shall represent the heat setpoint to be applied at this associated transition start time."
791
1084
  },
792
1085
  {
793
1086
  tag: "field",
794
1087
  name: "CoolSetpoint",
795
- xref: "cluster\xA74.3.8.24.3",
1088
+ xref: "cluster\xA74.3.10.25.3",
796
1089
  details: "This field shall represent the cool setpoint to be applied at this associated transition start time."
797
1090
  }
798
1091
  ]
@@ -800,42 +1093,42 @@ import_Resource.Resource.add(
800
1093
  {
801
1094
  tag: "datatype",
802
1095
  name: "ScheduleStruct",
803
- xref: "cluster\xA74.3.8.25",
1096
+ xref: "cluster\xA74.3.10.26",
804
1097
  children: [
805
1098
  {
806
1099
  tag: "field",
807
1100
  name: "ScheduleHandle",
808
- xref: "cluster\xA74.3.8.25.1",
1101
+ xref: "cluster\xA74.3.10.26.1",
809
1102
  details: "This field shall indicate a device generated identifier for this schedule. It shall be unique on the device, and shall NOT be reused after the associated schedule has been deleted.\nThis field shall only be null when the encompassing ScheduleStruct is appended to the Schedules attribute for the purpose of creating a new Schedule. Refer to Schedules for the creation of Schedule handles."
810
1103
  },
811
1104
  {
812
1105
  tag: "field",
813
1106
  name: "SystemMode",
814
- xref: "cluster\xA74.3.8.25.2",
1107
+ xref: "cluster\xA74.3.10.26.2",
815
1108
  details: "This field shall specify the default thermostat system mode for transitions in this schedule. The only valid values for this field shall be Auto, Heat, and Cool."
816
1109
  },
817
1110
  {
818
1111
  tag: "field",
819
1112
  name: "Name",
820
- xref: "cluster\xA74.3.8.25.3",
1113
+ xref: "cluster\xA74.3.10.26.3",
821
1114
  details: "This field shall specify a name for the ScheduleStruct."
822
1115
  },
823
1116
  {
824
1117
  tag: "field",
825
1118
  name: "PresetHandle",
826
- xref: "cluster\xA74.3.8.25.4",
1119
+ xref: "cluster\xA74.3.10.26.4",
827
1120
  details: "This field shall indicate the default PresetHandle value for transitions in this schedule."
828
1121
  },
829
1122
  {
830
1123
  tag: "field",
831
1124
  name: "Transitions",
832
- xref: "cluster\xA74.3.8.25.5",
1125
+ xref: "cluster\xA74.3.10.26.5",
833
1126
  details: "This field shall specify a list of transitions for the schedule.\nThis field shall NOT contain more than one ScheduleStruct with the same TransitionTime field and overlapping DayOfWeek fields; i.e. there shall be no duplicate transitions.\nIf the NumberOfScheduleTransitionPerDay attribute is not null, then for each bit in ScheduleDayOfWeekBitmap, the number of transitions with that bit set in DayOfWeek shall NOT be greater than the value of the NumberOfScheduleTransitionPerDay attribute.\nFor the purposes of determining which ScheduleStruct in this list is currently active, the current time shall be the number of minutes past midnight in the display value of the current time, not the actual number of minutes that have elapsed since midnight. On days which transition into or out of daylight saving time, certain values may repeat or not occur during the transition period.\nA ScheduleTransitionStruct in this list shall be active if the current day of the week matches its DayOfWeek field and the current time is greater than or equal to the TransitionTime, but less than the TransitionTime on any other ScheduleTransitionStruct in the Transitions field whose DayOfWeek field also matches the current day of the week.\nIf the current time is less than every ScheduleTransitionStruct whose DayOfWeek field also matches the current day of the week, the server shall attempt the same process to identify the active ScheduleTransitionStruct for the day preceding the previously attempted day of the week, repeating until an active ScheduleTransitionStruct is found or the attempted day is the current day of the week again. If no active ScheduleTransitionStruct is found, then the active ScheduleTransitionStruct shall be the ScheduleTransitionStruct with the largest TransitionTime field from the set of ScheduleTransitionStructs whose DayOfWeek field matches the current day of the week."
834
1127
  },
835
1128
  {
836
1129
  tag: "field",
837
1130
  name: "BuiltIn",
838
- xref: "cluster\xA74.3.8.25.6",
1131
+ xref: "cluster\xA74.3.10.26.6",
839
1132
  details: 'This field shall indicate whether the schedule is marked as "built-in", meaning that it can be modified, but it cannot be deleted.'
840
1133
  }
841
1134
  ]
@@ -843,43 +1136,43 @@ import_Resource.Resource.add(
843
1136
  {
844
1137
  tag: "datatype",
845
1138
  name: "ScheduleTransitionStruct",
846
- xref: "cluster\xA74.3.8.26",
1139
+ xref: "cluster\xA74.3.10.27",
847
1140
  details: "This struct provides a time of day and a set of days of the week for a state transition within a schedule. The thermostat shall use the following order of precedence for determining a new setpoint at the time of transition:\n 1. If the PresetHandle field is provided, then the setpoint for the PresetStruct in the Presets attribute with that identifier shall be used\n 2. If either the HeatingSetpoint or CoolingSetpoint is provided, then it shall be used\n 1. If the SystemMode field is provided, the HeatingSetpoint and CoolingSetpoint fields shall be interpreted using the SystemMode field\n 2. If the SystemMode field is not provided, the HeatingSetpoint and CoolingSetpoint fields shall be interpreted using the SystemMode field on the parent ScheduleStruct\n 3. If neither the PresetHandle field or any Setpoint field is provided, then the PresetHandle field on the parent ScheduleStruct shall be used to determine the active PresetStruct\n 4. If the PresetHandle is not indicated and no setpoint is provided for the current SystemMode, the server shall use a default value for the current SystemMode.\nIf the setpoint was derived from a preset, then the ActivePresetHandle shall be set to the PresetHandle of that preset.\nIf a CoolingSetpoint was used to determine the cooling setpoint:\n - If the server supports the OCC feature, and the Occupied bit is not set on the Occupancy attribute, then the UnoccupiedCoolingSetpoint attribute shall be set to the CoolingSetpoint\n - Otherwise, the OccupiedCoolingSetpoint attribute shall be set to the CoolingSetpoint\nIf a HeatingSetpoint was used to determine the heating setpoint:\n - If the server supports the OCC feature, and the Occupied bit is not set on the Occupancy attribute, then the UnoccupiedHeatingSetpoint attribute shall be set to the HeatingSetpoint\n - Otherwise, the OccupiedHeatingSetpoint attribute shall be set to the HeatingSetpoint\nThe ScheduleTransitionStruct shall be invalid if all the following are true:\n - The HeatingSetpoint field is not provided\n - The PresetHandle field is not provided\n - The PresetHandle field on the encompassing ScheduleStruct is not provided\n - The SystemMode field is provided and has the value Heat or Auto, or the SystemMode field on the parent ScheduleStruct has the value Heat or Auto\nThe ScheduleTransitionStruct shall be invalid if all the following are true:\n - The CoolingSetpoint field is not provided\n - The PresetHandle field is not provided\n - The PresetHandle field on the encompassing ScheduleStruct is not provided\n - The SystemMode field is provided and has the value Cool or Auto, or the SystemMode field on the parent ScheduleStruct has the value Cool or Auto",
848
1141
  children: [
849
1142
  {
850
1143
  tag: "field",
851
1144
  name: "DayOfWeek",
852
- xref: "cluster\xA74.3.8.26.1",
1145
+ xref: "cluster\xA74.3.10.27.1",
853
1146
  details: "This field shall specify a bitmask of days of the week that the transition applies to. The Vacation bit shall NOT be set; vacation schedules shall be set via the vacation preset."
854
1147
  },
855
1148
  {
856
1149
  tag: "field",
857
1150
  name: "TransitionTime",
858
- xref: "cluster\xA74.3.8.26.2",
1151
+ xref: "cluster\xA74.3.10.27.2",
859
1152
  details: "This shall specify the time of day at which the transition becomes active, in terms of minutes within the day representing the wall clock, where 0 is 00:00:00, 1 is 00:01:00 and 1439 is 23:59:00.\nHandling of transitions during the changeover of Daylight Saving Time is implementation-dependent."
860
1153
  },
861
1154
  {
862
1155
  tag: "field",
863
1156
  name: "PresetHandle",
864
- xref: "cluster\xA74.3.8.26.3",
1157
+ xref: "cluster\xA74.3.10.27.3",
865
1158
  details: "This field shall specify the preset used at the TransitionTime. If this field is provided, then the SystemMode, CoolingSetpoint and HeatingSetpoint fields shall NOT be provided."
866
1159
  },
867
1160
  {
868
1161
  tag: "field",
869
1162
  name: "SystemMode",
870
- xref: "cluster\xA74.3.8.26.4",
1163
+ xref: "cluster\xA74.3.10.27.4",
871
1164
  details: "This shall specify the default mode to which the thermostat will switch for this transition, overriding the default for the schedule. The only valid values for this field shall be Auto, Heat, Cool and Off. This field shall only be included when the required system mode differs from the schedule's default SystemMode."
872
1165
  },
873
1166
  {
874
1167
  tag: "field",
875
1168
  name: "CoolingSetpoint",
876
- xref: "cluster\xA74.3.8.26.5",
1169
+ xref: "cluster\xA74.3.10.27.5",
877
1170
  details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this field shall NOT be included. Refer to Setpoint Limits for value constraints."
878
1171
  },
879
1172
  {
880
1173
  tag: "field",
881
1174
  name: "HeatingSetpoint",
882
- xref: "cluster\xA74.3.8.26.6",
1175
+ xref: "cluster\xA74.3.10.27.6",
883
1176
  details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this field shall NOT be included. Refer to Setpoint Limits for value constraints."
884
1177
  }
885
1178
  ]
@@ -887,44 +1180,75 @@ import_Resource.Resource.add(
887
1180
  {
888
1181
  tag: "datatype",
889
1182
  name: "ScheduleTypeStruct",
890
- xref: "cluster\xA74.3.8.27",
1183
+ xref: "cluster\xA74.3.10.28",
891
1184
  children: [
892
1185
  {
893
1186
  tag: "field",
894
1187
  name: "SystemMode",
895
- xref: "cluster\xA74.3.8.27.1",
1188
+ xref: "cluster\xA74.3.10.28.1",
896
1189
  details: "This field shall specify a SystemModeEnum supported by this thermostat for Schedules. The only valid values for this field shall be Auto, Heat, and Cool."
897
1190
  },
898
1191
  {
899
1192
  tag: "field",
900
1193
  name: "NumberOfSchedules",
901
- xref: "cluster\xA74.3.8.27.2",
1194
+ xref: "cluster\xA74.3.10.28.2",
902
1195
  details: "This field shall specify a limit for the number of Schedules for this SystemMode."
903
1196
  },
904
1197
  {
905
1198
  tag: "field",
906
1199
  name: "ScheduleTypeFeatures",
907
- xref: "cluster\xA74.3.8.27.3",
1200
+ xref: "cluster\xA74.3.10.28.3",
908
1201
  details: "This field shall specify a bitmap of features for this schedule entry. At least one of SupportsPresets and SupportsSetpoints shall be set."
909
1202
  }
910
1203
  ]
911
1204
  },
1205
+ {
1206
+ tag: "datatype",
1207
+ name: "ThermostatSuggestionStruct",
1208
+ xref: "cluster\xA74.3.10.29",
1209
+ children: [
1210
+ {
1211
+ tag: "field",
1212
+ name: "UniqueId",
1213
+ xref: "cluster\xA74.3.10.29.1",
1214
+ details: "This field shall have a generated identifier that identifies a distinct entry of type ThermostatSuggestionStruct."
1215
+ },
1216
+ {
1217
+ tag: "field",
1218
+ name: "PresetHandle",
1219
+ xref: "cluster\xA74.3.10.29.2",
1220
+ details: "This field shall indicate the PresetHandle of the PresetStruct that represents the thermostat suggestion value."
1221
+ },
1222
+ {
1223
+ tag: "field",
1224
+ name: "EffectiveTime",
1225
+ xref: "cluster\xA74.3.10.29.3",
1226
+ details: "This field shall indicate the UTC timestamp at which the suggestion shall take effect."
1227
+ },
1228
+ {
1229
+ tag: "field",
1230
+ name: "ExpirationTime",
1231
+ xref: "cluster\xA74.3.10.29.4",
1232
+ details: "This field shall indicate the UTC timestamp at which the suggestion shall expire."
1233
+ }
1234
+ ]
1235
+ },
912
1236
  {
913
1237
  tag: "datatype",
914
1238
  name: "TemperatureDifference",
915
- xref: "cluster\xA74.3.8.28",
1239
+ xref: "cluster\xA74.3.10.30",
916
1240
  details: "This data type is derived from int16 and represents a temperature difference with a resolution of 0.01\xB0C.\n - value = (temperature in \xB0C) x 100\n - -4\xB0C => -400\n - 123.45\xB0C => 12345\nThe full (non-null) range of -327.67\xB0C to 327.67\xB0C may be used."
917
1241
  },
918
1242
  {
919
1243
  tag: "datatype",
920
1244
  name: "SignedTemperature",
921
- xref: "cluster\xA74.3.8.29",
1245
+ xref: "cluster\xA74.3.10.31",
922
1246
  details: "This data type is derived from int8 and represents a temperature from -12.7\xB0C to 12.7\xB0C with a resolution of 0.1\xB0C.\n - value = (temperature in \xB0C) x 10\n - -4\xB0C => -40\n - 12.3\xB0C => 123\nThis type is employed where compactness of representation is important and where the resolution and range are still satisfactory."
923
1247
  },
924
1248
  {
925
1249
  tag: "datatype",
926
1250
  name: "UnsignedTemperature",
927
- xref: "cluster\xA74.3.8.30",
1251
+ xref: "cluster\xA74.3.10.32",
928
1252
  details: "This data type is derived from uint8 and represents a temperature from 0\xB0C to 25.5\xB0C with a resolution of 0.1\xB0C.\n - value = (temperature in \xB0C) x 10\n - 4\xB0C => 40\n - 12.3\xB0C => 123\nThis type is employed where compactness of representation is important and where the resolution and range are still satisfactory."
929
1253
  }
930
1254
  ]