@matter/model 0.17.4 → 0.17.5-alpha.0-20260702-a2cd6f764

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