@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
@@ -38,12 +38,18 @@ Resource.add(
38
38
  details: "This feature indicates that the thermostat is capable of schedules. If this feature is supported, " +
39
39
  "the thermostat shall support a mechanism to do time synchronization."
40
40
  },
41
- { tag: "field", name: "PRES", details: "Thermostat supports setpoint presets" }
41
+ { tag: "field", name: "PRES", details: "Thermostat supports setpoint presets" },
42
+ { tag: "field", name: "TEVT", details: "Thermostat supports events" },
43
+ {
44
+ tag: "field", name: "TSUGGEST", xref: "cluster§4.3.4.3",
45
+ details: "This feature indicates that the thermostat can process suggestions. If this feature is supported, " +
46
+ "the thermostat shall support a mechanism to do time synchronization."
47
+ }
42
48
  ]
43
49
  },
44
50
 
45
51
  {
46
- tag: "attribute", name: "LocalTemperature", xref: "cluster§4.3.9.2",
52
+ tag: "attribute", name: "LocalTemperature", xref: "cluster§4.3.11.2",
47
53
 
48
54
  details: "Indicates the current Calculated Local Temperature, when available." +
49
55
  "\n" +
@@ -60,39 +66,52 @@ Resource.add(
60
66
  },
61
67
 
62
68
  {
63
- tag: "attribute", name: "OutdoorTemperature", xref: "cluster§4.3.9.3",
69
+ tag: "attribute", name: "OutdoorTemperature", xref: "cluster§4.3.11.3",
64
70
  details: "Indicates the outdoor temperature, as measured locally or remotely (over the network)."
65
71
  },
66
72
  {
67
- tag: "attribute", name: "Occupancy", xref: "cluster§4.3.9.4",
73
+ tag: "attribute", name: "Occupancy", xref: "cluster§4.3.11.4",
68
74
  details: "Indicates whether the heated/cooled space is occupied or not, as measured locally or remotely (over " +
69
75
  "the network)."
70
76
  },
71
77
 
72
78
  {
73
- tag: "attribute", name: "AbsMinHeatSetpointLimit", xref: "cluster§4.3.9.5",
79
+ tag: "attribute", name: "AbsMinHeatSetpointLimit", xref: "cluster§4.3.11.5",
74
80
  details: "Indicates the absolute minimum level that the heating setpoint may be set to. This is a limitation " +
75
81
  "imposed by the manufacturer." +
76
82
  "\n" +
77
83
  "Refer to Setpoint Limits for constraints"
78
84
  },
79
85
 
80
- { tag: "attribute", name: "AbsMaxHeatSetpointLimit", xref: "cluster§4.3.9" },
81
- { tag: "attribute", name: "AbsMinCoolSetpointLimit", xref: "cluster§4.3.9" },
86
+ {
87
+ tag: "attribute", name: "AbsMaxHeatSetpointLimit", xref: "cluster§4.3.11.6",
88
+ details: "Indicates the absolute maximum level that the heating setpoint may be set to. This is a limitation " +
89
+ "imposed by the manufacturer." +
90
+ "\n" +
91
+ "Refer to Setpoint Limits for constraints"
92
+ },
93
+
94
+ {
95
+ tag: "attribute", name: "AbsMinCoolSetpointLimit", xref: "cluster§4.3.11.7",
96
+ details: "Indicates the absolute minimum level that the cooling setpoint may be set to. This is a limitation " +
97
+ "imposed by the manufacturer." +
98
+ "\n" +
99
+ "Refer to Setpoint Limits for constraints"
100
+ },
82
101
 
83
102
  {
84
- tag: "attribute", name: "AbsMaxCoolSetpointLimit", xref: "cluster§4.3.9.8",
103
+ tag: "attribute", name: "AbsMaxCoolSetpointLimit", xref: "cluster§4.3.11.8",
85
104
  details: "Indicates the absolute maximum level that the cooling setpoint may be set to. This is a limitation " +
86
105
  "imposed by the manufacturer." +
87
106
  "\n" +
88
107
  "Refer to Setpoint Limits for constraints"
89
108
  },
90
109
 
91
- { tag: "attribute", name: "PiCoolingDemand", xref: "cluster§4.3.9" },
92
- { tag: "attribute", name: "PiHeatingDemand", xref: "cluster§4.3.9" },
110
+ { tag: "attribute", name: "PiCoolingDemand", xref: "cluster§4.3.11" },
111
+ { tag: "attribute", name: "PiHeatingDemand", xref: "cluster§4.3.11" },
93
112
 
94
113
  {
95
- tag: "attribute", name: "HvacSystemTypeConfiguration", xref: "cluster§4.3.9.9",
114
+ tag: "attribute", name: "HvacSystemTypeConfiguration", xref: "cluster§4.3.11.9",
96
115
  details: "Indicates the HVAC system type controlled by the thermostat. If the thermostat uses physical DIP " +
97
116
  "switches to set these parameters, this information shall be available read-only from the DIP " +
98
117
  "switches. If these parameters are set via software, there shall be read/write access in order to " +
@@ -100,7 +119,7 @@ Resource.add(
100
119
  },
101
120
 
102
121
  {
103
- tag: "attribute", name: "LocalTemperatureCalibration", xref: "cluster§4.3.9.10",
122
+ tag: "attribute", name: "LocalTemperatureCalibration", xref: "cluster§4.3.11.10",
104
123
 
105
124
  details: "Indicates the offset the Thermostat server shall make to the measured temperature (locally or " +
106
125
  "remotely) to adjust the Calculated Local Temperature prior to using, displaying or reporting it." +
@@ -121,7 +140,7 @@ Resource.add(
121
140
  },
122
141
 
123
142
  {
124
- tag: "attribute", name: "OccupiedCoolingSetpoint", xref: "cluster§4.3.9.11",
143
+ tag: "attribute", name: "OccupiedCoolingSetpoint", xref: "cluster§4.3.11.11",
125
144
 
126
145
  details: "Indicates the cooling mode setpoint when the room is occupied." +
127
146
  "\n" +
@@ -143,7 +162,7 @@ Resource.add(
143
162
  },
144
163
 
145
164
  {
146
- tag: "attribute", name: "OccupiedHeatingSetpoint", xref: "cluster§4.3.9.12",
165
+ tag: "attribute", name: "OccupiedHeatingSetpoint", xref: "cluster§4.3.11.12",
147
166
 
148
167
  details: "Indicates the heating mode setpoint when the room is occupied." +
149
168
  "\n" +
@@ -165,7 +184,7 @@ Resource.add(
165
184
  },
166
185
 
167
186
  {
168
- tag: "attribute", name: "UnoccupiedCoolingSetpoint", xref: "cluster§4.3.9.13",
187
+ tag: "attribute", name: "UnoccupiedCoolingSetpoint", xref: "cluster§4.3.11.13",
169
188
 
170
189
  details: "Indicates the cooling mode setpoint when the room is unoccupied." +
171
190
  "\n" +
@@ -186,7 +205,7 @@ Resource.add(
186
205
  },
187
206
 
188
207
  {
189
- tag: "attribute", name: "UnoccupiedHeatingSetpoint", xref: "cluster§4.3.9.14",
208
+ tag: "attribute", name: "UnoccupiedHeatingSetpoint", xref: "cluster§4.3.11.14",
190
209
 
191
210
  details: "Indicates the heating mode setpoint when the room is unoccupied." +
192
211
  "\n" +
@@ -207,7 +226,7 @@ Resource.add(
207
226
  },
208
227
 
209
228
  {
210
- tag: "attribute", name: "MinHeatSetpointLimit", xref: "cluster§4.3.9.15",
229
+ tag: "attribute", name: "MinHeatSetpointLimit", xref: "cluster§4.3.11.15",
211
230
 
212
231
  details: "Indicates the minimum level that the heating setpoint may be set to." +
213
232
  "\n" +
@@ -223,7 +242,7 @@ Resource.add(
223
242
  },
224
243
 
225
244
  {
226
- tag: "attribute", name: "MaxHeatSetpointLimit", xref: "cluster§4.3.9.16",
245
+ tag: "attribute", name: "MaxHeatSetpointLimit", xref: "cluster§4.3.11.16",
227
246
 
228
247
  details: "Indicates the maximum level that the heating setpoint may be set to." +
229
248
  "\n" +
@@ -235,7 +254,7 @@ Resource.add(
235
254
  },
236
255
 
237
256
  {
238
- tag: "attribute", name: "MinCoolSetpointLimit", xref: "cluster§4.3.9.17",
257
+ tag: "attribute", name: "MinCoolSetpointLimit", xref: "cluster§4.3.11.17",
239
258
 
240
259
  details: "Indicates the minimum level that the cooling setpoint may be set to." +
241
260
  "\n" +
@@ -247,7 +266,7 @@ Resource.add(
247
266
  },
248
267
 
249
268
  {
250
- tag: "attribute", name: "MaxCoolSetpointLimit", xref: "cluster§4.3.9.18",
269
+ tag: "attribute", name: "MaxCoolSetpointLimit", xref: "cluster§4.3.11.18",
251
270
 
252
271
  details: "Indicates the maximum level that the cooling setpoint may be set to." +
253
272
  "\n" +
@@ -259,7 +278,7 @@ Resource.add(
259
278
  },
260
279
 
261
280
  {
262
- tag: "attribute", name: "MinSetpointDeadBand", xref: "cluster§4.3.9.19",
281
+ tag: "attribute", name: "MinSetpointDeadBand", xref: "cluster§4.3.11.19",
263
282
 
264
283
  details: "On devices which support the AUTO feature, this attribute shall indicate the minimum difference " +
265
284
  "between the Heat Setpoint and the Cool Setpoint." +
@@ -278,7 +297,7 @@ Resource.add(
278
297
  },
279
298
 
280
299
  {
281
- tag: "attribute", name: "RemoteSensing", xref: "cluster§4.3.9.20",
300
+ tag: "attribute", name: "RemoteSensing", xref: "cluster§4.3.11.20",
282
301
 
283
302
  details: "Indicates when the local temperature, outdoor temperature and occupancy are being sensed by remote " +
284
303
  "networked sensors, rather than internal sensors." +
@@ -291,7 +310,7 @@ Resource.add(
291
310
  },
292
311
 
293
312
  {
294
- tag: "attribute", name: "ControlSequenceOfOperation", xref: "cluster§4.3.9.21",
313
+ tag: "attribute", name: "ControlSequenceOfOperation", xref: "cluster§4.3.11.21",
295
314
 
296
315
  details: "Indicates the overall operating environment of the thermostat, and thus the possible system modes " +
297
316
  "that the thermostat can operate in." +
@@ -302,20 +321,20 @@ Resource.add(
302
321
  },
303
322
 
304
323
  {
305
- tag: "attribute", name: "SystemMode", xref: "cluster§4.3.9.22",
324
+ tag: "attribute", name: "SystemMode", xref: "cluster§4.3.11.22",
306
325
  details: "Indicates the current operating mode of the thermostat. Its value shall be limited by the " +
307
326
  "ControlSequenceOfOperation attribute."
308
327
  },
309
328
 
310
329
  {
311
- tag: "attribute", name: "ThermostatRunningMode", xref: "cluster§4.3.9.23",
330
+ tag: "attribute", name: "ThermostatRunningMode", xref: "cluster§4.3.11.23",
312
331
  details: "Indicates the running mode of the thermostat. This attribute uses the same values as SystemModeEnum " +
313
332
  "but can only be Off, Cool or Heat. This attribute is intended to provide additional information when " +
314
333
  "the thermostat's system mode is in auto mode."
315
334
  },
316
335
 
317
336
  {
318
- tag: "attribute", name: "TemperatureSetpointHold", xref: "cluster§4.3.9.27",
337
+ tag: "attribute", name: "TemperatureSetpointHold", xref: "cluster§4.3.11.27",
319
338
 
320
339
  details: "Indicates the temperature hold status on the thermostat. If hold status is on, the thermostat SHOULD " +
321
340
  "maintain the temperature setpoint for the current mode until a system mode change. If hold status is " +
@@ -336,7 +355,7 @@ Resource.add(
336
355
  },
337
356
 
338
357
  {
339
- tag: "attribute", name: "TemperatureSetpointHoldDuration", xref: "cluster§4.3.9.28",
358
+ tag: "attribute", name: "TemperatureSetpointHoldDuration", xref: "cluster§4.3.11.28",
340
359
 
341
360
  details: "Indicates the period in minutes for which a setpoint hold is active. Thermostats that support hold " +
342
361
  "for a specified duration SHOULD implement this attribute. The null value indicates the field is " +
@@ -351,17 +370,17 @@ Resource.add(
351
370
  "set the SetpointHoldExpiryTimestamp to null."
352
371
  },
353
372
 
354
- { tag: "attribute", name: "ThermostatProgrammingOperationMode", xref: "cluster§4.3.9" },
373
+ { tag: "attribute", name: "ThermostatProgrammingOperationMode", xref: "cluster§4.3.11" },
355
374
 
356
375
  {
357
- tag: "attribute", name: "ThermostatRunningState", xref: "cluster§4.3.9.29",
376
+ tag: "attribute", name: "ThermostatRunningState", xref: "cluster§4.3.11.29",
358
377
  details: "Indicates the current relay state of the heat, cool, and fan relays." +
359
378
  "\n" +
360
379
  "Unimplemented outputs shall be treated as if they were Off."
361
380
  },
362
381
 
363
382
  {
364
- tag: "attribute", name: "SetpointChangeSource", xref: "cluster§4.3.9.30",
383
+ tag: "attribute", name: "SetpointChangeSource", xref: "cluster§4.3.11.30",
365
384
 
366
385
  details: "Indicates the source of the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint (i.e., " +
367
386
  "who or what determined the current setpoint)." +
@@ -373,7 +392,7 @@ Resource.add(
373
392
  },
374
393
 
375
394
  {
376
- tag: "attribute", name: "SetpointChangeAmount", xref: "cluster§4.3.9.31",
395
+ tag: "attribute", name: "SetpointChangeAmount", xref: "cluster§4.3.11.31",
377
396
  details: "Indicates the delta between the current active OccupiedCoolingSetpoint or OccupiedHeatingSetpoint " +
378
397
  "and the previous active setpoint. This attribute is meant to accompany the SetpointChangeSource " +
379
398
  "attribute; devices implementing SetpointChangeAmount SHOULD also implement SetpointChangeSource." +
@@ -382,18 +401,18 @@ Resource.add(
382
401
  },
383
402
 
384
403
  {
385
- tag: "attribute", name: "SetpointChangeSourceTimestamp", xref: "cluster§4.3.9.32",
404
+ tag: "attribute", name: "SetpointChangeSourceTimestamp", xref: "cluster§4.3.11.32",
386
405
  details: "Indicates the time in UTC at which the SetpointChangeAmount attribute change was recorded."
387
406
  },
388
- { tag: "attribute", name: "OccupiedSetback", xref: "cluster§4.3.9" },
389
- { tag: "attribute", name: "OccupiedSetbackMin", xref: "cluster§4.3.9" },
390
- { tag: "attribute", name: "OccupiedSetbackMax", xref: "cluster§4.3.9" },
391
- { tag: "attribute", name: "UnoccupiedSetback", xref: "cluster§4.3.9" },
392
- { tag: "attribute", name: "UnoccupiedSetbackMin", xref: "cluster§4.3.9" },
393
- { tag: "attribute", name: "UnoccupiedSetbackMax", xref: "cluster§4.3.9" },
407
+ { tag: "attribute", name: "OccupiedSetback", xref: "cluster§4.3.11" },
408
+ { tag: "attribute", name: "OccupiedSetbackMin", xref: "cluster§4.3.11" },
409
+ { tag: "attribute", name: "OccupiedSetbackMax", xref: "cluster§4.3.11" },
410
+ { tag: "attribute", name: "UnoccupiedSetback", xref: "cluster§4.3.11" },
411
+ { tag: "attribute", name: "UnoccupiedSetbackMin", xref: "cluster§4.3.11" },
412
+ { tag: "attribute", name: "UnoccupiedSetbackMax", xref: "cluster§4.3.11" },
394
413
 
395
414
  {
396
- tag: "attribute", name: "EmergencyHeatDelta", xref: "cluster§4.3.9.33",
415
+ tag: "attribute", name: "EmergencyHeatDelta", xref: "cluster§4.3.11.33",
397
416
 
398
417
  details: "Indicates the delta between the Calculated Local Temperature and the OccupiedHeatingSetpoint or " +
399
418
  "UnoccupiedHeatingSetpoint attributes at which the Thermostat server will operate in emergency heat " +
@@ -424,41 +443,41 @@ Resource.add(
424
443
  },
425
444
 
426
445
  {
427
- tag: "attribute", name: "AcType", xref: "cluster§4.3.9.34",
446
+ tag: "attribute", name: "AcType", xref: "cluster§4.3.11.34",
428
447
  details: "Indicates the type of Mini Split ACTypeEnum of Mini Split AC is defined depending on how Cooling and " +
429
448
  "Heating condition is achieved by Mini Split AC."
430
449
  },
431
450
  {
432
- tag: "attribute", name: "AcCapacity", xref: "cluster§4.3.9.35",
451
+ tag: "attribute", name: "AcCapacity", xref: "cluster§4.3.11.35",
433
452
  details: "Indicates capacity of Mini Split AC in terms of the format defined by the ACCapacityFormat attribute"
434
453
  },
435
454
  {
436
- tag: "attribute", name: "AcRefrigerantType", xref: "cluster§4.3.9.36",
455
+ tag: "attribute", name: "AcRefrigerantType", xref: "cluster§4.3.11.36",
437
456
  details: "Indicates type of refrigerant used within the Mini Split AC."
438
457
  },
439
458
  {
440
- tag: "attribute", name: "AcCompressorType", xref: "cluster§4.3.9.37",
459
+ tag: "attribute", name: "AcCompressorType", xref: "cluster§4.3.11.37",
441
460
  details: "Indicates the type of compressor used within the Mini Split AC."
442
461
  },
443
462
  {
444
- tag: "attribute", name: "AcErrorCode", xref: "cluster§4.3.9.38",
463
+ tag: "attribute", name: "AcErrorCode", xref: "cluster§4.3.11.38",
445
464
  details: "Indicates the type of errors encountered within the Mini Split AC."
446
465
  },
447
466
  {
448
- tag: "attribute", name: "AcLouverPosition", xref: "cluster§4.3.9.39",
467
+ tag: "attribute", name: "AcLouverPosition", xref: "cluster§4.3.11.39",
449
468
  details: "Indicates the position of Louver on the AC."
450
469
  },
451
470
  {
452
- tag: "attribute", name: "AcCoilTemperature", xref: "cluster§4.3.9.40",
471
+ tag: "attribute", name: "AcCoilTemperature", xref: "cluster§4.3.11.40",
453
472
  details: "Indicates the temperature of the AC coil, as measured locally or remotely (over the network)."
454
473
  },
455
474
  {
456
- tag: "attribute", name: "AcCapacityFormat", xref: "cluster§4.3.9.41",
475
+ tag: "attribute", name: "AcCapacityFormat", xref: "cluster§4.3.11.41",
457
476
  details: "Indicates the format for the ACCapacity attribute."
458
477
  },
459
478
 
460
479
  {
461
- tag: "attribute", name: "PresetTypes", xref: "cluster§4.3.9.42",
480
+ tag: "attribute", name: "PresetTypes", xref: "cluster§4.3.11.42",
462
481
 
463
482
  details: "Indicates the supported PresetScenarioEnum values, limits on how many presets can be created for " +
464
483
  "each PresetScenarioEnum, and whether or not a thermostat can transition automatically to a given " +
@@ -470,7 +489,7 @@ Resource.add(
470
489
  },
471
490
 
472
491
  {
473
- tag: "attribute", name: "ScheduleTypes", xref: "cluster§4.3.9.43",
492
+ tag: "attribute", name: "ScheduleTypes", xref: "cluster§4.3.11.43",
474
493
 
475
494
  details: "Indicates the supported SystemMode values for Schedules, limits on how many schedules can be created " +
476
495
  "for each SystemMode value, and whether or not a given SystemMode value supports transitions to " +
@@ -482,35 +501,35 @@ Resource.add(
482
501
  },
483
502
 
484
503
  {
485
- tag: "attribute", name: "NumberOfPresets", xref: "cluster§4.3.9.44",
504
+ tag: "attribute", name: "NumberOfPresets", xref: "cluster§4.3.11.44",
486
505
  details: "Indicates the maximum number of entries supported by the Presets attribute."
487
506
  },
488
507
  {
489
- tag: "attribute", name: "NumberOfSchedules", xref: "cluster§4.3.9.45",
508
+ tag: "attribute", name: "NumberOfSchedules", xref: "cluster§4.3.11.45",
490
509
  details: "Indicates the maximum number of entries supported by the Schedules attribute."
491
510
  },
492
511
  {
493
- tag: "attribute", name: "NumberOfScheduleTransitions", xref: "cluster§4.3.9.46",
512
+ tag: "attribute", name: "NumberOfScheduleTransitions", xref: "cluster§4.3.11.46",
494
513
  details: "Indicates the maximum number of transitions per Schedules attribute entry."
495
514
  },
496
515
  {
497
- tag: "attribute", name: "NumberOfScheduleTransitionPerDay", xref: "cluster§4.3.9.47",
516
+ tag: "attribute", name: "NumberOfScheduleTransitionPerDay", xref: "cluster§4.3.11.47",
498
517
  details: "Indicates the maximum number of transitions per day of the week supported by each Schedules " +
499
518
  "attribute entry. If this value is null, there is no limit on the number of transitions per day."
500
519
  },
501
520
  {
502
- tag: "attribute", name: "ActivePresetHandle", xref: "cluster§4.3.9.48",
521
+ tag: "attribute", name: "ActivePresetHandle", xref: "cluster§4.3.11.48",
503
522
  details: "Indicates the PresetHandle of the active preset. If this attribute is null, then there is no active " +
504
523
  "preset."
505
524
  },
506
525
  {
507
- tag: "attribute", name: "ActiveScheduleHandle", xref: "cluster§4.3.9.49",
526
+ tag: "attribute", name: "ActiveScheduleHandle", xref: "cluster§4.3.11.49",
508
527
  details: "Indicates the ScheduleHandle of the active schedule. A null value in this attribute indicates that " +
509
528
  "there is no active schedule."
510
529
  },
511
530
 
512
531
  {
513
- tag: "attribute", name: "Presets", xref: "cluster§4.3.9.50",
532
+ tag: "attribute", name: "Presets", xref: "cluster§4.3.11.50",
514
533
 
515
534
  details: "This attribute shall contain the current list of configured presets." +
516
535
  "\n" +
@@ -584,11 +603,27 @@ Resource.add(
584
603
  " 3. If the removed PresetHandle is equal to the value of the ActivePresetHandle attribute, the " +
585
604
  "attribute status shall be INVALID_IN_STATE." +
586
605
  "\n" +
587
- " 2. Otherwise, the attribute status shall be SUCCESS."
606
+ " 2. If the attribute status has not yet been determined:" +
607
+ "\n" +
608
+ " 1. The attribute status shall be SUCCESS." +
609
+ "\n" +
610
+ " 2. For all existing presets:" +
611
+ "\n" +
612
+ " 1. If, after applying all pending changes, the updated value of the Presets attribute would not " +
613
+ "contain a PresetStruct with a matching PresetHandle field, indicating the removal of the " +
614
+ "PresetStruct, the server shall ensure that the preset being removed is unused, as follows:" +
615
+ "\n" +
616
+ " 1. If the PresetHandle field of the removed preset is equal to the value of the PresetHandle field " +
617
+ "of the CurrentThermostatSuggestion attribute's value, the CurrentThermostatSuggestion attribute " +
618
+ "shall be set to null." +
619
+ "\n" +
620
+ " 2. If the PresetHandle field of the removed preset is equal to the value of the PresetHandle field " +
621
+ "of one or more of the entries in the ThermostatSuggestions attribute, the server shall delete " +
622
+ "any such entries from the ThermostatSuggestions attribute."
588
623
  },
589
624
 
590
625
  {
591
- tag: "attribute", name: "Schedules", xref: "cluster§4.3.9.51",
626
+ tag: "attribute", name: "Schedules", xref: "cluster§4.3.11.51",
592
627
 
593
628
  details: "This attribute shall contain a list of ScheduleStructs." +
594
629
  "\n" +
@@ -701,7 +736,7 @@ Resource.add(
701
736
  },
702
737
 
703
738
  {
704
- tag: "attribute", name: "SetpointHoldExpiryTimestamp", xref: "cluster§4.3.9.52",
739
+ tag: "attribute", name: "SetpointHoldExpiryTimestamp", xref: "cluster§4.3.11.52",
705
740
 
706
741
  details: "If there is a known time when the TemperatureSetpointHold shall be cleared, this attribute shall " +
707
742
  "contain the timestamp in UTC indicating when that will happen. If there is no such known time, this " +
@@ -716,16 +751,239 @@ Resource.add(
716
751
  },
717
752
 
718
753
  {
719
- tag: "command", name: "SetpointRaiseLower", xref: "cluster§4.3.10.1",
754
+ tag: "attribute", name: "MaxThermostatSuggestions", xref: "cluster§4.3.11.53",
755
+ details: "Indicates the maximum number of entries supported by the ThermostatSuggestions attribute."
756
+ },
757
+
758
+ {
759
+ tag: "attribute", name: "ThermostatSuggestions", xref: "cluster§4.3.11.54",
760
+
761
+ details: "Indicates an unordered set of thermostat suggestions." +
762
+ "\n" +
763
+ "The suggested value shall be a PresetHandle that shall match the PresetHandle of one of the entries " +
764
+ "in the Presets attribute." +
765
+ "\n" +
766
+ "The Thermostat may use this information to ensure user comfort while also prioritizing other factors " +
767
+ "(e.g. energy savings, cost, and so on). Entries with effective times in the future may be used for " +
768
+ "pre-cool or pre-heat decisions." +
769
+ "\n" +
770
+ "See Section 4.3.7, \"Re-evaluation of Current Thermostat Suggestion\" for what to do if this " +
771
+ "attribute's value changes."
772
+ },
773
+
774
+ {
775
+ tag: "attribute", name: "CurrentThermostatSuggestion", xref: "cluster§4.3.11.55",
776
+
777
+ details: "Indicates an entry in the entries, which identifies the current thermostat suggestion." +
778
+ "\n" +
779
+ "A value of null shall indicate that there is no current thermostat suggestion. When this attribute's " +
780
+ "value changes to a null value, the server may decide to set the ActivePresetHandle attribute to a " +
781
+ "value of its choice, based on schedules, occupancy sensors, etc." +
782
+ "\n" +
783
+ "When the server is \"following the suggestion\" that means that the server shall ensure that the value " +
784
+ "of the ActivePresetHandle attribute matches the value of this attribute." +
785
+ "\n" +
786
+ "When there is a current thermostat suggestion and the server is unable to follow the suggestion or " +
787
+ "the server is unable to choose a current thermostat suggestion due to conflicting suggestions, it " +
788
+ "shall set the ThermostatSuggestionNotFollowingReason attribute to a non-null value as described in " +
789
+ "the definition of the ThermostatSuggestionNotFollowingReason attribute. Otherwise, the server shall " +
790
+ "follow the suggestion and set the ThermostatSuggestionNotFollowingReason attribute to null." +
791
+ "\n" +
792
+ "Whenever the state of the server changes such that it might need to start or stop following the " +
793
+ "suggestion, the server shall re-evaluate whether it is doing so and update the ActivePresetHandle " +
794
+ "and ThermostatSuggestionNotFollowingReason attributes as needed."
795
+ },
796
+
797
+ {
798
+ tag: "attribute", name: "ThermostatSuggestionNotFollowingReason", xref: "cluster§4.3.11.56",
799
+
800
+ details: "Indicates the reasons the Thermostat is unable to follow suggestions." +
801
+ "\n" +
802
+ "When the server is unable to follow the suggestion, it shall set the appropriate bits in the value " +
803
+ "of the ThermostatSuggestionNotFollowingReason attribute to indicate the reasons due to which the " +
804
+ "suggestion is not being followed. The value of the ThermostatSuggestionNotFollowingReason attribute " +
805
+ "shall be 0 (all bits cleared) if there are no bits defined in " +
806
+ "ThermostatSuggestionNotFollowingReasonBitmap that represent the reasons the suggestion is not being " +
807
+ "followed." +
808
+ "\n" +
809
+ "If the CurrentThermostatSuggestion attribute is null, this attribute shall be set to null."
810
+ },
811
+
812
+ {
813
+ tag: "event", name: "SystemModeChange", xref: "cluster§4.3.13.1",
814
+ details: "This event shall be generated when the SystemMode attribute changes.",
815
+
816
+ children: [
817
+ {
818
+ tag: "field", name: "PreviousSystemMode", xref: "cluster§4.3.13.1.1",
819
+ details: "This field shall indicate the previous value of the SystemMode attribute. If the previous value is " +
820
+ "unavailable, this field shall be omitted."
821
+ },
822
+ {
823
+ tag: "field", name: "CurrentSystemMode", xref: "cluster§4.3.13.1.2",
824
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
825
+ "of the SystemMode attribute."
826
+ }
827
+ ]
828
+ },
829
+
830
+ {
831
+ tag: "event", name: "LocalTemperatureChange", xref: "cluster§4.3.13.2",
832
+
833
+ details: "This event shall be generated when the LocalTemperature attribute changes significantly." +
834
+ "\n" +
835
+ "Significant changes are:" +
836
+ "\n" +
837
+ " - Changes from null to not null, or from not null to null." +
838
+ "\n" +
839
+ " - Changes from one not-null value to another not-null value that are sufficiently large, as " +
840
+ "determined by the server." +
841
+ "\n" +
842
+ "LocalTemperatureChange events shall NOT be generated more often than once every 60 seconds.",
843
+
844
+ children: [{
845
+ tag: "field", name: "CurrentLocalTemperature", xref: "cluster§4.3.13.2.1",
846
+ details: "This field shall indicate the current value of the LocalTemperature attribute."
847
+ }]
848
+ },
849
+
850
+ {
851
+ tag: "event", name: "OccupancyChange", xref: "cluster§4.3.13.3",
852
+ details: "This event shall be generated when the Occupancy attribute changes.",
853
+
854
+ children: [
855
+ {
856
+ tag: "field", name: "PreviousOccupancy", xref: "cluster§4.3.13.3.1",
857
+ details: "This field shall indicate the previous value of the Occupancy attribute. If the previous value is " +
858
+ "unavailable, this field shall be omitted."
859
+ },
860
+ {
861
+ tag: "field", name: "CurrentOccupancy", xref: "cluster§4.3.13.3.2",
862
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
863
+ "of the Occupancy attribute."
864
+ }
865
+ ]
866
+ },
867
+
868
+ {
869
+ tag: "event", name: "SetpointChange", xref: "cluster§4.3.13.4",
870
+ details: "This event shall be generated when the value of any of the OccupiedHeatingSetpoint, " +
871
+ "UnoccupiedHeatingSetpoint, OccupiedCoolingSetpoint, or UnoccupiedCoolingSetpoint attributes is " +
872
+ "changed.",
873
+
874
+ children: [
875
+ {
876
+ tag: "field", name: "SystemMode", xref: "cluster§4.3.13.4.1",
877
+ details: "This field shall indicate the system mode associated with the changed attribute. If the changed " +
878
+ "attribute is OccupiedHeatingSetpoint or UnoccupiedHeatingSetpoint, the value of this field shall be " +
879
+ "Heat. If the changed attribute is OccupiedCoolingSetpoint or UnoccupiedCoolingSetpoint, the value of " +
880
+ "this field shall be Cool."
881
+ },
882
+
883
+ {
884
+ tag: "field", name: "Occupancy", xref: "cluster§4.3.13.4.2",
885
+ details: "This field shall indicate the occupancy associated with the changed attribute. If the changed " +
886
+ "attribute is OccupiedHeatingSetpoint or OccupiedCoolingSetpoint, the value of this field shall be 1. " +
887
+ "If the changed attribute is UnoccupiedHeatingSetpoint or UnoccupiedCoolingSetpoint, the value of " +
888
+ "this field shall be 0."
889
+ },
890
+
891
+ {
892
+ tag: "field", name: "PreviousSetpoint", xref: "cluster§4.3.13.4.3",
893
+ details: "This field shall indicate the previous value of the changed attribute. If the previous value is " +
894
+ "unavailable, this field shall be omitted."
895
+ },
896
+ {
897
+ tag: "field", name: "CurrentSetpoint", xref: "cluster§4.3.13.4.4",
898
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
899
+ "of the changed attribute."
900
+ }
901
+ ]
902
+ },
903
+
904
+ {
905
+ tag: "event", name: "RunningStateChange", xref: "cluster§4.3.13.6",
906
+ details: "This event shall be generated when the ThermostatRunningState attribute changes.",
907
+
908
+ children: [
909
+ {
910
+ tag: "field", name: "PreviousRunningState", xref: "cluster§4.3.13.6.1",
911
+ details: "This field shall indicate the previous value of the ThermostatRunningState attribute. If the " +
912
+ "previous value is unavailable, this field shall be omitted."
913
+ },
914
+ {
915
+ tag: "field", name: "CurrentRunningState", xref: "cluster§4.3.13.6.2",
916
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
917
+ "of the ThermostatRunningState attribute."
918
+ }
919
+ ]
920
+ },
921
+
922
+ {
923
+ tag: "event", name: "RunningModeChange", xref: "cluster§4.3.13.5",
924
+ details: "This event shall be generated when the ThermostatRunningMode attribute changes.",
925
+
926
+ children: [
927
+ {
928
+ tag: "field", name: "PreviousRunningMode", xref: "cluster§4.3.13.5.1",
929
+ details: "This field shall indicate the previous value of the ThermostatRunningMode attribute. If the previous " +
930
+ "value is unavailable, this field shall be omitted."
931
+ },
932
+ {
933
+ tag: "field", name: "CurrentRunningMode", xref: "cluster§4.3.13.5.2",
934
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
935
+ "of the ThermostatRunningMode attribute."
936
+ }
937
+ ]
938
+ },
939
+
940
+ {
941
+ tag: "event", name: "ActiveScheduleChange", xref: "cluster§4.3.13.8",
942
+ details: "This event shall be generated when the ActiveScheduleHandle attribute changes.",
943
+
944
+ children: [
945
+ {
946
+ tag: "field", name: "PreviousScheduleHandle", xref: "cluster§4.3.13.8.1",
947
+ details: "This field shall indicate the previous value of the ActiveScheduleHandle attribute. If the previous " +
948
+ "value is unavailable, this field shall be omitted."
949
+ },
950
+ {
951
+ tag: "field", name: "CurrentScheduleHandle", xref: "cluster§4.3.13.8.2",
952
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
953
+ "of the ActiveScheduleHandle attribute."
954
+ }
955
+ ]
956
+ },
957
+
958
+ {
959
+ tag: "event", name: "ActivePresetChange", xref: "cluster§4.3.13.7",
960
+ details: "This event shall be generated when the ActivePresetHandle attribute changes.",
961
+
962
+ children: [
963
+ {
964
+ tag: "field", name: "PreviousPresetHandle", xref: "cluster§4.3.13.7.1",
965
+ details: "This field shall indicate the previous value of the ActivePresetHandle attribute. If the previous " +
966
+ "value is unavailable, this field shall be omitted."
967
+ },
968
+ {
969
+ tag: "field", name: "CurrentPresetHandle", xref: "cluster§4.3.13.7.2",
970
+ details: "This field shall indicate the current (after the change that caused the event to be generated) value " +
971
+ "of the ActivePresetHandle attribute."
972
+ }
973
+ ]
974
+ },
975
+
976
+ {
977
+ tag: "command", name: "SetpointRaiseLower", xref: "cluster§4.3.12.1",
720
978
  details: "This command will raise or lower the setpoint based on the provided values.",
721
979
 
722
980
  children: [
723
981
  {
724
- tag: "field", name: "Mode", xref: "cluster§4.3.10.1.1",
982
+ tag: "field", name: "Mode", xref: "cluster§4.3.12.1.1",
725
983
  details: "The field shall specify which setpoints are to be adjusted."
726
984
  },
727
985
  {
728
- tag: "field", name: "Amount", xref: "cluster§4.3.10.1.2",
986
+ tag: "field", name: "Amount", xref: "cluster§4.3.12.1.2",
729
987
  details: "This field shall indicate the amount (possibly negative) that should be added to the setpoint(s), in " +
730
988
  "steps of 0.1°C."
731
989
  }
@@ -733,27 +991,74 @@ Resource.add(
733
991
  },
734
992
 
735
993
  {
736
- tag: "command", name: "SetActiveScheduleRequest", xref: "cluster§4.3.10.2",
994
+ tag: "command", name: "SetActiveScheduleRequest", xref: "cluster§4.3.12.2",
737
995
  details: "This command will set the active schedule to the provided schedule handle.",
738
996
  children: [{
739
- tag: "field", name: "ScheduleHandle", xref: "cluster§4.3.10.2.1",
997
+ tag: "field", name: "ScheduleHandle", xref: "cluster§4.3.12.2.1",
740
998
  details: "This field shall specify the value of the ScheduleHandle field on the ScheduleStruct to be made " +
741
999
  "active."
742
1000
  }]
743
1001
  },
744
1002
 
745
1003
  {
746
- tag: "command", name: "SetActivePresetRequest", xref: "cluster§4.3.10.3",
1004
+ tag: "command", name: "SetActivePresetRequest", xref: "cluster§4.3.12.3",
747
1005
  details: "This command will set the active preset to the provided preset handle.",
748
1006
  children: [{
749
- tag: "field", name: "PresetHandle", xref: "cluster§4.3.10.3.1",
1007
+ tag: "field", name: "PresetHandle", xref: "cluster§4.3.12.3.1",
750
1008
  details: "This field shall specify the value of the PresetHandle field on the PresetStruct to be made active. " +
751
1009
  "If the field is set to null, that indicates there should be no active preset."
752
1010
  }]
753
1011
  },
754
1012
 
755
1013
  {
756
- tag: "datatype", name: "ACErrorCodeBitmap", xref: "cluster§4.3.8.1",
1014
+ tag: "command", name: "AddThermostatSuggestion", xref: "cluster§4.3.12.4",
1015
+ details: "This command will add a new suggestion based on the specified values.",
1016
+
1017
+ children: [
1018
+ {
1019
+ tag: "field", name: "PresetHandle", xref: "cluster§4.3.12.4.1",
1020
+ details: "This field shall specify the value of the thermostat suggestion."
1021
+ },
1022
+
1023
+ {
1024
+ tag: "field", name: "EffectiveTime", xref: "cluster§4.3.12.4.2",
1025
+ details: "This field shall indicate the timestamp in UTC at which the thermostat suggestion shall become " +
1026
+ "available. If this field is set to null, that means the thermostat suggestion shall become available " +
1027
+ "immediately."
1028
+ },
1029
+
1030
+ {
1031
+ tag: "field", name: "ExpirationInMinutes", xref: "cluster§4.3.12.4.3",
1032
+ details: "This field shall indicate the duration in minutes after which the thermostat suggestion provided by " +
1033
+ "this command shall expire."
1034
+ }
1035
+ ]
1036
+ },
1037
+
1038
+ {
1039
+ tag: "command", name: "AddThermostatSuggestionResponse", xref: "cluster§4.3.12.5",
1040
+ details: "This command is sent in response to the AddThermostatSuggestion command.",
1041
+
1042
+ children: [{
1043
+ tag: "field", name: "UniqueId", xref: "cluster§4.3.12.5.1",
1044
+ details: "This field shall contain the value in the UniqueID field of the entry that was added to the " +
1045
+ "ThermostatSuggestions attribute via the AddThermostatSuggestion command for which this response " +
1046
+ "shall be sent."
1047
+ }]
1048
+ },
1049
+
1050
+ {
1051
+ tag: "command", name: "RemoveThermostatSuggestion", xref: "cluster§4.3.12.6",
1052
+ details: "This command will remove the specified suggestion.",
1053
+ children: [{
1054
+ tag: "field", name: "UniqueId", xref: "cluster§4.3.12.6.1",
1055
+ details: "This field shall contain a unique identifier for an entry in the ThermostatSuggestions attribute " +
1056
+ "that shall be removed."
1057
+ }]
1058
+ },
1059
+
1060
+ {
1061
+ tag: "datatype", name: "ACErrorCodeBitmap", xref: "cluster§4.3.10.1",
757
1062
 
758
1063
  children: [
759
1064
  { tag: "field", name: "CompressorFail", description: "Compressor Failure or Refrigerant Leakage" },
@@ -765,18 +1070,18 @@ Resource.add(
765
1070
  },
766
1071
 
767
1072
  {
768
- tag: "datatype", name: "OccupancyBitmap", xref: "cluster§4.3.8.2",
1073
+ tag: "datatype", name: "OccupancyBitmap", xref: "cluster§4.3.10.2",
769
1074
 
770
1075
  children: [{
771
1076
  tag: "field", name: "Occupied", description: "Indicates the occupancy state",
772
- xref: "cluster§4.3.8.2.1",
1077
+ xref: "cluster§4.3.10.2.1",
773
1078
  details: "If this bit is set, it shall indicate the occupied state else if the bit if not set, it shall " +
774
1079
  "indicate the unoccupied state."
775
1080
  }]
776
1081
  },
777
1082
 
778
1083
  {
779
- tag: "datatype", name: "PresetTypeFeaturesBitmap", xref: "cluster§4.3.8.3",
1084
+ tag: "datatype", name: "PresetTypeFeaturesBitmap", xref: "cluster§4.3.10.3",
780
1085
 
781
1086
  children: [
782
1087
  {
@@ -788,7 +1093,7 @@ Resource.add(
788
1093
  },
789
1094
 
790
1095
  {
791
- tag: "datatype", name: "RelayStateBitmap", xref: "cluster§4.3.8.4",
1096
+ tag: "datatype", name: "RelayStateBitmap", xref: "cluster§4.3.10.4",
792
1097
 
793
1098
  children: [
794
1099
  { tag: "field", name: "Heat", description: "Heat Stage On" },
@@ -802,7 +1107,7 @@ Resource.add(
802
1107
  },
803
1108
 
804
1109
  {
805
- tag: "datatype", name: "RemoteSensingBitmap", xref: "cluster§4.3.8.5",
1110
+ tag: "datatype", name: "RemoteSensingBitmap", xref: "cluster§4.3.10.5",
806
1111
 
807
1112
  children: [
808
1113
  {
@@ -818,11 +1123,11 @@ Resource.add(
818
1123
  },
819
1124
 
820
1125
  {
821
- tag: "datatype", name: "ScheduleTypeFeaturesBitmap", xref: "cluster§4.3.8.6",
1126
+ tag: "datatype", name: "ScheduleTypeFeaturesBitmap", xref: "cluster§4.3.10.6",
822
1127
 
823
1128
  children: [
824
1129
  {
825
- tag: "field", name: "SupportsPresets", description: "Supports presets", xref: "cluster§4.3.8.6.1",
1130
+ tag: "field", name: "SupportsPresets", description: "Supports presets", xref: "cluster§4.3.10.6.1",
826
1131
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
827
1132
  "SystemMode field on the encompassing ScheduleTypeStruct supports specifying presets on " +
828
1133
  "ScheduleTransitionStructs contained in its Transitions field."
@@ -830,7 +1135,7 @@ Resource.add(
830
1135
 
831
1136
  {
832
1137
  tag: "field", name: "SupportsSetpoints", description: "Supports setpoints",
833
- xref: "cluster§4.3.8.6.2",
1138
+ xref: "cluster§4.3.10.6.2",
834
1139
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
835
1140
  "SystemMode field on the encompassing ScheduleTypeStruct supports specifying setpoints on " +
836
1141
  "ScheduleTransitionStructs contained in its Transitions field."
@@ -838,7 +1143,7 @@ Resource.add(
838
1143
 
839
1144
  {
840
1145
  tag: "field", name: "SupportsNames", description: "Supports user-provided names",
841
- xref: "cluster§4.3.8.6.3",
1146
+ xref: "cluster§4.3.10.6.3",
842
1147
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
843
1148
  "SystemMode field on the encompassing ScheduleTypeStruct supports setting the value of the Name " +
844
1149
  "field."
@@ -846,7 +1151,7 @@ Resource.add(
846
1151
 
847
1152
  {
848
1153
  tag: "field", name: "SupportsOff", description: "Supports transitioning to SystemModeOff",
849
- xref: "cluster§4.3.8.6.4",
1154
+ xref: "cluster§4.3.10.6.4",
850
1155
  details: "This bit shall indicate that any ScheduleStruct with a SystemMode field whose value matches the " +
851
1156
  "SystemMode field on the encompassing ScheduleTypeStruct supports setting its SystemMode field to " +
852
1157
  "Off."
@@ -855,7 +1160,7 @@ Resource.add(
855
1160
  },
856
1161
 
857
1162
  {
858
- tag: "datatype", name: "ScheduleDayOfWeekBitmap", xref: "cluster§4.3.8.7",
1163
+ tag: "datatype", name: "ScheduleDayOfWeekBitmap", xref: "cluster§4.3.10.7",
859
1164
 
860
1165
  children: [
861
1166
  { tag: "field", name: "Sunday", description: "Sunday" },
@@ -870,7 +1175,7 @@ Resource.add(
870
1175
  },
871
1176
 
872
1177
  {
873
- tag: "datatype", name: "ScheduleModeBitmap", xref: "cluster§4.3.8.8",
1178
+ tag: "datatype", name: "ScheduleModeBitmap", xref: "cluster§4.3.10.8",
874
1179
  children: [
875
1180
  { tag: "field", name: "HeatSetpointPresent", description: "Adjust Heat Setpoint" },
876
1181
  { tag: "field", name: "CoolSetpointPresent", description: "Adjust Cool Setpoint" }
@@ -878,12 +1183,39 @@ Resource.add(
878
1183
  },
879
1184
 
880
1185
  {
881
- tag: "datatype", name: "ACCapacityFormatEnum", xref: "cluster§4.3.8.9",
1186
+ tag: "datatype", name: "ThermostatSuggestionNotFollowingReasonBitmap", xref: "cluster§4.3.10.9",
1187
+
1188
+ children: [
1189
+ {
1190
+ tag: "field", name: "DemandResponseEvent",
1191
+ description: "Thermostat is responding to a Demand Response event"
1192
+ },
1193
+ { tag: "field", name: "OngoingHold", description: "Thermostat has an ongoing setpoint hold" },
1194
+ { tag: "field", name: "Schedule", description: "Thermostat is following a schedule" },
1195
+ { tag: "field", name: "Occupancy", description: "Thermostat is following the occupancy signal" },
1196
+ { tag: "field", name: "VacationMode", description: "Thermostat is set to Vacation mode" },
1197
+ {
1198
+ tag: "field", name: "TimeOfUseCostSavings",
1199
+ description: "Thermostat is following a Time Of Use based cost savings plan"
1200
+ },
1201
+ {
1202
+ tag: "field", name: "PreCoolingOrPreHeating",
1203
+ description: "Thermostat is precooling or preheating based on an energy forecast signal"
1204
+ },
1205
+ {
1206
+ tag: "field", name: "ConflictingSuggestions",
1207
+ description: "Thermostat has conflicting suggestions and is unable to choose one"
1208
+ }
1209
+ ]
1210
+ },
1211
+
1212
+ {
1213
+ tag: "datatype", name: "ACCapacityFormatEnum", xref: "cluster§4.3.10.10",
882
1214
  children: [{ tag: "field", name: "BtUh", description: "British Thermal Unit per Hour" }]
883
1215
  },
884
1216
 
885
1217
  {
886
- tag: "datatype", name: "ACCompressorTypeEnum", xref: "cluster§4.3.8.10",
1218
+ tag: "datatype", name: "ACCompressorTypeEnum", xref: "cluster§4.3.10.11",
887
1219
 
888
1220
  children: [
889
1221
  { tag: "field", name: "Unknown", description: "Unknown compressor type" },
@@ -894,7 +1226,7 @@ Resource.add(
894
1226
  },
895
1227
 
896
1228
  {
897
- tag: "datatype", name: "ACLouverPositionEnum", xref: "cluster§4.3.8.11",
1229
+ tag: "datatype", name: "ACLouverPositionEnum", xref: "cluster§4.3.10.12",
898
1230
 
899
1231
  children: [
900
1232
  { tag: "field", name: "Closed", description: "Fully Closed" },
@@ -906,7 +1238,7 @@ Resource.add(
906
1238
  },
907
1239
 
908
1240
  {
909
- tag: "datatype", name: "ACRefrigerantTypeEnum", xref: "cluster§4.3.8.12",
1241
+ tag: "datatype", name: "ACRefrigerantTypeEnum", xref: "cluster§4.3.10.13",
910
1242
 
911
1243
  children: [
912
1244
  { tag: "field", name: "Unknown", description: "Unknown Refrigerant Type" },
@@ -917,7 +1249,7 @@ Resource.add(
917
1249
  },
918
1250
 
919
1251
  {
920
- tag: "datatype", name: "ACTypeEnum", xref: "cluster§4.3.8.13",
1252
+ tag: "datatype", name: "ACTypeEnum", xref: "cluster§4.3.10.14",
921
1253
 
922
1254
  children: [
923
1255
  { tag: "field", name: "Unknown", description: "Unknown AC Type" },
@@ -929,7 +1261,7 @@ Resource.add(
929
1261
  },
930
1262
 
931
1263
  {
932
- tag: "datatype", name: "SetpointRaiseLowerModeEnum", xref: "cluster§4.3.8.14",
1264
+ tag: "datatype", name: "SetpointRaiseLowerModeEnum", xref: "cluster§4.3.10.15",
933
1265
  children: [
934
1266
  { tag: "field", name: "Heat", description: "Adjust Heat Setpoint" },
935
1267
  { tag: "field", name: "Cool", description: "Adjust Cool Setpoint" },
@@ -938,7 +1270,7 @@ Resource.add(
938
1270
  },
939
1271
 
940
1272
  {
941
- tag: "datatype", name: "ControlSequenceOfOperationEnum", xref: "cluster§4.3.8.15",
1273
+ tag: "datatype", name: "ControlSequenceOfOperationEnum", xref: "cluster§4.3.10.16",
942
1274
 
943
1275
  details: "> [!NOTE]" +
944
1276
  "\n" +
@@ -961,45 +1293,45 @@ Resource.add(
961
1293
  },
962
1294
 
963
1295
  {
964
- tag: "datatype", name: "PresetScenarioEnum", xref: "cluster§4.3.8.16",
1296
+ tag: "datatype", name: "PresetScenarioEnum", xref: "cluster§4.3.10.17",
965
1297
 
966
1298
  children: [
967
1299
  {
968
1300
  tag: "field", name: "Occupied", description: "The thermostat-controlled area is occupied",
969
- xref: "cluster§4.3.8.16.2",
1301
+ xref: "cluster§4.3.10.17.2",
970
1302
  details: "This value shall indicate the preset for periods when the thermostat's temperature-controlled area " +
971
1303
  "is occupied. It is intended for thermostats that can automatically determine occupancy."
972
1304
  },
973
1305
 
974
1306
  {
975
1307
  tag: "field", name: "Unoccupied", description: "The thermostat-controlled area is unoccupied",
976
- xref: "cluster§4.3.8.16.3",
1308
+ xref: "cluster§4.3.10.17.3",
977
1309
  details: "This value shall indicate the preset for periods when the thermostat's temperature-controlled area " +
978
1310
  "is unoccupied. It is intended for thermostats that can automatically determine occupancy."
979
1311
  },
980
1312
 
981
1313
  {
982
1314
  tag: "field", name: "Sleep", description: "Users are likely to be sleeping",
983
- xref: "cluster§4.3.8.16.4",
1315
+ xref: "cluster§4.3.10.17.4",
984
1316
  details: "This value shall indicate the preset for periods when users are likely to be asleep."
985
1317
  },
986
1318
  {
987
1319
  tag: "field", name: "Wake", description: "Users are likely to be waking up",
988
- xref: "cluster§4.3.8.16.5",
1320
+ xref: "cluster§4.3.10.17.5",
989
1321
  details: "This value shall indicate the preset for periods when users are likely to be waking up."
990
1322
  },
991
1323
  {
992
- tag: "field", name: "Vacation", description: "Users are on vacation", xref: "cluster§4.3.8.16.6",
1324
+ tag: "field", name: "Vacation", description: "Users are on vacation", xref: "cluster§4.3.10.17.6",
993
1325
  details: "This value shall indicate the preset for periods when users are on vacation, or otherwise " +
994
1326
  "out-of-home for extended periods of time."
995
1327
  },
996
1328
  {
997
1329
  tag: "field", name: "GoingToSleep", description: "Users are likely to be going to sleep",
998
- xref: "cluster§4.3.8.16.7",
1330
+ xref: "cluster§4.3.10.17.7",
999
1331
  details: "This value shall indicate the preset for periods when users are likely to be going to sleep."
1000
1332
  },
1001
1333
  {
1002
- tag: "field", name: "UserDefined", description: "Custom presets", xref: "cluster§4.3.8.16.8",
1334
+ tag: "field", name: "UserDefined", description: "Custom presets", xref: "cluster§4.3.10.17.8",
1003
1335
  details: "This value shall indicate a free-form preset; when set, the Name field on PresetStruct shall NOT be " +
1004
1336
  "null."
1005
1337
  }
@@ -1007,7 +1339,7 @@ Resource.add(
1007
1339
  },
1008
1340
 
1009
1341
  {
1010
- tag: "datatype", name: "SetpointChangeSourceEnum", xref: "cluster§4.3.8.17",
1342
+ tag: "datatype", name: "SetpointChangeSourceEnum", xref: "cluster§4.3.10.18",
1011
1343
 
1012
1344
  children: [
1013
1345
  {
@@ -1025,10 +1357,10 @@ Resource.add(
1025
1357
  ]
1026
1358
  },
1027
1359
 
1028
- { tag: "datatype", name: "StartOfWeekEnum", xref: "cluster§4.3.8.18" },
1360
+ { tag: "datatype", name: "StartOfWeekEnum", xref: "cluster§4.3.10.19" },
1029
1361
 
1030
1362
  {
1031
- tag: "datatype", name: "SystemModeEnum", xref: "cluster§4.3.8.19",
1363
+ tag: "datatype", name: "SystemModeEnum", xref: "cluster§4.3.10.20",
1032
1364
 
1033
1365
  children: [
1034
1366
  {
@@ -1050,7 +1382,7 @@ Resource.add(
1050
1382
  },
1051
1383
 
1052
1384
  {
1053
- tag: "datatype", name: "ThermostatRunningModeEnum", xref: "cluster§4.3.8.20",
1385
+ tag: "datatype", name: "ThermostatRunningModeEnum", xref: "cluster§4.3.10.21",
1054
1386
 
1055
1387
  children: [
1056
1388
  {
@@ -1063,7 +1395,7 @@ Resource.add(
1063
1395
  },
1064
1396
 
1065
1397
  {
1066
- tag: "datatype", name: "TemperatureSetpointHoldEnum", xref: "cluster§4.3.8.21",
1398
+ tag: "datatype", name: "TemperatureSetpointHoldEnum", xref: "cluster§4.3.10.22",
1067
1399
 
1068
1400
  children: [
1069
1401
  { tag: "field", name: "SetpointHoldOff", description: "Follow scheduling program" },
@@ -1075,11 +1407,11 @@ Resource.add(
1075
1407
  },
1076
1408
 
1077
1409
  {
1078
- tag: "datatype", name: "PresetStruct", xref: "cluster§4.3.8.22",
1410
+ tag: "datatype", name: "PresetStruct", xref: "cluster§4.3.10.23",
1079
1411
 
1080
1412
  children: [
1081
1413
  {
1082
- tag: "field", name: "PresetHandle", xref: "cluster§4.3.8.22.1",
1414
+ tag: "field", name: "PresetHandle", xref: "cluster§4.3.10.23.1",
1083
1415
 
1084
1416
  details: "This field shall indicate a device generated identifier for this preset. It shall be unique on the " +
1085
1417
  "device, and shall NOT be reused after the associated preset has been deleted." +
@@ -1090,12 +1422,12 @@ Resource.add(
1090
1422
  },
1091
1423
 
1092
1424
  {
1093
- tag: "field", name: "PresetScenario", xref: "cluster§4.3.8.22.2",
1425
+ tag: "field", name: "PresetScenario", xref: "cluster§4.3.10.23.2",
1094
1426
  details: "This field shall indicate the associated PresetScenarioEnum value for this preset."
1095
1427
  },
1096
1428
 
1097
1429
  {
1098
- tag: "field", name: "Name", xref: "cluster§4.3.8.22.3",
1430
+ tag: "field", name: "Name", xref: "cluster§4.3.10.23.3",
1099
1431
  details: "This field shall indicate a name provided by a user. The null value shall indicate no name." +
1100
1432
  "\n" +
1101
1433
  "Within each subset of presets sharing the same PresetScenario field value, there shall NOT be any " +
@@ -1103,17 +1435,17 @@ Resource.add(
1103
1435
  },
1104
1436
 
1105
1437
  {
1106
- tag: "field", name: "CoolingSetpoint", xref: "cluster§4.3.8.22.4",
1438
+ tag: "field", name: "CoolingSetpoint", xref: "cluster§4.3.10.23.4",
1107
1439
  details: "This field shall indicate the cooling setpoint for the preset. Refer to Setpoint Limits for value " +
1108
1440
  "constraints."
1109
1441
  },
1110
1442
  {
1111
- tag: "field", name: "HeatingSetpoint", xref: "cluster§4.3.8.22.5",
1443
+ tag: "field", name: "HeatingSetpoint", xref: "cluster§4.3.10.23.5",
1112
1444
  details: "This field shall indicate the heating setpoint for the preset. Refer to Setpoint Limits for value " +
1113
1445
  "constraints."
1114
1446
  },
1115
1447
  {
1116
- tag: "field", name: "BuiltIn", xref: "cluster§4.3.8.22.6",
1448
+ tag: "field", name: "BuiltIn", xref: "cluster§4.3.10.23.6",
1117
1449
  details: "This field shall indicate whether the preset is marked as \"built-in\", meaning that it can be " +
1118
1450
  "modified, but it cannot be deleted."
1119
1451
  }
@@ -1121,31 +1453,31 @@ Resource.add(
1121
1453
  },
1122
1454
 
1123
1455
  {
1124
- tag: "datatype", name: "PresetTypeStruct", xref: "cluster§4.3.8.23",
1456
+ tag: "datatype", name: "PresetTypeStruct", xref: "cluster§4.3.10.24",
1125
1457
 
1126
1458
  children: [
1127
1459
  {
1128
- tag: "field", name: "PresetScenario", xref: "cluster§4.3.8.23.1",
1460
+ tag: "field", name: "PresetScenario", xref: "cluster§4.3.10.24.1",
1129
1461
  details: "This field shall specify a PresetScenarioEnum value supported by this thermostat."
1130
1462
  },
1131
1463
  {
1132
- tag: "field", name: "NumberOfPresets", xref: "cluster§4.3.8.23.2",
1464
+ tag: "field", name: "NumberOfPresets", xref: "cluster§4.3.10.24.2",
1133
1465
  details: "This field shall specify a limit for the number of presets for this PresetScenarioEnum."
1134
1466
  },
1135
1467
  {
1136
- tag: "field", name: "PresetTypeFeatures", xref: "cluster§4.3.8.23.3",
1468
+ tag: "field", name: "PresetTypeFeatures", xref: "cluster§4.3.10.24.3",
1137
1469
  details: "This field shall specify a bitmap of features for this PresetTypeStruct."
1138
1470
  }
1139
1471
  ]
1140
1472
  },
1141
1473
 
1142
1474
  {
1143
- tag: "datatype", name: "WeeklyScheduleTransitionStruct", xref: "cluster§4.3.8.24",
1475
+ tag: "datatype", name: "WeeklyScheduleTransitionStruct", xref: "cluster§4.3.10.25",
1144
1476
  details: "This represents a single transition in a Thermostat schedule",
1145
1477
 
1146
1478
  children: [
1147
1479
  {
1148
- tag: "field", name: "TransitionTime", xref: "cluster§4.3.8.24.1",
1480
+ tag: "field", name: "TransitionTime", xref: "cluster§4.3.10.25.1",
1149
1481
  details: "This field shall represent the start time of the schedule transition during the associated day. The " +
1150
1482
  "time will be represented by a 16 bits unsigned integer to designate the minutes since midnight. For " +
1151
1483
  "example, 6am will be represented by 360 minutes since midnight and 11:30pm will be represented by " +
@@ -1153,22 +1485,22 @@ Resource.add(
1153
1485
  },
1154
1486
 
1155
1487
  {
1156
- tag: "field", name: "HeatSetpoint", xref: "cluster§4.3.8.24.2",
1488
+ tag: "field", name: "HeatSetpoint", xref: "cluster§4.3.10.25.2",
1157
1489
  details: "This field shall represent the heat setpoint to be applied at this associated transition start time."
1158
1490
  },
1159
1491
  {
1160
- tag: "field", name: "CoolSetpoint", xref: "cluster§4.3.8.24.3",
1492
+ tag: "field", name: "CoolSetpoint", xref: "cluster§4.3.10.25.3",
1161
1493
  details: "This field shall represent the cool setpoint to be applied at this associated transition start time."
1162
1494
  }
1163
1495
  ]
1164
1496
  },
1165
1497
 
1166
1498
  {
1167
- tag: "datatype", name: "ScheduleStruct", xref: "cluster§4.3.8.25",
1499
+ tag: "datatype", name: "ScheduleStruct", xref: "cluster§4.3.10.26",
1168
1500
 
1169
1501
  children: [
1170
1502
  {
1171
- tag: "field", name: "ScheduleHandle", xref: "cluster§4.3.8.25.1",
1503
+ tag: "field", name: "ScheduleHandle", xref: "cluster§4.3.10.26.1",
1172
1504
 
1173
1505
  details: "This field shall indicate a device generated identifier for this schedule. It shall be unique on the " +
1174
1506
  "device, and shall NOT be reused after the associated schedule has been deleted." +
@@ -1179,21 +1511,21 @@ Resource.add(
1179
1511
  },
1180
1512
 
1181
1513
  {
1182
- tag: "field", name: "SystemMode", xref: "cluster§4.3.8.25.2",
1514
+ tag: "field", name: "SystemMode", xref: "cluster§4.3.10.26.2",
1183
1515
  details: "This field shall specify the default thermostat system mode for transitions in this schedule. The " +
1184
1516
  "only valid values for this field shall be Auto, Heat, and Cool."
1185
1517
  },
1186
1518
  {
1187
- tag: "field", name: "Name", xref: "cluster§4.3.8.25.3",
1519
+ tag: "field", name: "Name", xref: "cluster§4.3.10.26.3",
1188
1520
  details: "This field shall specify a name for the ScheduleStruct."
1189
1521
  },
1190
1522
  {
1191
- tag: "field", name: "PresetHandle", xref: "cluster§4.3.8.25.4",
1523
+ tag: "field", name: "PresetHandle", xref: "cluster§4.3.10.26.4",
1192
1524
  details: "This field shall indicate the default PresetHandle value for transitions in this schedule."
1193
1525
  },
1194
1526
 
1195
1527
  {
1196
- tag: "field", name: "Transitions", xref: "cluster§4.3.8.25.5",
1528
+ tag: "field", name: "Transitions", xref: "cluster§4.3.10.26.5",
1197
1529
 
1198
1530
  details: "This field shall specify a list of transitions for the schedule." +
1199
1531
  "\n" +
@@ -1224,7 +1556,7 @@ Resource.add(
1224
1556
  },
1225
1557
 
1226
1558
  {
1227
- tag: "field", name: "BuiltIn", xref: "cluster§4.3.8.25.6",
1559
+ tag: "field", name: "BuiltIn", xref: "cluster§4.3.10.26.6",
1228
1560
  details: "This field shall indicate whether the schedule is marked as \"built-in\", meaning that it can be " +
1229
1561
  "modified, but it cannot be deleted."
1230
1562
  }
@@ -1232,7 +1564,7 @@ Resource.add(
1232
1564
  },
1233
1565
 
1234
1566
  {
1235
- tag: "datatype", name: "ScheduleTransitionStruct", xref: "cluster§4.3.8.26",
1567
+ tag: "datatype", name: "ScheduleTransitionStruct", xref: "cluster§4.3.10.27",
1236
1568
 
1237
1569
  details: "This struct provides a time of day and a set of days of the week for a state transition within a " +
1238
1570
  "schedule. The thermostat shall use the following order of precedence for determining a new setpoint " +
@@ -1296,13 +1628,13 @@ Resource.add(
1296
1628
 
1297
1629
  children: [
1298
1630
  {
1299
- tag: "field", name: "DayOfWeek", xref: "cluster§4.3.8.26.1",
1631
+ tag: "field", name: "DayOfWeek", xref: "cluster§4.3.10.27.1",
1300
1632
  details: "This field shall specify a bitmask of days of the week that the transition applies to. The Vacation " +
1301
1633
  "bit shall NOT be set; vacation schedules shall be set via the vacation preset."
1302
1634
  },
1303
1635
 
1304
1636
  {
1305
- tag: "field", name: "TransitionTime", xref: "cluster§4.3.8.26.2",
1637
+ tag: "field", name: "TransitionTime", xref: "cluster§4.3.10.27.2",
1306
1638
  details: "This shall specify the time of day at which the transition becomes active, in terms of minutes " +
1307
1639
  "within the day representing the wall clock, where 0 is 00:00:00, 1 is 00:01:00 and 1439 is 23:59:00." +
1308
1640
  "\n" +
@@ -1310,13 +1642,13 @@ Resource.add(
1310
1642
  },
1311
1643
 
1312
1644
  {
1313
- tag: "field", name: "PresetHandle", xref: "cluster§4.3.8.26.3",
1645
+ tag: "field", name: "PresetHandle", xref: "cluster§4.3.10.27.3",
1314
1646
  details: "This field shall specify the preset used at the TransitionTime. If this field is provided, then the " +
1315
1647
  "SystemMode, CoolingSetpoint and HeatingSetpoint fields shall NOT be provided."
1316
1648
  },
1317
1649
 
1318
1650
  {
1319
- tag: "field", name: "SystemMode", xref: "cluster§4.3.8.26.4",
1651
+ tag: "field", name: "SystemMode", xref: "cluster§4.3.10.27.4",
1320
1652
  details: "This shall specify the default mode to which the thermostat will switch for this transition, " +
1321
1653
  "overriding the default for the schedule. The only valid values for this field shall be Auto, Heat, " +
1322
1654
  "Cool and Off. This field shall only be included when the required system mode differs from the " +
@@ -1324,12 +1656,12 @@ Resource.add(
1324
1656
  },
1325
1657
 
1326
1658
  {
1327
- tag: "field", name: "CoolingSetpoint", xref: "cluster§4.3.8.26.5",
1659
+ tag: "field", name: "CoolingSetpoint", xref: "cluster§4.3.10.27.5",
1328
1660
  details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this field " +
1329
1661
  "shall NOT be included. Refer to Setpoint Limits for value constraints."
1330
1662
  },
1331
1663
  {
1332
- tag: "field", name: "HeatingSetpoint", xref: "cluster§4.3.8.26.6",
1664
+ tag: "field", name: "HeatingSetpoint", xref: "cluster§4.3.10.27.6",
1333
1665
  details: "This field shall specify the cooling setpoint for the transition. If PresetHandle is set, this field " +
1334
1666
  "shall NOT be included. Refer to Setpoint Limits for value constraints."
1335
1667
  }
@@ -1337,20 +1669,20 @@ Resource.add(
1337
1669
  },
1338
1670
 
1339
1671
  {
1340
- tag: "datatype", name: "ScheduleTypeStruct", xref: "cluster§4.3.8.27",
1672
+ tag: "datatype", name: "ScheduleTypeStruct", xref: "cluster§4.3.10.28",
1341
1673
 
1342
1674
  children: [
1343
1675
  {
1344
- tag: "field", name: "SystemMode", xref: "cluster§4.3.8.27.1",
1676
+ tag: "field", name: "SystemMode", xref: "cluster§4.3.10.28.1",
1345
1677
  details: "This field shall specify a SystemModeEnum supported by this thermostat for Schedules. The only valid " +
1346
1678
  "values for this field shall be Auto, Heat, and Cool."
1347
1679
  },
1348
1680
  {
1349
- tag: "field", name: "NumberOfSchedules", xref: "cluster§4.3.8.27.2",
1681
+ tag: "field", name: "NumberOfSchedules", xref: "cluster§4.3.10.28.2",
1350
1682
  details: "This field shall specify a limit for the number of Schedules for this SystemMode."
1351
1683
  },
1352
1684
  {
1353
- tag: "field", name: "ScheduleTypeFeatures", xref: "cluster§4.3.8.27.3",
1685
+ tag: "field", name: "ScheduleTypeFeatures", xref: "cluster§4.3.10.28.3",
1354
1686
  details: "This field shall specify a bitmap of features for this schedule entry. At least one of " +
1355
1687
  "SupportsPresets and SupportsSetpoints shall be set."
1356
1688
  }
@@ -1358,7 +1690,32 @@ Resource.add(
1358
1690
  },
1359
1691
 
1360
1692
  {
1361
- tag: "datatype", name: "TemperatureDifference", xref: "cluster§4.3.8.28",
1693
+ tag: "datatype", name: "ThermostatSuggestionStruct", xref: "cluster§4.3.10.29",
1694
+
1695
+ children: [
1696
+ {
1697
+ tag: "field", name: "UniqueId", xref: "cluster§4.3.10.29.1",
1698
+ details: "This field shall have a generated identifier that identifies a distinct entry of type " +
1699
+ "ThermostatSuggestionStruct."
1700
+ },
1701
+ {
1702
+ tag: "field", name: "PresetHandle", xref: "cluster§4.3.10.29.2",
1703
+ details: "This field shall indicate the PresetHandle of the PresetStruct that represents the thermostat " +
1704
+ "suggestion value."
1705
+ },
1706
+ {
1707
+ tag: "field", name: "EffectiveTime", xref: "cluster§4.3.10.29.3",
1708
+ details: "This field shall indicate the UTC timestamp at which the suggestion shall take effect."
1709
+ },
1710
+ {
1711
+ tag: "field", name: "ExpirationTime", xref: "cluster§4.3.10.29.4",
1712
+ details: "This field shall indicate the UTC timestamp at which the suggestion shall expire."
1713
+ }
1714
+ ]
1715
+ },
1716
+
1717
+ {
1718
+ tag: "datatype", name: "TemperatureDifference", xref: "cluster§4.3.10.30",
1362
1719
 
1363
1720
  details: "This data type is derived from int16 and represents a temperature difference with a resolution of " +
1364
1721
  "0.01°C." +
@@ -1373,7 +1730,7 @@ Resource.add(
1373
1730
  },
1374
1731
 
1375
1732
  {
1376
- tag: "datatype", name: "SignedTemperature", xref: "cluster§4.3.8.29",
1733
+ tag: "datatype", name: "SignedTemperature", xref: "cluster§4.3.10.31",
1377
1734
 
1378
1735
  details: "This data type is derived from int8 and represents a temperature from -12.7°C to 12.7°C with a " +
1379
1736
  "resolution of 0.1°C." +
@@ -1389,7 +1746,7 @@ Resource.add(
1389
1746
  },
1390
1747
 
1391
1748
  {
1392
- tag: "datatype", name: "UnsignedTemperature", xref: "cluster§4.3.8.30",
1749
+ tag: "datatype", name: "UnsignedTemperature", xref: "cluster§4.3.10.32",
1393
1750
 
1394
1751
  details: "This data type is derived from uint8 and represents a temperature from 0°C to 25.5°C with a " +
1395
1752
  "resolution of 0.1°C." +