@matter/types 0.16.0-alpha.0-20251022-5a69ce65a → 0.16.0-alpha.0-20251027-17770fb28

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 (888) hide show
  1. package/dist/cjs/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
  2. package/dist/cjs/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
  3. package/dist/cjs/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +6 -6
  4. package/dist/cjs/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
  5. package/dist/cjs/cluster/mutation/MutableCluster.d.ts +7 -7
  6. package/dist/cjs/cluster/mutation/MutableCluster.d.ts.map +1 -1
  7. package/dist/cjs/cluster/mutation/MutableCluster.js +4 -4
  8. package/dist/cjs/cluster/mutation/MutableCluster.js.map +1 -1
  9. package/dist/cjs/cluster/mutation/index.d.ts +1 -1
  10. package/dist/cjs/cluster/mutation/index.d.ts.map +1 -1
  11. package/dist/cjs/cluster/mutation/index.js +1 -1
  12. package/dist/cjs/cluster/mutation/index.js.map +1 -1
  13. package/dist/cjs/clusters/access-control.d.ts +96 -47
  14. package/dist/cjs/clusters/access-control.d.ts.map +1 -1
  15. package/dist/cjs/clusters/access-control.js +16 -8
  16. package/dist/cjs/clusters/access-control.js.map +1 -1
  17. package/dist/cjs/clusters/account-login.d.ts +20 -20
  18. package/dist/cjs/clusters/account-login.js +12 -12
  19. package/dist/cjs/clusters/actions.d.ts +36 -5
  20. package/dist/cjs/clusters/actions.d.ts.map +1 -1
  21. package/dist/cjs/clusters/actions.js +26 -1
  22. package/dist/cjs/clusters/actions.js.map +1 -1
  23. package/dist/cjs/clusters/administrator-commissioning.d.ts +29 -25
  24. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
  25. package/dist/cjs/clusters/administrator-commissioning.js +7 -6
  26. package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
  27. package/dist/cjs/clusters/air-quality.js +1 -1
  28. package/dist/cjs/clusters/air-quality.js.map +1 -1
  29. package/dist/cjs/clusters/alarm-base.d.ts +4 -4
  30. package/dist/cjs/clusters/alarm-base.js +2 -2
  31. package/dist/cjs/clusters/application-launcher.d.ts +49 -23
  32. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
  33. package/dist/cjs/clusters/application-launcher.js +7 -3
  34. package/dist/cjs/clusters/application-launcher.js.map +1 -1
  35. package/dist/cjs/clusters/basic-information.d.ts +22 -19
  36. package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
  37. package/dist/cjs/clusters/basic-information.js +21 -18
  38. package/dist/cjs/clusters/basic-information.js.map +1 -1
  39. package/dist/cjs/clusters/boolean-state-configuration.d.ts +15 -15
  40. package/dist/cjs/clusters/boolean-state-configuration.js +3 -3
  41. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +56 -12
  42. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  43. package/dist/cjs/clusters/bridged-device-basic-information.js +18 -4
  44. package/dist/cjs/clusters/bridged-device-basic-information.js.map +1 -1
  45. package/dist/cjs/clusters/channel.d.ts +12 -0
  46. package/dist/cjs/clusters/channel.d.ts.map +1 -1
  47. package/dist/cjs/clusters/channel.js +4 -0
  48. package/dist/cjs/clusters/channel.js.map +1 -1
  49. package/dist/cjs/clusters/color-control.d.ts +128 -119
  50. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  51. package/dist/cjs/clusters/color-control.js +52 -68
  52. package/dist/cjs/clusters/color-control.js.map +1 -1
  53. package/dist/cjs/clusters/commissioner-control.d.ts +8 -4
  54. package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -1
  55. package/dist/cjs/clusters/commissioner-control.js +5 -1
  56. package/dist/cjs/clusters/commissioner-control.js.map +1 -1
  57. package/dist/cjs/clusters/concentration-measurement.d.ts +7 -9
  58. package/dist/cjs/clusters/concentration-measurement.d.ts.map +1 -1
  59. package/dist/cjs/clusters/concentration-measurement.js +11 -12
  60. package/dist/cjs/clusters/concentration-measurement.js.map +1 -1
  61. package/dist/cjs/clusters/content-control.d.ts +44 -30
  62. package/dist/cjs/clusters/content-control.d.ts.map +1 -1
  63. package/dist/cjs/clusters/content-control.js +6 -6
  64. package/dist/cjs/clusters/content-control.js.map +1 -1
  65. package/dist/cjs/clusters/content-launcher.d.ts +32 -32
  66. package/dist/cjs/clusters/content-launcher.js +1 -1
  67. package/dist/cjs/clusters/descriptor.d.ts +43 -10
  68. package/dist/cjs/clusters/descriptor.d.ts.map +1 -1
  69. package/dist/cjs/clusters/descriptor.js +21 -4
  70. package/dist/cjs/clusters/descriptor.js.map +1 -1
  71. package/dist/cjs/clusters/device-energy-management-mode.d.ts +9 -0
  72. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  73. package/dist/cjs/clusters/device-energy-management-mode.js +3 -0
  74. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  75. package/dist/cjs/clusters/device-energy-management.d.ts +133 -24
  76. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
  77. package/dist/cjs/clusters/device-energy-management.js +38 -12
  78. package/dist/cjs/clusters/device-energy-management.js.map +1 -1
  79. package/dist/cjs/clusters/dishwasher-alarm.d.ts +3 -3
  80. package/dist/cjs/clusters/dishwasher-alarm.js +1 -1
  81. package/dist/cjs/clusters/dishwasher-mode.d.ts +9 -0
  82. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  83. package/dist/cjs/clusters/dishwasher-mode.js +3 -0
  84. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  85. package/dist/cjs/clusters/door-lock.d.ts +182 -266
  86. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  87. package/dist/cjs/clusters/door-lock.js +80 -111
  88. package/dist/cjs/clusters/door-lock.js.map +1 -1
  89. package/dist/cjs/clusters/ecosystem-information.d.ts +93 -49
  90. package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -1
  91. package/dist/cjs/clusters/ecosystem-information.js +36 -24
  92. package/dist/cjs/clusters/ecosystem-information.js.map +1 -1
  93. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +285 -209
  94. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
  95. package/dist/cjs/clusters/electrical-energy-measurement.js +33 -13
  96. package/dist/cjs/clusters/electrical-energy-measurement.js.map +2 -2
  97. package/dist/cjs/clusters/electrical-power-measurement.d.ts +201 -126
  98. package/dist/cjs/clusters/electrical-power-measurement.d.ts.map +1 -1
  99. package/dist/cjs/clusters/electrical-power-measurement.js +45 -23
  100. package/dist/cjs/clusters/electrical-power-measurement.js.map +2 -2
  101. package/dist/cjs/clusters/energy-evse-mode.d.ts +9 -0
  102. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  103. package/dist/cjs/clusters/energy-evse-mode.js +3 -0
  104. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  105. package/dist/cjs/clusters/energy-evse.d.ts +61 -45
  106. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
  107. package/dist/cjs/clusters/energy-evse.js +28 -33
  108. package/dist/cjs/clusters/energy-evse.js.map +1 -1
  109. package/dist/cjs/clusters/energy-preference.d.ts +5 -9
  110. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
  111. package/dist/cjs/clusters/energy-preference.js +1 -3
  112. package/dist/cjs/clusters/energy-preference.js.map +1 -1
  113. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +59 -69
  114. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  115. package/dist/cjs/clusters/ethernet-network-diagnostics.js +21 -25
  116. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
  117. package/dist/cjs/clusters/fan-control.d.ts +334 -148
  118. package/dist/cjs/clusters/fan-control.d.ts.map +1 -1
  119. package/dist/cjs/clusters/fan-control.js +107 -56
  120. package/dist/cjs/clusters/fan-control.js.map +1 -1
  121. package/dist/cjs/clusters/flow-measurement.js +1 -1
  122. package/dist/cjs/clusters/flow-measurement.js.map +1 -1
  123. package/dist/cjs/clusters/general-commissioning.d.ts +90 -69
  124. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
  125. package/dist/cjs/clusters/general-commissioning.js +26 -23
  126. package/dist/cjs/clusters/general-commissioning.js.map +1 -1
  127. package/dist/cjs/clusters/general-diagnostics.d.ts +51 -52
  128. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
  129. package/dist/cjs/clusters/general-diagnostics.js +13 -13
  130. package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
  131. package/dist/cjs/clusters/group-key-management.d.ts +28 -22
  132. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
  133. package/dist/cjs/clusters/group-key-management.js +13 -10
  134. package/dist/cjs/clusters/group-key-management.js.map +1 -1
  135. package/dist/cjs/clusters/groups.d.ts +0 -12
  136. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  137. package/dist/cjs/clusters/groups.js +1 -7
  138. package/dist/cjs/clusters/groups.js.map +1 -1
  139. package/dist/cjs/clusters/icd-management.d.ts +809 -145
  140. package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
  141. package/dist/cjs/clusters/icd-management.js +182 -34
  142. package/dist/cjs/clusters/icd-management.js.map +1 -1
  143. package/dist/cjs/clusters/identify.d.ts +12 -1
  144. package/dist/cjs/clusters/identify.d.ts.map +1 -1
  145. package/dist/cjs/clusters/identify.js +13 -2
  146. package/dist/cjs/clusters/identify.js.map +1 -1
  147. package/dist/cjs/clusters/illuminance-measurement.js +1 -1
  148. package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
  149. package/dist/cjs/clusters/index.d.ts +1 -5
  150. package/dist/cjs/clusters/index.d.ts.map +1 -1
  151. package/dist/cjs/clusters/index.js +3 -15
  152. package/dist/cjs/clusters/index.js.map +1 -1
  153. package/dist/cjs/clusters/joint-fabric-administrator.d.ts +424 -0
  154. package/dist/cjs/clusters/joint-fabric-administrator.d.ts.map +1 -0
  155. package/dist/cjs/clusters/joint-fabric-administrator.js +285 -0
  156. package/dist/cjs/clusters/joint-fabric-administrator.js.map +6 -0
  157. package/dist/cjs/clusters/joint-fabric-datastore.d.ts +1960 -805
  158. package/dist/cjs/clusters/joint-fabric-datastore.d.ts.map +1 -1
  159. package/dist/cjs/clusters/joint-fabric-datastore.js +990 -172
  160. package/dist/cjs/clusters/joint-fabric-datastore.js.map +2 -2
  161. package/dist/cjs/clusters/label.d.ts +9 -6
  162. package/dist/cjs/clusters/label.d.ts.map +1 -1
  163. package/dist/cjs/clusters/label.js +3 -2
  164. package/dist/cjs/clusters/label.js.map +1 -1
  165. package/dist/cjs/clusters/laundry-washer-controls.d.ts +9 -9
  166. package/dist/cjs/clusters/laundry-washer-controls.js +4 -4
  167. package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
  168. package/dist/cjs/clusters/laundry-washer-mode.d.ts +2 -2
  169. package/dist/cjs/clusters/level-control.d.ts +11 -15
  170. package/dist/cjs/clusters/level-control.d.ts.map +1 -1
  171. package/dist/cjs/clusters/level-control.js +8 -9
  172. package/dist/cjs/clusters/level-control.js.map +1 -1
  173. package/dist/cjs/clusters/media-playback.d.ts +138 -12
  174. package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
  175. package/dist/cjs/clusters/media-playback.js +41 -4
  176. package/dist/cjs/clusters/media-playback.js.map +1 -1
  177. package/dist/cjs/clusters/messages.d.ts +7 -7
  178. package/dist/cjs/clusters/messages.js +3 -3
  179. package/dist/cjs/clusters/microwave-oven-control.js +4 -4
  180. package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
  181. package/dist/cjs/clusters/microwave-oven-mode.d.ts +9 -0
  182. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  183. package/dist/cjs/clusters/microwave-oven-mode.js +3 -0
  184. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  185. package/dist/cjs/clusters/mode-base.d.ts +31 -2
  186. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  187. package/dist/cjs/clusters/mode-base.js +15 -2
  188. package/dist/cjs/clusters/mode-base.js.map +1 -1
  189. package/dist/cjs/clusters/mode-select.d.ts +7 -7
  190. package/dist/cjs/clusters/mode-select.js +2 -2
  191. package/dist/cjs/clusters/network-commissioning.d.ts +259 -201
  192. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
  193. package/dist/cjs/clusters/network-commissioning.js +41 -27
  194. package/dist/cjs/clusters/network-commissioning.js.map +1 -1
  195. package/dist/cjs/clusters/occupancy-sensing.d.ts +14 -20
  196. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
  197. package/dist/cjs/clusters/occupancy-sensing.js +4 -6
  198. package/dist/cjs/clusters/occupancy-sensing.js.map +1 -1
  199. package/dist/cjs/clusters/on-off.js +4 -4
  200. package/dist/cjs/clusters/on-off.js.map +1 -1
  201. package/dist/cjs/clusters/operational-credentials.d.ts +367 -77
  202. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
  203. package/dist/cjs/clusters/operational-credentials.js +182 -38
  204. package/dist/cjs/clusters/operational-credentials.js.map +1 -1
  205. package/dist/cjs/clusters/operational-state.d.ts +29 -49
  206. package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
  207. package/dist/cjs/clusters/operational-state.js +7 -10
  208. package/dist/cjs/clusters/operational-state.js.map +1 -1
  209. package/dist/cjs/clusters/ota-software-update-provider.d.ts +54 -22
  210. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
  211. package/dist/cjs/clusters/ota-software-update-provider.js +27 -11
  212. package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
  213. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +12 -10
  214. package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -1
  215. package/dist/cjs/clusters/ota-software-update-requestor.js +6 -5
  216. package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
  217. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +5 -5
  218. package/dist/cjs/clusters/oven-cavity-operational-state.js +3 -3
  219. package/dist/cjs/clusters/oven-mode.d.ts +150 -0
  220. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  221. package/dist/cjs/clusters/oven-mode.js +51 -1
  222. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  223. package/dist/cjs/clusters/power-source.d.ts +18 -6
  224. package/dist/cjs/clusters/power-source.d.ts.map +1 -1
  225. package/dist/cjs/clusters/power-source.js +6 -2
  226. package/dist/cjs/clusters/power-source.js.map +1 -1
  227. package/dist/cjs/clusters/pressure-measurement.d.ts +18 -9
  228. package/dist/cjs/clusters/pressure-measurement.d.ts.map +1 -1
  229. package/dist/cjs/clusters/pressure-measurement.js +10 -7
  230. package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
  231. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +46 -37
  232. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  233. package/dist/cjs/clusters/pump-configuration-and-control.js +15 -12
  234. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  235. package/dist/cjs/clusters/refrigerator-alarm.d.ts +3 -3
  236. package/dist/cjs/clusters/refrigerator-alarm.js +1 -1
  237. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
  238. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  239. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +3 -0
  240. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  241. package/dist/cjs/clusters/resource-monitoring.js +1 -1
  242. package/dist/cjs/clusters/resource-monitoring.js.map +1 -1
  243. package/dist/cjs/clusters/rvc-clean-mode.d.ts +16 -3
  244. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  245. package/dist/cjs/clusters/rvc-clean-mode.js +5 -1
  246. package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
  247. package/dist/cjs/clusters/rvc-operational-state.d.ts +78 -49
  248. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  249. package/dist/cjs/clusters/rvc-operational-state.js +19 -11
  250. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  251. package/dist/cjs/clusters/rvc-run-mode.d.ts +9 -0
  252. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  253. package/dist/cjs/clusters/rvc-run-mode.js +3 -0
  254. package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
  255. package/dist/cjs/clusters/scenes-management.d.ts +14 -45
  256. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
  257. package/dist/cjs/clusters/scenes-management.js +7 -22
  258. package/dist/cjs/clusters/scenes-management.js.map +1 -1
  259. package/dist/cjs/clusters/service-area.d.ts +36 -40
  260. package/dist/cjs/clusters/service-area.d.ts.map +1 -1
  261. package/dist/cjs/clusters/service-area.js +10 -12
  262. package/dist/cjs/clusters/service-area.js.map +1 -1
  263. package/dist/cjs/clusters/smoke-co-alarm.d.ts +4 -9
  264. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
  265. package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
  266. package/dist/cjs/clusters/software-diagnostics.d.ts +52 -51
  267. package/dist/cjs/clusters/software-diagnostics.d.ts.map +1 -1
  268. package/dist/cjs/clusters/software-diagnostics.js +17 -17
  269. package/dist/cjs/clusters/software-diagnostics.js.map +1 -1
  270. package/dist/cjs/clusters/switch.d.ts +20 -17
  271. package/dist/cjs/clusters/switch.d.ts.map +1 -1
  272. package/dist/cjs/clusters/switch.js +9 -8
  273. package/dist/cjs/clusters/switch.js.map +1 -1
  274. package/dist/cjs/clusters/temperature-control.d.ts +18 -9
  275. package/dist/cjs/clusters/temperature-control.d.ts.map +1 -1
  276. package/dist/cjs/clusters/temperature-control.js +7 -4
  277. package/dist/cjs/clusters/temperature-control.js.map +1 -1
  278. package/dist/cjs/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
  279. package/dist/cjs/clusters/thermostat-user-interface-configuration.js +2 -10
  280. package/dist/cjs/clusters/thermostat-user-interface-configuration.js.map +1 -1
  281. package/dist/cjs/clusters/thermostat.d.ts +406 -420
  282. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  283. package/dist/cjs/clusters/thermostat.js +89 -101
  284. package/dist/cjs/clusters/thermostat.js.map +1 -1
  285. package/dist/cjs/clusters/thread-border-router-management.d.ts +9 -9
  286. package/dist/cjs/clusters/thread-border-router-management.js +5 -5
  287. package/dist/cjs/clusters/thread-border-router-management.js.map +1 -1
  288. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +479 -504
  289. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
  290. package/dist/cjs/clusters/thread-network-diagnostics.js +171 -181
  291. package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
  292. package/dist/cjs/clusters/thread-network-directory.d.ts +3 -3
  293. package/dist/cjs/clusters/thread-network-directory.js +5 -5
  294. package/dist/cjs/clusters/thread-network-directory.js.map +1 -1
  295. package/dist/cjs/clusters/time-synchronization.d.ts +159 -127
  296. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
  297. package/dist/cjs/clusters/time-synchronization.js +52 -42
  298. package/dist/cjs/clusters/time-synchronization.js.map +1 -1
  299. package/dist/cjs/clusters/unit-localization.d.ts +51 -13
  300. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
  301. package/dist/cjs/clusters/unit-localization.js +22 -4
  302. package/dist/cjs/clusters/unit-localization.js.map +1 -1
  303. package/dist/cjs/clusters/valve-configuration-and-control.d.ts.map +1 -1
  304. package/dist/cjs/clusters/valve-configuration-and-control.js +8 -12
  305. package/dist/cjs/clusters/valve-configuration-and-control.js.map +1 -1
  306. package/dist/cjs/clusters/water-heater-management.d.ts +2 -14
  307. package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -1
  308. package/dist/cjs/clusters/water-heater-management.js +5 -9
  309. package/dist/cjs/clusters/water-heater-management.js.map +1 -1
  310. package/dist/cjs/clusters/water-heater-mode.d.ts +9 -0
  311. package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -1
  312. package/dist/cjs/clusters/water-heater-mode.js +3 -0
  313. package/dist/cjs/clusters/water-heater-mode.js.map +1 -1
  314. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +57 -72
  315. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  316. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +20 -26
  317. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
  318. package/dist/cjs/clusters/wi-fi-network-management.d.ts +39 -1
  319. package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -1
  320. package/dist/cjs/clusters/wi-fi-network-management.js +22 -3
  321. package/dist/cjs/clusters/wi-fi-network-management.js.map +1 -1
  322. package/dist/cjs/clusters/window-covering.d.ts +105 -3
  323. package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
  324. package/dist/cjs/clusters/window-covering.js +35 -1
  325. package/dist/cjs/clusters/window-covering.js.map +1 -1
  326. package/dist/cjs/globals/Currency.d.ts +27 -0
  327. package/dist/cjs/globals/Currency.d.ts.map +1 -0
  328. package/dist/cjs/globals/{Tod.js → Currency.js} +8 -22
  329. package/dist/cjs/globals/Currency.js.map +6 -0
  330. package/dist/cjs/globals/Locationdesc.d.ts +7 -7
  331. package/dist/cjs/globals/Locationdesc.js +5 -5
  332. package/dist/cjs/globals/MeasurementAccuracy.d.ts +5 -5
  333. package/dist/cjs/globals/MeasurementAccuracy.js +3 -3
  334. package/dist/cjs/globals/MeasurementAccuracyRange.d.ts +10 -10
  335. package/dist/cjs/globals/MeasurementAccuracyRange.js +8 -8
  336. package/dist/cjs/globals/MeasurementType.d.ts +14 -2
  337. package/dist/cjs/globals/MeasurementType.d.ts.map +1 -1
  338. package/dist/cjs/globals/MeasurementType.js +3 -0
  339. package/dist/cjs/globals/MeasurementType.js.map +1 -1
  340. package/dist/cjs/globals/Namespace.d.ts +13 -3
  341. package/dist/cjs/globals/Namespace.d.ts.map +1 -1
  342. package/dist/cjs/globals/Namespace.js.map +1 -1
  343. package/dist/cjs/globals/Price.d.ts +30 -0
  344. package/dist/cjs/globals/Price.d.ts.map +1 -0
  345. package/dist/cjs/globals/Price.js +33 -0
  346. package/dist/cjs/globals/Price.js.map +6 -0
  347. package/dist/cjs/globals/Priority.d.ts +1 -1
  348. package/dist/cjs/globals/Semtag.d.ts +9 -9
  349. package/dist/cjs/globals/Semtag.js +7 -7
  350. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  351. package/dist/cjs/globals/Status.d.ts +24 -5
  352. package/dist/cjs/globals/Status.d.ts.map +1 -1
  353. package/dist/cjs/globals/Status.js +3 -0
  354. package/dist/cjs/globals/Status.js.map +1 -1
  355. package/dist/cjs/globals/ThreeLevelAuto.d.ts +33 -0
  356. package/dist/cjs/globals/ThreeLevelAuto.d.ts.map +1 -0
  357. package/dist/cjs/globals/ThreeLevelAuto.js +36 -0
  358. package/dist/cjs/globals/ThreeLevelAuto.js.map +6 -0
  359. package/dist/cjs/globals/WildcardPathFlags.d.ts +2 -2
  360. package/dist/cjs/globals/WildcardPathFlags.js +1 -1
  361. package/dist/cjs/globals/index.d.ts +3 -1
  362. package/dist/cjs/globals/index.d.ts.map +1 -1
  363. package/dist/cjs/globals/index.js +3 -1
  364. package/dist/cjs/globals/index.js.map +1 -1
  365. package/dist/esm/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
  366. package/dist/esm/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
  367. package/dist/esm/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +3 -3
  368. package/dist/esm/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
  369. package/dist/esm/cluster/mutation/MutableCluster.d.ts +7 -7
  370. package/dist/esm/cluster/mutation/MutableCluster.d.ts.map +1 -1
  371. package/dist/esm/cluster/mutation/MutableCluster.js +4 -4
  372. package/dist/esm/cluster/mutation/MutableCluster.js.map +1 -1
  373. package/dist/esm/cluster/mutation/index.d.ts +1 -1
  374. package/dist/esm/cluster/mutation/index.d.ts.map +1 -1
  375. package/dist/esm/cluster/mutation/index.js +1 -1
  376. package/dist/esm/clusters/access-control.d.ts +96 -47
  377. package/dist/esm/clusters/access-control.d.ts.map +1 -1
  378. package/dist/esm/clusters/access-control.js +16 -8
  379. package/dist/esm/clusters/access-control.js.map +1 -1
  380. package/dist/esm/clusters/account-login.d.ts +20 -20
  381. package/dist/esm/clusters/account-login.js +12 -12
  382. package/dist/esm/clusters/actions.d.ts +36 -5
  383. package/dist/esm/clusters/actions.d.ts.map +1 -1
  384. package/dist/esm/clusters/actions.js +26 -1
  385. package/dist/esm/clusters/actions.js.map +1 -1
  386. package/dist/esm/clusters/administrator-commissioning.d.ts +29 -25
  387. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
  388. package/dist/esm/clusters/administrator-commissioning.js +7 -6
  389. package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
  390. package/dist/esm/clusters/air-quality.js +1 -1
  391. package/dist/esm/clusters/air-quality.js.map +1 -1
  392. package/dist/esm/clusters/alarm-base.d.ts +4 -4
  393. package/dist/esm/clusters/alarm-base.js +2 -2
  394. package/dist/esm/clusters/application-launcher.d.ts +49 -23
  395. package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
  396. package/dist/esm/clusters/application-launcher.js +7 -3
  397. package/dist/esm/clusters/application-launcher.js.map +1 -1
  398. package/dist/esm/clusters/basic-information.d.ts +22 -19
  399. package/dist/esm/clusters/basic-information.d.ts.map +1 -1
  400. package/dist/esm/clusters/basic-information.js +22 -18
  401. package/dist/esm/clusters/basic-information.js.map +1 -1
  402. package/dist/esm/clusters/boolean-state-configuration.d.ts +15 -15
  403. package/dist/esm/clusters/boolean-state-configuration.js +3 -3
  404. package/dist/esm/clusters/bridged-device-basic-information.d.ts +56 -12
  405. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  406. package/dist/esm/clusters/bridged-device-basic-information.js +19 -4
  407. package/dist/esm/clusters/bridged-device-basic-information.js.map +1 -1
  408. package/dist/esm/clusters/channel.d.ts +12 -0
  409. package/dist/esm/clusters/channel.d.ts.map +1 -1
  410. package/dist/esm/clusters/channel.js +4 -0
  411. package/dist/esm/clusters/channel.js.map +1 -1
  412. package/dist/esm/clusters/color-control.d.ts +128 -119
  413. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  414. package/dist/esm/clusters/color-control.js +52 -68
  415. package/dist/esm/clusters/color-control.js.map +1 -1
  416. package/dist/esm/clusters/commissioner-control.d.ts +8 -4
  417. package/dist/esm/clusters/commissioner-control.d.ts.map +1 -1
  418. package/dist/esm/clusters/commissioner-control.js +5 -1
  419. package/dist/esm/clusters/commissioner-control.js.map +1 -1
  420. package/dist/esm/clusters/concentration-measurement.d.ts +7 -9
  421. package/dist/esm/clusters/concentration-measurement.d.ts.map +1 -1
  422. package/dist/esm/clusters/concentration-measurement.js +11 -12
  423. package/dist/esm/clusters/concentration-measurement.js.map +1 -1
  424. package/dist/esm/clusters/content-control.d.ts +44 -30
  425. package/dist/esm/clusters/content-control.d.ts.map +1 -1
  426. package/dist/esm/clusters/content-control.js +6 -6
  427. package/dist/esm/clusters/content-control.js.map +1 -1
  428. package/dist/esm/clusters/content-launcher.d.ts +32 -32
  429. package/dist/esm/clusters/content-launcher.js +1 -1
  430. package/dist/esm/clusters/descriptor.d.ts +43 -10
  431. package/dist/esm/clusters/descriptor.d.ts.map +1 -1
  432. package/dist/esm/clusters/descriptor.js +22 -5
  433. package/dist/esm/clusters/descriptor.js.map +1 -1
  434. package/dist/esm/clusters/device-energy-management-mode.d.ts +9 -0
  435. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  436. package/dist/esm/clusters/device-energy-management-mode.js +3 -0
  437. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  438. package/dist/esm/clusters/device-energy-management.d.ts +133 -24
  439. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
  440. package/dist/esm/clusters/device-energy-management.js +38 -12
  441. package/dist/esm/clusters/device-energy-management.js.map +1 -1
  442. package/dist/esm/clusters/dishwasher-alarm.d.ts +3 -3
  443. package/dist/esm/clusters/dishwasher-alarm.js +1 -1
  444. package/dist/esm/clusters/dishwasher-mode.d.ts +9 -0
  445. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  446. package/dist/esm/clusters/dishwasher-mode.js +3 -0
  447. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  448. package/dist/esm/clusters/door-lock.d.ts +182 -266
  449. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  450. package/dist/esm/clusters/door-lock.js +81 -112
  451. package/dist/esm/clusters/door-lock.js.map +1 -1
  452. package/dist/esm/clusters/ecosystem-information.d.ts +93 -49
  453. package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -1
  454. package/dist/esm/clusters/ecosystem-information.js +37 -25
  455. package/dist/esm/clusters/ecosystem-information.js.map +1 -1
  456. package/dist/esm/clusters/electrical-energy-measurement.d.ts +285 -209
  457. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
  458. package/dist/esm/clusters/electrical-energy-measurement.js +33 -13
  459. package/dist/esm/clusters/electrical-energy-measurement.js.map +2 -2
  460. package/dist/esm/clusters/electrical-power-measurement.d.ts +201 -126
  461. package/dist/esm/clusters/electrical-power-measurement.d.ts.map +1 -1
  462. package/dist/esm/clusters/electrical-power-measurement.js +45 -23
  463. package/dist/esm/clusters/electrical-power-measurement.js.map +2 -2
  464. package/dist/esm/clusters/energy-evse-mode.d.ts +9 -0
  465. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  466. package/dist/esm/clusters/energy-evse-mode.js +3 -0
  467. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  468. package/dist/esm/clusters/energy-evse.d.ts +61 -45
  469. package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
  470. package/dist/esm/clusters/energy-evse.js +28 -33
  471. package/dist/esm/clusters/energy-evse.js.map +1 -1
  472. package/dist/esm/clusters/energy-preference.d.ts +5 -9
  473. package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
  474. package/dist/esm/clusters/energy-preference.js +1 -3
  475. package/dist/esm/clusters/energy-preference.js.map +1 -1
  476. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +59 -69
  477. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  478. package/dist/esm/clusters/ethernet-network-diagnostics.js +21 -25
  479. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
  480. package/dist/esm/clusters/fan-control.d.ts +334 -148
  481. package/dist/esm/clusters/fan-control.d.ts.map +1 -1
  482. package/dist/esm/clusters/fan-control.js +107 -56
  483. package/dist/esm/clusters/fan-control.js.map +1 -1
  484. package/dist/esm/clusters/flow-measurement.js +1 -1
  485. package/dist/esm/clusters/flow-measurement.js.map +1 -1
  486. package/dist/esm/clusters/general-commissioning.d.ts +90 -69
  487. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
  488. package/dist/esm/clusters/general-commissioning.js +26 -23
  489. package/dist/esm/clusters/general-commissioning.js.map +1 -1
  490. package/dist/esm/clusters/general-diagnostics.d.ts +51 -52
  491. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
  492. package/dist/esm/clusters/general-diagnostics.js +13 -13
  493. package/dist/esm/clusters/general-diagnostics.js.map +1 -1
  494. package/dist/esm/clusters/group-key-management.d.ts +28 -22
  495. package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
  496. package/dist/esm/clusters/group-key-management.js +13 -10
  497. package/dist/esm/clusters/group-key-management.js.map +1 -1
  498. package/dist/esm/clusters/groups.d.ts +0 -12
  499. package/dist/esm/clusters/groups.d.ts.map +1 -1
  500. package/dist/esm/clusters/groups.js +1 -7
  501. package/dist/esm/clusters/groups.js.map +1 -1
  502. package/dist/esm/clusters/icd-management.d.ts +809 -145
  503. package/dist/esm/clusters/icd-management.d.ts.map +1 -1
  504. package/dist/esm/clusters/icd-management.js +182 -34
  505. package/dist/esm/clusters/icd-management.js.map +1 -1
  506. package/dist/esm/clusters/identify.d.ts +12 -1
  507. package/dist/esm/clusters/identify.d.ts.map +1 -1
  508. package/dist/esm/clusters/identify.js +13 -2
  509. package/dist/esm/clusters/identify.js.map +1 -1
  510. package/dist/esm/clusters/illuminance-measurement.js +1 -1
  511. package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
  512. package/dist/esm/clusters/index.d.ts +1 -5
  513. package/dist/esm/clusters/index.d.ts.map +1 -1
  514. package/dist/esm/clusters/index.js +3 -15
  515. package/dist/esm/clusters/index.js.map +1 -1
  516. package/dist/esm/clusters/joint-fabric-administrator.d.ts +424 -0
  517. package/dist/esm/clusters/joint-fabric-administrator.d.ts.map +1 -0
  518. package/dist/esm/clusters/joint-fabric-administrator.js +265 -0
  519. package/dist/esm/clusters/joint-fabric-administrator.js.map +6 -0
  520. package/dist/esm/clusters/joint-fabric-datastore.d.ts +1960 -805
  521. package/dist/esm/clusters/joint-fabric-datastore.d.ts.map +1 -1
  522. package/dist/esm/clusters/joint-fabric-datastore.js +993 -175
  523. package/dist/esm/clusters/joint-fabric-datastore.js.map +2 -2
  524. package/dist/esm/clusters/label.d.ts +9 -6
  525. package/dist/esm/clusters/label.d.ts.map +1 -1
  526. package/dist/esm/clusters/label.js +3 -2
  527. package/dist/esm/clusters/label.js.map +1 -1
  528. package/dist/esm/clusters/laundry-washer-controls.d.ts +9 -9
  529. package/dist/esm/clusters/laundry-washer-controls.js +4 -4
  530. package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
  531. package/dist/esm/clusters/laundry-washer-mode.d.ts +2 -2
  532. package/dist/esm/clusters/level-control.d.ts +11 -15
  533. package/dist/esm/clusters/level-control.d.ts.map +1 -1
  534. package/dist/esm/clusters/level-control.js +8 -9
  535. package/dist/esm/clusters/level-control.js.map +1 -1
  536. package/dist/esm/clusters/media-playback.d.ts +138 -12
  537. package/dist/esm/clusters/media-playback.d.ts.map +1 -1
  538. package/dist/esm/clusters/media-playback.js +41 -4
  539. package/dist/esm/clusters/media-playback.js.map +1 -1
  540. package/dist/esm/clusters/messages.d.ts +7 -7
  541. package/dist/esm/clusters/messages.js +3 -3
  542. package/dist/esm/clusters/microwave-oven-control.js +4 -4
  543. package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
  544. package/dist/esm/clusters/microwave-oven-mode.d.ts +9 -0
  545. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  546. package/dist/esm/clusters/microwave-oven-mode.js +3 -0
  547. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  548. package/dist/esm/clusters/mode-base.d.ts +31 -2
  549. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  550. package/dist/esm/clusters/mode-base.js +15 -2
  551. package/dist/esm/clusters/mode-base.js.map +1 -1
  552. package/dist/esm/clusters/mode-select.d.ts +7 -7
  553. package/dist/esm/clusters/mode-select.js +2 -2
  554. package/dist/esm/clusters/network-commissioning.d.ts +259 -201
  555. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
  556. package/dist/esm/clusters/network-commissioning.js +41 -27
  557. package/dist/esm/clusters/network-commissioning.js.map +1 -1
  558. package/dist/esm/clusters/occupancy-sensing.d.ts +14 -20
  559. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
  560. package/dist/esm/clusters/occupancy-sensing.js +4 -6
  561. package/dist/esm/clusters/occupancy-sensing.js.map +1 -1
  562. package/dist/esm/clusters/on-off.js +4 -4
  563. package/dist/esm/clusters/on-off.js.map +1 -1
  564. package/dist/esm/clusters/operational-credentials.d.ts +367 -77
  565. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
  566. package/dist/esm/clusters/operational-credentials.js +183 -39
  567. package/dist/esm/clusters/operational-credentials.js.map +1 -1
  568. package/dist/esm/clusters/operational-state.d.ts +29 -49
  569. package/dist/esm/clusters/operational-state.d.ts.map +1 -1
  570. package/dist/esm/clusters/operational-state.js +7 -10
  571. package/dist/esm/clusters/operational-state.js.map +1 -1
  572. package/dist/esm/clusters/ota-software-update-provider.d.ts +54 -22
  573. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
  574. package/dist/esm/clusters/ota-software-update-provider.js +27 -11
  575. package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
  576. package/dist/esm/clusters/ota-software-update-requestor.d.ts +12 -10
  577. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
  578. package/dist/esm/clusters/ota-software-update-requestor.js +6 -5
  579. package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
  580. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +5 -5
  581. package/dist/esm/clusters/oven-cavity-operational-state.js +3 -3
  582. package/dist/esm/clusters/oven-mode.d.ts +150 -0
  583. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  584. package/dist/esm/clusters/oven-mode.js +51 -1
  585. package/dist/esm/clusters/oven-mode.js.map +1 -1
  586. package/dist/esm/clusters/power-source.d.ts +18 -6
  587. package/dist/esm/clusters/power-source.d.ts.map +1 -1
  588. package/dist/esm/clusters/power-source.js +6 -2
  589. package/dist/esm/clusters/power-source.js.map +1 -1
  590. package/dist/esm/clusters/pressure-measurement.d.ts +18 -9
  591. package/dist/esm/clusters/pressure-measurement.d.ts.map +1 -1
  592. package/dist/esm/clusters/pressure-measurement.js +10 -7
  593. package/dist/esm/clusters/pressure-measurement.js.map +1 -1
  594. package/dist/esm/clusters/pump-configuration-and-control.d.ts +46 -37
  595. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  596. package/dist/esm/clusters/pump-configuration-and-control.js +15 -12
  597. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  598. package/dist/esm/clusters/refrigerator-alarm.d.ts +3 -3
  599. package/dist/esm/clusters/refrigerator-alarm.js +1 -1
  600. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
  601. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  602. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +3 -0
  603. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  604. package/dist/esm/clusters/resource-monitoring.js +1 -1
  605. package/dist/esm/clusters/resource-monitoring.js.map +1 -1
  606. package/dist/esm/clusters/rvc-clean-mode.d.ts +16 -3
  607. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  608. package/dist/esm/clusters/rvc-clean-mode.js +5 -1
  609. package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
  610. package/dist/esm/clusters/rvc-operational-state.d.ts +78 -49
  611. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  612. package/dist/esm/clusters/rvc-operational-state.js +19 -11
  613. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  614. package/dist/esm/clusters/rvc-run-mode.d.ts +9 -0
  615. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  616. package/dist/esm/clusters/rvc-run-mode.js +3 -0
  617. package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
  618. package/dist/esm/clusters/scenes-management.d.ts +14 -45
  619. package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
  620. package/dist/esm/clusters/scenes-management.js +8 -30
  621. package/dist/esm/clusters/scenes-management.js.map +1 -1
  622. package/dist/esm/clusters/service-area.d.ts +36 -40
  623. package/dist/esm/clusters/service-area.d.ts.map +1 -1
  624. package/dist/esm/clusters/service-area.js +10 -12
  625. package/dist/esm/clusters/service-area.js.map +1 -1
  626. package/dist/esm/clusters/smoke-co-alarm.d.ts +4 -9
  627. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
  628. package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
  629. package/dist/esm/clusters/software-diagnostics.d.ts +52 -51
  630. package/dist/esm/clusters/software-diagnostics.d.ts.map +1 -1
  631. package/dist/esm/clusters/software-diagnostics.js +17 -17
  632. package/dist/esm/clusters/software-diagnostics.js.map +1 -1
  633. package/dist/esm/clusters/switch.d.ts +20 -17
  634. package/dist/esm/clusters/switch.d.ts.map +1 -1
  635. package/dist/esm/clusters/switch.js +9 -8
  636. package/dist/esm/clusters/switch.js.map +1 -1
  637. package/dist/esm/clusters/temperature-control.d.ts +18 -9
  638. package/dist/esm/clusters/temperature-control.d.ts.map +1 -1
  639. package/dist/esm/clusters/temperature-control.js +7 -4
  640. package/dist/esm/clusters/temperature-control.js.map +1 -1
  641. package/dist/esm/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
  642. package/dist/esm/clusters/thermostat-user-interface-configuration.js +2 -10
  643. package/dist/esm/clusters/thermostat-user-interface-configuration.js.map +1 -1
  644. package/dist/esm/clusters/thermostat.d.ts +406 -420
  645. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  646. package/dist/esm/clusters/thermostat.js +89 -101
  647. package/dist/esm/clusters/thermostat.js.map +1 -1
  648. package/dist/esm/clusters/thread-border-router-management.d.ts +9 -9
  649. package/dist/esm/clusters/thread-border-router-management.js +5 -5
  650. package/dist/esm/clusters/thread-border-router-management.js.map +1 -1
  651. package/dist/esm/clusters/thread-network-diagnostics.d.ts +479 -504
  652. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
  653. package/dist/esm/clusters/thread-network-diagnostics.js +171 -181
  654. package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
  655. package/dist/esm/clusters/thread-network-directory.d.ts +3 -3
  656. package/dist/esm/clusters/thread-network-directory.js +5 -5
  657. package/dist/esm/clusters/thread-network-directory.js.map +1 -1
  658. package/dist/esm/clusters/time-synchronization.d.ts +159 -127
  659. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
  660. package/dist/esm/clusters/time-synchronization.js +52 -42
  661. package/dist/esm/clusters/time-synchronization.js.map +1 -1
  662. package/dist/esm/clusters/unit-localization.d.ts +51 -13
  663. package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
  664. package/dist/esm/clusters/unit-localization.js +23 -5
  665. package/dist/esm/clusters/unit-localization.js.map +1 -1
  666. package/dist/esm/clusters/valve-configuration-and-control.d.ts.map +1 -1
  667. package/dist/esm/clusters/valve-configuration-and-control.js +8 -12
  668. package/dist/esm/clusters/valve-configuration-and-control.js.map +1 -1
  669. package/dist/esm/clusters/water-heater-management.d.ts +2 -14
  670. package/dist/esm/clusters/water-heater-management.d.ts.map +1 -1
  671. package/dist/esm/clusters/water-heater-management.js +5 -9
  672. package/dist/esm/clusters/water-heater-management.js.map +1 -1
  673. package/dist/esm/clusters/water-heater-mode.d.ts +9 -0
  674. package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -1
  675. package/dist/esm/clusters/water-heater-mode.js +3 -0
  676. package/dist/esm/clusters/water-heater-mode.js.map +1 -1
  677. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +57 -72
  678. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  679. package/dist/esm/clusters/wi-fi-network-diagnostics.js +20 -26
  680. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
  681. package/dist/esm/clusters/wi-fi-network-management.d.ts +39 -1
  682. package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -1
  683. package/dist/esm/clusters/wi-fi-network-management.js +22 -3
  684. package/dist/esm/clusters/wi-fi-network-management.js.map +1 -1
  685. package/dist/esm/clusters/window-covering.d.ts +105 -3
  686. package/dist/esm/clusters/window-covering.d.ts.map +1 -1
  687. package/dist/esm/clusters/window-covering.js +35 -1
  688. package/dist/esm/clusters/window-covering.js.map +1 -1
  689. package/dist/esm/globals/Currency.d.ts +27 -0
  690. package/dist/esm/globals/Currency.d.ts.map +1 -0
  691. package/dist/esm/globals/Currency.js +15 -0
  692. package/dist/esm/globals/Currency.js.map +6 -0
  693. package/dist/esm/globals/Locationdesc.d.ts +7 -7
  694. package/dist/esm/globals/Locationdesc.js +5 -5
  695. package/dist/esm/globals/MeasurementAccuracy.d.ts +5 -5
  696. package/dist/esm/globals/MeasurementAccuracy.js +3 -3
  697. package/dist/esm/globals/MeasurementAccuracyRange.d.ts +10 -10
  698. package/dist/esm/globals/MeasurementAccuracyRange.js +8 -8
  699. package/dist/esm/globals/MeasurementType.d.ts +14 -2
  700. package/dist/esm/globals/MeasurementType.d.ts.map +1 -1
  701. package/dist/esm/globals/MeasurementType.js +3 -0
  702. package/dist/esm/globals/MeasurementType.js.map +1 -1
  703. package/dist/esm/globals/Namespace.d.ts +13 -3
  704. package/dist/esm/globals/Namespace.d.ts.map +1 -1
  705. package/dist/esm/globals/Namespace.js.map +1 -1
  706. package/dist/esm/globals/Price.d.ts +30 -0
  707. package/dist/esm/globals/Price.d.ts.map +1 -0
  708. package/dist/esm/globals/Price.js +13 -0
  709. package/dist/esm/globals/Price.js.map +6 -0
  710. package/dist/esm/globals/Priority.d.ts +1 -1
  711. package/dist/esm/globals/Semtag.d.ts +9 -9
  712. package/dist/esm/globals/Semtag.js +7 -7
  713. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  714. package/dist/esm/globals/Status.d.ts +24 -5
  715. package/dist/esm/globals/Status.d.ts.map +1 -1
  716. package/dist/esm/globals/Status.js +3 -0
  717. package/dist/esm/globals/Status.js.map +1 -1
  718. package/dist/esm/globals/ThreeLevelAuto.d.ts +33 -0
  719. package/dist/esm/globals/ThreeLevelAuto.d.ts.map +1 -0
  720. package/dist/esm/globals/ThreeLevelAuto.js +16 -0
  721. package/dist/esm/globals/ThreeLevelAuto.js.map +6 -0
  722. package/dist/esm/globals/WildcardPathFlags.d.ts +2 -2
  723. package/dist/esm/globals/WildcardPathFlags.js +1 -1
  724. package/dist/esm/globals/index.d.ts +3 -1
  725. package/dist/esm/globals/index.d.ts.map +1 -1
  726. package/dist/esm/globals/index.js +3 -1
  727. package/dist/esm/globals/index.js.map +1 -1
  728. package/package.json +5 -5
  729. package/src/cluster/mutation/{ElementModifier.ts → ClusterTypeModifier.ts} +9 -9
  730. package/src/cluster/mutation/MutableCluster.ts +14 -14
  731. package/src/cluster/mutation/index.ts +1 -1
  732. package/src/clusters/access-control.ts +26 -21
  733. package/src/clusters/account-login.ts +16 -16
  734. package/src/clusters/actions.ts +36 -5
  735. package/src/clusters/administrator-commissioning.ts +9 -8
  736. package/src/clusters/air-quality.ts +1 -1
  737. package/src/clusters/alarm-base.ts +2 -2
  738. package/src/clusters/application-launcher.ts +7 -3
  739. package/src/clusters/basic-information.ts +23 -18
  740. package/src/clusters/boolean-state-configuration.ts +3 -3
  741. package/src/clusters/bridged-device-basic-information.ts +24 -6
  742. package/src/clusters/channel.ts +4 -0
  743. package/src/clusters/color-control.ts +53 -69
  744. package/src/clusters/commissioner-control.ts +9 -5
  745. package/src/clusters/concentration-measurement.ts +12 -13
  746. package/src/clusters/content-control.ts +8 -6
  747. package/src/clusters/content-launcher.ts +2 -2
  748. package/src/clusters/descriptor.ts +25 -7
  749. package/src/clusters/device-energy-management-mode.ts +3 -0
  750. package/src/clusters/device-energy-management.ts +63 -13
  751. package/src/clusters/dishwasher-alarm.ts +1 -1
  752. package/src/clusters/dishwasher-mode.ts +3 -0
  753. package/src/clusters/door-lock.ts +102 -126
  754. package/src/clusters/ecosystem-information.ts +59 -31
  755. package/src/clusters/electrical-energy-measurement.ts +110 -17
  756. package/src/clusters/electrical-power-measurement.ts +116 -28
  757. package/src/clusters/energy-evse-mode.ts +3 -0
  758. package/src/clusters/energy-evse.ts +33 -38
  759. package/src/clusters/energy-preference.ts +3 -3
  760. package/src/clusters/ethernet-network-diagnostics.ts +21 -25
  761. package/src/clusters/fan-control.ts +109 -71
  762. package/src/clusters/flow-measurement.ts +1 -1
  763. package/src/clusters/general-commissioning.ts +43 -28
  764. package/src/clusters/general-diagnostics.ts +14 -14
  765. package/src/clusters/group-key-management.ts +15 -12
  766. package/src/clusters/groups.ts +1 -8
  767. package/src/clusters/icd-management.ts +213 -55
  768. package/src/clusters/identify.ts +13 -2
  769. package/src/clusters/illuminance-measurement.ts +1 -1
  770. package/src/clusters/index.ts +1 -5
  771. package/src/clusters/joint-fabric-administrator.ts +470 -0
  772. package/src/clusters/joint-fabric-datastore.ts +1433 -223
  773. package/src/clusters/label.ts +3 -2
  774. package/src/clusters/laundry-washer-controls.ts +4 -4
  775. package/src/clusters/laundry-washer-mode.ts +2 -2
  776. package/src/clusters/level-control.ts +9 -10
  777. package/src/clusters/media-playback.ts +45 -4
  778. package/src/clusters/messages.ts +3 -3
  779. package/src/clusters/microwave-oven-control.ts +4 -4
  780. package/src/clusters/microwave-oven-mode.ts +3 -0
  781. package/src/clusters/mode-base.ts +15 -2
  782. package/src/clusters/mode-select.ts +3 -3
  783. package/src/clusters/network-commissioning.ts +57 -31
  784. package/src/clusters/occupancy-sensing.ts +6 -8
  785. package/src/clusters/on-off.ts +4 -4
  786. package/src/clusters/operational-credentials.ts +336 -53
  787. package/src/clusters/operational-state.ts +7 -10
  788. package/src/clusters/ota-software-update-provider.ts +27 -11
  789. package/src/clusters/ota-software-update-requestor.ts +6 -5
  790. package/src/clusters/oven-cavity-operational-state.ts +3 -3
  791. package/src/clusters/oven-mode.ts +53 -1
  792. package/src/clusters/power-source.ts +6 -2
  793. package/src/clusters/pressure-measurement.ts +10 -7
  794. package/src/clusters/pump-configuration-and-control.ts +16 -13
  795. package/src/clusters/refrigerator-alarm.ts +1 -1
  796. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +3 -0
  797. package/src/clusters/resource-monitoring.ts +1 -1
  798. package/src/clusters/rvc-clean-mode.ts +10 -2
  799. package/src/clusters/rvc-operational-state.ts +70 -15
  800. package/src/clusters/rvc-run-mode.ts +3 -0
  801. package/src/clusters/scenes-management.ts +8 -31
  802. package/src/clusters/service-area.ts +10 -12
  803. package/src/clusters/smoke-co-alarm.ts +4 -9
  804. package/src/clusters/software-diagnostics.ts +17 -17
  805. package/src/clusters/switch.ts +11 -10
  806. package/src/clusters/temperature-control.ts +7 -4
  807. package/src/clusters/thermostat-user-interface-configuration.ts +2 -10
  808. package/src/clusters/thermostat.ts +138 -155
  809. package/src/clusters/thread-border-router-management.ts +6 -6
  810. package/src/clusters/thread-network-diagnostics.ts +171 -181
  811. package/src/clusters/thread-network-directory.ts +5 -5
  812. package/src/clusters/time-synchronization.ts +56 -44
  813. package/src/clusters/unit-localization.ts +24 -5
  814. package/src/clusters/valve-configuration-and-control.ts +8 -12
  815. package/src/clusters/water-heater-management.ts +5 -9
  816. package/src/clusters/water-heater-mode.ts +3 -0
  817. package/src/clusters/wi-fi-network-diagnostics.ts +23 -29
  818. package/src/clusters/wi-fi-network-management.ts +22 -3
  819. package/src/clusters/window-covering.ts +35 -1
  820. package/src/globals/Currency.ts +32 -0
  821. package/src/globals/Locationdesc.ts +7 -7
  822. package/src/globals/MeasurementAccuracy.ts +5 -5
  823. package/src/globals/MeasurementAccuracyRange.ts +10 -10
  824. package/src/globals/MeasurementType.ts +17 -2
  825. package/src/globals/Namespace.ts +13 -3
  826. package/src/globals/Price.ts +30 -0
  827. package/src/globals/Priority.ts +1 -1
  828. package/src/globals/Semtag.ts +9 -9
  829. package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
  830. package/src/globals/Status.ts +27 -5
  831. package/src/globals/ThreeLevelAuto.ts +37 -0
  832. package/src/globals/WildcardPathFlags.ts +2 -2
  833. package/src/globals/index.ts +3 -1
  834. package/dist/cjs/cluster/mutation/ElementModifier.d.ts.map +0 -1
  835. package/dist/cjs/clusters/ballast-configuration.d.ts +0 -243
  836. package/dist/cjs/clusters/ballast-configuration.d.ts.map +0 -1
  837. package/dist/cjs/clusters/ballast-configuration.js +0 -253
  838. package/dist/cjs/clusters/ballast-configuration.js.map +0 -6
  839. package/dist/cjs/clusters/joint-fabric-pki.d.ts +0 -172
  840. package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +0 -1
  841. package/dist/cjs/clusters/joint-fabric-pki.js +0 -120
  842. package/dist/cjs/clusters/joint-fabric-pki.js.map +0 -6
  843. package/dist/cjs/clusters/proxy-configuration.d.ts +0 -79
  844. package/dist/cjs/clusters/proxy-configuration.d.ts.map +0 -1
  845. package/dist/cjs/clusters/proxy-configuration.js +0 -73
  846. package/dist/cjs/clusters/proxy-configuration.js.map +0 -6
  847. package/dist/cjs/clusters/proxy-discovery.d.ts +0 -98
  848. package/dist/cjs/clusters/proxy-discovery.d.ts.map +0 -1
  849. package/dist/cjs/clusters/proxy-discovery.js +0 -79
  850. package/dist/cjs/clusters/proxy-discovery.js.map +0 -6
  851. package/dist/cjs/clusters/valid-proxies.d.ts +0 -84
  852. package/dist/cjs/clusters/valid-proxies.d.ts.map +0 -1
  853. package/dist/cjs/clusters/valid-proxies.js +0 -68
  854. package/dist/cjs/clusters/valid-proxies.js.map +0 -6
  855. package/dist/cjs/globals/Tod.d.ts +0 -41
  856. package/dist/cjs/globals/Tod.d.ts.map +0 -1
  857. package/dist/cjs/globals/Tod.js.map +0 -6
  858. package/dist/esm/cluster/mutation/ElementModifier.d.ts.map +0 -1
  859. package/dist/esm/clusters/ballast-configuration.d.ts +0 -243
  860. package/dist/esm/clusters/ballast-configuration.d.ts.map +0 -1
  861. package/dist/esm/clusters/ballast-configuration.js +0 -233
  862. package/dist/esm/clusters/ballast-configuration.js.map +0 -6
  863. package/dist/esm/clusters/joint-fabric-pki.d.ts +0 -172
  864. package/dist/esm/clusters/joint-fabric-pki.d.ts.map +0 -1
  865. package/dist/esm/clusters/joint-fabric-pki.js +0 -100
  866. package/dist/esm/clusters/joint-fabric-pki.js.map +0 -6
  867. package/dist/esm/clusters/proxy-configuration.d.ts +0 -79
  868. package/dist/esm/clusters/proxy-configuration.d.ts.map +0 -1
  869. package/dist/esm/clusters/proxy-configuration.js +0 -53
  870. package/dist/esm/clusters/proxy-configuration.js.map +0 -6
  871. package/dist/esm/clusters/proxy-discovery.d.ts +0 -98
  872. package/dist/esm/clusters/proxy-discovery.d.ts.map +0 -1
  873. package/dist/esm/clusters/proxy-discovery.js +0 -59
  874. package/dist/esm/clusters/proxy-discovery.js.map +0 -6
  875. package/dist/esm/clusters/valid-proxies.d.ts +0 -84
  876. package/dist/esm/clusters/valid-proxies.d.ts.map +0 -1
  877. package/dist/esm/clusters/valid-proxies.js +0 -48
  878. package/dist/esm/clusters/valid-proxies.js.map +0 -6
  879. package/dist/esm/globals/Tod.d.ts +0 -41
  880. package/dist/esm/globals/Tod.d.ts.map +0 -1
  881. package/dist/esm/globals/Tod.js +0 -29
  882. package/dist/esm/globals/Tod.js.map +0 -6
  883. package/src/clusters/ballast-configuration.ts +0 -268
  884. package/src/clusters/joint-fabric-pki.ts +0 -200
  885. package/src/clusters/proxy-configuration.ts +0 -77
  886. package/src/clusters/proxy-discovery.ts +0 -90
  887. package/src/clusters/valid-proxies.ts +0 -90
  888. package/src/globals/Tod.ts +0 -49
@@ -4,69 +4,108 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
7
- import { FabricScopedAttribute, Command, TlvNoResponse } from "../cluster/Cluster.js";
7
+ import { Attribute, Command, TlvNoResponse } from "../cluster/Cluster.js";
8
8
  import { TlvByteString, TlvString } from "../tlv/TlvString.js";
9
9
  import { AccessLevel } from "#model";
10
10
  import { TlvNodeId } from "../datatype/NodeId.js";
11
11
  import { TlvVendorId } from "../datatype/VendorId.js";
12
12
  import { TlvArray } from "../tlv/TlvArray.js";
13
- import { GroupKeyManagement } from "./group-key-management.js";
14
- import { TlvField, TlvObject } from "../tlv/TlvObject.js";
15
- import { TlvUInt64, TlvUInt16, TlvEnum, TlvEpochS } from "../tlv/TlvNumber.js";
16
- import { AccessControl } from "./access-control.js";
17
- import { TlvFabricIndex } from "../datatype/FabricIndex.js";
13
+ import { TlvField, TlvOptionalField, TlvObject } from "../tlv/TlvObject.js";
14
+ import { TlvUInt16, TlvEnum, TlvEpochUs, TlvUInt64, TlvEpochS } from "../tlv/TlvNumber.js";
15
+ import { TlvNullable } from "../tlv/TlvNullable.js";
18
16
  import { TlvEndpointNumber } from "../datatype/EndpointNumber.js";
19
17
  import { TlvGroupId } from "../datatype/GroupId.js";
20
- import { Binding } from "./binding.js";
21
- import { TlvNoArguments } from "../tlv/TlvNoArguments.js";
18
+ import { TlvClusterId } from "../datatype/ClusterId.js";
19
+ import { TlvSubjectId } from "../datatype/SubjectId.js";
20
+ import { TlvDeviceTypeId } from "../datatype/DeviceTypeId.js";
22
21
  import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
23
22
  var JointFabricDatastore;
24
23
  ((JointFabricDatastore2) => {
24
+ let DatastoreGroupKeySecurityPolicy;
25
+ ((DatastoreGroupKeySecurityPolicy2) => {
26
+ DatastoreGroupKeySecurityPolicy2[DatastoreGroupKeySecurityPolicy2["TrustFirst"] = 0] = "TrustFirst";
27
+ })(DatastoreGroupKeySecurityPolicy = JointFabricDatastore2.DatastoreGroupKeySecurityPolicy || (JointFabricDatastore2.DatastoreGroupKeySecurityPolicy = {}));
28
+ let DatastoreGroupKeyMulticastPolicy;
29
+ ((DatastoreGroupKeyMulticastPolicy2) => {
30
+ DatastoreGroupKeyMulticastPolicy2[DatastoreGroupKeyMulticastPolicy2["PerGroupId"] = 0] = "PerGroupId";
31
+ DatastoreGroupKeyMulticastPolicy2[DatastoreGroupKeyMulticastPolicy2["AllNodes"] = 1] = "AllNodes";
32
+ })(DatastoreGroupKeyMulticastPolicy = JointFabricDatastore2.DatastoreGroupKeyMulticastPolicy || (JointFabricDatastore2.DatastoreGroupKeyMulticastPolicy = {}));
33
+ JointFabricDatastore2.TlvDatastoreGroupKeySet = TlvObject({
34
+ groupKeySetId: TlvField(0, TlvUInt16),
35
+ groupKeySecurityPolicy: TlvField(1, TlvEnum()),
36
+ epochKey0: TlvField(2, TlvNullable(TlvByteString.bound({ length: 16 }))),
37
+ epochStartTime0: TlvField(3, TlvNullable(TlvEpochUs)),
38
+ epochKey1: TlvField(4, TlvNullable(TlvByteString.bound({ length: 16 }))),
39
+ epochStartTime1: TlvField(5, TlvNullable(TlvEpochUs)),
40
+ epochKey2: TlvField(6, TlvNullable(TlvByteString.bound({ length: 16 }))),
41
+ epochStartTime2: TlvField(7, TlvNullable(TlvEpochUs)),
42
+ groupKeyMulticastPolicy: TlvOptionalField(8, TlvEnum())
43
+ });
44
+ let DatastoreAccessControlEntryPrivilege;
45
+ ((DatastoreAccessControlEntryPrivilege2) => {
46
+ DatastoreAccessControlEntryPrivilege2[DatastoreAccessControlEntryPrivilege2["View"] = 1] = "View";
47
+ DatastoreAccessControlEntryPrivilege2[DatastoreAccessControlEntryPrivilege2["ProxyView"] = 2] = "ProxyView";
48
+ DatastoreAccessControlEntryPrivilege2[DatastoreAccessControlEntryPrivilege2["Operate"] = 3] = "Operate";
49
+ DatastoreAccessControlEntryPrivilege2[DatastoreAccessControlEntryPrivilege2["Manage"] = 4] = "Manage";
50
+ DatastoreAccessControlEntryPrivilege2[DatastoreAccessControlEntryPrivilege2["Administer"] = 5] = "Administer";
51
+ })(DatastoreAccessControlEntryPrivilege = JointFabricDatastore2.DatastoreAccessControlEntryPrivilege || (JointFabricDatastore2.DatastoreAccessControlEntryPrivilege = {}));
25
52
  JointFabricDatastore2.TlvDatastoreGroupInformationEntry = TlvObject({
26
53
  /**
27
54
  * The unique identifier for the group.
28
55
  *
29
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.1
56
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
30
57
  */
31
58
  groupId: TlvField(0, TlvUInt64),
32
59
  /**
33
60
  * The friendly name for the group.
34
61
  *
35
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.2
62
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
36
63
  */
37
64
  friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 })),
38
65
  /**
39
66
  * The unique identifier for the group key set.
40
67
  *
41
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.3
68
+ * This value may be null when multicast communication is not used for the group. When GroupPermission is Admin
69
+ * or Manage, this value shall be null.
70
+ *
71
+ * A value of 0 is not allowed since this value is reserved for IPK and the group entry for this value is not
72
+ * managed by the Datastore.
73
+ *
74
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.3
42
75
  */
43
- groupKeySetId: TlvField(2, TlvUInt16.bound({ min: 1 })),
76
+ groupKeySetId: TlvField(2, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
44
77
  /**
45
78
  * CAT value for this group. This is used for control of individual members of a group (non-broadcast commands).
46
79
  *
47
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.4
80
+ * Allowable values include the range 0x0000 to 0xEFFF, and the Administrator CAT and Anchor CAT values.
81
+ *
82
+ * This value may be null when unicast communication is not used for the group.
83
+ *
84
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.4
48
85
  */
49
- groupCat: TlvField(3, TlvUInt16.bound({ min: 1 })),
86
+ groupCat: TlvField(3, TlvNullable(TlvUInt16)),
50
87
  /**
51
88
  * Current version number for this CAT.
52
89
  *
53
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.5
90
+ * This value shall be null when GroupCAT value is null.
91
+ *
92
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.5
54
93
  */
55
- groupCatVersion: TlvField(4, TlvUInt16.bound({ min: 1 })),
94
+ groupCatVersion: TlvField(4, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
56
95
  /**
57
96
  * The permission level associated with ACL entries for this group. There should be only one Administrator group
58
97
  * per fabric, and at most one Manage group per Ecosystem (Vendor Entry).
59
98
  *
60
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.6
99
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.6
61
100
  */
62
- groupPermission: TlvField(5, TlvEnum()),
63
- fabricIndex: TlvField(254, TlvFabricIndex)
101
+ groupPermission: TlvField(5, TlvEnum())
64
102
  });
65
103
  let DatastoreState;
66
104
  ((DatastoreState2) => {
67
105
  DatastoreState2[DatastoreState2["Pending"] = 0] = "Pending";
68
106
  DatastoreState2[DatastoreState2["Committed"] = 1] = "Committed";
69
107
  DatastoreState2[DatastoreState2["DeletePending"] = 2] = "DeletePending";
108
+ DatastoreState2[DatastoreState2["CommitFailed"] = 3] = "CommitFailed";
70
109
  })(DatastoreState = JointFabricDatastore2.DatastoreState || (JointFabricDatastore2.DatastoreState = {}));
71
110
  JointFabricDatastore2.TlvDatastoreStatusEntry = TlvObject({
72
111
  /**
@@ -81,191 +120,314 @@ var JointFabricDatastore;
81
120
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
82
121
  */
83
122
  updateTimestamp: TlvField(1, TlvEpochS),
84
- fabricIndex: TlvField(254, TlvFabricIndex)
85
- });
86
- JointFabricDatastore2.TlvDatastoreNodeKeyEntry = TlvObject({
87
- groupKeySetId: TlvField(0, TlvUInt16),
88
123
  /**
89
- * Indicates whether entry in this list is pending, committed, or delete-pending.
124
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
125
+ * CommitFailure.
90
126
  *
91
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.2
127
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
92
128
  */
93
- statusEntry: TlvField(1, JointFabricDatastore2.TlvDatastoreStatusEntry),
94
- fabricIndex: TlvField(254, TlvFabricIndex)
129
+ failureCode: TlvField(2, TlvEnum())
95
130
  });
96
- JointFabricDatastore2.TlvDatastoreAclEntry = TlvObject({
131
+ JointFabricDatastore2.TlvDatastoreNodeInformationEntry = TlvObject({
97
132
  /**
98
- * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
133
+ * The unique identifier for the node.
99
134
  *
100
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
135
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.1
101
136
  */
102
- listId: TlvField(0, TlvUInt16),
137
+ nodeId: TlvField(1, TlvNodeId),
103
138
  /**
104
- * The Access Control Entry structure.
139
+ * Friendly name for this node which is not propagated to nodes.
105
140
  *
106
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
141
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.2
107
142
  */
108
- aclEntry: TlvField(1, AccessControl.TlvAccessControlEntry),
143
+ friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
109
144
  /**
110
- * Indicates whether entry in this list is pending, committed, or delete-pending.
145
+ * Set to Pending prior to completing commissioning, set to Committed after commissioning complete is
146
+ * successful, or set to CommitFailed if commissioning failed with the FailureCode Field set to the error.
111
147
  *
112
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
148
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.3
113
149
  */
114
- statusEntry: TlvField(2, JointFabricDatastore2.TlvDatastoreStatusEntry),
115
- fabricIndex: TlvField(254, TlvFabricIndex)
150
+ commissioningStatusEntry: TlvField(3, JointFabricDatastore2.TlvDatastoreStatusEntry)
116
151
  });
117
- JointFabricDatastore2.TlvDatastoreGroupIdEntry = TlvObject({
152
+ JointFabricDatastore2.TlvDatastoreAdministratorInformationEntry = TlvObject({
118
153
  /**
119
- * The unique identifier for the group.
154
+ * The unique identifier for the node.
120
155
  *
121
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
156
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.1
122
157
  */
123
- groupId: TlvField(0, TlvGroupId),
158
+ nodeId: TlvField(1, TlvNodeId),
124
159
  /**
125
- * Indicates whether entry in this list is pending, committed, or delete-pending.
160
+ * Friendly name for this node which is not propagated to nodes.
126
161
  *
127
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
162
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.2
163
+ */
164
+ friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
165
+ /**
166
+ * The Vendor ID for the node.
167
+ *
168
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.3
169
+ */
170
+ vendorId: TlvField(3, TlvVendorId),
171
+ /**
172
+ * The ICAC used to issue the NOC.
173
+ *
174
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.4
128
175
  */
129
- statusEntry: TlvField(1, JointFabricDatastore2.TlvDatastoreStatusEntry),
130
- fabricIndex: TlvField(254, TlvFabricIndex)
176
+ icac: TlvField(4, TlvByteString.bound({ maxLength: 400 }))
131
177
  });
132
- JointFabricDatastore2.TlvDatastoreBindingEntry = TlvObject({
178
+ JointFabricDatastore2.TlvDatastoreEndpointGroupIdEntry = TlvObject({
133
179
  /**
134
- * The unique identifier for the Binding entry in the Datastore’s list of DatastoreBindingEntry.
180
+ * The unique identifier for the node.
135
181
  *
136
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.1
182
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.1
137
183
  */
138
- listId: TlvField(0, TlvUInt16),
184
+ nodeId: TlvField(0, TlvNodeId),
139
185
  /**
140
- * The binding target structure.
186
+ * The unique identifier for the endpoint.
187
+ *
188
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
189
+ */
190
+ endpointId: TlvField(1, TlvEndpointNumber),
191
+ /**
192
+ * The unique identifier for the group.
141
193
  *
142
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.2
194
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
143
195
  */
144
- binding: TlvField(1, Binding.TlvTarget),
196
+ groupId: TlvField(2, TlvGroupId),
145
197
  /**
146
- * Indicates whether entry in this list is pending, committed, or delete-pending.
198
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
147
199
  *
148
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.3
200
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
149
201
  */
150
- statusEntry: TlvField(2, JointFabricDatastore2.TlvDatastoreStatusEntry),
151
- fabricIndex: TlvField(254, TlvFabricIndex)
202
+ statusEntry: TlvField(3, JointFabricDatastore2.TlvDatastoreStatusEntry)
152
203
  });
153
- JointFabricDatastore2.TlvDatastoreEndpointEntry = TlvObject({
204
+ JointFabricDatastore2.TlvDatastoreBindingTarget = TlvObject({
154
205
  /**
155
- * The unique identifier for the endpoint.
206
+ * This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
207
+ * present.
156
208
  *
157
209
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
158
210
  */
159
- endpointId: TlvField(0, TlvEndpointNumber),
211
+ node: TlvOptionalField(1, TlvNodeId),
160
212
  /**
161
- * The unique identifier for the node.
213
+ * This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
214
+ * present, this field shall NOT be present.
162
215
  *
163
216
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
164
217
  */
165
- nodeId: TlvField(1, TlvNodeId),
218
+ group: TlvOptionalField(2, TlvGroupId),
166
219
  /**
167
- * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
168
- * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
169
- * Entry.
220
+ * This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
221
+ * present, this field shall NOT be present.
170
222
  *
171
223
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
172
224
  */
173
- friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
225
+ endpoint: TlvOptionalField(3, TlvEndpointNumber),
174
226
  /**
175
- * Indicates whether changes to Friendly Name are pending or committed.
227
+ * This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
228
+ * is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
229
+ * is present, the target shall be this cluster on the target endpoint(s).
176
230
  *
177
231
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
178
232
  */
179
- statusEntry: TlvField(3, JointFabricDatastore2.TlvDatastoreStatusEntry),
233
+ cluster: TlvOptionalField(4, TlvClusterId)
234
+ });
235
+ JointFabricDatastore2.TlvDatastoreEndpointBindingEntry = TlvObject({
236
+ /**
237
+ * The unique identifier for the node.
238
+ *
239
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
240
+ */
241
+ nodeId: TlvField(0, TlvNodeId),
180
242
  /**
181
- * List of Group IDs that this endpoint is a member of. Any changes to Group Id List (add/remove entry) must
182
- * follow the pending→committed workflow with current state reflected in the Status Entry.
243
+ * The unique identifier for the endpoint.
183
244
  *
184
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.5
245
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
185
246
  */
186
- groupIdList: TlvField(4, TlvArray(JointFabricDatastore2.TlvDatastoreGroupIdEntry)),
247
+ endpointId: TlvField(1, TlvEndpointNumber),
187
248
  /**
188
- * List of Binding Targets for this endpoint. Any changes to Binding List (add/remove entry) must follow the
189
- * pending→committed workflow with current state reflected in the Status Entry.
249
+ * The unique identifier for the entry in the Datastore’s EndpointBindingList attribute, which is a list of
250
+ * DatastoreEndpointBindingEntryStruct.
251
+ *
252
+ * This field is used to uniquely identify an entry in the EndpointBindingList attribute for the purpose of
253
+ * deletion (RemoveBindingFromEndpointForNode Command).
190
254
  *
191
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.6
255
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
192
256
  */
193
- bindingList: TlvField(5, TlvArray(JointFabricDatastore2.TlvDatastoreBindingEntry)),
194
- fabricIndex: TlvField(254, TlvFabricIndex)
257
+ listId: TlvField(2, TlvUInt16),
258
+ /**
259
+ * The binding target structure.
260
+ *
261
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.4
262
+ */
263
+ binding: TlvField(3, JointFabricDatastore2.TlvDatastoreBindingTarget),
264
+ /**
265
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
266
+ *
267
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.5
268
+ */
269
+ statusEntry: TlvField(4, JointFabricDatastore2.TlvDatastoreStatusEntry)
195
270
  });
196
- JointFabricDatastore2.TlvDatastoreNodeInformationEntry = TlvObject({
271
+ JointFabricDatastore2.TlvDatastoreNodeKeySetEntry = TlvObject({
197
272
  /**
198
273
  * The unique identifier for the node.
199
274
  *
200
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.1
275
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.1
201
276
  */
202
- nodeId: TlvField(1, TlvNodeId),
277
+ nodeId: TlvField(0, TlvNodeId),
278
+ groupKeySetId: TlvField(1, TlvUInt16),
203
279
  /**
204
- * Friendly name for this node which is not propagated to nodes.
280
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
205
281
  *
206
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
282
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.3
207
283
  */
208
- friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
284
+ statusEntry: TlvField(2, JointFabricDatastore2.TlvDatastoreStatusEntry)
285
+ });
286
+ let DatastoreAccessControlEntryAuthMode;
287
+ ((DatastoreAccessControlEntryAuthMode2) => {
288
+ DatastoreAccessControlEntryAuthMode2[DatastoreAccessControlEntryAuthMode2["Pase"] = 1] = "Pase";
289
+ DatastoreAccessControlEntryAuthMode2[DatastoreAccessControlEntryAuthMode2["Case"] = 2] = "Case";
290
+ DatastoreAccessControlEntryAuthMode2[DatastoreAccessControlEntryAuthMode2["Group"] = 3] = "Group";
291
+ })(DatastoreAccessControlEntryAuthMode = JointFabricDatastore2.DatastoreAccessControlEntryAuthMode || (JointFabricDatastore2.DatastoreAccessControlEntryAuthMode = {}));
292
+ JointFabricDatastore2.TlvDatastoreAccessControlTarget = TlvObject({
293
+ cluster: TlvField(0, TlvNullable(TlvClusterId)),
294
+ endpoint: TlvField(1, TlvNullable(TlvEndpointNumber)),
295
+ deviceType: TlvField(2, TlvNullable(TlvDeviceTypeId))
296
+ });
297
+ JointFabricDatastore2.TlvDatastoreAccessControlEntry = TlvObject({
298
+ privilege: TlvField(1, TlvEnum()),
299
+ authMode: TlvField(2, TlvEnum()),
300
+ subjects: TlvField(3, TlvNullable(TlvArray(TlvSubjectId))),
301
+ targets: TlvField(4, TlvNullable(TlvArray(JointFabricDatastore2.TlvDatastoreAccessControlTarget)))
302
+ });
303
+ JointFabricDatastore2.TlvDatastoreAclEntry = TlvObject({
209
304
  /**
210
- * Set to pending prior to completing commissioning, and set to completed after commissioning complete is
211
- * successful.
305
+ * The unique identifier for the node.
212
306
  *
213
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
307
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.1
214
308
  */
215
- commissioningStatusEntry: TlvField(3, JointFabricDatastore2.TlvDatastoreStatusEntry),
309
+ nodeId: TlvField(0, TlvNodeId),
216
310
  /**
217
- * List of Key Set information for the given Node. Updates to the Group Key List must follow the
218
- * pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
219
- * the list.
311
+ * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
220
312
  *
221
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
313
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.2
222
314
  */
223
- nodeKeySetList: TlvField(4, TlvArray(JointFabricDatastore2.TlvDatastoreNodeKeyEntry)),
315
+ listId: TlvField(1, TlvUInt16),
224
316
  /**
225
- * List of ACL entries. Group membership for this node is inferred from the ACLs. Client access to a Node
226
- * Information Entry will be determined from the ACL List. Any changes to ACL List (add/remove entry) must
227
- * follow the pending→committed workflow with current state reflected in the Status Entry for the corresponding
228
- * entry in the list.
317
+ * The Access Control Entry structure.
229
318
  *
230
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.5
319
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.3
231
320
  */
232
- aclList: TlvField(5, TlvArray(JointFabricDatastore2.TlvDatastoreAclEntry)),
321
+ aclEntry: TlvField(2, JointFabricDatastore2.TlvDatastoreAccessControlEntry),
233
322
  /**
234
- * The list of endpoints for this node. Any changes to Endpoint List (add/remove entry) must follow the
235
- * pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
236
- * the list.
323
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
237
324
  *
238
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.6
325
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.4
239
326
  */
240
- endpointList: TlvField(6, TlvArray(JointFabricDatastore2.TlvDatastoreEndpointEntry)),
241
- fabricIndex: TlvField(254, TlvFabricIndex)
327
+ statusEntry: TlvField(3, JointFabricDatastore2.TlvDatastoreStatusEntry)
242
328
  });
243
- JointFabricDatastore2.TlvDatastoreAdministratorInformationEntry = TlvObject({
329
+ JointFabricDatastore2.TlvDatastoreEndpointEntry = TlvObject({
244
330
  /**
245
- * The unique identifier for the node.
331
+ * The unique identifier for the endpoint.
246
332
  *
247
333
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.1
248
334
  */
249
- nodeId: TlvField(1, TlvNodeId),
335
+ endpointId: TlvField(0, TlvEndpointNumber),
250
336
  /**
251
- * Friendly name for this node which is not propagated to nodes.
337
+ * The unique identifier for the node.
252
338
  *
253
339
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.2
254
340
  */
255
- friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
341
+ nodeId: TlvField(1, TlvNodeId),
256
342
  /**
257
- * The Vendor ID for the node.
343
+ * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
344
+ * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
345
+ * Entry.
258
346
  *
259
347
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.3
260
348
  */
261
- vendorId: TlvField(3, TlvVendorId),
349
+ friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
262
350
  /**
263
- * The ICAC used to issue the NOC.
351
+ * Indicates whether changes to Friendly Name are pending, committed, or commit-failed.
264
352
  *
265
353
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.4
266
354
  */
267
- icac: TlvField(4, TlvByteString.bound({ maxLength: 400 })),
268
- fabricIndex: TlvField(254, TlvFabricIndex)
355
+ statusEntry: TlvField(3, JointFabricDatastore2.TlvDatastoreStatusEntry)
356
+ });
357
+ JointFabricDatastore2.TlvAddKeySetRequest = TlvObject({ groupKeySet: TlvField(0, JointFabricDatastore2.TlvDatastoreGroupKeySet) });
358
+ JointFabricDatastore2.TlvUpdateKeySetRequest = TlvObject({ groupKeySet: TlvField(0, JointFabricDatastore2.TlvDatastoreGroupKeySet) });
359
+ JointFabricDatastore2.TlvRemoveKeySetRequest = TlvObject({ groupKeySetId: TlvField(0, TlvUInt16) });
360
+ JointFabricDatastore2.TlvAddGroupRequest = TlvObject({
361
+ groupId: TlvField(0, TlvGroupId),
362
+ friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 })),
363
+ groupKeySetId: TlvField(2, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
364
+ groupCat: TlvField(3, TlvNullable(TlvUInt16)),
365
+ groupCatVersion: TlvField(4, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
366
+ groupPermission: TlvField(5, TlvEnum())
367
+ });
368
+ JointFabricDatastore2.TlvUpdateGroupRequest = TlvObject({
369
+ groupId: TlvField(0, TlvGroupId),
370
+ friendlyName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 32 }))),
371
+ groupKeySetId: TlvField(2, TlvNullable(TlvUInt16.bound({ min: 1 }))),
372
+ groupCat: TlvField(3, TlvNullable(TlvUInt16)),
373
+ groupCatVersion: TlvField(4, TlvNullable(TlvUInt16.bound({ min: 1 }))),
374
+ groupPermission: TlvField(5, TlvEnum())
375
+ });
376
+ JointFabricDatastore2.TlvRemoveGroupRequest = TlvObject({ groupId: TlvField(0, TlvGroupId) });
377
+ JointFabricDatastore2.TlvAddAdminRequest = TlvObject({
378
+ nodeId: TlvField(1, TlvNodeId),
379
+ friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
380
+ vendorId: TlvField(3, TlvVendorId),
381
+ icac: TlvField(4, TlvByteString.bound({ maxLength: 400 }))
382
+ });
383
+ JointFabricDatastore2.TlvUpdateAdminRequest = TlvObject({
384
+ nodeId: TlvField(0, TlvNullable(TlvNodeId)),
385
+ friendlyName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 32 }))),
386
+ icac: TlvField(2, TlvNullable(TlvByteString.bound({ maxLength: 400 })))
387
+ });
388
+ JointFabricDatastore2.TlvRemoveAdminRequest = TlvObject({ nodeId: TlvField(0, TlvNodeId) });
389
+ JointFabricDatastore2.TlvAddPendingNodeRequest = TlvObject({
390
+ nodeId: TlvField(0, TlvNodeId),
391
+ friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 }))
392
+ });
393
+ JointFabricDatastore2.TlvRefreshNodeRequest = TlvObject({ nodeId: TlvField(0, TlvNodeId) });
394
+ JointFabricDatastore2.TlvUpdateNodeRequest = TlvObject({
395
+ nodeId: TlvField(0, TlvNodeId),
396
+ friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 }))
397
+ });
398
+ JointFabricDatastore2.TlvRemoveNodeRequest = TlvObject({ nodeId: TlvField(0, TlvNodeId) });
399
+ JointFabricDatastore2.TlvUpdateEndpointForNodeRequest = TlvObject({
400
+ endpointId: TlvField(0, TlvEndpointNumber),
401
+ nodeId: TlvField(1, TlvNodeId),
402
+ friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 }))
403
+ });
404
+ JointFabricDatastore2.TlvAddGroupIdToEndpointForNodeRequest = TlvObject({
405
+ nodeId: TlvField(0, TlvNodeId),
406
+ endpointId: TlvField(1, TlvEndpointNumber),
407
+ groupId: TlvField(2, TlvGroupId)
408
+ });
409
+ JointFabricDatastore2.TlvRemoveGroupIdFromEndpointForNodeRequest = TlvObject({
410
+ nodeId: TlvField(0, TlvNodeId),
411
+ endpointId: TlvField(1, TlvEndpointNumber),
412
+ groupId: TlvField(2, TlvGroupId)
413
+ });
414
+ JointFabricDatastore2.TlvAddBindingToEndpointForNodeRequest = TlvObject({
415
+ nodeId: TlvField(0, TlvNodeId),
416
+ endpointId: TlvField(1, TlvEndpointNumber),
417
+ binding: TlvField(2, JointFabricDatastore2.TlvDatastoreBindingTarget)
418
+ });
419
+ JointFabricDatastore2.TlvRemoveBindingFromEndpointForNodeRequest = TlvObject({
420
+ listId: TlvField(0, TlvUInt16),
421
+ endpointId: TlvField(1, TlvEndpointNumber),
422
+ nodeId: TlvField(2, TlvNodeId)
423
+ });
424
+ JointFabricDatastore2.TlvAddAclToNodeRequest = TlvObject({
425
+ nodeId: TlvField(0, TlvNodeId),
426
+ aclEntry: TlvField(1, JointFabricDatastore2.TlvDatastoreAccessControlEntry)
427
+ });
428
+ JointFabricDatastore2.TlvRemoveAclFromNodeRequest = TlvObject({
429
+ listId: TlvField(0, TlvUInt16),
430
+ nodeId: TlvField(1, TlvNodeId)
269
431
  });
270
432
  JointFabricDatastore2.ClusterInstance = MutableCluster({
271
433
  id: 1874,
@@ -273,80 +435,84 @@ var JointFabricDatastore;
273
435
  revision: 1,
274
436
  attributes: {
275
437
  /**
276
- * This shall indicate the Anchor Root CA used to sign all NOC Issuers in the Joint Fabric. A null value
277
- * indicates that the Joint Fabric is not yet formed.
438
+ * This shall indicate the Anchor Root CA used to sign all NOC Issuers in the Joint Fabric for the accessing
439
+ * fabric. A null value indicates that the Joint Fabric is not yet formed.
278
440
  *
279
441
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.1
280
442
  */
281
- anchorRootCa: FabricScopedAttribute(
443
+ anchorRootCa: Attribute(
282
444
  0,
283
445
  TlvByteString,
284
446
  { readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
285
447
  ),
286
448
  /**
287
- * This shall indicate the Node identifier of the Joint Fabric Anchor Root CA.
449
+ * This shall indicate the Node identifier of the Joint Fabric Anchor Root CA for the accessing fabric.
288
450
  *
289
451
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.2
290
452
  */
291
- anchorNodeId: FabricScopedAttribute(
453
+ anchorNodeId: Attribute(
292
454
  1,
293
455
  TlvNodeId,
294
456
  { readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
295
457
  ),
296
458
  /**
297
- * This shall indicate the Vendor identifier of the Joint Fabric Anchor Root CA.
459
+ * This shall indicate the Vendor identifier of the Joint Fabric Anchor Root CA for the accessing fabric.
298
460
  *
299
461
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.3
300
462
  */
301
- anchorVendorId: FabricScopedAttribute(
463
+ anchorVendorId: Attribute(
302
464
  2,
303
465
  TlvVendorId,
304
466
  { readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
305
467
  ),
306
468
  /**
307
- * Friendly name for this fabric which can be propagated to nodes.
469
+ * Friendly name for the accessing fabric which can be propagated to nodes.
308
470
  *
309
471
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.4
310
472
  */
311
- friendlyName: FabricScopedAttribute(
473
+ friendlyName: Attribute(
312
474
  3,
313
475
  TlvString.bound({ maxLength: 32 }),
314
476
  { readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
315
477
  ),
316
478
  /**
317
- * This shall indicate the list of GroupKeySetStruct used in the Joint Fabric.
479
+ * This shall indicate the list of DatastoreGroupKeySetStruct used in the Joint Fabric for the accessing
480
+ * fabric.
318
481
  *
319
482
  * This attribute shall contain at least one entry, the IPK, which has GroupKeySetID of 0.
320
483
  *
321
484
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.5
322
485
  */
323
- groupKeySetList: FabricScopedAttribute(
486
+ groupKeySetList: Attribute(
324
487
  4,
325
- TlvArray(GroupKeyManagement.TlvGroupKeySet),
488
+ TlvArray(JointFabricDatastore2.TlvDatastoreGroupKeySet),
326
489
  { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
327
490
  ),
328
491
  /**
329
- * This shall indicate the list of groups in the Joint Fabric.
492
+ * This shall indicate the list of groups in the Joint Fabric for the accessing fabric.
493
+ *
494
+ * This list must include, at a minimum, one group with GroupCAT value set to Administrator CAT and one
495
+ * group with GroupCAT value set to Anchor CAT.
330
496
  *
331
497
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.6
332
498
  */
333
- groupList: FabricScopedAttribute(
499
+ groupList: Attribute(
334
500
  5,
335
501
  TlvArray(JointFabricDatastore2.TlvDatastoreGroupInformationEntry),
336
502
  { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
337
503
  ),
338
504
  /**
339
- * This shall indicate the list of nodes in the Joint Fabric.
505
+ * This shall indicate the list of nodes in the Joint Fabric for the accessing fabric.
340
506
  *
341
507
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.7
342
508
  */
343
- nodeList: FabricScopedAttribute(
509
+ nodeList: Attribute(
344
510
  6,
345
511
  TlvArray(JointFabricDatastore2.TlvDatastoreNodeInformationEntry),
346
512
  { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
347
513
  ),
348
514
  /**
349
- * This shall indicate the list of administrators in the Joint Fabric.
515
+ * This shall indicate the list of administrators in the Joint Fabric for the accessing fabric.
350
516
  *
351
517
  * Only one Administrator may serve as the Anchor Root CA and Anchor Fabric Administrator and shall have
352
518
  * index value 0. All other Joint Fabric Administrators shall be referenced at index 1 or greater.
@@ -355,13 +521,13 @@ var JointFabricDatastore;
355
521
  *
356
522
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.8
357
523
  */
358
- adminList: FabricScopedAttribute(
524
+ adminList: Attribute(
359
525
  7,
360
526
  TlvArray(JointFabricDatastore2.TlvDatastoreAdministratorInformationEntry),
361
527
  { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
362
528
  ),
363
529
  /**
364
- * This shall indicate the current state of the Joint Fabric Datastore Cluster.
530
+ * This shall indicate the current state of the Joint Fabric Datastore Cluster for the accessing fabric.
365
531
  *
366
532
  * The Committed status indicates the DataStore is ready for use. The Pending status indicates that the
367
533
  * DataStore is not yet ready for use. The DeletePending status indicates that the DataStore is in the
@@ -369,93 +535,745 @@ var JointFabricDatastore;
369
535
  *
370
536
  * @see {@link MatterSpecification.v141.Core} § 11.24.6.9
371
537
  */
372
- statusEntry: FabricScopedAttribute(
538
+ status: Attribute(
373
539
  8,
374
- JointFabricDatastore2.TlvDatastoreAdministratorInformationEntry,
540
+ JointFabricDatastore2.TlvDatastoreStatusEntry,
375
541
  { readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
542
+ ),
543
+ /**
544
+ * This shall indicate the group membership of endpoints in the accessing fabric.
545
+ *
546
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
547
+ * reflected in the Status Entry.
548
+ *
549
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.10
550
+ */
551
+ endpointGroupIdList: Attribute(
552
+ 9,
553
+ TlvArray(JointFabricDatastore2.TlvDatastoreEndpointGroupIdEntry),
554
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
555
+ ),
556
+ /**
557
+ * This shall indicate the binding list for endpoints in the accessing fabric.
558
+ *
559
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
560
+ * reflected in the Status Entry.
561
+ *
562
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.11
563
+ */
564
+ endpointBindingList: Attribute(
565
+ 10,
566
+ TlvArray(JointFabricDatastore2.TlvDatastoreEndpointBindingEntry),
567
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
568
+ ),
569
+ /**
570
+ * This shall indicate the KeySet entries for nodes in the accessing fabric.
571
+ *
572
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
573
+ * reflected in the Status Entry.
574
+ *
575
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.12
576
+ */
577
+ nodeKeySetList: Attribute(
578
+ 11,
579
+ TlvArray(JointFabricDatastore2.TlvDatastoreNodeKeySetEntry),
580
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
581
+ ),
582
+ /**
583
+ * This shall indicate the ACL entries for nodes in the accessing fabric.
584
+ *
585
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
586
+ * reflected in the Status Entry.
587
+ *
588
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.13
589
+ */
590
+ nodeAclList: Attribute(
591
+ 12,
592
+ TlvArray(JointFabricDatastore2.TlvDatastoreAclEntry),
593
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
594
+ ),
595
+ /**
596
+ * This shall indicate the Endpoint entries for nodes in the accessing fabric.
597
+ *
598
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
599
+ * reflected in the Status Entry.
600
+ *
601
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.14
602
+ */
603
+ nodeEndpointList: Attribute(
604
+ 13,
605
+ TlvArray(JointFabricDatastore2.TlvDatastoreEndpointEntry),
606
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
376
607
  )
377
608
  },
378
609
  commands: {
379
610
  /**
380
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
611
+ * This command shall be used to add a KeySet to the Joint Fabric Datastore Cluster of the accessing fabric.
612
+ *
613
+ * GroupKeySet represents the KeySet to be added to the Joint Fabric Datastore Cluster. Upon receipt of this
614
+ * command, the Datastore shall:
615
+ *
616
+ * 1. Ensure there are no KeySets in the KeySetList attribute with the given GroupKeySetID.
617
+ *
618
+ * 2. If a match is found, return CONSTRAINT_ERROR.
619
+ *
620
+ * 3. Add the Epoch Key Entry for the KeySet to the KeySetList attribute.
621
+ *
622
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.1
381
623
  */
382
- section112471: Command(0, TlvNoArguments, 0, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
624
+ addKeySet: Command(0, JointFabricDatastore2.TlvAddKeySetRequest, 0, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
383
625
  /**
384
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
626
+ * This command shall be used to update a KeySet in the Joint Fabric Datastore Cluster of the accessing
627
+ * fabric.
628
+ *
629
+ * GroupKeySet represents the KeySet to be updated in the Joint Fabric Datastore Cluster. Upon receipt of
630
+ * this command, the Datastore shall:
631
+ *
632
+ * 1. Find the Epoch Key Entry for the KeySet in the KeySetList attribute with the given GroupKeySetID,
633
+ * and update any changed fields.
634
+ *
635
+ * 2. If entry is not found, return NOT_FOUND.
636
+ *
637
+ * 3. If any fields are changed as a result of this command:
638
+ *
639
+ * a. Iterate through each Node Information Entry:
640
+ *
641
+ * i. If the NodeKeySetList contains an entry with the given GroupKeySetID:
642
+ *
643
+ * A. Update the Status on the given DatastoreNodeKeySetEntryStruct tp Pending.
644
+ *
645
+ * B. Update the GroupKeySet on the given Node with the new values.
646
+ *
647
+ * I. If successful, update the Status on this DatastoreNodeKeySetEntryStruct to Committed.
648
+ *
649
+ * II. If not successful, update the State field of the StatusEntry on this
650
+ * DatastoreNodeKeySetEntryStruct to CommitFailed and FailureCode code to the returned error.
651
+ * The pending change shall be applied in a subsequent Node Refresh.
652
+ *
653
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.2
385
654
  */
386
- section112472: Command(1, TlvNoArguments, 1, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
655
+ updateKeySet: Command(
656
+ 1,
657
+ JointFabricDatastore2.TlvUpdateKeySetRequest,
658
+ 1,
659
+ TlvNoResponse,
660
+ { invokeAcl: AccessLevel.Administer }
661
+ ),
387
662
  /**
388
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
663
+ * This command shall be used to remove a KeySet from the Joint Fabric Datastore Cluster of the accessing
664
+ * fabric.
665
+ *
666
+ * GroupKeySetID represents the unique identifier for the KeySet to be removed from the Joint Fabric
667
+ * Datastore Cluster.
668
+ *
669
+ * Attempt to remove the IPK, which has GroupKeySetID of 0, shall fail with response CONSTRAINT_ERROR.
670
+ *
671
+ * Upon receipt of this command, the Datastore shall:
672
+ *
673
+ * 1. If entry is not found, return NOT_FOUND.
674
+ *
675
+ * 2. Ensure there are no Nodes using this KeySet. To do this:
676
+ *
677
+ * a. Iterate through each Node Information Entry:
678
+ *
679
+ * i. If the NodeKeySetList list contains an entry with the given GroupKeySetID, and the entry does
680
+ * NOT have Status DeletePending, then return CONSTRAINT_ERROR.
681
+ *
682
+ * 3. Remove the DatastoreGroupKeySetStruct for the given GroupKeySetID from the GroupKeySetList
683
+ * attribute.
684
+ *
685
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.3
389
686
  */
390
- section112473: Command(2, TlvNoArguments, 2, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
687
+ removeKeySet: Command(
688
+ 2,
689
+ JointFabricDatastore2.TlvRemoveKeySetRequest,
690
+ 2,
691
+ TlvNoResponse,
692
+ { invokeAcl: AccessLevel.Administer }
693
+ ),
391
694
  /**
392
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
695
+ * This command shall be used to add a group to the Joint Fabric Datastore Cluster of the accessing fabric.
696
+ *
697
+ * GroupInformationEntry represents the group to be added to the Joint Fabric Datastore Cluster.
698
+ *
699
+ * GroupCAT values shall fall within the range 1 to 65534. Attempts to add a group with a GroupCAT value of
700
+ * Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
701
+ *
702
+ * Upon receipt of this command, the Datastore shall:
703
+ *
704
+ * 1. Ensure there are no Groups in the GroupList attribute with the given GroupID. If a match is found,
705
+ * return CONSTRAINT_ERROR.
706
+ *
707
+ * 2. Add the DatastoreGroupInformationEntryStruct for the Group with the given GroupID to the GroupList
708
+ * attribute.
709
+ *
710
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.4
393
711
  */
394
- section112474: Command(3, TlvNoArguments, 3, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
712
+ addGroup: Command(3, JointFabricDatastore2.TlvAddGroupRequest, 3, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
395
713
  /**
396
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
714
+ * This command shall be used to update a group in the Joint Fabric Datastore Cluster of the accessing
715
+ * fabric.
716
+ *
717
+ * GroupID represents the group to be updated in the Joint Fabric Datastore Cluster. NULL values for the
718
+ * additional parameters will be ignored (not updated).
719
+ *
720
+ * GroupCAT values shall fall within the range 1 to 65534. Attempts to update the GroupCAT on an existing
721
+ * group which has a GroupCAT value of Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
722
+ *
723
+ * Attempts to set the GroupCAT to Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
724
+ *
725
+ * Upon receipt of this command, the Datastore shall:
726
+ *
727
+ * 1. If entry is not found, return NOT_FOUND.
728
+ *
729
+ * 2. Update the DatastoreGroupInformationEntryStruct for the Group with the given GroupID to match the
730
+ * non-NULL fields passed in.
731
+ *
732
+ * 3. If any fields are changed as a result of this command:
733
+ *
734
+ * a. Iterate through each Node Information Entry:
735
+ *
736
+ * i. If the GroupKeySetID changed:
737
+ *
738
+ * I. Add a DatastoreNodeKeySetEntryStruct with the new GroupKeySetID, and Status set to Pending.
739
+ *
740
+ * II. Add this KeySet to the Node.
741
+ *
742
+ * 1. If successful, Set the Status to Committed for this entry in the NodeKeySetList.
743
+ *
744
+ * 2. If not successful, Set the Status to CommitFailed and the FailureCode to the returned error. The
745
+ * pending change shall be applied in a subsequent Node Refresh.
746
+ *
747
+ * A. If the NodeKeySetList list contains an entry with the previous GroupKeySetID:
748
+ *
749
+ * III. Set the Status set to DeletePending.
750
+ *
751
+ * IV. Remove this KeySet from the Node.
752
+ *
753
+ * 1. If successful, Remove this entry from the NodeKeySetList.
754
+ *
755
+ * 2. If not successful, the pending change shall be applied in a subsequent Node Refresh.
756
+ *
757
+ * ii. If the GroupCAT, GroupCATVersion or GroupPermission changed:
758
+ *
759
+ * A. If the ACLList contains an entry for this Group, update the ACL List Entry in the Datastore with the
760
+ * new values and Status Pending, update the ACL attribute on the given Node with the new values. If
761
+ * the update succeeds, set the Status to Committed on the ACLList Entry in the Datastore.
762
+ *
763
+ * iii. If the FriendlyName changed:
764
+ *
765
+ * A. Iterate through each Endpoint Information Entry:
766
+ *
767
+ * I. If the GroupIDList contains an entry with the given GroupID:
768
+ *
769
+ * 1. Update the GroupIDList Entry in the Datastore with the new values and Status
770
+ *
771
+ * ### Pending
772
+ *
773
+ * 2. Update the Groups on the given Node with the new values.
774
+ *
775
+ * 1. If the update succeeds, set the Status to Committed on the GroupIDList Entry in the Datastore.
776
+ *
777
+ * 2. If not successful, the pending change shall be applied in a subsequent Node Refresh.
778
+ *
779
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.5
397
780
  */
398
- section112475: Command(4, TlvNoArguments, 4, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
781
+ updateGroup: Command(4, JointFabricDatastore2.TlvUpdateGroupRequest, 4, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
399
782
  /**
400
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
783
+ * This command shall be used to remove a group from the Joint Fabric Datastore Cluster of the accessing
784
+ * fabric.
785
+ *
786
+ * GroupID represents the unique identifier for the group to be removed from the Joint Fabric Datastore
787
+ * Cluster.
788
+ *
789
+ * Attempts to remove a group with GroupCAT value set to Administrator CAT or Anchor CAT shall fail with
790
+ * CONSTRAINT_ERROR.
791
+ *
792
+ * Upon receipt of this command, the Datastore shall:
793
+ *
794
+ * 1. If entry is not found, return NOT_FOUND.
795
+ *
796
+ * 2. Ensure there are no Nodes in this group. To do this:
797
+ *
798
+ * a. Iterate through each Node Information Entry:
799
+ *
800
+ * i. If the GroupIDList contains an entry with the given GroupID, and the entry does NOT have Status
801
+ * DeletePending, then return CONSTRAINT_ERROR.
802
+ *
803
+ * 3. Remove the DatastoreGroupInformationEntryStruct for the Group with the given GroupID from the
804
+ * GroupList attribute.
805
+ *
806
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.6
401
807
  */
402
- section112476: Command(5, TlvNoArguments, 5, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
808
+ removeGroup: Command(5, JointFabricDatastore2.TlvRemoveGroupRequest, 5, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
403
809
  /**
404
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
810
+ * This command shall be used to add an admin to the Joint Fabric Datastore Cluster of the accessing fabric.
811
+ *
812
+ * NodeID, FriendlyName, VendorID and ICAC represent the admin to be added to the Joint Fabric Datastore
813
+ * Cluster.
814
+ *
815
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.7
405
816
  */
406
- section112477: Command(6, TlvNoArguments, 6, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
817
+ addAdmin: Command(6, JointFabricDatastore2.TlvAddAdminRequest, 6, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
407
818
  /**
408
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
819
+ * This command shall be used to update an admin in the Joint Fabric Datastore Cluster of the accessing
820
+ * fabric.
821
+ *
822
+ * NodeID represents the admin to be updated in the Joint Fabric Datastore Cluster. NULL values for the
823
+ * additional parameters will be ignored (not updated).
824
+ *
825
+ * If entry is not found, return NOT_FOUND.
826
+ *
827
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.8
409
828
  */
410
- section112478: Command(7, TlvNoArguments, 7, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
829
+ updateAdmin: Command(7, JointFabricDatastore2.TlvUpdateAdminRequest, 7, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
411
830
  /**
412
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
831
+ * This command shall be used to remove an admin from the Joint Fabric Datastore Cluster of the accessing
832
+ * fabric.
833
+ *
834
+ * NodeID represents the unique identifier for the admin to be removed from the Joint Fabric Datastore
835
+ * Cluster.
836
+ *
837
+ * If entry is not found, return NOT_FOUND.
838
+ *
839
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.9
413
840
  */
414
- section112479: Command(8, TlvNoArguments, 8, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
841
+ removeAdmin: Command(8, JointFabricDatastore2.TlvRemoveAdminRequest, 8, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
415
842
  /**
416
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
843
+ * The command shall be used to add a node to the Joint Fabric Datastore Cluster of the accessing fabric.
844
+ *
845
+ * NodeID represents the node to be added to the Joint Fabric Datastore Cluster. Upon receipt of this
846
+ * command, the Datastore shall:
847
+ *
848
+ * 1. Update CommissioningStatusEntry of the Node Information Entry with the given NodeID to Pending.
849
+ *
850
+ * If a Node Information Entry exists for the given NodeID, this command shall return INVALID_CONSTRAINT.
851
+ *
852
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.10
417
853
  */
418
- section1124710: Command(9, TlvNoArguments, 9, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
854
+ addPendingNode: Command(
855
+ 9,
856
+ JointFabricDatastore2.TlvAddPendingNodeRequest,
857
+ 9,
858
+ TlvNoResponse,
859
+ { invokeAcl: AccessLevel.Administer }
860
+ ),
419
861
  /**
420
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
862
+ * The command shall be used to request that Datastore information relating to a Node of the accessing
863
+ * fabric is refreshed.
864
+ *
865
+ * Upon receipt of this command, the Datastore shall:
866
+ *
867
+ * 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
868
+ *
869
+ * 2. Update the CommissioningStatusEntry for the Node Information Entry to Pending.
870
+ *
871
+ * 3. Ensure the Endpoint List for the Node Information Entry with the given NodeID matches Endpoint list
872
+ * on the given Node. This involves the following steps:
873
+ *
874
+ * a. Read the PartsList of the Descriptor cluster from the Node.
875
+ *
876
+ * b. For each Endpoint Information Entry in the Endpoint List of the Node Information Entry that does
877
+ * not match an Endpoint ID in the PartsList, remove the Endpoint Information Entry.
878
+ *
879
+ * c. For each Endpoint Information Entry in the Endpoint List of the Node Information Entry that
880
+ * matches an Endpoint ID in the PartsList:
881
+ *
882
+ * i. Check that each entry in Node’s Group List occurs in the GroupIDList of the Endpoint Information
883
+ * Entry.
884
+ *
885
+ * A. Add any missing entries to the GroupIDList of the Endpoint Information Entry.
886
+ *
887
+ * B. For any entries in the GroupIDList with Status of Pending:
888
+ *
889
+ * I. Add the corresponding change to the Node’s Group List.
890
+ *
891
+ * 1. If successful, mark the Status to Committed.
892
+ *
893
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error. The
894
+ * error shall be handled in a subsequent Node Refresh.
895
+ *
896
+ * C. For any entries in the GroupIDList with Status of DeletePending:
897
+ *
898
+ * 1. If successful, remove the corresponding entry from the Node’s Group List.
899
+ *
900
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error. The
901
+ * error shall be handled in a subsequent Node Refresh.
902
+ *
903
+ * D. For any entries in the GroupIDList with Status of CommitFailure:
904
+ *
905
+ * I. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
906
+ * GroupIDList.
907
+ *
908
+ * II. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a subsequent
909
+ * Node Refresh.
910
+ *
911
+ * ii. Check that each entry in Node’s Binding List occurs in the BindingList of the Endpoint Information
912
+ * Entry.
913
+ *
914
+ * A. Add any missing entries to the BindingList of the Endpoint Information Entry.
915
+ *
916
+ * B. For any entries in the BindingList with Status of Pending:
917
+ *
918
+ * I. Add the corresponding change to the Node’s Binding List.
919
+ *
920
+ * 1. If successful, mark the Status to Committed.
921
+ *
922
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
923
+ * The error shall be handled in a subsequent Node Refresh.
924
+ *
925
+ * C. For any entries in the BindingList with Status of DeletePending:
926
+ *
927
+ * 1. If successful, remove the corresponding entry from the Node’s BindingList.
928
+ *
929
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
930
+ * The error shall be handled in a subsequent Node Refresh.
931
+ *
932
+ * D. For any entries in the BindingList with Status of CommitFailure:
933
+ *
934
+ * I. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
935
+ * BindingList.
936
+ *
937
+ * II. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
938
+ * subsequent Node Refresh.
939
+ *
940
+ * 4. Ensure the GroupKeySetList for the Node Information Entry with the given NodeID matches the Group Keys
941
+ * on the given Node. This involves the following steps:
942
+ *
943
+ * a. Read the Group Keys from the Node.
944
+ *
945
+ * b. For each GroupKeySetEntry in the GroupKeySetList of the Node Information Entry with a Pending
946
+ * Status:
947
+ *
948
+ * i. Add the corresponding DatastoreGroupKeySetStruct to the Node’s Group Key list.
949
+ *
950
+ * A. If successful, mark the Status to Committed.
951
+ *
952
+ * B. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
953
+ * The error shall be handled in a subsequent Node Refresh.
954
+ *
955
+ * c. For each GroupKeySetEntry in the GroupKeySetList of the Node Information Entry with a CommitFailure
956
+ * Status:
957
+ *
958
+ * i. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
959
+ * GroupKeySetList.
960
+ *
961
+ * ii. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
962
+ * subsequent Node Refresh.
963
+ *
964
+ * d. All remaining entries in the GroupKeySetList should be replaced by the remaining entries on the
965
+ * Node.
966
+ *
967
+ * 5. Ensure the ACLList for the Node Information Entry with the given NodeID matches the ACL attribute on
968
+ * the given Node. This involves the following steps:
969
+ *
970
+ * a. Read the ACL attribute on the Node.
971
+ *
972
+ * b. For each DatastoreACLEntryStruct in the ACLList of the Node Information Entry with a Pending Status:
973
+ *
974
+ * i. Add the corresponding DatastoreACLEntryStruct to the Node’s ACL attribute.
975
+ *
976
+ * A. If successful, mark the Status to Committed.
977
+ *
978
+ * B. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
979
+ * The error shall be handled in a subsequent Node Refresh.
980
+ *
981
+ * c. For each DatastoreACLEntryStruct in the ACLList of the Node Information Entry with a CommitFailure
982
+ * Status:
983
+ *
984
+ * i. A CommitFailure with an unrecoverable FailureCode (i.e. RESOURCE_EXHAUSTED, CONSTRAINT_ERROR)
985
+ * shall be handled by removing the entry from the ACLList.
986
+ *
987
+ * ii. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
988
+ * subsequent Node Refresh.
989
+ *
990
+ * d. All remaining entries in the ACLList should be replaced by the remaining entries on the Node.
991
+ *
992
+ * 6. Update the CommissioningStatusEntry for the Node Information Entry to Committed.
993
+ *
994
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.11
421
995
  */
422
- section1124711: Command(10, TlvNoArguments, 10, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
996
+ refreshNode: Command(10, JointFabricDatastore2.TlvRefreshNodeRequest, 10, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
423
997
  /**
424
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
998
+ * The command shall be used to update the friendly name for a node in the Joint Fabric Datastore Cluster of
999
+ * the accessing fabric.
1000
+ *
1001
+ * NodeID represents the node to be updated in the Joint Fabric Datastore Cluster.
1002
+ *
1003
+ * If a Node Information Entry does not exist for the given NodeID, this command shall return NOT_FOUND.
1004
+ *
1005
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.12
425
1006
  */
426
- section1124712: Command(11, TlvNoArguments, 11, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1007
+ updateNode: Command(11, JointFabricDatastore2.TlvUpdateNodeRequest, 11, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
427
1008
  /**
428
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1009
+ * This command shall be used to remove a node from the Joint Fabric Datastore Cluster of the accessing
1010
+ * fabric.
1011
+ *
1012
+ * NodeID represents the unique identifier for the node to be removed from the Joint Fabric Datastore
1013
+ * Cluster.
1014
+ *
1015
+ * If a Node Information Entry does not exist for the given NodeID, this command shall return NOT_FOUND.
1016
+ *
1017
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.13
429
1018
  */
430
- section1124713: Command(12, TlvNoArguments, 12, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1019
+ removeNode: Command(12, JointFabricDatastore2.TlvRemoveNodeRequest, 12, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
431
1020
  /**
432
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1021
+ * This command shall be used to update the state of an endpoint for a node in the Joint Fabric Datastore
1022
+ * Cluster of the accessing fabric.
1023
+ *
1024
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
1025
+ * Cluster.
1026
+ *
1027
+ * NodeID represents the unique identifier for the node to which the endpoint belongs.
1028
+ *
1029
+ * If an Endpoint Information Entry does not exist for the given NodeID and EndpointID, this command shall
1030
+ * return NOT_FOUND.
1031
+ *
1032
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.14
433
1033
  */
434
- section1124714: Command(13, TlvNoArguments, 13, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1034
+ updateEndpointForNode: Command(
1035
+ 13,
1036
+ JointFabricDatastore2.TlvUpdateEndpointForNodeRequest,
1037
+ 13,
1038
+ TlvNoResponse,
1039
+ { invokeAcl: AccessLevel.Administer }
1040
+ ),
435
1041
  /**
436
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1042
+ * This command shall be used to add a Group ID to an endpoint for a node in the Joint Fabric Datastore
1043
+ * Cluster of the accessing fabric.
1044
+ *
1045
+ * GroupID represents the unique identifier for the group to be added to the endpoint.
1046
+ *
1047
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
1048
+ * Cluster.
1049
+ *
1050
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
1051
+ * command, the Datastore shall:
1052
+ *
1053
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
1054
+ * return NOT_FOUND.
1055
+ *
1056
+ * 2. Ensure the Group Key List for the Node Information Entry with the given NodeID includes the KeySet
1057
+ * for the given Group ID. If it does not:
1058
+ *
1059
+ * a. Add an entry for the KeySet of the given Group ID to the Group Key List for the Node. The new
1060
+ * entry’s status shall be set to Pending.
1061
+ *
1062
+ * b. Add a Group Key Entry for this KeySet to the given Node ID.
1063
+ *
1064
+ * i. If this succeeds, update the new KeySet entry in the Datastore to Committed.
1065
+ *
1066
+ * ii. If not successful, the pending change shall be applied in a subsequent Node Refresh.
1067
+ *
1068
+ * 3. Ensure the Group List for the Endpoint Information Entry with the given NodeID and EndpointID
1069
+ * includes an entry for the given Group. If it does not:
1070
+ *
1071
+ * a. Add a Group entry for the given Group ID to the Group List for the Endpoint and Node. The new
1072
+ * entry’s status shall be set to Pending.
1073
+ *
1074
+ * b. Add this Group entry to the given Endpoint ID on the given Node ID.
1075
+ *
1076
+ * i. If this succeeds, update the new Group entry in the Datastore to Committed.
1077
+ *
1078
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1079
+ * The error shall be handled in a subsequent Node Refresh.
1080
+ *
1081
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.15
437
1082
  */
438
- section1124715: Command(14, TlvNoArguments, 14, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1083
+ addGroupIdToEndpointForNode: Command(
1084
+ 14,
1085
+ JointFabricDatastore2.TlvAddGroupIdToEndpointForNodeRequest,
1086
+ 14,
1087
+ TlvNoResponse,
1088
+ { invokeAcl: AccessLevel.Administer }
1089
+ ),
439
1090
  /**
440
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1091
+ * This command shall be used to remove a Group ID from an endpoint for a node in the Joint Fabric Datastore
1092
+ * Cluster of the accessing fabric.
1093
+ *
1094
+ * GroupID represents the unique identifier for the group to be removed from the endpoint.
1095
+ *
1096
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
1097
+ * Cluster.
1098
+ *
1099
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
1100
+ * command, the Datastore shall:
1101
+ *
1102
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
1103
+ * return NOT_FOUND.
1104
+ *
1105
+ * 2. Ensure the Group List for the Endpoint Information Entry with the given NodeID and EndpointID does
1106
+ * not include an entry for the given Group. If it does:
1107
+ *
1108
+ * a. Update the status to DeletePending of the Group entry for the given Group ID in the Group List.
1109
+ *
1110
+ * b. Remove this Group entry for the given Endpoint ID on the given Node ID.
1111
+ *
1112
+ * i. If this succeeds, remove the Group entry for the given Group ID in the Group List for this
1113
+ * NodeID and EndpointID in the Datastore.
1114
+ *
1115
+ * ii. If not successful, the pending change shall be applied in a subsequent Node Refresh.
1116
+ *
1117
+ * 3. Ensure the Group Key List for the Node Information Entry with the given NodeID does not include the
1118
+ * KeySet for the given Group ID. If it does:
1119
+ *
1120
+ * a. Update the status to DeletePending for the entry for the KeySet of the given Group ID in the Node
1121
+ * Group Key List.
1122
+ *
1123
+ * b. Remove the Group Key Entry for this KeySet from the given Node ID.
1124
+ *
1125
+ * i. If this succeeds, remove the KeySet entry for the given Node ID.
1126
+ *
1127
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1128
+ * The error shall be handled in a subsequent Node Refresh.
1129
+ *
1130
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.16
441
1131
  */
442
- section1124716: Command(15, TlvNoArguments, 15, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1132
+ removeGroupIdFromEndpointForNode: Command(
1133
+ 15,
1134
+ JointFabricDatastore2.TlvRemoveGroupIdFromEndpointForNodeRequest,
1135
+ 15,
1136
+ TlvNoResponse,
1137
+ { invokeAcl: AccessLevel.Administer }
1138
+ ),
443
1139
  /**
444
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1140
+ * This command shall be used to add a binding to an endpoint for a node in the Joint Fabric Datastore
1141
+ * Cluster of the accessing fabric.
1142
+ *
1143
+ * Binding represents the binding to be added to the endpoint.
1144
+ *
1145
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
1146
+ * Cluster.
1147
+ *
1148
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
1149
+ * command, the Datastore shall:
1150
+ *
1151
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
1152
+ * return NOT_FOUND.
1153
+ *
1154
+ * 2. Ensure the Binding List for the Node Information Entry with the given NodeID includes the given
1155
+ * Binding. If it does not:
1156
+ *
1157
+ * a. Add the Binding to the Binding List for the Node Information Entry for the given NodeID. The new
1158
+ * entry’s status shall be set to Pending.
1159
+ *
1160
+ * b. Add this Binding to the given Node ID.
1161
+ *
1162
+ * i. If this succeeds, update the new Binding in the Datastore to Committed.
1163
+ *
1164
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1165
+ * The error shall be handled in a subsequent Node Refresh.
1166
+ *
1167
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.17
445
1168
  */
446
- section1124717: Command(16, TlvNoArguments, 16, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1169
+ addBindingToEndpointForNode: Command(
1170
+ 16,
1171
+ JointFabricDatastore2.TlvAddBindingToEndpointForNodeRequest,
1172
+ 16,
1173
+ TlvNoResponse,
1174
+ { invokeAcl: AccessLevel.Administer }
1175
+ ),
447
1176
  /**
448
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1177
+ * This command shall be used to remove a binding from an endpoint for a node in the Joint Fabric Datastore
1178
+ * Cluster of the accessing fabric.
1179
+ *
1180
+ * ListID represents the unique identifier for the binding entry in the Datastore’s EndpointBindingList
1181
+ * attribute to be removed from the endpoint.
1182
+ *
1183
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
1184
+ * Cluster.
1185
+ *
1186
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
1187
+ * command, the Datastore shall:
1188
+ *
1189
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
1190
+ * return NOT_FOUND.
1191
+ *
1192
+ * 2. Ensure the Binding List for the Node Information Entry with the given NodeID does not include an
1193
+ * entry with the given ListID. If it does:
1194
+ *
1195
+ * a. Update the status to DeletePending for the given Binding in the Binding List.
1196
+ *
1197
+ * b. Remove this Binding from the given Node ID.
1198
+ *
1199
+ * i. If this succeeds, remove the given Binding from the Binding List.
1200
+ *
1201
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1202
+ * The error shall be handled in a subsequent Node Refresh.
1203
+ *
1204
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.18
449
1205
  */
450
- section1124718: Command(17, TlvNoArguments, 17, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1206
+ removeBindingFromEndpointForNode: Command(
1207
+ 17,
1208
+ JointFabricDatastore2.TlvRemoveBindingFromEndpointForNodeRequest,
1209
+ 17,
1210
+ TlvNoResponse,
1211
+ { invokeAcl: AccessLevel.Administer }
1212
+ ),
451
1213
  /**
452
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1214
+ * This command shall be used to add an ACL to a node in the Joint Fabric Datastore Cluster of the accessing
1215
+ * fabric.
1216
+ *
1217
+ * NodeID represents the unique identifier for the node to which the ACL is to be added. ACLEntry represents
1218
+ * the ACL to be added to the Joint Fabric Datastore Cluster.
1219
+ *
1220
+ * Upon receipt of this command, the Datastore shall:
1221
+ *
1222
+ * 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
1223
+ *
1224
+ * 2. Ensure the ACL List for the given NodeID includes the given ACLEntry. If it does not:
1225
+ *
1226
+ * a. Add the ACLEntry to the ACL List for the given NodeID. The new entry’s status shall be set to
1227
+ * Pending.
1228
+ *
1229
+ * b. Add this ACLEntry to the given Node ID.
1230
+ *
1231
+ * i. If this succeeds, update the new ACLEntry in the Datastore to Committed.
1232
+ *
1233
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1234
+ * The error shall be handled in a subsequent Node Refresh.
1235
+ *
1236
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.19
453
1237
  */
454
- section1124719: Command(18, TlvNoArguments, 18, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
1238
+ addAclToNode: Command(
1239
+ 18,
1240
+ JointFabricDatastore2.TlvAddAclToNodeRequest,
1241
+ 18,
1242
+ TlvNoResponse,
1243
+ { invokeAcl: AccessLevel.Administer }
1244
+ ),
455
1245
  /**
456
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1246
+ * This command shall be used to remove an ACL from a node in the Joint Fabric Datastore Cluster of the
1247
+ * accessing fabric.
1248
+ *
1249
+ * ListID represents the unique identifier for the DatastoreACLEntryStruct to be removed from the
1250
+ * Datastore’s list of DatastoreACLEntry.
1251
+ *
1252
+ * NodeID represents the unique identifier for the node from which the ACL is to be removed. Upon receipt of
1253
+ * this command, the Datastore shall:
1254
+ *
1255
+ * 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
1256
+ *
1257
+ * 2. Ensure the ACL List for the given NodeID does not include the given ACLEntry. If it does:
1258
+ *
1259
+ * a. Update the status to DeletePending for the given ACLEntry in the ACL List.
1260
+ *
1261
+ * b. Remove this ACLEntry from the given Node ID.
1262
+ *
1263
+ * i. If this succeeds, remove the given ACLEntry from the Node ACL List.
1264
+ *
1265
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1266
+ * The error shall be handled in a subsequent Node Refresh.
1267
+ *
1268
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.20
457
1269
  */
458
- section1124720: Command(19, TlvNoArguments, 19, TlvNoResponse, { invokeAcl: AccessLevel.Administer })
1270
+ removeAclFromNode: Command(
1271
+ 19,
1272
+ JointFabricDatastore2.TlvRemoveAclFromNodeRequest,
1273
+ 19,
1274
+ TlvNoResponse,
1275
+ { invokeAcl: AccessLevel.Administer }
1276
+ )
459
1277
  }
460
1278
  });
461
1279
  JointFabricDatastore2.Cluster = JointFabricDatastore2.ClusterInstance;