@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,904 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
8
+
9
+ import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
10
+ import { Attribute, OptionalAttribute, Command, OptionalCommand } from "../cluster/Cluster.js";
11
+ import { TlvArray } from "../tlv/TlvArray.js";
12
+ import { TlvField, TlvObject, TlvOptionalField } from "../tlv/TlvObject.js";
13
+ import { TlvUInt32, TlvEnum, TlvUInt8, TlvEpochS } from "../tlv/TlvNumber.js";
14
+ import { TlvString } from "../tlv/TlvString.js";
15
+ import { TypeFromSchema } from "../tlv/TlvSchema.js";
16
+ import { TlvNullable } from "../tlv/TlvNullable.js";
17
+ import { BitFlag } from "../schema/BitmapSchema.js";
18
+ import { TlvLocationdesc } from "../globals/Locationdesc.js";
19
+ import { Identity } from "#general";
20
+ import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
21
+
22
+ export namespace ServiceArea {
23
+ /**
24
+ * These are optional features supported by ServiceAreaCluster.
25
+ *
26
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.4
27
+ */
28
+ export enum Feature {
29
+ /**
30
+ * SelectWhileRunning (SELRUN)
31
+ *
32
+ * This feature indicates whether this device allows changing the selected areas, by using the SelectAreas
33
+ * command, while operating.
34
+ *
35
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.4.1
36
+ */
37
+ SelectWhileRunning = "SelectWhileRunning",
38
+
39
+ /**
40
+ * ProgressReporting (PROG)
41
+ *
42
+ * The device implements the progress reporting feature
43
+ */
44
+ ProgressReporting = "ProgressReporting",
45
+
46
+ /**
47
+ * Maps (MAPS)
48
+ *
49
+ * The device has map support
50
+ */
51
+ Maps = "Maps"
52
+ }
53
+
54
+ /**
55
+ * This is a struct representing a map.
56
+ *
57
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.3
58
+ */
59
+ export const TlvMap = TlvObject({
60
+ /**
61
+ * This field shall represent the map’s identifier.
62
+ *
63
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.3.1
64
+ */
65
+ mapId: TlvField(0, TlvUInt32),
66
+
67
+ /**
68
+ * This field shall represent a human understandable map description. For example: "Main Floor", or "Second
69
+ * Level".
70
+ *
71
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.3.2
72
+ */
73
+ name: TlvField(1, TlvString.bound({ maxLength: 64 }))
74
+ });
75
+
76
+ /**
77
+ * This is a struct representing a map.
78
+ *
79
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.3
80
+ */
81
+ export interface Map extends TypeFromSchema<typeof TlvMap> {}
82
+
83
+ /**
84
+ * The following table defines the status values.
85
+ *
86
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.6
87
+ */
88
+ export enum OperationalStatus {
89
+ /**
90
+ * The device has not yet started operating at the given area, or has not finished operating at that area but
91
+ * it is not currently operating at the area
92
+ */
93
+ Pending = 0,
94
+
95
+ /**
96
+ * The device is currently operating at the given area
97
+ */
98
+ Operating = 1,
99
+
100
+ /**
101
+ * The device has skipped the given area, before or during operating at it, due to a SkipArea command, due an
102
+ * out of band command (e.g. from the vendor’s application), due to a vendor specific reason, such as a time
103
+ * limit used by the device, or due the device ending operating unsuccessfully
104
+ */
105
+ Skipped = 2,
106
+
107
+ /**
108
+ * The device has completed operating at the given area
109
+ */
110
+ Completed = 3
111
+ }
112
+
113
+ /**
114
+ * This is a struct indicating the progress.
115
+ *
116
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.5
117
+ */
118
+ export const TlvProgress = TlvObject({
119
+ /**
120
+ * This field shall indicate the identifier of the area, and the identifier shall be an entry in the
121
+ * SupportedAreas attribute’s list.
122
+ *
123
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.5.1
124
+ */
125
+ areaId: TlvField(0, TlvUInt32),
126
+
127
+ /**
128
+ * This field shall indicate the operational status of the device regarding the area indicated by the AreaID
129
+ * field.
130
+ *
131
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.5.2
132
+ */
133
+ status: TlvField(1, TlvEnum<OperationalStatus>()),
134
+
135
+ /**
136
+ * This field shall indicate the total operational time, in seconds, from when the device started to operate at
137
+ * the area indicated by the AreaID field, until the operation finished, due to completion or due to skipping,
138
+ * including any time spent while paused.
139
+ *
140
+ * A value of null indicates that the total operational time is unknown.
141
+ *
142
+ * There may be cases where the total operational time exceeds the maximum value that can be conveyed by this
143
+ * attribute, and in such instances this attribute shall be populated with null.
144
+ *
145
+ * Null if the Status field is not set to Completed or Skipped.
146
+ *
147
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.5.3
148
+ */
149
+ totalOperationalTime: TlvOptionalField(2, TlvNullable(TlvUInt32)),
150
+
151
+ /**
152
+ * This field shall indicate the estimated time for the operation, in seconds, from when the device will start
153
+ * operating at the area indicated by the AreaID field, until the operation completes, excluding any time spent
154
+ * while not operating in the area.
155
+ *
156
+ * A value of null indicates that the estimated time is unknown. If the estimated time is unknown, or if it
157
+ * exceeds the maximum value that can be conveyed by this attribute, this attribute shall be null.
158
+ *
159
+ * After initializing the ProgressStruct instance, the server SHOULD NOT change the value of this field, except
160
+ * when repopulating the entire instance, to avoid excessive reporting of the Progress attribute changes.
161
+ *
162
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.5.4
163
+ */
164
+ initialTimeEstimate: TlvOptionalField(3, TlvNullable(TlvUInt32))
165
+ });
166
+
167
+ /**
168
+ * This is a struct indicating the progress.
169
+ *
170
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.5
171
+ */
172
+ export interface Progress extends TypeFromSchema<typeof TlvProgress> {}
173
+
174
+ /**
175
+ * The data from this structure indicates a landmark and position relative to the landmark.
176
+ *
177
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.1
178
+ */
179
+ export const TlvLandmarkInfo = TlvObject({
180
+ /**
181
+ * This field shall indicate that the area is associated with a landmark.
182
+ *
183
+ * This field shall be the ID of a landmark semantic tag, located within the Common Landmark Namespace. For
184
+ * example, this tag may indicate that the area refers to an area next to a table.
185
+ *
186
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.1.1
187
+ */
188
+ landmarkTag: TlvField(0, TlvUInt8),
189
+
190
+ /**
191
+ * This field shall identify the position of the area relative to a landmark. This is a static description of a
192
+ * zone known to the server, and this field never reflects the device’s own proximity or position relative to
193
+ * the landmark, but that of the zone.
194
+ *
195
+ * This field shall be the ID of a relative position semantic tag, located within the Common Relative Position
196
+ * Namespace.
197
+ *
198
+ * If the RelativePositionTag field is null, this field indicates proximity to the landmark. Otherwise, the
199
+ * RelativePositionTag field indicates the position of the area relative to the landmark indicated by the
200
+ * LandmarkTag field. For example, this tag, in conjunction with the LandmarkTag field, may indicate that the
201
+ * area refers to a zone under a table.
202
+ *
203
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.1.2
204
+ */
205
+ relativePositionTag: TlvField(1, TlvNullable(TlvUInt8))
206
+ });
207
+
208
+ /**
209
+ * The data from this structure indicates a landmark and position relative to the landmark.
210
+ *
211
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.1
212
+ */
213
+ export interface LandmarkInfo extends TypeFromSchema<typeof TlvLandmarkInfo> {}
214
+
215
+ /**
216
+ * The data from this structure indicates the name and/or semantic data describing an area, as detailed below.
217
+ *
218
+ * This data type includes the LocationInfo field, with the following fields: LocationName, FloorNumber, AreaType.
219
+ * Additional semantic data may be available in the LandmarkInfo field.
220
+ *
221
+ * For an area description to be meaningful, it shall have at least one of the following:
222
+ *
223
+ * • a non-empty name (LocationInfo’s LocationName field) OR
224
+ *
225
+ * • some semantic data (one or more of these: FloorNumber, AreaType or LandmarkTag) The normative text from the
226
+ * remainder of this section describes these constraints.
227
+ *
228
+ * If the LocationInfo field is null, the LandmarkInfo field shall NOT be null. If the LandmarkInfo field is null,
229
+ * the LocationInfo field shall NOT be null.
230
+ *
231
+ * If LocationInfo is not null, and its LocationName field is an empty string, at least one of the following shall
232
+ * NOT be null:
233
+ *
234
+ * • LocationInfo’s FloorNumber field
235
+ *
236
+ * • LocationInfo’s AreaType field
237
+ *
238
+ * • LandmarkInfo field
239
+ *
240
+ * If all three of the following are null, LocationInfo’s LocationName field shall NOT be an empty string:
241
+ *
242
+ * • LocationInfo’s FloorNumber field
243
+ *
244
+ * • LocationInfo’s AreaType field
245
+ *
246
+ * • LandmarkInfo field
247
+ *
248
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.2
249
+ */
250
+ export const TlvAreaInfo = TlvObject({
251
+ /**
252
+ * This field shall indicate the name of the area, floor number and/or area type. A few examples are provided
253
+ * below.
254
+ *
255
+ * • An area can have LocationInfo’s LocationName field set to "blue room", and the AreaType field set to the
256
+ * ID of a "Living Room" semantic tag. Clients wishing to direct the device to operate in (or service) the
257
+ * living room can use this area.
258
+ *
259
+ * • An area can have LocationInfo set to null, the LandmarkInfo’s LandmarkTag field set to the ID of the
260
+ * "Table" landmark semantic tag, and the RelativePositionTag field set to the ID of the "Under" position
261
+ * semantic tag. With such an area indication, the client can request the device to operate in (or service)
262
+ * the area located under the table.
263
+ *
264
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.2.1
265
+ */
266
+ locationInfo: TlvField(0, TlvNullable(TlvLocationdesc)),
267
+
268
+ /**
269
+ * This field shall indicate an association with a landmark. A value of null indicates that the information is
270
+ * not available or known. For example, this may indicate that the area refers to a zone next to a table.
271
+ *
272
+ * If this field is not null, that indicates that the area is restricted to the zone where the landmark is
273
+ * located, as indicated by the LandmarkTag and, if not null, by the RelativePositionTag fields, rather than to
274
+ * the entire room or floor where the landmark is located, if those are indicated by the LocationInfo field.
275
+ *
276
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.2.2
277
+ */
278
+ landmarkInfo: TlvField(1, TlvNullable(TlvLandmarkInfo))
279
+ });
280
+
281
+ /**
282
+ * The data from this structure indicates the name and/or semantic data describing an area, as detailed below.
283
+ *
284
+ * This data type includes the LocationInfo field, with the following fields: LocationName, FloorNumber, AreaType.
285
+ * Additional semantic data may be available in the LandmarkInfo field.
286
+ *
287
+ * For an area description to be meaningful, it shall have at least one of the following:
288
+ *
289
+ * • a non-empty name (LocationInfo’s LocationName field) OR
290
+ *
291
+ * • some semantic data (one or more of these: FloorNumber, AreaType or LandmarkTag) The normative text from the
292
+ * remainder of this section describes these constraints.
293
+ *
294
+ * If the LocationInfo field is null, the LandmarkInfo field shall NOT be null. If the LandmarkInfo field is null,
295
+ * the LocationInfo field shall NOT be null.
296
+ *
297
+ * If LocationInfo is not null, and its LocationName field is an empty string, at least one of the following shall
298
+ * NOT be null:
299
+ *
300
+ * • LocationInfo’s FloorNumber field
301
+ *
302
+ * • LocationInfo’s AreaType field
303
+ *
304
+ * • LandmarkInfo field
305
+ *
306
+ * If all three of the following are null, LocationInfo’s LocationName field shall NOT be an empty string:
307
+ *
308
+ * • LocationInfo’s FloorNumber field
309
+ *
310
+ * • LocationInfo’s AreaType field
311
+ *
312
+ * • LandmarkInfo field
313
+ *
314
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.2
315
+ */
316
+ export interface AreaInfo extends TypeFromSchema<typeof TlvAreaInfo> {}
317
+
318
+ /**
319
+ * This is a struct representing an area known to the server.
320
+ *
321
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.4
322
+ */
323
+ export const TlvArea = TlvObject({
324
+ /**
325
+ * This field shall represent the identifier of the area.
326
+ *
327
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.4.1
328
+ */
329
+ areaId: TlvField(0, TlvUInt32),
330
+
331
+ /**
332
+ * This field shall indicate the map identifier which the area is associated with. A value of null indicates
333
+ * that the area is not associated with a map.
334
+ *
335
+ * If the SupportedMaps attribute is not empty, this field shall match the MapID field of an entry from the
336
+ * SupportedMaps attribute’s list. If the SupportedMaps attribute is empty, this field shall be null.
337
+ *
338
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.4.2
339
+ */
340
+ mapId: TlvField(1, TlvNullable(TlvUInt32)),
341
+
342
+ /**
343
+ * This field shall contain data describing the area.
344
+ *
345
+ * This SHOULD be used by clients to determine the name and/or the full, or the partial, semantics of a certain
346
+ * area.
347
+ *
348
+ * NOTE
349
+ *
350
+ * If any entries on the SupportedAreas attribute’s list have the AreaInfo field missing the semantic data, the
351
+ * client may remind the user to assign the respective data.
352
+ *
353
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.4.3
354
+ */
355
+ areaInfo: TlvField(2, TlvAreaInfo)
356
+ });
357
+
358
+ /**
359
+ * This is a struct representing an area known to the server.
360
+ *
361
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.4
362
+ */
363
+ export interface Area extends TypeFromSchema<typeof TlvArea> {}
364
+
365
+ /**
366
+ * Input to the ServiceArea selectAreas command
367
+ *
368
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.1
369
+ */
370
+ export const TlvSelectAreasRequest = TlvObject({
371
+ /**
372
+ * This field indicates which areas the device is to operate at.
373
+ *
374
+ * If this field is empty, that indicates that the device is to operate without being constrained to any
375
+ * specific areas, and the operation will not allow skipping using the SkipArea Command, otherwise the field
376
+ * shall be a list of unique values that match the AreaID field of entries on the SupportedAreas list.
377
+ *
378
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.1.1
379
+ */
380
+ newAreas: TlvField(0, TlvArray(TlvUInt32))
381
+ });
382
+
383
+ /**
384
+ * Input to the ServiceArea selectAreas command
385
+ *
386
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.1
387
+ */
388
+ export interface SelectAreasRequest extends TypeFromSchema<typeof TlvSelectAreasRequest> {}
389
+
390
+ /**
391
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.6.1
392
+ */
393
+ export enum SelectAreasStatus {
394
+ /**
395
+ * Attempting to operate in the areas identified by the entries of the NewAreas field is allowed and possible.
396
+ * The SelectedAreas attribute is set to the value of the NewAreas field.
397
+ */
398
+ Success = 0,
399
+
400
+ /**
401
+ * The value of at least one of the entries of the NewAreas field doesn’t match any entries in the
402
+ * SupportedAreas attribute.
403
+ */
404
+ UnsupportedArea = 1,
405
+
406
+ /**
407
+ * The received request cannot be handled due to the current mode of the device.
408
+ */
409
+ InvalidInMode = 2,
410
+
411
+ /**
412
+ * The set of values is invalid. For example, areas on different floors, that a robot knows it can’t reach on
413
+ * its own.
414
+ */
415
+ InvalidSet = 3
416
+ }
417
+
418
+ /**
419
+ * This command is sent by the device on receipt of the SelectAreas command.
420
+ *
421
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.2
422
+ */
423
+ export const TlvSelectAreasResponse = TlvObject({
424
+ /**
425
+ * If the Status field is set to Success or UnsupportedArea, the server may use a non-empty string for the
426
+ * StatusText field to provide additional information. For example, if Status is set to Unsupport
427
+ *
428
+ * edArea, the server may use StatusText to indicate which areas are unsupported.
429
+ *
430
+ * If the Status field is not set to Success, or UnsupportedArea, the StatusText field shall include a
431
+ * vendor-defined error description which can be used to explain the error to the user. For example, if the
432
+ * Status field is set to InvalidInMode, the StatusText field SHOULD indicate why the request is not allowed,
433
+ * given the current mode of the device, which may involve other clusters.
434
+ *
435
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.2.1
436
+ */
437
+ status: TlvField(0, TlvEnum<SelectAreasStatus>()),
438
+
439
+ statusText: TlvField(1, TlvString.bound({ maxLength: 256 }))
440
+ });
441
+
442
+ /**
443
+ * This command is sent by the device on receipt of the SelectAreas command.
444
+ *
445
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.2
446
+ */
447
+ export interface SelectAreasResponse extends TypeFromSchema<typeof TlvSelectAreasResponse> {}
448
+
449
+ /**
450
+ * Input to the ServiceArea skipArea command
451
+ *
452
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.3
453
+ */
454
+ export const TlvSkipAreaRequest = TlvObject({
455
+ /**
456
+ * The SkippedArea field indicates the area to be skipped.
457
+ *
458
+ * The SkippedArea field shall match an entry in the SupportedAreas list.
459
+ *
460
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.3.1
461
+ */
462
+ skippedArea: TlvField(0, TlvUInt32)
463
+ });
464
+
465
+ /**
466
+ * Input to the ServiceArea skipArea command
467
+ *
468
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.3
469
+ */
470
+ export interface SkipAreaRequest extends TypeFromSchema<typeof TlvSkipAreaRequest> {}
471
+
472
+ /**
473
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.5.6.2
474
+ */
475
+ export enum SkipAreaStatus {
476
+ /**
477
+ * Skipping the area is allowed and possible, or the device was operating at the last available area and has
478
+ * stopped.
479
+ */
480
+ Success = 0,
481
+
482
+ /**
483
+ * The SelectedAreas attribute is empty.
484
+ */
485
+ InvalidAreaList = 1,
486
+
487
+ /**
488
+ * The received request cannot be handled due to the current mode of the device. For example, the CurrentArea
489
+ * attribute is null or the device is not operating.
490
+ */
491
+ InvalidInMode = 2,
492
+
493
+ /**
494
+ * The SkippedArea field doesn’t match an entry in the SupportedAreas list.
495
+ */
496
+ InvalidSkippedArea = 3
497
+ }
498
+
499
+ /**
500
+ * This command is sent by the device on receipt of the SkipArea command.
501
+ *
502
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.4
503
+ */
504
+ export const TlvSkipAreaResponse = TlvObject({
505
+ /**
506
+ * If the Status field is set to Success or InvalidAreaList, the server may use a non-empty string for the
507
+ * StatusText field to provide additional information. For example, if Status is set to InvalidAreaList, the
508
+ * server may use StatusText to indicate why this list is invalid.
509
+ *
510
+ * If the Status field is not set to Success or InvalidAreaList, the StatusText field shall include a vendor
511
+ * defined error description which can be used to explain the error to the user. For example, if the Status
512
+ * field is set to InvalidInMode, the StatusText field SHOULD indicate why the request is not allowed, given
513
+ * the current mode of the device, which may involve other clusters.
514
+ *
515
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.4.1
516
+ */
517
+ status: TlvField(0, TlvEnum<SkipAreaStatus>()),
518
+
519
+ statusText: TlvField(1, TlvString.bound({ maxLength: 256 }))
520
+ });
521
+
522
+ /**
523
+ * This command is sent by the device on receipt of the SkipArea command.
524
+ *
525
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.4
526
+ */
527
+ export interface SkipAreaResponse extends TypeFromSchema<typeof TlvSkipAreaResponse> {}
528
+
529
+ /**
530
+ * A ServiceAreaCluster supports these elements if it supports feature Maps.
531
+ */
532
+ export const MapsComponent = MutableCluster.Component({
533
+ attributes: {
534
+ /**
535
+ * This attribute shall contain the list of supported maps.
536
+ *
537
+ * A map is a full or a partial representation of a home, known to the device. For example:
538
+ *
539
+ * • a single level home may be represented using a single map
540
+ *
541
+ * • a two level home may be represented using two maps, one for each level
542
+ *
543
+ * • a single level home may be represented using two maps, each including a different set of rooms, such
544
+ * as "map of living room and kitchen" and "map of bedrooms and hallway"
545
+ *
546
+ * • a single level home may be represented using one map for the indoor areas (living room, bedrooms
547
+ * etc.) and one for the outdoor areas (garden, swimming pool etc.)
548
+ *
549
+ * Each map includes one or more areas - see the SupportedAreas attribute. In the context of this cluster
550
+ * specification, a map is effectively a group label for a set of areas, rather than a graphical
551
+ * representation that the clients can display to the users. The clients that present the list of available
552
+ * areas for user selection (see the SelectAreas command) may choose to filter the SupportedAreas list
553
+ * based on the associated map. For example, the clients may allow the user to indicate that the device is
554
+ * to operate on the first floor, and allow the user to choose only from the areas situated on that level.
555
+ *
556
+ * If empty, that indicates that the device is currently unable to provide this information. Each entry in
557
+ * this list shall have a unique value for the MapID field.
558
+ *
559
+ * Each entry in this list shall have a unique value for the Name field.
560
+ *
561
+ * NOTE
562
+ *
563
+ * due to the maximum size of this list and to the fact that the entries may include strings (see the Name
564
+ * field of the MapStruct data type), care must be taken by implementers to avoid creating a data structure
565
+ * that is overly large, which can result in significant latency in accessing this attribute.
566
+ *
567
+ * The value of this attribute may change at any time via an out-of-band interaction outside of the server,
568
+ * such as interactions with a user interface.
569
+ *
570
+ * When updating the SupportedMaps attribute list by deleting entries, or by setting the attribute to an
571
+ * empty list, the SupportedLocations attribute shall be updated such that all entries in that list meet
572
+ * the constraints indicated in the description of the SupportedLocations attribute. This may result in
573
+ *
574
+ * the server removing entries from the SupportedAreas attribute list. See the SupportedAreas attribute
575
+ * description for the implications of changing that attribute.
576
+ *
577
+ * The SupportedMaps attribute list changes mentioned above SHOULD NOT be allowed while the device is
578
+ * operating, to reduce the impact on the clients, and the potential confusion for the users.
579
+ *
580
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.6.2
581
+ */
582
+ supportedMaps: Attribute(0x1, TlvArray(TlvMap, { maxLength: 255 }), { default: [] })
583
+ }
584
+ });
585
+
586
+ /**
587
+ * A ServiceAreaCluster supports these elements if it supports feature ProgressReporting.
588
+ */
589
+ export const ProgressReportingComponent = MutableCluster.Component({
590
+ attributes: {
591
+ /**
592
+ * Indicates the operating status at one or more areas. Each entry in this list shall have a unique value
593
+ * for the AreaID field.
594
+ *
595
+ * For each entry in this list, the AreaID field shall match an entry on the SupportedAreas attribute’s
596
+ * list.
597
+ *
598
+ * When this attribute is empty, that represents that no progress information is currently available.
599
+ *
600
+ * If the SelectedAreas attribute is empty, indicating the device is not constrained to operate in any
601
+ * specific areas, the Progress attribute list may change while the device operates, due to the device
602
+ * adding new entries dynamically, when it determines which ones it can attempt to operate at.
603
+ *
604
+ * If the SelectedAreas attribute is not empty, and the device starts operating:
605
+ *
606
+ * • the Progress attribute list shall be updated so each entry of SelectedAreas has a matching Progress
607
+ * list entry, based on the AreaID field
608
+ *
609
+ * • the length of the Progress and SelectedAreas list shall be the same
610
+ *
611
+ * • the entries in the Progress list shall be initialized by the server, by having their status set to
612
+ * Pending or Operating, and the TotalOperationalTime field set to null
613
+ *
614
+ * When the device ends operation unexpectedly, such as due to an error, the server shall update all
615
+ * Progress list entries with the Status field set to Operating or Pending to Skipped.
616
+ *
617
+ * When the device finishes operating, successfully or not, it shall NOT change the Progress attribute,
618
+ * except in the case of an unexpected end of operation as described above, or due to changes to the
619
+ * SupportedMaps or SupportedAreas attributes, so the clients can retrieve the progress information at that
620
+ * time.
621
+ *
622
+ * NOTE
623
+ *
624
+ * if the device implements the Operational Status cluster, or a derivation of it, in case the device fails
625
+ * to service any locations in the SelectedAreas list before ending the operation, it SHOULD use the
626
+ * Operational Status cluster to indicate that the device was unable to complete the operation (see the
627
+ * UnableToCompleteOperation error from that cluster specification). The clients SHOULD then read the
628
+ * Progress attribute, and indicate which areas have been successfully serviced (marked as completed).
629
+ *
630
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.6.6
631
+ */
632
+ progress: Attribute(0x5, TlvArray(TlvProgress, { maxLength: 255 }), { default: [] })
633
+ }
634
+ });
635
+
636
+ /**
637
+ * These elements and properties are present in all ServiceArea clusters.
638
+ */
639
+ export const Base = MutableCluster.Component({
640
+ id: 0x150,
641
+ name: "ServiceArea",
642
+ revision: 1,
643
+
644
+ features: {
645
+ /**
646
+ * SelectWhileRunning
647
+ *
648
+ * This feature indicates whether this device allows changing the selected areas, by using the SelectAreas
649
+ * command, while operating.
650
+ *
651
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.4.1
652
+ */
653
+ selectWhileRunning: BitFlag(0),
654
+
655
+ /**
656
+ * ProgressReporting
657
+ *
658
+ * The device implements the progress reporting feature
659
+ */
660
+ progressReporting: BitFlag(1),
661
+
662
+ /**
663
+ * Maps
664
+ *
665
+ * The device has map support
666
+ */
667
+ maps: BitFlag(2)
668
+ },
669
+
670
+ attributes: {
671
+ /**
672
+ * This attribute shall contain the list of areas that can be included in the SelectedAreas attribute’s
673
+ * list. Each item in this list represents a unique area, as indicated by the AreaID field of AreaStruct.
674
+ *
675
+ * Each entry in this list shall have a unique value for the AreaID field.
676
+ *
677
+ * If the SupportedMaps attribute is not empty, each entry in this list shall have a unique value for the
678
+ * combination of the MapID and AreaInfo fields.
679
+ *
680
+ * If the SupportedMaps attribute is empty, each entry in this list shall have a unique value for the
681
+ * AreaInfo field and shall have the MapID field set to null.
682
+ *
683
+ * An empty value indicates that the device is currently unable to provide the list of supported areas.
684
+ *
685
+ * NOTE
686
+ *
687
+ * due to the maximum size of this list and to the fact that the entries may include strings (see
688
+ * LocationName), care must be taken by implementers to avoid creating a data structure that is overly
689
+ * large, which can result in significant latency in accessing this attribute.
690
+ *
691
+ * The value of this attribute may change at any time via an out-of-band interaction outside of the server,
692
+ * such as interactions with a user interface, or due to internal device changes.
693
+ *
694
+ * When removing entries in the SupportedAreas attribute list the server shall adjust the values of the
695
+ * SelectedAreas, CurrentArea, and Progress attributes such that they only reference valid entries in the
696
+ * updated SupportedAreas attribute list. These changes to the SelectedAreas, CurrentArea, and Progress
697
+ * attributes may result in the server setting some or all of them to empty (for SelectedAreas and
698
+ * Progress) or null (for CurrentArea), or updating them with data that matches the constraints from the
699
+ * description of the respective attributes. These actions are required to ensure having a consistent
700
+ * representation of the maps and locations available to the clients.
701
+ *
702
+ * The SupportedAreas attribute list changes mentioned above SHOULD NOT be allowed while the device is
703
+ * operating, to reduce the impact on the clients, and the potential confusion for the users.
704
+ *
705
+ * A few examples are provided below. Valid list of areas:
706
+ *
707
+ * • AreaID=0, LocationName="yellow bedroom", MapID=null
708
+ *
709
+ * • AreaID=1, LocationName="orange bedroom", MapID=null Valid list of areas:
710
+ *
711
+ * • AreaID=5, LocationName="hallway", MapID=1
712
+ *
713
+ * • AreaID=3, LocationName="hallway", MapID=2
714
+ *
715
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.6.1
716
+ */
717
+ supportedAreas: Attribute(0x0, TlvArray(TlvArea, { maxLength: 255 }), { default: [] }),
718
+
719
+ /**
720
+ * Indicates the set of areas where the device SHOULD attempt to operate.
721
+ *
722
+ * The mobile devices may travel without operating across any areas while attempting to reach the areas
723
+ * indicated by the SelectedAreas attribute. For example, a robotic vacuum cleaner may drive without
724
+ * cleaning when traveling without operating.
725
+ *
726
+ * If this attribute is empty, the device is not constrained to operate in any specific areas. If this
727
+ * attribute is not empty:
728
+ *
729
+ * • each item in this list shall match the AreaID field of an entry in the SupportedAreas attribute’s
730
+ * list
731
+ *
732
+ * • each entry in this list shall have a unique value
733
+ *
734
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.6.3
735
+ */
736
+ selectedAreas: Attribute(0x2, TlvArray(TlvUInt32), { default: [] }),
737
+
738
+ /**
739
+ * If the device is mobile, this attribute shall indicate the area where the device is currently located,
740
+ * regardless of whether it is operating or not, such as while traveling between areas.
741
+ *
742
+ * If the device is not mobile and can operate at multiple areas sequentially, this attribute shall
743
+ * indicate the area which is currently being serviced, or the area which is currently traversed by the
744
+ * device. For example, a camera device may use this attribute to indicate which area it currently takes
745
+ * video of (serviced area) or which area it currently has in view but not taking video of (e.g. an area
746
+ * which is traversed while panning).
747
+ *
748
+ * NOTE
749
+ *
750
+ * A device may traverse an area regardless of the status of the area (pending, skipped, or completed).
751
+ *
752
+ * If a device can simultaneously operate at multiple areas, such as in the case of a sensor that can
753
+ * monitor multiple areas at the same time, the CurrentArea attribute shall NOT be implemented, since it
754
+ * doesn’t apply. Else this attribute shall be optionally implemented.
755
+ *
756
+ * A null value indicates that the device is currently unable to provide this information. For example, the
757
+ * device is traversing an unknown area, or the SupportedAreas attribute was updated and the area where the
758
+ * device is located was removed from that list.
759
+ *
760
+ * If not null, the value of this attribute shall match the AreaID field of an entry on the SupportedAreas
761
+ * attribute’s list.
762
+ *
763
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.6.4
764
+ */
765
+ currentArea: OptionalAttribute(0x3, TlvNullable(TlvUInt32), { default: null }),
766
+
767
+ /**
768
+ * Indicates the estimated Epoch time for completing operating at the area indicated by the CurrentArea
769
+ * attribute, in seconds.
770
+ *
771
+ * A value of 0 means that the operation has completed.
772
+ *
773
+ * When this attribute is null, that represents that there is no time currently defined until operation
774
+ * completion. This may happen, for example, because no operation is in progress or because the completion
775
+ * time is unknown.
776
+ *
777
+ * Null if the CurrentArea attribute is null.
778
+ *
779
+ * If the Progress attribute is available, and it contains an entry matching CurrentArea, the server may
780
+ * use the time estimate provided in the InitialTimeEstimate field of that entry to compute the
781
+ * EstimatedEndTime attribute.
782
+ *
783
+ * The value of this attribute shall only be reported in the following cases:
784
+ *
785
+ * • when it changes to or from 0
786
+ *
787
+ * • when it decreases
788
+ *
789
+ * • when it changes to or from null
790
+ *
791
+ * NOTE
792
+ *
793
+ * If the device is capable of pausing its operation, this attribute may be set to null, to indicate that
794
+ * completion time is unknown, or increment the value while being in the paused state.
795
+ *
796
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.6.5
797
+ */
798
+ estimatedEndTime: Attribute(0x4, TlvNullable(TlvEpochS), { default: null })
799
+ },
800
+
801
+ commands: {
802
+ /**
803
+ * This command is used to select a set of device areas, where the device is to operate.
804
+ *
805
+ * On receipt of this command the device shall respond with a SelectAreasResponse command.
806
+ *
807
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.1
808
+ */
809
+ selectAreas: Command(0x0, TlvSelectAreasRequest, 0x1, TlvSelectAreasResponse),
810
+
811
+ /**
812
+ * This command is used to skip the given area, and to attempt operating at other areas on the
813
+ * SupportedAreas attribute list.
814
+ *
815
+ * This command shall NOT be implemented if the CurrentArea attribute and the Progress attribute are both
816
+ * not implemented. Else, this command shall be optionally implemented.
817
+ *
818
+ * On receipt of this command the device shall respond with a SkipAreaResponse command.
819
+ *
820
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17.7.3
821
+ */
822
+ skipArea: OptionalCommand(0x2, TlvSkipAreaRequest, 0x3, TlvSkipAreaResponse)
823
+ },
824
+
825
+ /**
826
+ * This metadata controls which ServiceAreaCluster elements matter.js activates for specific feature
827
+ * combinations.
828
+ */
829
+ extensions: MutableCluster.Extensions(
830
+ { flags: { maps: true }, component: MapsComponent },
831
+ { flags: { progressReporting: true }, component: ProgressReportingComponent }
832
+ )
833
+ });
834
+
835
+ /**
836
+ * @see {@link Cluster}
837
+ */
838
+ export const ClusterInstance = MutableCluster(Base);
839
+
840
+ /**
841
+ * This cluster provides an interface for controlling the areas where a device should operate, for reporting the
842
+ * status at each area, and for querying the current area.
843
+ *
844
+ * The device may operate at one area at a time, as in the case of a mobile device, such as a robot. Other devices
845
+ * may operate at (service) multiple areas simultaneously, as in the case of a sensor that can monitor multiple
846
+ * areas. This cluster specification uses the term "operate" to describe both the operating and servicing actions,
847
+ * regardless of the device type.
848
+ *
849
+ * The cluster allows the client to select one or more areas on the server, to indicate where the device SHOULD
850
+ * attempt to operate. An area is one of a list of options that may be presented by a client for a user choice, or
851
+ * understood by the client, via the semantic data of the area.
852
+ *
853
+ * The area semantic data is a combination of semantic tags, indicating one or more of the following: the building
854
+ * floor, area type, landmark, and relative position.
855
+ *
856
+ * ServiceAreaCluster supports optional features that you can enable with the ServiceAreaCluster.with() factory
857
+ * method.
858
+ *
859
+ * @see {@link MatterSpecification.v13.Cluster} § 1.17
860
+ */
861
+ export interface Cluster extends Identity<typeof ClusterInstance> {}
862
+
863
+ export const Cluster: Cluster = ClusterInstance;
864
+ const MAPS = { maps: true };
865
+ const PROG = { progressReporting: true };
866
+
867
+ /**
868
+ * @see {@link Complete}
869
+ */
870
+ export const CompleteInstance = MutableCluster({
871
+ id: Cluster.id,
872
+ name: Cluster.name,
873
+ revision: Cluster.revision,
874
+ features: Cluster.features,
875
+
876
+ attributes: {
877
+ ...Cluster.attributes,
878
+ supportedMaps: MutableCluster.AsConditional(
879
+ MapsComponent.attributes.supportedMaps,
880
+ { mandatoryIf: [MAPS] }
881
+ ),
882
+ progress: MutableCluster.AsConditional(
883
+ ProgressReportingComponent.attributes.progress,
884
+ { mandatoryIf: [PROG] }
885
+ )
886
+ },
887
+
888
+ commands: Cluster.commands
889
+ });
890
+
891
+ /**
892
+ * This cluster supports all ServiceArea features. It may support illegal feature combinations.
893
+ *
894
+ * If you use this cluster you must manually specify which features are active and ensure the set of active
895
+ * features is legal per the Matter specification.
896
+ */
897
+ export interface Complete extends Identity<typeof CompleteInstance> {}
898
+
899
+ export const Complete: Complete = CompleteInstance;
900
+ }
901
+
902
+ export type ServiceAreaCluster = ServiceArea.Cluster;
903
+ export const ServiceAreaCluster = ServiceArea.Cluster;
904
+ ClusterRegistry.register(ServiceArea.Complete);