@matter/types 0.12.6-alpha.0-20250304-03716637c → 0.13.0-alpha.0-20250307-ebf84a05a

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 (857) hide show
  1. package/dist/cjs/cluster/Cluster.d.ts.map +1 -1
  2. package/dist/cjs/cluster/ClusterHelper.d.ts.map +1 -1
  3. package/dist/cjs/clusters/access-control.d.ts +3972 -522
  4. package/dist/cjs/clusters/access-control.d.ts.map +1 -1
  5. package/dist/cjs/clusters/access-control.js +640 -116
  6. package/dist/cjs/clusters/access-control.js.map +2 -2
  7. package/dist/cjs/clusters/actions.d.ts +10 -9
  8. package/dist/cjs/clusters/actions.d.ts.map +1 -1
  9. package/dist/cjs/clusters/actions.js +4 -4
  10. package/dist/cjs/clusters/actions.js.map +1 -1
  11. package/dist/cjs/clusters/administrator-commissioning.d.ts +156 -129
  12. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
  13. package/dist/cjs/clusters/administrator-commissioning.js +40 -35
  14. package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
  15. package/dist/cjs/clusters/alarm-base.d.ts +9 -12
  16. package/dist/cjs/clusters/alarm-base.d.ts.map +1 -1
  17. package/dist/cjs/clusters/alarm-base.js +3 -4
  18. package/dist/cjs/clusters/alarm-base.js.map +1 -1
  19. package/dist/cjs/clusters/application-launcher.d.ts +27 -15
  20. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
  21. package/dist/cjs/clusters/application-launcher.js +7 -4
  22. package/dist/cjs/clusters/application-launcher.js.map +1 -1
  23. package/dist/cjs/clusters/ballast-configuration.d.ts +7 -7
  24. package/dist/cjs/clusters/ballast-configuration.js +7 -7
  25. package/dist/cjs/clusters/basic-information.d.ts +29 -21
  26. package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
  27. package/dist/cjs/clusters/basic-information.js +29 -21
  28. package/dist/cjs/clusters/basic-information.js.map +1 -1
  29. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +816 -34
  30. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  31. package/dist/cjs/clusters/bridged-device-basic-information.js +182 -29
  32. package/dist/cjs/clusters/bridged-device-basic-information.js.map +2 -2
  33. package/dist/cjs/clusters/channel.d.ts +115 -124
  34. package/dist/cjs/clusters/channel.d.ts.map +1 -1
  35. package/dist/cjs/clusters/channel.js +15 -16
  36. package/dist/cjs/clusters/channel.js.map +1 -1
  37. package/dist/cjs/clusters/color-control.d.ts +3076 -1366
  38. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  39. package/dist/cjs/clusters/color-control.js +423 -357
  40. package/dist/cjs/clusters/color-control.js.map +2 -2
  41. package/dist/cjs/clusters/commissioner-control.d.ts +268 -0
  42. package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -0
  43. package/dist/cjs/clusters/commissioner-control.js +194 -0
  44. package/dist/cjs/clusters/commissioner-control.js.map +6 -0
  45. package/dist/cjs/clusters/content-control.d.ts +497 -221
  46. package/dist/cjs/clusters/content-control.d.ts.map +1 -1
  47. package/dist/cjs/clusters/content-control.js +59 -41
  48. package/dist/cjs/clusters/content-control.js.map +2 -2
  49. package/dist/cjs/clusters/content-launcher.d.ts +248 -215
  50. package/dist/cjs/clusters/content-launcher.d.ts.map +1 -1
  51. package/dist/cjs/clusters/content-launcher.js +16 -15
  52. package/dist/cjs/clusters/content-launcher.js.map +1 -1
  53. package/dist/cjs/clusters/device-energy-management-mode.d.ts +76 -333
  54. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  55. package/dist/cjs/clusters/device-energy-management-mode.js +26 -73
  56. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  57. package/dist/cjs/clusters/device-energy-management.d.ts +1299 -930
  58. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
  59. package/dist/cjs/clusters/device-energy-management.js +189 -160
  60. package/dist/cjs/clusters/device-energy-management.js.map +2 -2
  61. package/dist/cjs/clusters/dishwasher-alarm.d.ts +14 -17
  62. package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -1
  63. package/dist/cjs/clusters/dishwasher-alarm.js +3 -4
  64. package/dist/cjs/clusters/dishwasher-alarm.js.map +1 -1
  65. package/dist/cjs/clusters/dishwasher-mode.d.ts +65 -105
  66. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  67. package/dist/cjs/clusters/dishwasher-mode.js +12 -24
  68. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  69. package/dist/cjs/clusters/door-lock.d.ts +2751 -5427
  70. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  71. package/dist/cjs/clusters/door-lock.js +480 -802
  72. package/dist/cjs/clusters/door-lock.js.map +2 -2
  73. package/dist/cjs/clusters/ecosystem-information.d.ts +186 -0
  74. package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -0
  75. package/dist/cjs/clusters/ecosystem-information.js +154 -0
  76. package/dist/cjs/clusters/ecosystem-information.js.map +6 -0
  77. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +363 -368
  78. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
  79. package/dist/cjs/clusters/electrical-energy-measurement.js +15 -16
  80. package/dist/cjs/clusters/electrical-energy-measurement.js.map +1 -1
  81. package/dist/cjs/clusters/energy-evse-mode.d.ts +92 -330
  82. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  83. package/dist/cjs/clusters/energy-evse-mode.js +25 -72
  84. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  85. package/dist/cjs/clusters/energy-evse.d.ts +557 -273
  86. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
  87. package/dist/cjs/clusters/energy-evse.js +107 -55
  88. package/dist/cjs/clusters/energy-evse.js.map +1 -1
  89. package/dist/cjs/clusters/energy-preference.d.ts +76 -76
  90. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
  91. package/dist/cjs/clusters/energy-preference.js +15 -18
  92. package/dist/cjs/clusters/energy-preference.js.map +1 -1
  93. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +3 -9
  94. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  95. package/dist/cjs/clusters/ethernet-network-diagnostics.js +1 -3
  96. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
  97. package/dist/cjs/clusters/fan-control.d.ts +12 -12
  98. package/dist/cjs/clusters/fan-control.js +4 -4
  99. package/dist/cjs/clusters/fixed-label.d.ts +7 -2
  100. package/dist/cjs/clusters/fixed-label.d.ts.map +1 -1
  101. package/dist/cjs/clusters/fixed-label.js.map +1 -1
  102. package/dist/cjs/clusters/flow-measurement.d.ts +4 -4
  103. package/dist/cjs/clusters/flow-measurement.d.ts.map +1 -1
  104. package/dist/cjs/clusters/flow-measurement.js +6 -6
  105. package/dist/cjs/clusters/flow-measurement.js.map +1 -1
  106. package/dist/cjs/clusters/general-commissioning.d.ts +1416 -111
  107. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
  108. package/dist/cjs/clusters/general-commissioning.js +272 -54
  109. package/dist/cjs/clusters/general-commissioning.js.map +2 -2
  110. package/dist/cjs/clusters/general-diagnostics.d.ts +115 -122
  111. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
  112. package/dist/cjs/clusters/general-diagnostics.js +31 -33
  113. package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
  114. package/dist/cjs/clusters/group-key-management.d.ts +72 -82
  115. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
  116. package/dist/cjs/clusters/group-key-management.js +19 -22
  117. package/dist/cjs/clusters/group-key-management.js.map +1 -1
  118. package/dist/cjs/clusters/groups.d.ts +9 -6
  119. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  120. package/dist/cjs/clusters/groups.js +3 -2
  121. package/dist/cjs/clusters/groups.js.map +1 -1
  122. package/dist/cjs/clusters/icd-management.d.ts +223 -66
  123. package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
  124. package/dist/cjs/clusters/icd-management.js +61 -23
  125. package/dist/cjs/clusters/icd-management.js.map +2 -2
  126. package/dist/cjs/clusters/identify.d.ts +12 -13
  127. package/dist/cjs/clusters/identify.d.ts.map +1 -1
  128. package/dist/cjs/clusters/identify.js +9 -10
  129. package/dist/cjs/clusters/identify.js.map +1 -1
  130. package/dist/cjs/clusters/illuminance-measurement.d.ts +7 -8
  131. package/dist/cjs/clusters/illuminance-measurement.d.ts.map +1 -1
  132. package/dist/cjs/clusters/illuminance-measurement.js +9 -10
  133. package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
  134. package/dist/cjs/clusters/index.d.ts +11 -1
  135. package/dist/cjs/clusters/index.d.ts.map +1 -1
  136. package/dist/cjs/clusters/index.js +33 -3
  137. package/dist/cjs/clusters/index.js.map +1 -1
  138. package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
  139. package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
  140. package/dist/cjs/clusters/joint-fabric-datastore-cluster.js +490 -0
  141. package/dist/cjs/clusters/joint-fabric-datastore-cluster.js.map +6 -0
  142. package/dist/cjs/clusters/joint-fabric-pki.d.ts +174 -0
  143. package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +1 -0
  144. package/dist/cjs/clusters/joint-fabric-pki.js +120 -0
  145. package/dist/cjs/clusters/joint-fabric-pki.js.map +6 -0
  146. package/dist/cjs/clusters/keypad-input.d.ts +2 -2
  147. package/dist/cjs/clusters/laundry-dryer-controls.d.ts +6 -7
  148. package/dist/cjs/clusters/laundry-dryer-controls.d.ts.map +1 -1
  149. package/dist/cjs/clusters/laundry-dryer-controls.js +5 -9
  150. package/dist/cjs/clusters/laundry-dryer-controls.js.map +1 -1
  151. package/dist/cjs/clusters/laundry-washer-controls.d.ts +74 -62
  152. package/dist/cjs/clusters/laundry-washer-controls.d.ts.map +1 -1
  153. package/dist/cjs/clusters/laundry-washer-controls.js +26 -25
  154. package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
  155. package/dist/cjs/clusters/laundry-washer-mode.d.ts +69 -109
  156. package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -1
  157. package/dist/cjs/clusters/laundry-washer-mode.js +13 -25
  158. package/dist/cjs/clusters/laundry-washer-mode.js.map +1 -1
  159. package/dist/cjs/clusters/level-control.d.ts +209 -70
  160. package/dist/cjs/clusters/level-control.d.ts.map +1 -1
  161. package/dist/cjs/clusters/level-control.js +45 -12
  162. package/dist/cjs/clusters/level-control.js.map +1 -1
  163. package/dist/cjs/clusters/localization-configuration.d.ts +5 -6
  164. package/dist/cjs/clusters/localization-configuration.d.ts.map +1 -1
  165. package/dist/cjs/clusters/localization-configuration.js +5 -6
  166. package/dist/cjs/clusters/localization-configuration.js.map +1 -1
  167. package/dist/cjs/clusters/media-input.d.ts +9 -6
  168. package/dist/cjs/clusters/media-input.d.ts.map +1 -1
  169. package/dist/cjs/clusters/media-input.js +3 -2
  170. package/dist/cjs/clusters/media-input.js.map +1 -1
  171. package/dist/cjs/clusters/media-playback.d.ts +29 -24
  172. package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
  173. package/dist/cjs/clusters/media-playback.js +5 -4
  174. package/dist/cjs/clusters/media-playback.js.map +1 -1
  175. package/dist/cjs/clusters/microwave-oven-control.d.ts +54 -48
  176. package/dist/cjs/clusters/microwave-oven-control.d.ts.map +1 -1
  177. package/dist/cjs/clusters/microwave-oven-control.js +19 -17
  178. package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
  179. package/dist/cjs/clusters/microwave-oven-mode.d.ts +63 -69
  180. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  181. package/dist/cjs/clusters/microwave-oven-mode.js +14 -11
  182. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  183. package/dist/cjs/clusters/mode-base.d.ts +27 -46
  184. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  185. package/dist/cjs/clusters/mode-base.js +9 -10
  186. package/dist/cjs/clusters/mode-base.js.map +1 -1
  187. package/dist/cjs/clusters/mode-select.d.ts +33 -27
  188. package/dist/cjs/clusters/mode-select.d.ts.map +1 -1
  189. package/dist/cjs/clusters/mode-select.js +14 -13
  190. package/dist/cjs/clusters/mode-select.js.map +1 -1
  191. package/dist/cjs/clusters/network-commissioning.d.ts +263 -240
  192. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
  193. package/dist/cjs/clusters/network-commissioning.js +46 -39
  194. package/dist/cjs/clusters/network-commissioning.js.map +1 -1
  195. package/dist/cjs/clusters/occupancy-sensing.d.ts +1002 -63
  196. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
  197. package/dist/cjs/clusters/occupancy-sensing.js +278 -63
  198. package/dist/cjs/clusters/occupancy-sensing.js.map +2 -2
  199. package/dist/cjs/clusters/on-off.d.ts +18 -24
  200. package/dist/cjs/clusters/on-off.d.ts.map +1 -1
  201. package/dist/cjs/clusters/on-off.js +3 -4
  202. package/dist/cjs/clusters/on-off.js.map +1 -1
  203. package/dist/cjs/clusters/operational-credentials.d.ts +98 -85
  204. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
  205. package/dist/cjs/clusters/operational-credentials.js +56 -49
  206. package/dist/cjs/clusters/operational-credentials.js.map +1 -1
  207. package/dist/cjs/clusters/operational-state.d.ts +136 -57
  208. package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
  209. package/dist/cjs/clusters/operational-state.js +62 -36
  210. package/dist/cjs/clusters/operational-state.js.map +2 -2
  211. package/dist/cjs/clusters/ota-software-update-provider.d.ts +43 -42
  212. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
  213. package/dist/cjs/clusters/ota-software-update-provider.js +20 -19
  214. package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
  215. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +6 -10
  216. package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -1
  217. package/dist/cjs/clusters/ota-software-update-requestor.js +4 -6
  218. package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
  219. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +44 -154
  220. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts.map +1 -1
  221. package/dist/cjs/clusters/oven-cavity-operational-state.js +39 -156
  222. package/dist/cjs/clusters/oven-cavity-operational-state.js.map +1 -1
  223. package/dist/cjs/clusters/oven-mode.d.ts +79 -349
  224. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  225. package/dist/cjs/clusters/oven-mode.js +26 -82
  226. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  227. package/dist/cjs/clusters/power-source.d.ts +169 -44
  228. package/dist/cjs/clusters/power-source.d.ts.map +1 -1
  229. package/dist/cjs/clusters/power-source.js +40 -16
  230. package/dist/cjs/clusters/power-source.js.map +1 -1
  231. package/dist/cjs/clusters/pressure-measurement.js +2 -2
  232. package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
  233. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +73 -63
  234. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  235. package/dist/cjs/clusters/pump-configuration-and-control.js +19 -20
  236. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  237. package/dist/cjs/clusters/refrigerator-alarm.d.ts +2 -1
  238. package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -1
  239. package/dist/cjs/clusters/refrigerator-alarm.js.map +1 -1
  240. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
  241. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  242. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +11 -19
  243. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  244. package/dist/cjs/clusters/relative-humidity-measurement.js +1 -1
  245. package/dist/cjs/clusters/relative-humidity-measurement.js.map +1 -1
  246. package/dist/cjs/clusters/rvc-clean-mode.d.ts +59 -103
  247. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  248. package/dist/cjs/clusters/rvc-clean-mode.js +11 -15
  249. package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
  250. package/dist/cjs/clusters/rvc-operational-state.d.ts +81 -25
  251. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  252. package/dist/cjs/clusters/rvc-operational-state.js +49 -20
  253. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  254. package/dist/cjs/clusters/rvc-run-mode.d.ts +85 -129
  255. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  256. package/dist/cjs/clusters/rvc-run-mode.js +16 -15
  257. package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
  258. package/dist/cjs/clusters/scenes-management.d.ts +328 -181
  259. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
  260. package/dist/cjs/clusters/scenes-management.js +37 -22
  261. package/dist/cjs/clusters/scenes-management.js.map +1 -1
  262. package/dist/cjs/clusters/service-area.d.ts +2052 -0
  263. package/dist/cjs/clusters/service-area.d.ts.map +1 -0
  264. package/dist/cjs/clusters/service-area.js +582 -0
  265. package/dist/cjs/clusters/service-area.js.map +6 -0
  266. package/dist/cjs/clusters/smoke-co-alarm.d.ts +10 -18
  267. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
  268. package/dist/cjs/clusters/smoke-co-alarm.js +2 -3
  269. package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
  270. package/dist/cjs/clusters/switch.d.ts +478 -191
  271. package/dist/cjs/clusters/switch.d.ts.map +1 -1
  272. package/dist/cjs/clusters/switch.js +145 -57
  273. package/dist/cjs/clusters/switch.js.map +1 -1
  274. package/dist/cjs/clusters/target-navigator.d.ts +1 -1
  275. package/dist/cjs/clusters/target-navigator.js +1 -1
  276. package/dist/cjs/clusters/thermostat.d.ts +3877 -830
  277. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  278. package/dist/cjs/clusters/thermostat.js +841 -159
  279. package/dist/cjs/clusters/thermostat.js.map +2 -2
  280. package/dist/cjs/clusters/thread-border-router-management.d.ts +711 -0
  281. package/dist/cjs/clusters/thread-border-router-management.d.ts.map +1 -0
  282. package/dist/cjs/clusters/thread-border-router-management.js +265 -0
  283. package/dist/cjs/clusters/thread-border-router-management.js.map +6 -0
  284. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +81 -55
  285. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
  286. package/dist/cjs/clusters/thread-network-diagnostics.js +32 -21
  287. package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
  288. package/dist/cjs/clusters/thread-network-directory.d.ts +250 -0
  289. package/dist/cjs/clusters/thread-network-directory.d.ts.map +1 -0
  290. package/dist/cjs/clusters/thread-network-directory.js +187 -0
  291. package/dist/cjs/clusters/thread-network-directory.js.map +6 -0
  292. package/dist/cjs/clusters/time-synchronization.d.ts +101 -76
  293. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
  294. package/dist/cjs/clusters/time-synchronization.js +30 -23
  295. package/dist/cjs/clusters/time-synchronization.js.map +1 -1
  296. package/dist/cjs/clusters/unit-localization.d.ts +3 -4
  297. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
  298. package/dist/cjs/clusters/unit-localization.js.map +1 -1
  299. package/dist/cjs/clusters/user-label.d.ts +2 -1
  300. package/dist/cjs/clusters/user-label.d.ts.map +1 -1
  301. package/dist/cjs/clusters/user-label.js.map +1 -1
  302. package/dist/cjs/clusters/water-heater-management.d.ts +1371 -0
  303. package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -0
  304. package/dist/cjs/clusters/water-heater-management.js +336 -0
  305. package/dist/cjs/clusters/water-heater-management.js.map +6 -0
  306. package/dist/cjs/clusters/water-heater-mode.d.ts +491 -0
  307. package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -0
  308. package/dist/cjs/clusters/water-heater-mode.js +195 -0
  309. package/dist/cjs/clusters/water-heater-mode.js.map +6 -0
  310. package/dist/cjs/clusters/water-tank-level-monitoring.d.ts +162 -0
  311. package/dist/cjs/clusters/water-tank-level-monitoring.d.ts.map +1 -0
  312. package/dist/cjs/clusters/water-tank-level-monitoring.js +47 -0
  313. package/dist/cjs/clusters/water-tank-level-monitoring.js.map +6 -0
  314. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +20 -27
  315. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  316. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +6 -8
  317. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
  318. package/dist/cjs/clusters/wi-fi-network-management.d.ts +91 -0
  319. package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -0
  320. package/dist/cjs/clusters/wi-fi-network-management.js +122 -0
  321. package/dist/cjs/clusters/wi-fi-network-management.js.map +6 -0
  322. package/dist/cjs/clusters/window-covering.d.ts +66 -78
  323. package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
  324. package/dist/cjs/clusters/window-covering.js +26 -37
  325. package/dist/cjs/clusters/window-covering.js.map +1 -1
  326. package/dist/cjs/common/ValidationError.d.ts.map +1 -1
  327. package/dist/cjs/datatype/AttributeId.d.ts.map +1 -1
  328. package/dist/cjs/datatype/CaseAuthenticatedTag.d.ts.map +1 -1
  329. package/dist/cjs/datatype/ClusterId.d.ts.map +1 -1
  330. package/dist/cjs/datatype/CommandId.d.ts +1 -0
  331. package/dist/cjs/datatype/CommandId.d.ts.map +1 -1
  332. package/dist/cjs/datatype/CommandId.js +3 -0
  333. package/dist/cjs/datatype/CommandId.js.map +1 -1
  334. package/dist/cjs/datatype/FieldId.d.ts.map +1 -1
  335. package/dist/cjs/datatype/ManufacturerExtensibleIdentifier.d.ts.map +1 -1
  336. package/dist/cjs/datatype/NodeId.d.ts.map +1 -1
  337. package/dist/cjs/datatype/VendorId.d.ts.map +1 -1
  338. package/dist/cjs/globals/AtomicAttributeStatus.d.ts +34 -0
  339. package/dist/cjs/globals/AtomicAttributeStatus.d.ts.map +1 -0
  340. package/dist/cjs/globals/AtomicAttributeStatus.js +46 -0
  341. package/dist/cjs/globals/AtomicAttributeStatus.js.map +6 -0
  342. package/dist/cjs/globals/AtomicRequestType.d.ts +24 -0
  343. package/dist/cjs/globals/AtomicRequestType.d.ts.map +1 -0
  344. package/dist/cjs/globals/AtomicRequestType.js +35 -0
  345. package/dist/cjs/globals/AtomicRequestType.js.map +6 -0
  346. package/dist/cjs/globals/Locationdesc.d.ts +79 -0
  347. package/dist/cjs/globals/Locationdesc.d.ts.map +1 -0
  348. package/dist/cjs/globals/Locationdesc.js +89 -0
  349. package/dist/cjs/globals/Locationdesc.js.map +6 -0
  350. package/dist/cjs/globals/Priority.d.ts +1 -1
  351. package/dist/cjs/globals/Semtag.d.ts +6 -6
  352. package/dist/cjs/globals/Semtag.js +4 -4
  353. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  354. package/dist/cjs/globals/Status.d.ts +18 -3
  355. package/dist/cjs/globals/Status.d.ts.map +1 -1
  356. package/dist/cjs/globals/Status.js +3 -1
  357. package/dist/cjs/globals/Status.js.map +1 -1
  358. package/dist/cjs/globals/Tod.d.ts +2 -2
  359. package/dist/cjs/globals/index.d.ts +3 -0
  360. package/dist/cjs/globals/index.d.ts.map +1 -1
  361. package/dist/cjs/globals/index.js +3 -0
  362. package/dist/cjs/globals/index.js.map +1 -1
  363. package/dist/cjs/schema/BitmapSchema.d.ts.map +1 -1
  364. package/dist/cjs/schema/PairingCodeSchema.d.ts +32 -4
  365. package/dist/cjs/schema/PairingCodeSchema.d.ts.map +1 -1
  366. package/dist/cjs/schema/PairingCodeSchema.js +17 -3
  367. package/dist/cjs/schema/PairingCodeSchema.js.map +1 -1
  368. package/dist/cjs/schema/QrCodeSchema.d.ts.map +1 -1
  369. package/dist/cjs/schema/QrCodeSchema.js +4 -1
  370. package/dist/cjs/schema/QrCodeSchema.js.map +1 -1
  371. package/dist/cjs/schema/SpecificationVersionSchema.d.ts.map +1 -1
  372. package/dist/cjs/tlv/TlvArray.d.ts.map +1 -1
  373. package/dist/cjs/tlv/TlvNullable.d.ts.map +1 -1
  374. package/dist/cjs/tlv/TlvNumber.d.ts.map +1 -1
  375. package/dist/cjs/tlv/TlvObject.d.ts.map +1 -1
  376. package/dist/esm/cluster/Cluster.d.ts.map +1 -1
  377. package/dist/esm/cluster/ClusterHelper.d.ts.map +1 -1
  378. package/dist/esm/clusters/access-control.d.ts +3972 -522
  379. package/dist/esm/clusters/access-control.d.ts.map +1 -1
  380. package/dist/esm/clusters/access-control.js +645 -120
  381. package/dist/esm/clusters/access-control.js.map +2 -2
  382. package/dist/esm/clusters/actions.d.ts +10 -9
  383. package/dist/esm/clusters/actions.d.ts.map +1 -1
  384. package/dist/esm/clusters/actions.js +4 -4
  385. package/dist/esm/clusters/actions.js.map +1 -1
  386. package/dist/esm/clusters/administrator-commissioning.d.ts +156 -129
  387. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
  388. package/dist/esm/clusters/administrator-commissioning.js +40 -35
  389. package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
  390. package/dist/esm/clusters/alarm-base.d.ts +9 -12
  391. package/dist/esm/clusters/alarm-base.d.ts.map +1 -1
  392. package/dist/esm/clusters/alarm-base.js +3 -4
  393. package/dist/esm/clusters/alarm-base.js.map +1 -1
  394. package/dist/esm/clusters/application-launcher.d.ts +27 -15
  395. package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
  396. package/dist/esm/clusters/application-launcher.js +7 -4
  397. package/dist/esm/clusters/application-launcher.js.map +1 -1
  398. package/dist/esm/clusters/ballast-configuration.d.ts +7 -7
  399. package/dist/esm/clusters/ballast-configuration.js +7 -7
  400. package/dist/esm/clusters/basic-information.d.ts +29 -21
  401. package/dist/esm/clusters/basic-information.d.ts.map +1 -1
  402. package/dist/esm/clusters/basic-information.js +29 -21
  403. package/dist/esm/clusters/basic-information.js.map +1 -1
  404. package/dist/esm/clusters/bridged-device-basic-information.d.ts +816 -34
  405. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  406. package/dist/esm/clusters/bridged-device-basic-information.js +188 -32
  407. package/dist/esm/clusters/bridged-device-basic-information.js.map +2 -2
  408. package/dist/esm/clusters/channel.d.ts +115 -124
  409. package/dist/esm/clusters/channel.d.ts.map +1 -1
  410. package/dist/esm/clusters/channel.js +15 -16
  411. package/dist/esm/clusters/channel.js.map +1 -1
  412. package/dist/esm/clusters/color-control.d.ts +3076 -1366
  413. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  414. package/dist/esm/clusters/color-control.js +424 -358
  415. package/dist/esm/clusters/color-control.js.map +2 -2
  416. package/dist/esm/clusters/commissioner-control.d.ts +268 -0
  417. package/dist/esm/clusters/commissioner-control.d.ts.map +1 -0
  418. package/dist/esm/clusters/commissioner-control.js +174 -0
  419. package/dist/esm/clusters/commissioner-control.js.map +6 -0
  420. package/dist/esm/clusters/content-control.d.ts +497 -221
  421. package/dist/esm/clusters/content-control.d.ts.map +1 -1
  422. package/dist/esm/clusters/content-control.js +60 -42
  423. package/dist/esm/clusters/content-control.js.map +2 -2
  424. package/dist/esm/clusters/content-launcher.d.ts +248 -215
  425. package/dist/esm/clusters/content-launcher.d.ts.map +1 -1
  426. package/dist/esm/clusters/content-launcher.js +16 -15
  427. package/dist/esm/clusters/content-launcher.js.map +1 -1
  428. package/dist/esm/clusters/device-energy-management-mode.d.ts +76 -333
  429. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  430. package/dist/esm/clusters/device-energy-management-mode.js +26 -80
  431. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  432. package/dist/esm/clusters/device-energy-management.d.ts +1299 -930
  433. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
  434. package/dist/esm/clusters/device-energy-management.js +189 -160
  435. package/dist/esm/clusters/device-energy-management.js.map +2 -2
  436. package/dist/esm/clusters/dishwasher-alarm.d.ts +14 -17
  437. package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -1
  438. package/dist/esm/clusters/dishwasher-alarm.js +3 -4
  439. package/dist/esm/clusters/dishwasher-alarm.js.map +1 -1
  440. package/dist/esm/clusters/dishwasher-mode.d.ts +65 -105
  441. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  442. package/dist/esm/clusters/dishwasher-mode.js +13 -25
  443. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  444. package/dist/esm/clusters/door-lock.d.ts +2751 -5427
  445. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  446. package/dist/esm/clusters/door-lock.js +482 -804
  447. package/dist/esm/clusters/door-lock.js.map +2 -2
  448. package/dist/esm/clusters/ecosystem-information.d.ts +186 -0
  449. package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -0
  450. package/dist/esm/clusters/ecosystem-information.js +134 -0
  451. package/dist/esm/clusters/ecosystem-information.js.map +6 -0
  452. package/dist/esm/clusters/electrical-energy-measurement.d.ts +363 -368
  453. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
  454. package/dist/esm/clusters/electrical-energy-measurement.js +15 -16
  455. package/dist/esm/clusters/electrical-energy-measurement.js.map +1 -1
  456. package/dist/esm/clusters/energy-evse-mode.d.ts +92 -330
  457. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  458. package/dist/esm/clusters/energy-evse-mode.js +25 -79
  459. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  460. package/dist/esm/clusters/energy-evse.d.ts +557 -273
  461. package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
  462. package/dist/esm/clusters/energy-evse.js +107 -55
  463. package/dist/esm/clusters/energy-evse.js.map +1 -1
  464. package/dist/esm/clusters/energy-preference.d.ts +76 -76
  465. package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
  466. package/dist/esm/clusters/energy-preference.js +15 -18
  467. package/dist/esm/clusters/energy-preference.js.map +1 -1
  468. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +3 -9
  469. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  470. package/dist/esm/clusters/ethernet-network-diagnostics.js +1 -3
  471. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
  472. package/dist/esm/clusters/fan-control.d.ts +12 -12
  473. package/dist/esm/clusters/fan-control.js +4 -4
  474. package/dist/esm/clusters/fixed-label.d.ts +7 -2
  475. package/dist/esm/clusters/fixed-label.d.ts.map +1 -1
  476. package/dist/esm/clusters/fixed-label.js.map +1 -1
  477. package/dist/esm/clusters/flow-measurement.d.ts +4 -4
  478. package/dist/esm/clusters/flow-measurement.d.ts.map +1 -1
  479. package/dist/esm/clusters/flow-measurement.js +6 -6
  480. package/dist/esm/clusters/flow-measurement.js.map +1 -1
  481. package/dist/esm/clusters/general-commissioning.d.ts +1416 -111
  482. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
  483. package/dist/esm/clusters/general-commissioning.js +274 -56
  484. package/dist/esm/clusters/general-commissioning.js.map +2 -2
  485. package/dist/esm/clusters/general-diagnostics.d.ts +115 -122
  486. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
  487. package/dist/esm/clusters/general-diagnostics.js +31 -33
  488. package/dist/esm/clusters/general-diagnostics.js.map +1 -1
  489. package/dist/esm/clusters/group-key-management.d.ts +72 -82
  490. package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
  491. package/dist/esm/clusters/group-key-management.js +19 -22
  492. package/dist/esm/clusters/group-key-management.js.map +1 -1
  493. package/dist/esm/clusters/groups.d.ts +9 -6
  494. package/dist/esm/clusters/groups.d.ts.map +1 -1
  495. package/dist/esm/clusters/groups.js +3 -2
  496. package/dist/esm/clusters/groups.js.map +1 -1
  497. package/dist/esm/clusters/icd-management.d.ts +223 -66
  498. package/dist/esm/clusters/icd-management.d.ts.map +1 -1
  499. package/dist/esm/clusters/icd-management.js +61 -23
  500. package/dist/esm/clusters/icd-management.js.map +2 -2
  501. package/dist/esm/clusters/identify.d.ts +12 -13
  502. package/dist/esm/clusters/identify.d.ts.map +1 -1
  503. package/dist/esm/clusters/identify.js +9 -10
  504. package/dist/esm/clusters/identify.js.map +1 -1
  505. package/dist/esm/clusters/illuminance-measurement.d.ts +7 -8
  506. package/dist/esm/clusters/illuminance-measurement.d.ts.map +1 -1
  507. package/dist/esm/clusters/illuminance-measurement.js +9 -10
  508. package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
  509. package/dist/esm/clusters/index.d.ts +11 -1
  510. package/dist/esm/clusters/index.d.ts.map +1 -1
  511. package/dist/esm/clusters/index.js +36 -3
  512. package/dist/esm/clusters/index.js.map +1 -1
  513. package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
  514. package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
  515. package/dist/esm/clusters/joint-fabric-datastore-cluster.js +470 -0
  516. package/dist/esm/clusters/joint-fabric-datastore-cluster.js.map +6 -0
  517. package/dist/esm/clusters/joint-fabric-pki.d.ts +174 -0
  518. package/dist/esm/clusters/joint-fabric-pki.d.ts.map +1 -0
  519. package/dist/esm/clusters/joint-fabric-pki.js +100 -0
  520. package/dist/esm/clusters/joint-fabric-pki.js.map +6 -0
  521. package/dist/esm/clusters/keypad-input.d.ts +2 -2
  522. package/dist/esm/clusters/laundry-dryer-controls.d.ts +6 -7
  523. package/dist/esm/clusters/laundry-dryer-controls.d.ts.map +1 -1
  524. package/dist/esm/clusters/laundry-dryer-controls.js +6 -10
  525. package/dist/esm/clusters/laundry-dryer-controls.js.map +1 -1
  526. package/dist/esm/clusters/laundry-washer-controls.d.ts +74 -62
  527. package/dist/esm/clusters/laundry-washer-controls.d.ts.map +1 -1
  528. package/dist/esm/clusters/laundry-washer-controls.js +26 -25
  529. package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
  530. package/dist/esm/clusters/laundry-washer-mode.d.ts +69 -109
  531. package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -1
  532. package/dist/esm/clusters/laundry-washer-mode.js +14 -26
  533. package/dist/esm/clusters/laundry-washer-mode.js.map +1 -1
  534. package/dist/esm/clusters/level-control.d.ts +209 -70
  535. package/dist/esm/clusters/level-control.d.ts.map +1 -1
  536. package/dist/esm/clusters/level-control.js +45 -12
  537. package/dist/esm/clusters/level-control.js.map +1 -1
  538. package/dist/esm/clusters/localization-configuration.d.ts +5 -6
  539. package/dist/esm/clusters/localization-configuration.d.ts.map +1 -1
  540. package/dist/esm/clusters/localization-configuration.js +5 -6
  541. package/dist/esm/clusters/localization-configuration.js.map +1 -1
  542. package/dist/esm/clusters/media-input.d.ts +9 -6
  543. package/dist/esm/clusters/media-input.d.ts.map +1 -1
  544. package/dist/esm/clusters/media-input.js +3 -2
  545. package/dist/esm/clusters/media-input.js.map +1 -1
  546. package/dist/esm/clusters/media-playback.d.ts +29 -24
  547. package/dist/esm/clusters/media-playback.d.ts.map +1 -1
  548. package/dist/esm/clusters/media-playback.js +5 -4
  549. package/dist/esm/clusters/media-playback.js.map +1 -1
  550. package/dist/esm/clusters/microwave-oven-control.d.ts +54 -48
  551. package/dist/esm/clusters/microwave-oven-control.d.ts.map +1 -1
  552. package/dist/esm/clusters/microwave-oven-control.js +19 -17
  553. package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
  554. package/dist/esm/clusters/microwave-oven-mode.d.ts +63 -69
  555. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  556. package/dist/esm/clusters/microwave-oven-mode.js +14 -11
  557. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  558. package/dist/esm/clusters/mode-base.d.ts +27 -46
  559. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  560. package/dist/esm/clusters/mode-base.js +9 -10
  561. package/dist/esm/clusters/mode-base.js.map +1 -1
  562. package/dist/esm/clusters/mode-select.d.ts +33 -27
  563. package/dist/esm/clusters/mode-select.d.ts.map +1 -1
  564. package/dist/esm/clusters/mode-select.js +14 -13
  565. package/dist/esm/clusters/mode-select.js.map +1 -1
  566. package/dist/esm/clusters/network-commissioning.d.ts +263 -240
  567. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
  568. package/dist/esm/clusters/network-commissioning.js +46 -39
  569. package/dist/esm/clusters/network-commissioning.js.map +1 -1
  570. package/dist/esm/clusters/occupancy-sensing.d.ts +1002 -63
  571. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
  572. package/dist/esm/clusters/occupancy-sensing.js +287 -65
  573. package/dist/esm/clusters/occupancy-sensing.js.map +2 -2
  574. package/dist/esm/clusters/on-off.d.ts +18 -24
  575. package/dist/esm/clusters/on-off.d.ts.map +1 -1
  576. package/dist/esm/clusters/on-off.js +3 -4
  577. package/dist/esm/clusters/on-off.js.map +1 -1
  578. package/dist/esm/clusters/operational-credentials.d.ts +98 -85
  579. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
  580. package/dist/esm/clusters/operational-credentials.js +56 -49
  581. package/dist/esm/clusters/operational-credentials.js.map +1 -1
  582. package/dist/esm/clusters/operational-state.d.ts +136 -57
  583. package/dist/esm/clusters/operational-state.d.ts.map +1 -1
  584. package/dist/esm/clusters/operational-state.js +63 -37
  585. package/dist/esm/clusters/operational-state.js.map +2 -2
  586. package/dist/esm/clusters/ota-software-update-provider.d.ts +43 -42
  587. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
  588. package/dist/esm/clusters/ota-software-update-provider.js +20 -19
  589. package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
  590. package/dist/esm/clusters/ota-software-update-requestor.d.ts +6 -10
  591. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
  592. package/dist/esm/clusters/ota-software-update-requestor.js +4 -6
  593. package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
  594. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +44 -154
  595. package/dist/esm/clusters/oven-cavity-operational-state.d.ts.map +1 -1
  596. package/dist/esm/clusters/oven-cavity-operational-state.js +41 -166
  597. package/dist/esm/clusters/oven-cavity-operational-state.js.map +1 -1
  598. package/dist/esm/clusters/oven-mode.d.ts +79 -349
  599. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  600. package/dist/esm/clusters/oven-mode.js +26 -89
  601. package/dist/esm/clusters/oven-mode.js.map +1 -1
  602. package/dist/esm/clusters/power-source.d.ts +169 -44
  603. package/dist/esm/clusters/power-source.d.ts.map +1 -1
  604. package/dist/esm/clusters/power-source.js +40 -16
  605. package/dist/esm/clusters/power-source.js.map +1 -1
  606. package/dist/esm/clusters/pressure-measurement.js +2 -2
  607. package/dist/esm/clusters/pressure-measurement.js.map +1 -1
  608. package/dist/esm/clusters/pump-configuration-and-control.d.ts +73 -63
  609. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  610. package/dist/esm/clusters/pump-configuration-and-control.js +19 -20
  611. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  612. package/dist/esm/clusters/refrigerator-alarm.d.ts +2 -1
  613. package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -1
  614. package/dist/esm/clusters/refrigerator-alarm.js.map +1 -1
  615. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
  616. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  617. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +12 -20
  618. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  619. package/dist/esm/clusters/relative-humidity-measurement.js +1 -1
  620. package/dist/esm/clusters/relative-humidity-measurement.js.map +1 -1
  621. package/dist/esm/clusters/rvc-clean-mode.d.ts +59 -103
  622. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  623. package/dist/esm/clusters/rvc-clean-mode.js +11 -15
  624. package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
  625. package/dist/esm/clusters/rvc-operational-state.d.ts +81 -25
  626. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  627. package/dist/esm/clusters/rvc-operational-state.js +49 -20
  628. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  629. package/dist/esm/clusters/rvc-run-mode.d.ts +85 -129
  630. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  631. package/dist/esm/clusters/rvc-run-mode.js +16 -15
  632. package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
  633. package/dist/esm/clusters/scenes-management.d.ts +328 -181
  634. package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
  635. package/dist/esm/clusters/scenes-management.js +37 -22
  636. package/dist/esm/clusters/scenes-management.js.map +1 -1
  637. package/dist/esm/clusters/service-area.d.ts +2052 -0
  638. package/dist/esm/clusters/service-area.d.ts.map +1 -0
  639. package/dist/esm/clusters/service-area.js +562 -0
  640. package/dist/esm/clusters/service-area.js.map +6 -0
  641. package/dist/esm/clusters/smoke-co-alarm.d.ts +10 -18
  642. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
  643. package/dist/esm/clusters/smoke-co-alarm.js +2 -3
  644. package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
  645. package/dist/esm/clusters/switch.d.ts +478 -191
  646. package/dist/esm/clusters/switch.d.ts.map +1 -1
  647. package/dist/esm/clusters/switch.js +145 -57
  648. package/dist/esm/clusters/switch.js.map +1 -1
  649. package/dist/esm/clusters/target-navigator.d.ts +1 -1
  650. package/dist/esm/clusters/target-navigator.js +1 -1
  651. package/dist/esm/clusters/thermostat.d.ts +3877 -830
  652. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  653. package/dist/esm/clusters/thermostat.js +842 -160
  654. package/dist/esm/clusters/thermostat.js.map +2 -2
  655. package/dist/esm/clusters/thread-border-router-management.d.ts +711 -0
  656. package/dist/esm/clusters/thread-border-router-management.d.ts.map +1 -0
  657. package/dist/esm/clusters/thread-border-router-management.js +245 -0
  658. package/dist/esm/clusters/thread-border-router-management.js.map +6 -0
  659. package/dist/esm/clusters/thread-network-diagnostics.d.ts +81 -55
  660. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
  661. package/dist/esm/clusters/thread-network-diagnostics.js +32 -21
  662. package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
  663. package/dist/esm/clusters/thread-network-directory.d.ts +250 -0
  664. package/dist/esm/clusters/thread-network-directory.d.ts.map +1 -0
  665. package/dist/esm/clusters/thread-network-directory.js +167 -0
  666. package/dist/esm/clusters/thread-network-directory.js.map +6 -0
  667. package/dist/esm/clusters/time-synchronization.d.ts +101 -76
  668. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
  669. package/dist/esm/clusters/time-synchronization.js +30 -23
  670. package/dist/esm/clusters/time-synchronization.js.map +1 -1
  671. package/dist/esm/clusters/unit-localization.d.ts +3 -4
  672. package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
  673. package/dist/esm/clusters/unit-localization.js.map +1 -1
  674. package/dist/esm/clusters/user-label.d.ts +2 -1
  675. package/dist/esm/clusters/user-label.d.ts.map +1 -1
  676. package/dist/esm/clusters/user-label.js.map +1 -1
  677. package/dist/esm/clusters/water-heater-management.d.ts +1371 -0
  678. package/dist/esm/clusters/water-heater-management.d.ts.map +1 -0
  679. package/dist/esm/clusters/water-heater-management.js +325 -0
  680. package/dist/esm/clusters/water-heater-management.js.map +6 -0
  681. package/dist/esm/clusters/water-heater-mode.d.ts +491 -0
  682. package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -0
  683. package/dist/esm/clusters/water-heater-mode.js +175 -0
  684. package/dist/esm/clusters/water-heater-mode.js.map +6 -0
  685. package/dist/esm/clusters/water-tank-level-monitoring.d.ts +162 -0
  686. package/dist/esm/clusters/water-tank-level-monitoring.d.ts.map +1 -0
  687. package/dist/esm/clusters/water-tank-level-monitoring.js +27 -0
  688. package/dist/esm/clusters/water-tank-level-monitoring.js.map +6 -0
  689. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +20 -27
  690. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  691. package/dist/esm/clusters/wi-fi-network-diagnostics.js +6 -8
  692. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
  693. package/dist/esm/clusters/wi-fi-network-management.d.ts +91 -0
  694. package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -0
  695. package/dist/esm/clusters/wi-fi-network-management.js +102 -0
  696. package/dist/esm/clusters/wi-fi-network-management.js.map +6 -0
  697. package/dist/esm/clusters/window-covering.d.ts +66 -78
  698. package/dist/esm/clusters/window-covering.d.ts.map +1 -1
  699. package/dist/esm/clusters/window-covering.js +26 -37
  700. package/dist/esm/clusters/window-covering.js.map +1 -1
  701. package/dist/esm/common/ValidationError.d.ts.map +1 -1
  702. package/dist/esm/datatype/AttributeId.d.ts.map +1 -1
  703. package/dist/esm/datatype/CaseAuthenticatedTag.d.ts.map +1 -1
  704. package/dist/esm/datatype/ClusterId.d.ts.map +1 -1
  705. package/dist/esm/datatype/CommandId.d.ts +1 -0
  706. package/dist/esm/datatype/CommandId.d.ts.map +1 -1
  707. package/dist/esm/datatype/CommandId.js +3 -0
  708. package/dist/esm/datatype/CommandId.js.map +1 -1
  709. package/dist/esm/datatype/FieldId.d.ts.map +1 -1
  710. package/dist/esm/datatype/ManufacturerExtensibleIdentifier.d.ts.map +1 -1
  711. package/dist/esm/datatype/NodeId.d.ts.map +1 -1
  712. package/dist/esm/datatype/VendorId.d.ts.map +1 -1
  713. package/dist/esm/globals/AtomicAttributeStatus.d.ts +34 -0
  714. package/dist/esm/globals/AtomicAttributeStatus.d.ts.map +1 -0
  715. package/dist/esm/globals/AtomicAttributeStatus.js +26 -0
  716. package/dist/esm/globals/AtomicAttributeStatus.js.map +6 -0
  717. package/dist/esm/globals/AtomicRequestType.d.ts +24 -0
  718. package/dist/esm/globals/AtomicRequestType.d.ts.map +1 -0
  719. package/dist/esm/globals/AtomicRequestType.js +15 -0
  720. package/dist/esm/globals/AtomicRequestType.js.map +6 -0
  721. package/dist/esm/globals/Locationdesc.d.ts +79 -0
  722. package/dist/esm/globals/Locationdesc.d.ts.map +1 -0
  723. package/dist/esm/globals/Locationdesc.js +69 -0
  724. package/dist/esm/globals/Locationdesc.js.map +6 -0
  725. package/dist/esm/globals/Priority.d.ts +1 -1
  726. package/dist/esm/globals/Semtag.d.ts +6 -6
  727. package/dist/esm/globals/Semtag.js +4 -4
  728. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  729. package/dist/esm/globals/Status.d.ts +18 -3
  730. package/dist/esm/globals/Status.d.ts.map +1 -1
  731. package/dist/esm/globals/Status.js +3 -1
  732. package/dist/esm/globals/Status.js.map +1 -1
  733. package/dist/esm/globals/Tod.d.ts +2 -2
  734. package/dist/esm/globals/index.d.ts +3 -0
  735. package/dist/esm/globals/index.d.ts.map +1 -1
  736. package/dist/esm/globals/index.js +3 -0
  737. package/dist/esm/globals/index.js.map +1 -1
  738. package/dist/esm/schema/BitmapSchema.d.ts.map +1 -1
  739. package/dist/esm/schema/PairingCodeSchema.d.ts +32 -4
  740. package/dist/esm/schema/PairingCodeSchema.d.ts.map +1 -1
  741. package/dist/esm/schema/PairingCodeSchema.js +17 -3
  742. package/dist/esm/schema/PairingCodeSchema.js.map +1 -1
  743. package/dist/esm/schema/QrCodeSchema.d.ts.map +1 -1
  744. package/dist/esm/schema/QrCodeSchema.js +4 -1
  745. package/dist/esm/schema/QrCodeSchema.js.map +1 -1
  746. package/dist/esm/schema/SpecificationVersionSchema.d.ts.map +1 -1
  747. package/dist/esm/tlv/TlvArray.d.ts.map +1 -1
  748. package/dist/esm/tlv/TlvNullable.d.ts.map +1 -1
  749. package/dist/esm/tlv/TlvNumber.d.ts.map +1 -1
  750. package/dist/esm/tlv/TlvObject.d.ts.map +1 -1
  751. package/package.json +5 -5
  752. package/src/clusters/access-control.ts +926 -171
  753. package/src/clusters/actions.ts +12 -11
  754. package/src/clusters/administrator-commissioning.ts +54 -35
  755. package/src/clusters/alarm-base.ts +3 -4
  756. package/src/clusters/application-launcher.ts +22 -7
  757. package/src/clusters/ballast-configuration.ts +7 -7
  758. package/src/clusters/basic-information.ts +29 -21
  759. package/src/clusters/bridged-device-basic-information.ts +264 -41
  760. package/src/clusters/channel.ts +20 -17
  761. package/src/clusters/color-control.ts +589 -426
  762. package/src/clusters/commissioner-control.ts +282 -0
  763. package/src/clusters/content-control.ts +48 -54
  764. package/src/clusters/content-launcher.ts +16 -15
  765. package/src/clusters/device-energy-management-mode.ts +63 -161
  766. package/src/clusters/device-energy-management.ts +246 -193
  767. package/src/clusters/dishwasher-alarm.ts +5 -5
  768. package/src/clusters/dishwasher-mode.ts +46 -87
  769. package/src/clusters/door-lock.ts +786 -1235
  770. package/src/clusters/ecosystem-information.ts +200 -0
  771. package/src/clusters/electrical-energy-measurement.ts +15 -16
  772. package/src/clusters/energy-evse-mode.ts +81 -158
  773. package/src/clusters/energy-evse.ts +138 -72
  774. package/src/clusters/energy-preference.ts +34 -28
  775. package/src/clusters/ethernet-network-diagnostics.ts +1 -3
  776. package/src/clusters/fan-control.ts +5 -5
  777. package/src/clusters/fixed-label.ts +7 -2
  778. package/src/clusters/flow-measurement.ts +6 -6
  779. package/src/clusters/general-commissioning.ts +396 -96
  780. package/src/clusters/general-diagnostics.ts +31 -33
  781. package/src/clusters/group-key-management.ts +22 -24
  782. package/src/clusters/groups.ts +3 -2
  783. package/src/clusters/icd-management.ts +88 -31
  784. package/src/clusters/identify.ts +9 -10
  785. package/src/clusters/illuminance-measurement.ts +9 -10
  786. package/src/clusters/index.ts +14 -1
  787. package/src/clusters/joint-fabric-datastore-cluster.ts +657 -0
  788. package/src/clusters/joint-fabric-pki.ts +202 -0
  789. package/src/clusters/keypad-input.ts +2 -2
  790. package/src/clusters/laundry-dryer-controls.ts +6 -10
  791. package/src/clusters/laundry-washer-controls.ts +28 -27
  792. package/src/clusters/laundry-washer-mode.ts +49 -90
  793. package/src/clusters/level-control.ts +45 -12
  794. package/src/clusters/localization-configuration.ts +5 -6
  795. package/src/clusters/media-input.ts +3 -2
  796. package/src/clusters/media-playback.ts +9 -7
  797. package/src/clusters/microwave-oven-control.ts +19 -17
  798. package/src/clusters/microwave-oven-mode.ts +42 -61
  799. package/src/clusters/mode-base.ts +16 -33
  800. package/src/clusters/mode-select.ts +17 -14
  801. package/src/clusters/network-commissioning.ts +47 -40
  802. package/src/clusters/occupancy-sensing.ts +433 -72
  803. package/src/clusters/on-off.ts +6 -8
  804. package/src/clusters/operational-credentials.ts +54 -47
  805. package/src/clusters/operational-state.ts +136 -58
  806. package/src/clusters/ota-software-update-provider.ts +23 -23
  807. package/src/clusters/ota-software-update-requestor.ts +4 -6
  808. package/src/clusters/oven-cavity-operational-state.ts +43 -171
  809. package/src/clusters/oven-mode.ts +76 -178
  810. package/src/clusters/power-source.ts +45 -21
  811. package/src/clusters/pressure-measurement.ts +2 -2
  812. package/src/clusters/pump-configuration-and-control.ts +35 -23
  813. package/src/clusters/refrigerator-alarm.ts +2 -1
  814. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +41 -78
  815. package/src/clusters/relative-humidity-measurement.ts +1 -1
  816. package/src/clusters/rvc-clean-mode.ts +42 -101
  817. package/src/clusters/rvc-operational-state.ts +87 -25
  818. package/src/clusters/rvc-run-mode.ts +62 -126
  819. package/src/clusters/scenes-management.ts +38 -23
  820. package/src/clusters/service-area.ts +904 -0
  821. package/src/clusters/smoke-co-alarm.ts +6 -12
  822. package/src/clusters/switch.ts +177 -78
  823. package/src/clusters/target-navigator.ts +1 -1
  824. package/src/clusters/thermostat.ts +1245 -214
  825. package/src/clusters/thread-border-router-management.ts +355 -0
  826. package/src/clusters/thread-network-diagnostics.ts +34 -21
  827. package/src/clusters/thread-network-directory.ts +256 -0
  828. package/src/clusters/time-synchronization.ts +30 -23
  829. package/src/clusters/unit-localization.ts +3 -4
  830. package/src/clusters/user-label.ts +2 -1
  831. package/src/clusters/water-heater-management.ts +457 -0
  832. package/src/clusters/water-heater-mode.ts +301 -0
  833. package/src/clusters/water-tank-level-monitoring.ts +50 -0
  834. package/src/clusters/wi-fi-network-diagnostics.ts +6 -8
  835. package/src/clusters/wi-fi-network-management.ts +119 -0
  836. package/src/clusters/window-covering.ts +26 -37
  837. package/src/datatype/CommandId.ts +4 -0
  838. package/src/globals/AtomicAttributeStatus.ts +41 -0
  839. package/src/globals/AtomicRequestType.ts +27 -0
  840. package/src/globals/Locationdesc.ts +88 -0
  841. package/src/globals/Priority.ts +1 -1
  842. package/src/globals/Semtag.ts +6 -6
  843. package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
  844. package/src/globals/Status.ts +20 -3
  845. package/src/globals/Tod.ts +2 -2
  846. package/src/globals/index.ts +3 -0
  847. package/src/schema/PairingCodeSchema.ts +17 -2
  848. package/src/schema/QrCodeSchema.ts +7 -2
  849. package/dist/cjs/clusters/pulse-width-modulation.d.ts +0 -2023
  850. package/dist/cjs/clusters/pulse-width-modulation.d.ts.map +0 -1
  851. package/dist/cjs/clusters/pulse-width-modulation.js +0 -51
  852. package/dist/cjs/clusters/pulse-width-modulation.js.map +0 -6
  853. package/dist/esm/clusters/pulse-width-modulation.d.ts +0 -2023
  854. package/dist/esm/clusters/pulse-width-modulation.d.ts.map +0 -1
  855. package/dist/esm/clusters/pulse-width-modulation.js +0 -31
  856. package/dist/esm/clusters/pulse-width-modulation.js.map +0 -6
  857. package/src/clusters/pulse-width-modulation.ts +0 -54
@@ -0,0 +1,1371 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
7
+ import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
8
+ import { Attribute, FixedAttribute, Command, Event } from "../cluster/Cluster.js";
9
+ import { BitFlag } from "../schema/BitmapSchema.js";
10
+ import { TypeFromSchema } from "../tlv/TlvSchema.js";
11
+ import { Identity } from "#general";
12
+ export declare namespace WaterHeaterManagement {
13
+ /**
14
+ * These are optional features supported by WaterHeaterManagementCluster.
15
+ *
16
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.4
17
+ */
18
+ enum Feature {
19
+ /**
20
+ * EnergyManagement (EM)
21
+ *
22
+ * Allows energy management control of the tank
23
+ */
24
+ EnergyManagement = "EnergyManagement",
25
+ /**
26
+ * TankPercent (TP)
27
+ *
28
+ * Supports monitoring the percentage of hot water in the tank
29
+ */
30
+ TankPercent = "TankPercent"
31
+ }
32
+ /**
33
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.1
34
+ */
35
+ const WaterHeaterHeatSource: {
36
+ /**
37
+ * Immersion Heating Element 1
38
+ */
39
+ immersionElement1: BitFlag;
40
+ /**
41
+ * Immersion Heating Element 2
42
+ */
43
+ immersionElement2: BitFlag;
44
+ /**
45
+ * Heat pump Heating
46
+ */
47
+ heatPump: BitFlag;
48
+ /**
49
+ * Boiler Heating (e.g. Gas or Oil)
50
+ */
51
+ boiler: BitFlag;
52
+ /**
53
+ * Other Heating
54
+ */
55
+ other: BitFlag;
56
+ };
57
+ /**
58
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.2
59
+ */
60
+ enum BoostState {
61
+ /**
62
+ * Boost is not currently active
63
+ */
64
+ Inactive = 0,
65
+ /**
66
+ * Boost is currently active
67
+ */
68
+ Active = 1
69
+ }
70
+ /**
71
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3
72
+ */
73
+ const TlvWaterHeaterBoostInfo: import("../tlv/TlvObject.js").ObjectSchema<{
74
+ /**
75
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
76
+ *
77
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
78
+ */
79
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
80
+ /**
81
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
82
+ * reached either:
83
+ *
84
+ * • the set point temperature (from the thermostat cluster)
85
+ *
86
+ * • the TemporarySetpoint temperature (if specified)
87
+ *
88
+ * • the TargetPercentage (if specified).
89
+ *
90
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
91
+ */
92
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
93
+ /**
94
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
95
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
96
+ *
97
+ * The choice of which heat sources are activated is manufacturer specific.
98
+ *
99
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
100
+ */
101
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
102
+ /**
103
+ * This field shall indicate the target temperature to which the water will be heated.
104
+ *
105
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
106
+ * is activated.
107
+ *
108
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
109
+ * attributes (inclusive), of the thermostat cluster.
110
+ *
111
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
112
+ */
113
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
114
+ /**
115
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
116
+ * must reach before the heating is switched off.
117
+ *
118
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
119
+ */
120
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
121
+ /**
122
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
123
+ * again beginning to reheat it.
124
+ *
125
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
126
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
127
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
128
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
129
+ *
130
+ * This field shall be less than or equal to the TargetPercentage field.
131
+ *
132
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
133
+ */
134
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
135
+ }>;
136
+ /**
137
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3
138
+ */
139
+ interface WaterHeaterBoostInfo extends TypeFromSchema<typeof TlvWaterHeaterBoostInfo> {
140
+ }
141
+ /**
142
+ * Input to the WaterHeaterManagement boost command
143
+ *
144
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.1
145
+ */
146
+ const TlvBoostRequest: import("../tlv/TlvObject.js").ObjectSchema<{
147
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
148
+ /**
149
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
150
+ *
151
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
152
+ */
153
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
154
+ /**
155
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
156
+ * reached either:
157
+ *
158
+ * • the set point temperature (from the thermostat cluster)
159
+ *
160
+ * • the TemporarySetpoint temperature (if specified)
161
+ *
162
+ * • the TargetPercentage (if specified).
163
+ *
164
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
165
+ */
166
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
167
+ /**
168
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
169
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
170
+ *
171
+ * The choice of which heat sources are activated is manufacturer specific.
172
+ *
173
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
174
+ */
175
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
176
+ /**
177
+ * This field shall indicate the target temperature to which the water will be heated.
178
+ *
179
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
180
+ * is activated.
181
+ *
182
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
183
+ * attributes (inclusive), of the thermostat cluster.
184
+ *
185
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
186
+ */
187
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
188
+ /**
189
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
190
+ * must reach before the heating is switched off.
191
+ *
192
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
193
+ */
194
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
195
+ /**
196
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
197
+ * again beginning to reheat it.
198
+ *
199
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
200
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
201
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
202
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
203
+ *
204
+ * This field shall be less than or equal to the TargetPercentage field.
205
+ *
206
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
207
+ */
208
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
209
+ }>>;
210
+ }>;
211
+ /**
212
+ * Input to the WaterHeaterManagement boost command
213
+ *
214
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.1
215
+ */
216
+ interface BoostRequest extends TypeFromSchema<typeof TlvBoostRequest> {
217
+ }
218
+ /**
219
+ * Body of the WaterHeaterManagement boostStarted event
220
+ *
221
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.1
222
+ */
223
+ const TlvBoostStartedEvent: import("../tlv/TlvObject.js").ObjectSchema<{
224
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
225
+ /**
226
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
227
+ *
228
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
229
+ */
230
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
231
+ /**
232
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
233
+ * reached either:
234
+ *
235
+ * • the set point temperature (from the thermostat cluster)
236
+ *
237
+ * • the TemporarySetpoint temperature (if specified)
238
+ *
239
+ * • the TargetPercentage (if specified).
240
+ *
241
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
242
+ */
243
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
244
+ /**
245
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
246
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
247
+ *
248
+ * The choice of which heat sources are activated is manufacturer specific.
249
+ *
250
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
251
+ */
252
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
253
+ /**
254
+ * This field shall indicate the target temperature to which the water will be heated.
255
+ *
256
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
257
+ * is activated.
258
+ *
259
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
260
+ * attributes (inclusive), of the thermostat cluster.
261
+ *
262
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
263
+ */
264
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
265
+ /**
266
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
267
+ * must reach before the heating is switched off.
268
+ *
269
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
270
+ */
271
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
272
+ /**
273
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
274
+ * again beginning to reheat it.
275
+ *
276
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
277
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
278
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
279
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
280
+ *
281
+ * This field shall be less than or equal to the TargetPercentage field.
282
+ *
283
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
284
+ */
285
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
286
+ }>>;
287
+ }>;
288
+ /**
289
+ * Body of the WaterHeaterManagement boostStarted event
290
+ *
291
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.1
292
+ */
293
+ interface BoostStartedEvent extends TypeFromSchema<typeof TlvBoostStartedEvent> {
294
+ }
295
+ /**
296
+ * A WaterHeaterManagementCluster supports these elements if it supports feature EnergyManagement.
297
+ */
298
+ const EnergyManagementComponent: {
299
+ readonly attributes: {
300
+ /**
301
+ * Indicates the volume of water that the hot water tank can hold (in units of Litres). This allows an
302
+ * energy management system to estimate the required heating energy needed to reach the target temperature.
303
+ *
304
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.3
305
+ */
306
+ readonly tankVolume: Attribute<number, any>;
307
+ /**
308
+ * Indicates the estimated heat energy needed to raise the water temperature to the target setpoint. This
309
+ * can be computed by taking the specific heat capacity of water (4182 J/kg °C) and by knowing the current
310
+ * temperature of the water, the tank volume and target temperature.
311
+ *
312
+ * For example, if the target temperature was 60°C, the current temperature was 20°C and the tank volume
313
+ * was 100L:
314
+ *
315
+ * Mass of water = 1kg per Litre
316
+ *
317
+ * Total Mass = 100 x 1kg = 100kg
318
+ *
319
+ * Δ Temperature = (target temperature - current temperature)
320
+ *
321
+ * = (60°C - 20°C) = 40°C
322
+ *
323
+ * Energy required to
324
+ *
325
+ * heat the water to 60°C = 4182 x 40 x 100 = 16,728,000 J
326
+ *
327
+ * Converting Joules in to Wh of heat (divide by 3600):
328
+ *
329
+ * If the TankPercent feature is supported, then this estimate shall also take into account the percentage
330
+ * of the water in the tank which is already hot.
331
+ *
332
+ * NOTE
333
+ *
334
+ * The electrical energy required to heat the water depends on the heating system used to heat the water.
335
+ * For example, a direct electric immersion heating element can be close to 100% efficient, so the
336
+ * electrical energy needed to heat the hot water is nearly the same as the EstimatedHeatEnergyRequired.
337
+ * However some forms of heating, such as an air-source heat pump which extracts heat from ambient air,
338
+ * requires much less electrical energy to heat hot water. Heat pumps can be produce 3kWh of heat output
339
+ * for 1kWh of electrical energy input. The conversion between heat energy and electrical energy is outside
340
+ * the scope of this cluster.
341
+ *
342
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.4
343
+ */
344
+ readonly estimatedHeatRequired: Attribute<number | bigint, any>;
345
+ };
346
+ };
347
+ /**
348
+ * A WaterHeaterManagementCluster supports these elements if it supports feature TankPercent.
349
+ */
350
+ const TankPercentComponent: {
351
+ readonly attributes: {
352
+ /**
353
+ * Indicates an approximate level of hot water stored in the tank, which might help consumers understand
354
+ * the amount of hot water remaining in the tank. The accuracy of this attribute is manufacturer specific.
355
+ *
356
+ * In most hot water tanks, there is a stratification effect where the hot water layer rests above a cooler
357
+ * layer of water below. For this reason cold water is fed in at the bottom of the tank and the hot water
358
+ * is drawn from the top.
359
+ *
360
+ * Some water tanks might use multiple temperature probes to estimate the level of the hot water layer. A
361
+ * water heater with multiple temperature probes is likely to implement an algorithm to estimate the hot
362
+ * water tank percentage by taking into account the temperature values of each probe to determine the
363
+ * height of the hot water.
364
+ *
365
+ * However it might be possible with a single temperature probe to estimate how much hot water is left
366
+ * using a simpler algorithm:
367
+ *
368
+ * For example, if the target temperature was 60°C, the CurrentTemperature was 40°C from a single
369
+ * temperature probe measuring the average water temperature and the temperature of incoming cold water
370
+ * (COLD_WATER_TEMP) was assumed to be 20°C:
371
+ *
372
+ * TankPercentage = int(((current temperature - COLD_WATER_TEMP) / (target temperature - COLD_WATER_TEMP))
373
+ * * 100)
374
+ *
375
+ * TankPercentage = min( max(TankPercentage,0), 100)
376
+ *
377
+ * TankPercentage = 50%
378
+ *
379
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.5
380
+ */
381
+ readonly tankPercentage: Attribute<number, any>;
382
+ };
383
+ };
384
+ /**
385
+ * These elements and properties are present in all WaterHeaterManagement clusters.
386
+ */
387
+ const Base: {
388
+ readonly id: 148;
389
+ readonly name: "WaterHeaterManagement";
390
+ readonly revision: 2;
391
+ readonly features: {
392
+ /**
393
+ * EnergyManagement
394
+ *
395
+ * Allows energy management control of the tank
396
+ */
397
+ readonly energyManagement: BitFlag;
398
+ /**
399
+ * TankPercent
400
+ *
401
+ * Supports monitoring the percentage of hot water in the tank
402
+ */
403
+ readonly tankPercent: BitFlag;
404
+ };
405
+ readonly attributes: {
406
+ /**
407
+ * Indicates the heat sources that the water heater can call on for heating. If a bit is set then the water
408
+ * heater supports the corresponding heat source.
409
+ *
410
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.1
411
+ */
412
+ readonly heaterTypes: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
413
+ /**
414
+ * Immersion Heating Element 1
415
+ */
416
+ immersionElement1: BitFlag;
417
+ /**
418
+ * Immersion Heating Element 2
419
+ */
420
+ immersionElement2: BitFlag;
421
+ /**
422
+ * Heat pump Heating
423
+ */
424
+ heatPump: BitFlag;
425
+ /**
426
+ * Boiler Heating (e.g. Gas or Oil)
427
+ */
428
+ boiler: BitFlag;
429
+ /**
430
+ * Other Heating
431
+ */
432
+ other: BitFlag;
433
+ }>, any>;
434
+ /**
435
+ * Indicates if the water heater is heating water. If a bit is set then the corresponding heat source is
436
+ * active.
437
+ *
438
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.2
439
+ */
440
+ readonly heatDemand: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
441
+ /**
442
+ * Immersion Heating Element 1
443
+ */
444
+ immersionElement1: BitFlag;
445
+ /**
446
+ * Immersion Heating Element 2
447
+ */
448
+ immersionElement2: BitFlag;
449
+ /**
450
+ * Heat pump Heating
451
+ */
452
+ heatPump: BitFlag;
453
+ /**
454
+ * Boiler Heating (e.g. Gas or Oil)
455
+ */
456
+ boiler: BitFlag;
457
+ /**
458
+ * Other Heating
459
+ */
460
+ other: BitFlag;
461
+ }>, any>;
462
+ /**
463
+ * Indicates whether the Boost, as triggered by a Boost command, is currently
464
+ *
465
+ * Active or Inactive.
466
+ *
467
+ * See Boost and CancelBoost commands for more details.
468
+ *
469
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.6
470
+ */
471
+ readonly boostState: Attribute<BoostState, any>;
472
+ };
473
+ readonly commands: {
474
+ /**
475
+ * Allows a client to request that the water heater is put into a Boost state.
476
+ *
477
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.1
478
+ */
479
+ readonly boost: Command<import("../tlv/TlvObject.js").TypeFromFields<{
480
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
481
+ /**
482
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
483
+ *
484
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
485
+ */
486
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
487
+ /**
488
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
489
+ * reached either:
490
+ *
491
+ * • the set point temperature (from the thermostat cluster)
492
+ *
493
+ * • the TemporarySetpoint temperature (if specified)
494
+ *
495
+ * • the TargetPercentage (if specified).
496
+ *
497
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
498
+ */
499
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
500
+ /**
501
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
502
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
503
+ *
504
+ * The choice of which heat sources are activated is manufacturer specific.
505
+ *
506
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
507
+ */
508
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
509
+ /**
510
+ * This field shall indicate the target temperature to which the water will be heated.
511
+ *
512
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
513
+ * is activated.
514
+ *
515
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
516
+ * attributes (inclusive), of the thermostat cluster.
517
+ *
518
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
519
+ */
520
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
521
+ /**
522
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
523
+ * must reach before the heating is switched off.
524
+ *
525
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
526
+ */
527
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
528
+ /**
529
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
530
+ * again beginning to reheat it.
531
+ *
532
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
533
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
534
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
535
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
536
+ *
537
+ * This field shall be less than or equal to the TargetPercentage field.
538
+ *
539
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
540
+ */
541
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
542
+ }>>;
543
+ }>, void, any>;
544
+ /**
545
+ * Allows a client to cancel an ongoing Boost operation. This command has no payload.
546
+ *
547
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.2
548
+ */
549
+ readonly cancelBoost: Command<void, void, any>;
550
+ };
551
+ readonly events: {
552
+ /**
553
+ * This event shall be generated whenever a Boost command is accepted.
554
+ *
555
+ * The corresponding structure fields within the WaterHeaterBoostInfoStruct are copied from the Boost
556
+ * command.
557
+ *
558
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.1
559
+ */
560
+ readonly boostStarted: Event<import("../tlv/TlvObject.js").TypeFromFields<{
561
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
562
+ /**
563
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
564
+ *
565
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
566
+ */
567
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
568
+ /**
569
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
570
+ * reached either:
571
+ *
572
+ * • the set point temperature (from the thermostat cluster)
573
+ *
574
+ * • the TemporarySetpoint temperature (if specified)
575
+ *
576
+ * • the TargetPercentage (if specified).
577
+ *
578
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
579
+ */
580
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
581
+ /**
582
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
583
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
584
+ *
585
+ * The choice of which heat sources are activated is manufacturer specific.
586
+ *
587
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
588
+ */
589
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
590
+ /**
591
+ * This field shall indicate the target temperature to which the water will be heated.
592
+ *
593
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
594
+ * is activated.
595
+ *
596
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
597
+ * attributes (inclusive), of the thermostat cluster.
598
+ *
599
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
600
+ */
601
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
602
+ /**
603
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
604
+ * must reach before the heating is switched off.
605
+ *
606
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
607
+ */
608
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
609
+ /**
610
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
611
+ * again beginning to reheat it.
612
+ *
613
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
614
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
615
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
616
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
617
+ *
618
+ * This field shall be less than or equal to the TargetPercentage field.
619
+ *
620
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
621
+ */
622
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
623
+ }>>;
624
+ }>, any>;
625
+ /**
626
+ * This event shall be generated whenever the BoostState transitions from Active to Inactive.
627
+ *
628
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.2
629
+ */
630
+ readonly boostEnded: Event<void, any>;
631
+ };
632
+ /**
633
+ * This metadata controls which WaterHeaterManagementCluster elements matter.js activates for specific feature
634
+ * combinations.
635
+ */
636
+ readonly extensions: readonly [{
637
+ readonly flags: {
638
+ readonly energyManagement: true;
639
+ };
640
+ readonly component: {
641
+ readonly attributes: {
642
+ /**
643
+ * Indicates the volume of water that the hot water tank can hold (in units of Litres). This allows an
644
+ * energy management system to estimate the required heating energy needed to reach the target temperature.
645
+ *
646
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.3
647
+ */
648
+ readonly tankVolume: Attribute<number, any>;
649
+ /**
650
+ * Indicates the estimated heat energy needed to raise the water temperature to the target setpoint. This
651
+ * can be computed by taking the specific heat capacity of water (4182 J/kg °C) and by knowing the current
652
+ * temperature of the water, the tank volume and target temperature.
653
+ *
654
+ * For example, if the target temperature was 60°C, the current temperature was 20°C and the tank volume
655
+ * was 100L:
656
+ *
657
+ * Mass of water = 1kg per Litre
658
+ *
659
+ * Total Mass = 100 x 1kg = 100kg
660
+ *
661
+ * Δ Temperature = (target temperature - current temperature)
662
+ *
663
+ * = (60°C - 20°C) = 40°C
664
+ *
665
+ * Energy required to
666
+ *
667
+ * heat the water to 60°C = 4182 x 40 x 100 = 16,728,000 J
668
+ *
669
+ * Converting Joules in to Wh of heat (divide by 3600):
670
+ *
671
+ * If the TankPercent feature is supported, then this estimate shall also take into account the percentage
672
+ * of the water in the tank which is already hot.
673
+ *
674
+ * NOTE
675
+ *
676
+ * The electrical energy required to heat the water depends on the heating system used to heat the water.
677
+ * For example, a direct electric immersion heating element can be close to 100% efficient, so the
678
+ * electrical energy needed to heat the hot water is nearly the same as the EstimatedHeatEnergyRequired.
679
+ * However some forms of heating, such as an air-source heat pump which extracts heat from ambient air,
680
+ * requires much less electrical energy to heat hot water. Heat pumps can be produce 3kWh of heat output
681
+ * for 1kWh of electrical energy input. The conversion between heat energy and electrical energy is outside
682
+ * the scope of this cluster.
683
+ *
684
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.4
685
+ */
686
+ readonly estimatedHeatRequired: Attribute<number | bigint, any>;
687
+ };
688
+ };
689
+ }, {
690
+ readonly flags: {
691
+ readonly tankPercent: true;
692
+ };
693
+ readonly component: {
694
+ readonly attributes: {
695
+ /**
696
+ * Indicates an approximate level of hot water stored in the tank, which might help consumers understand
697
+ * the amount of hot water remaining in the tank. The accuracy of this attribute is manufacturer specific.
698
+ *
699
+ * In most hot water tanks, there is a stratification effect where the hot water layer rests above a cooler
700
+ * layer of water below. For this reason cold water is fed in at the bottom of the tank and the hot water
701
+ * is drawn from the top.
702
+ *
703
+ * Some water tanks might use multiple temperature probes to estimate the level of the hot water layer. A
704
+ * water heater with multiple temperature probes is likely to implement an algorithm to estimate the hot
705
+ * water tank percentage by taking into account the temperature values of each probe to determine the
706
+ * height of the hot water.
707
+ *
708
+ * However it might be possible with a single temperature probe to estimate how much hot water is left
709
+ * using a simpler algorithm:
710
+ *
711
+ * For example, if the target temperature was 60°C, the CurrentTemperature was 40°C from a single
712
+ * temperature probe measuring the average water temperature and the temperature of incoming cold water
713
+ * (COLD_WATER_TEMP) was assumed to be 20°C:
714
+ *
715
+ * TankPercentage = int(((current temperature - COLD_WATER_TEMP) / (target temperature - COLD_WATER_TEMP))
716
+ * * 100)
717
+ *
718
+ * TankPercentage = min( max(TankPercentage,0), 100)
719
+ *
720
+ * TankPercentage = 50%
721
+ *
722
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.5
723
+ */
724
+ readonly tankPercentage: Attribute<number, any>;
725
+ };
726
+ };
727
+ }];
728
+ };
729
+ /**
730
+ * @see {@link Cluster}
731
+ */
732
+ const ClusterInstance: MutableCluster<{
733
+ readonly id: 148;
734
+ readonly name: "WaterHeaterManagement";
735
+ readonly revision: 2;
736
+ readonly features: {
737
+ /**
738
+ * EnergyManagement
739
+ *
740
+ * Allows energy management control of the tank
741
+ */
742
+ readonly energyManagement: BitFlag;
743
+ /**
744
+ * TankPercent
745
+ *
746
+ * Supports monitoring the percentage of hot water in the tank
747
+ */
748
+ readonly tankPercent: BitFlag;
749
+ };
750
+ readonly attributes: {
751
+ /**
752
+ * Indicates the heat sources that the water heater can call on for heating. If a bit is set then the water
753
+ * heater supports the corresponding heat source.
754
+ *
755
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.1
756
+ */
757
+ readonly heaterTypes: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
758
+ /**
759
+ * Immersion Heating Element 1
760
+ */
761
+ immersionElement1: BitFlag;
762
+ /**
763
+ * Immersion Heating Element 2
764
+ */
765
+ immersionElement2: BitFlag;
766
+ /**
767
+ * Heat pump Heating
768
+ */
769
+ heatPump: BitFlag;
770
+ /**
771
+ * Boiler Heating (e.g. Gas or Oil)
772
+ */
773
+ boiler: BitFlag;
774
+ /**
775
+ * Other Heating
776
+ */
777
+ other: BitFlag;
778
+ }>, any>;
779
+ /**
780
+ * Indicates if the water heater is heating water. If a bit is set then the corresponding heat source is
781
+ * active.
782
+ *
783
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.2
784
+ */
785
+ readonly heatDemand: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
786
+ /**
787
+ * Immersion Heating Element 1
788
+ */
789
+ immersionElement1: BitFlag;
790
+ /**
791
+ * Immersion Heating Element 2
792
+ */
793
+ immersionElement2: BitFlag;
794
+ /**
795
+ * Heat pump Heating
796
+ */
797
+ heatPump: BitFlag;
798
+ /**
799
+ * Boiler Heating (e.g. Gas or Oil)
800
+ */
801
+ boiler: BitFlag;
802
+ /**
803
+ * Other Heating
804
+ */
805
+ other: BitFlag;
806
+ }>, any>;
807
+ /**
808
+ * Indicates whether the Boost, as triggered by a Boost command, is currently
809
+ *
810
+ * Active or Inactive.
811
+ *
812
+ * See Boost and CancelBoost commands for more details.
813
+ *
814
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.6
815
+ */
816
+ readonly boostState: Attribute<BoostState, any>;
817
+ };
818
+ readonly commands: {
819
+ /**
820
+ * Allows a client to request that the water heater is put into a Boost state.
821
+ *
822
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.1
823
+ */
824
+ readonly boost: Command<import("../tlv/TlvObject.js").TypeFromFields<{
825
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
826
+ /**
827
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
828
+ *
829
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
830
+ */
831
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
832
+ /**
833
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
834
+ * reached either:
835
+ *
836
+ * • the set point temperature (from the thermostat cluster)
837
+ *
838
+ * • the TemporarySetpoint temperature (if specified)
839
+ *
840
+ * • the TargetPercentage (if specified).
841
+ *
842
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
843
+ */
844
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
845
+ /**
846
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
847
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
848
+ *
849
+ * The choice of which heat sources are activated is manufacturer specific.
850
+ *
851
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
852
+ */
853
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
854
+ /**
855
+ * This field shall indicate the target temperature to which the water will be heated.
856
+ *
857
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
858
+ * is activated.
859
+ *
860
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
861
+ * attributes (inclusive), of the thermostat cluster.
862
+ *
863
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
864
+ */
865
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
866
+ /**
867
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
868
+ * must reach before the heating is switched off.
869
+ *
870
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
871
+ */
872
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
873
+ /**
874
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
875
+ * again beginning to reheat it.
876
+ *
877
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
878
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
879
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
880
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
881
+ *
882
+ * This field shall be less than or equal to the TargetPercentage field.
883
+ *
884
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
885
+ */
886
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
887
+ }>>;
888
+ }>, void, any>;
889
+ /**
890
+ * Allows a client to cancel an ongoing Boost operation. This command has no payload.
891
+ *
892
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.2
893
+ */
894
+ readonly cancelBoost: Command<void, void, any>;
895
+ };
896
+ readonly events: {
897
+ /**
898
+ * This event shall be generated whenever a Boost command is accepted.
899
+ *
900
+ * The corresponding structure fields within the WaterHeaterBoostInfoStruct are copied from the Boost
901
+ * command.
902
+ *
903
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.1
904
+ */
905
+ readonly boostStarted: Event<import("../tlv/TlvObject.js").TypeFromFields<{
906
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
907
+ /**
908
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
909
+ *
910
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
911
+ */
912
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
913
+ /**
914
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
915
+ * reached either:
916
+ *
917
+ * • the set point temperature (from the thermostat cluster)
918
+ *
919
+ * • the TemporarySetpoint temperature (if specified)
920
+ *
921
+ * • the TargetPercentage (if specified).
922
+ *
923
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
924
+ */
925
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
926
+ /**
927
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
928
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
929
+ *
930
+ * The choice of which heat sources are activated is manufacturer specific.
931
+ *
932
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
933
+ */
934
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
935
+ /**
936
+ * This field shall indicate the target temperature to which the water will be heated.
937
+ *
938
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
939
+ * is activated.
940
+ *
941
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
942
+ * attributes (inclusive), of the thermostat cluster.
943
+ *
944
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
945
+ */
946
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
947
+ /**
948
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
949
+ * must reach before the heating is switched off.
950
+ *
951
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
952
+ */
953
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
954
+ /**
955
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
956
+ * again beginning to reheat it.
957
+ *
958
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
959
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
960
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
961
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
962
+ *
963
+ * This field shall be less than or equal to the TargetPercentage field.
964
+ *
965
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
966
+ */
967
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
968
+ }>>;
969
+ }>, any>;
970
+ /**
971
+ * This event shall be generated whenever the BoostState transitions from Active to Inactive.
972
+ *
973
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.2
974
+ */
975
+ readonly boostEnded: Event<void, any>;
976
+ };
977
+ /**
978
+ * This metadata controls which WaterHeaterManagementCluster elements matter.js activates for specific feature
979
+ * combinations.
980
+ */
981
+ readonly extensions: readonly [{
982
+ readonly flags: {
983
+ readonly energyManagement: true;
984
+ };
985
+ readonly component: {
986
+ readonly attributes: {
987
+ /**
988
+ * Indicates the volume of water that the hot water tank can hold (in units of Litres). This allows an
989
+ * energy management system to estimate the required heating energy needed to reach the target temperature.
990
+ *
991
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.3
992
+ */
993
+ readonly tankVolume: Attribute<number, any>;
994
+ /**
995
+ * Indicates the estimated heat energy needed to raise the water temperature to the target setpoint. This
996
+ * can be computed by taking the specific heat capacity of water (4182 J/kg °C) and by knowing the current
997
+ * temperature of the water, the tank volume and target temperature.
998
+ *
999
+ * For example, if the target temperature was 60°C, the current temperature was 20°C and the tank volume
1000
+ * was 100L:
1001
+ *
1002
+ * Mass of water = 1kg per Litre
1003
+ *
1004
+ * Total Mass = 100 x 1kg = 100kg
1005
+ *
1006
+ * Δ Temperature = (target temperature - current temperature)
1007
+ *
1008
+ * = (60°C - 20°C) = 40°C
1009
+ *
1010
+ * Energy required to
1011
+ *
1012
+ * heat the water to 60°C = 4182 x 40 x 100 = 16,728,000 J
1013
+ *
1014
+ * Converting Joules in to Wh of heat (divide by 3600):
1015
+ *
1016
+ * If the TankPercent feature is supported, then this estimate shall also take into account the percentage
1017
+ * of the water in the tank which is already hot.
1018
+ *
1019
+ * NOTE
1020
+ *
1021
+ * The electrical energy required to heat the water depends on the heating system used to heat the water.
1022
+ * For example, a direct electric immersion heating element can be close to 100% efficient, so the
1023
+ * electrical energy needed to heat the hot water is nearly the same as the EstimatedHeatEnergyRequired.
1024
+ * However some forms of heating, such as an air-source heat pump which extracts heat from ambient air,
1025
+ * requires much less electrical energy to heat hot water. Heat pumps can be produce 3kWh of heat output
1026
+ * for 1kWh of electrical energy input. The conversion between heat energy and electrical energy is outside
1027
+ * the scope of this cluster.
1028
+ *
1029
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.4
1030
+ */
1031
+ readonly estimatedHeatRequired: Attribute<number | bigint, any>;
1032
+ };
1033
+ };
1034
+ }, {
1035
+ readonly flags: {
1036
+ readonly tankPercent: true;
1037
+ };
1038
+ readonly component: {
1039
+ readonly attributes: {
1040
+ /**
1041
+ * Indicates an approximate level of hot water stored in the tank, which might help consumers understand
1042
+ * the amount of hot water remaining in the tank. The accuracy of this attribute is manufacturer specific.
1043
+ *
1044
+ * In most hot water tanks, there is a stratification effect where the hot water layer rests above a cooler
1045
+ * layer of water below. For this reason cold water is fed in at the bottom of the tank and the hot water
1046
+ * is drawn from the top.
1047
+ *
1048
+ * Some water tanks might use multiple temperature probes to estimate the level of the hot water layer. A
1049
+ * water heater with multiple temperature probes is likely to implement an algorithm to estimate the hot
1050
+ * water tank percentage by taking into account the temperature values of each probe to determine the
1051
+ * height of the hot water.
1052
+ *
1053
+ * However it might be possible with a single temperature probe to estimate how much hot water is left
1054
+ * using a simpler algorithm:
1055
+ *
1056
+ * For example, if the target temperature was 60°C, the CurrentTemperature was 40°C from a single
1057
+ * temperature probe measuring the average water temperature and the temperature of incoming cold water
1058
+ * (COLD_WATER_TEMP) was assumed to be 20°C:
1059
+ *
1060
+ * TankPercentage = int(((current temperature - COLD_WATER_TEMP) / (target temperature - COLD_WATER_TEMP))
1061
+ * * 100)
1062
+ *
1063
+ * TankPercentage = min( max(TankPercentage,0), 100)
1064
+ *
1065
+ * TankPercentage = 50%
1066
+ *
1067
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.7.5
1068
+ */
1069
+ readonly tankPercentage: Attribute<number, any>;
1070
+ };
1071
+ };
1072
+ }];
1073
+ }, []>;
1074
+ /**
1075
+ * This cluster is used to allow clients to control the operation of a hot water heating appliance so that it can
1076
+ * be used with energy management.
1077
+ *
1078
+ * Heating of hot water is one of the main energy uses in homes, and when coupled with the Energy Management
1079
+ * cluster, it can help consumers save cost (e.g. using power at cheaper times or from local solar PV generation).
1080
+ *
1081
+ * WaterHeaterManagementCluster supports optional features that you can enable with the
1082
+ * WaterHeaterManagementCluster.with() factory method.
1083
+ *
1084
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5
1085
+ */
1086
+ interface Cluster extends Identity<typeof ClusterInstance> {
1087
+ }
1088
+ const Cluster: Cluster;
1089
+ /**
1090
+ * @see {@link Complete}
1091
+ */
1092
+ const CompleteInstance: MutableCluster<{
1093
+ readonly id: import("#general").Branded<148, "ClusterId">;
1094
+ readonly name: "WaterHeaterManagement";
1095
+ readonly revision: 2;
1096
+ readonly features: {
1097
+ /**
1098
+ * EnergyManagement
1099
+ *
1100
+ * Allows energy management control of the tank
1101
+ */
1102
+ readonly energyManagement: BitFlag;
1103
+ /**
1104
+ * TankPercent
1105
+ *
1106
+ * Supports monitoring the percentage of hot water in the tank
1107
+ */
1108
+ readonly tankPercent: BitFlag;
1109
+ };
1110
+ readonly attributes: {
1111
+ readonly tankVolume: Attribute<number, any> & {
1112
+ readonly optional: true;
1113
+ readonly isConditional: true;
1114
+ readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
1115
+ readonly mandatoryIf: [] | [{
1116
+ energyManagement: boolean;
1117
+ }];
1118
+ };
1119
+ readonly estimatedHeatRequired: Attribute<number | bigint, any> & {
1120
+ readonly optional: true;
1121
+ readonly isConditional: true;
1122
+ readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
1123
+ readonly mandatoryIf: [] | [{
1124
+ energyManagement: boolean;
1125
+ }];
1126
+ };
1127
+ readonly tankPercentage: Attribute<number, any> & {
1128
+ readonly optional: true;
1129
+ readonly isConditional: true;
1130
+ readonly optionalIf: [] | import("../cluster/Cluster.js").ConditionalFeatureList<import("../schema/BitmapSchema.js").BitSchema>;
1131
+ readonly mandatoryIf: [] | [{
1132
+ tankPercent: boolean;
1133
+ }];
1134
+ };
1135
+ readonly heaterTypes: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
1136
+ /**
1137
+ * Immersion Heating Element 1
1138
+ */
1139
+ immersionElement1: BitFlag;
1140
+ /**
1141
+ * Immersion Heating Element 2
1142
+ */
1143
+ immersionElement2: BitFlag;
1144
+ /**
1145
+ * Heat pump Heating
1146
+ */
1147
+ heatPump: BitFlag;
1148
+ /**
1149
+ * Boiler Heating (e.g. Gas or Oil)
1150
+ */
1151
+ boiler: BitFlag;
1152
+ /**
1153
+ * Other Heating
1154
+ */
1155
+ other: BitFlag;
1156
+ }>, any>;
1157
+ readonly heatDemand: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
1158
+ /**
1159
+ * Immersion Heating Element 1
1160
+ */
1161
+ immersionElement1: BitFlag;
1162
+ /**
1163
+ * Immersion Heating Element 2
1164
+ */
1165
+ immersionElement2: BitFlag;
1166
+ /**
1167
+ * Heat pump Heating
1168
+ */
1169
+ heatPump: BitFlag;
1170
+ /**
1171
+ * Boiler Heating (e.g. Gas or Oil)
1172
+ */
1173
+ boiler: BitFlag;
1174
+ /**
1175
+ * Other Heating
1176
+ */
1177
+ other: BitFlag;
1178
+ }>, any>;
1179
+ readonly boostState: Attribute<BoostState, any>;
1180
+ readonly clusterRevision: Attribute<number, never>;
1181
+ readonly featureMap: Attribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
1182
+ /**
1183
+ * EnergyManagement
1184
+ *
1185
+ * Allows energy management control of the tank
1186
+ */
1187
+ readonly energyManagement: BitFlag;
1188
+ /**
1189
+ * TankPercent
1190
+ *
1191
+ * Supports monitoring the percentage of hot water in the tank
1192
+ */
1193
+ readonly tankPercent: BitFlag;
1194
+ }>, never>;
1195
+ readonly attributeList: Attribute<import("../index.js").AttributeId[], never>;
1196
+ readonly acceptedCommandList: Attribute<import("../index.js").CommandId[], never>;
1197
+ readonly generatedCommandList: Attribute<import("../index.js").CommandId[], never>;
1198
+ };
1199
+ readonly commands: {
1200
+ /**
1201
+ * Allows a client to request that the water heater is put into a Boost state.
1202
+ *
1203
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.1
1204
+ */
1205
+ readonly boost: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1206
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1207
+ /**
1208
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
1209
+ *
1210
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
1211
+ */
1212
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
1213
+ /**
1214
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
1215
+ * reached either:
1216
+ *
1217
+ * • the set point temperature (from the thermostat cluster)
1218
+ *
1219
+ * • the TemporarySetpoint temperature (if specified)
1220
+ *
1221
+ * • the TargetPercentage (if specified).
1222
+ *
1223
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
1224
+ */
1225
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
1226
+ /**
1227
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
1228
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
1229
+ *
1230
+ * The choice of which heat sources are activated is manufacturer specific.
1231
+ *
1232
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
1233
+ */
1234
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
1235
+ /**
1236
+ * This field shall indicate the target temperature to which the water will be heated.
1237
+ *
1238
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
1239
+ * is activated.
1240
+ *
1241
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
1242
+ * attributes (inclusive), of the thermostat cluster.
1243
+ *
1244
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
1245
+ */
1246
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
1247
+ /**
1248
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
1249
+ * must reach before the heating is switched off.
1250
+ *
1251
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
1252
+ */
1253
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
1254
+ /**
1255
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
1256
+ * again beginning to reheat it.
1257
+ *
1258
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
1259
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
1260
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
1261
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
1262
+ *
1263
+ * This field shall be less than or equal to the TargetPercentage field.
1264
+ *
1265
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
1266
+ */
1267
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
1268
+ }>>;
1269
+ }>, void, any>;
1270
+ /**
1271
+ * Allows a client to cancel an ongoing Boost operation. This command has no payload.
1272
+ *
1273
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.8.2
1274
+ */
1275
+ readonly cancelBoost: Command<void, void, any>;
1276
+ };
1277
+ readonly events: {
1278
+ /**
1279
+ * This event shall be generated whenever a Boost command is accepted.
1280
+ *
1281
+ * The corresponding structure fields within the WaterHeaterBoostInfoStruct are copied from the Boost
1282
+ * command.
1283
+ *
1284
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.1
1285
+ */
1286
+ readonly boostStarted: Event<import("../tlv/TlvObject.js").TypeFromFields<{
1287
+ boostInfo: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1288
+ /**
1289
+ * This field shall indicate the time period, in seconds, for which the boost state is activated.
1290
+ *
1291
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.1
1292
+ */
1293
+ duration: import("../tlv/TlvObject.js").FieldType<number>;
1294
+ /**
1295
+ * This field shall indicate whether the boost state shall be automatically canceled once the hot water has
1296
+ * reached either:
1297
+ *
1298
+ * • the set point temperature (from the thermostat cluster)
1299
+ *
1300
+ * • the TemporarySetpoint temperature (if specified)
1301
+ *
1302
+ * • the TargetPercentage (if specified).
1303
+ *
1304
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.2
1305
+ */
1306
+ oneShot: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
1307
+ /**
1308
+ * This field shall indicate that the consumer wants the water to be heated quickly. This may cause multiple
1309
+ * heat sources to be activated (e.g. a heat pump and direct electric immersion heating element).
1310
+ *
1311
+ * The choice of which heat sources are activated is manufacturer specific.
1312
+ *
1313
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.3
1314
+ */
1315
+ emergencyBoost: import("../tlv/TlvObject.js").OptionalFieldType<boolean>;
1316
+ /**
1317
+ * This field shall indicate the target temperature to which the water will be heated.
1318
+ *
1319
+ * If included, it shall be used instead of the thermostat cluster set point temperature whilst the boost state
1320
+ * is activated.
1321
+ *
1322
+ * The value of this field shall be within the constraints of the MinHeatSetpointLimit and MaxHeatSetpointLimit
1323
+ * attributes (inclusive), of the thermostat cluster.
1324
+ *
1325
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.4
1326
+ */
1327
+ temporarySetpoint: import("../tlv/TlvObject.js").OptionalFieldType<number>;
1328
+ /**
1329
+ * This field shall indicate the target percentage of hot water in the tank that the TankPercentage attribute
1330
+ * must reach before the heating is switched off.
1331
+ *
1332
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.5
1333
+ */
1334
+ targetPercentage: import("../tlv/TlvObject.js").OptionalFieldType<number>;
1335
+ /**
1336
+ * This field shall indicate the percentage to which the hot water in the tank shall be allowed to fall before
1337
+ * again beginning to reheat it.
1338
+ *
1339
+ * For example if the TargetPercentage was 80%, and the TargetReheat was 40%, then after initial heating to 80%
1340
+ * hot water, the tank may have hot water drawn off until only 40% hot water remains. At this point the heater
1341
+ * will begin to heat back up to 80% of hot water. If this field and the OneShot field were both omitted,
1342
+ * heating would begin again after any water draw which reduced the TankPercentage below 80%.
1343
+ *
1344
+ * This field shall be less than or equal to the TargetPercentage field.
1345
+ *
1346
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.6.3.6
1347
+ */
1348
+ targetReheat: import("../tlv/TlvObject.js").OptionalFieldType<number>;
1349
+ }>>;
1350
+ }>, any>;
1351
+ /**
1352
+ * This event shall be generated whenever the BoostState transitions from Active to Inactive.
1353
+ *
1354
+ * @see {@link MatterSpecification.v13.Cluster} § 9.5.9.2
1355
+ */
1356
+ readonly boostEnded: Event<void, any>;
1357
+ };
1358
+ }, []>;
1359
+ /**
1360
+ * This cluster supports all WaterHeaterManagement features. It may support illegal feature combinations.
1361
+ *
1362
+ * If you use this cluster you must manually specify which features are active and ensure the set of active
1363
+ * features is legal per the Matter specification.
1364
+ */
1365
+ interface Complete extends Identity<typeof CompleteInstance> {
1366
+ }
1367
+ const Complete: Complete;
1368
+ }
1369
+ export type WaterHeaterManagementCluster = WaterHeaterManagement.Cluster;
1370
+ export declare const WaterHeaterManagementCluster: WaterHeaterManagement.Cluster;
1371
+ //# sourceMappingURL=water-heater-management.d.ts.map