@matter/types 0.13.0-alpha.0-20250304-d4a7592a4 → 0.13.0-alpha.0-20250307-ebf84a05a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/dist/cjs/clusters/access-control.d.ts +3972 -522
  2. package/dist/cjs/clusters/access-control.d.ts.map +1 -1
  3. package/dist/cjs/clusters/access-control.js +640 -116
  4. package/dist/cjs/clusters/access-control.js.map +2 -2
  5. package/dist/cjs/clusters/actions.d.ts +10 -9
  6. package/dist/cjs/clusters/actions.d.ts.map +1 -1
  7. package/dist/cjs/clusters/actions.js +4 -4
  8. package/dist/cjs/clusters/actions.js.map +1 -1
  9. package/dist/cjs/clusters/administrator-commissioning.d.ts +156 -129
  10. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
  11. package/dist/cjs/clusters/administrator-commissioning.js +40 -35
  12. package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
  13. package/dist/cjs/clusters/alarm-base.d.ts +9 -12
  14. package/dist/cjs/clusters/alarm-base.d.ts.map +1 -1
  15. package/dist/cjs/clusters/alarm-base.js +3 -4
  16. package/dist/cjs/clusters/alarm-base.js.map +1 -1
  17. package/dist/cjs/clusters/application-launcher.d.ts +27 -15
  18. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
  19. package/dist/cjs/clusters/application-launcher.js +7 -4
  20. package/dist/cjs/clusters/application-launcher.js.map +1 -1
  21. package/dist/cjs/clusters/ballast-configuration.d.ts +7 -7
  22. package/dist/cjs/clusters/ballast-configuration.js +7 -7
  23. package/dist/cjs/clusters/basic-information.d.ts +29 -21
  24. package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
  25. package/dist/cjs/clusters/basic-information.js +29 -21
  26. package/dist/cjs/clusters/basic-information.js.map +1 -1
  27. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +816 -34
  28. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  29. package/dist/cjs/clusters/bridged-device-basic-information.js +182 -29
  30. package/dist/cjs/clusters/bridged-device-basic-information.js.map +2 -2
  31. package/dist/cjs/clusters/channel.d.ts +115 -124
  32. package/dist/cjs/clusters/channel.d.ts.map +1 -1
  33. package/dist/cjs/clusters/channel.js +15 -16
  34. package/dist/cjs/clusters/channel.js.map +1 -1
  35. package/dist/cjs/clusters/color-control.d.ts +3076 -1366
  36. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  37. package/dist/cjs/clusters/color-control.js +423 -357
  38. package/dist/cjs/clusters/color-control.js.map +2 -2
  39. package/dist/cjs/clusters/commissioner-control.d.ts +268 -0
  40. package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -0
  41. package/dist/cjs/clusters/commissioner-control.js +194 -0
  42. package/dist/cjs/clusters/commissioner-control.js.map +6 -0
  43. package/dist/cjs/clusters/content-control.d.ts +497 -221
  44. package/dist/cjs/clusters/content-control.d.ts.map +1 -1
  45. package/dist/cjs/clusters/content-control.js +59 -41
  46. package/dist/cjs/clusters/content-control.js.map +2 -2
  47. package/dist/cjs/clusters/content-launcher.d.ts +248 -215
  48. package/dist/cjs/clusters/content-launcher.d.ts.map +1 -1
  49. package/dist/cjs/clusters/content-launcher.js +16 -15
  50. package/dist/cjs/clusters/content-launcher.js.map +1 -1
  51. package/dist/cjs/clusters/device-energy-management-mode.d.ts +76 -333
  52. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  53. package/dist/cjs/clusters/device-energy-management-mode.js +26 -73
  54. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  55. package/dist/cjs/clusters/device-energy-management.d.ts +1299 -930
  56. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
  57. package/dist/cjs/clusters/device-energy-management.js +189 -160
  58. package/dist/cjs/clusters/device-energy-management.js.map +2 -2
  59. package/dist/cjs/clusters/dishwasher-alarm.d.ts +14 -17
  60. package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -1
  61. package/dist/cjs/clusters/dishwasher-alarm.js +3 -4
  62. package/dist/cjs/clusters/dishwasher-alarm.js.map +1 -1
  63. package/dist/cjs/clusters/dishwasher-mode.d.ts +65 -105
  64. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  65. package/dist/cjs/clusters/dishwasher-mode.js +12 -24
  66. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  67. package/dist/cjs/clusters/door-lock.d.ts +2751 -5427
  68. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  69. package/dist/cjs/clusters/door-lock.js +480 -802
  70. package/dist/cjs/clusters/door-lock.js.map +2 -2
  71. package/dist/cjs/clusters/ecosystem-information.d.ts +186 -0
  72. package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -0
  73. package/dist/cjs/clusters/ecosystem-information.js +154 -0
  74. package/dist/cjs/clusters/ecosystem-information.js.map +6 -0
  75. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +363 -368
  76. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
  77. package/dist/cjs/clusters/electrical-energy-measurement.js +15 -16
  78. package/dist/cjs/clusters/electrical-energy-measurement.js.map +1 -1
  79. package/dist/cjs/clusters/energy-evse-mode.d.ts +92 -330
  80. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  81. package/dist/cjs/clusters/energy-evse-mode.js +25 -72
  82. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  83. package/dist/cjs/clusters/energy-evse.d.ts +557 -273
  84. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
  85. package/dist/cjs/clusters/energy-evse.js +107 -55
  86. package/dist/cjs/clusters/energy-evse.js.map +1 -1
  87. package/dist/cjs/clusters/energy-preference.d.ts +76 -76
  88. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
  89. package/dist/cjs/clusters/energy-preference.js +15 -18
  90. package/dist/cjs/clusters/energy-preference.js.map +1 -1
  91. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +3 -9
  92. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  93. package/dist/cjs/clusters/ethernet-network-diagnostics.js +1 -3
  94. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
  95. package/dist/cjs/clusters/fan-control.d.ts +12 -12
  96. package/dist/cjs/clusters/fan-control.js +4 -4
  97. package/dist/cjs/clusters/fixed-label.d.ts +7 -2
  98. package/dist/cjs/clusters/fixed-label.d.ts.map +1 -1
  99. package/dist/cjs/clusters/fixed-label.js.map +1 -1
  100. package/dist/cjs/clusters/flow-measurement.d.ts +4 -4
  101. package/dist/cjs/clusters/flow-measurement.d.ts.map +1 -1
  102. package/dist/cjs/clusters/flow-measurement.js +6 -6
  103. package/dist/cjs/clusters/flow-measurement.js.map +1 -1
  104. package/dist/cjs/clusters/general-commissioning.d.ts +1416 -111
  105. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
  106. package/dist/cjs/clusters/general-commissioning.js +272 -54
  107. package/dist/cjs/clusters/general-commissioning.js.map +2 -2
  108. package/dist/cjs/clusters/general-diagnostics.d.ts +115 -122
  109. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
  110. package/dist/cjs/clusters/general-diagnostics.js +31 -33
  111. package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
  112. package/dist/cjs/clusters/group-key-management.d.ts +72 -82
  113. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
  114. package/dist/cjs/clusters/group-key-management.js +19 -22
  115. package/dist/cjs/clusters/group-key-management.js.map +1 -1
  116. package/dist/cjs/clusters/groups.d.ts +9 -6
  117. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  118. package/dist/cjs/clusters/groups.js +3 -2
  119. package/dist/cjs/clusters/groups.js.map +1 -1
  120. package/dist/cjs/clusters/icd-management.d.ts +223 -66
  121. package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
  122. package/dist/cjs/clusters/icd-management.js +61 -23
  123. package/dist/cjs/clusters/icd-management.js.map +2 -2
  124. package/dist/cjs/clusters/identify.d.ts +12 -13
  125. package/dist/cjs/clusters/identify.d.ts.map +1 -1
  126. package/dist/cjs/clusters/identify.js +9 -10
  127. package/dist/cjs/clusters/identify.js.map +1 -1
  128. package/dist/cjs/clusters/illuminance-measurement.d.ts +7 -8
  129. package/dist/cjs/clusters/illuminance-measurement.d.ts.map +1 -1
  130. package/dist/cjs/clusters/illuminance-measurement.js +9 -10
  131. package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
  132. package/dist/cjs/clusters/index.d.ts +11 -1
  133. package/dist/cjs/clusters/index.d.ts.map +1 -1
  134. package/dist/cjs/clusters/index.js +33 -3
  135. package/dist/cjs/clusters/index.js.map +1 -1
  136. package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
  137. package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
  138. package/dist/cjs/clusters/joint-fabric-datastore-cluster.js +490 -0
  139. package/dist/cjs/clusters/joint-fabric-datastore-cluster.js.map +6 -0
  140. package/dist/cjs/clusters/joint-fabric-pki.d.ts +174 -0
  141. package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +1 -0
  142. package/dist/cjs/clusters/joint-fabric-pki.js +120 -0
  143. package/dist/cjs/clusters/joint-fabric-pki.js.map +6 -0
  144. package/dist/cjs/clusters/keypad-input.d.ts +2 -2
  145. package/dist/cjs/clusters/laundry-dryer-controls.d.ts +6 -7
  146. package/dist/cjs/clusters/laundry-dryer-controls.d.ts.map +1 -1
  147. package/dist/cjs/clusters/laundry-dryer-controls.js +5 -9
  148. package/dist/cjs/clusters/laundry-dryer-controls.js.map +1 -1
  149. package/dist/cjs/clusters/laundry-washer-controls.d.ts +74 -62
  150. package/dist/cjs/clusters/laundry-washer-controls.d.ts.map +1 -1
  151. package/dist/cjs/clusters/laundry-washer-controls.js +26 -25
  152. package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
  153. package/dist/cjs/clusters/laundry-washer-mode.d.ts +69 -109
  154. package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -1
  155. package/dist/cjs/clusters/laundry-washer-mode.js +13 -25
  156. package/dist/cjs/clusters/laundry-washer-mode.js.map +1 -1
  157. package/dist/cjs/clusters/level-control.d.ts +209 -70
  158. package/dist/cjs/clusters/level-control.d.ts.map +1 -1
  159. package/dist/cjs/clusters/level-control.js +45 -12
  160. package/dist/cjs/clusters/level-control.js.map +1 -1
  161. package/dist/cjs/clusters/localization-configuration.d.ts +5 -6
  162. package/dist/cjs/clusters/localization-configuration.d.ts.map +1 -1
  163. package/dist/cjs/clusters/localization-configuration.js +5 -6
  164. package/dist/cjs/clusters/localization-configuration.js.map +1 -1
  165. package/dist/cjs/clusters/media-input.d.ts +9 -6
  166. package/dist/cjs/clusters/media-input.d.ts.map +1 -1
  167. package/dist/cjs/clusters/media-input.js +3 -2
  168. package/dist/cjs/clusters/media-input.js.map +1 -1
  169. package/dist/cjs/clusters/media-playback.d.ts +29 -24
  170. package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
  171. package/dist/cjs/clusters/media-playback.js +5 -4
  172. package/dist/cjs/clusters/media-playback.js.map +1 -1
  173. package/dist/cjs/clusters/microwave-oven-control.d.ts +54 -48
  174. package/dist/cjs/clusters/microwave-oven-control.d.ts.map +1 -1
  175. package/dist/cjs/clusters/microwave-oven-control.js +19 -17
  176. package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
  177. package/dist/cjs/clusters/microwave-oven-mode.d.ts +63 -69
  178. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  179. package/dist/cjs/clusters/microwave-oven-mode.js +14 -11
  180. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  181. package/dist/cjs/clusters/mode-base.d.ts +27 -46
  182. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  183. package/dist/cjs/clusters/mode-base.js +9 -10
  184. package/dist/cjs/clusters/mode-base.js.map +1 -1
  185. package/dist/cjs/clusters/mode-select.d.ts +33 -27
  186. package/dist/cjs/clusters/mode-select.d.ts.map +1 -1
  187. package/dist/cjs/clusters/mode-select.js +14 -13
  188. package/dist/cjs/clusters/mode-select.js.map +1 -1
  189. package/dist/cjs/clusters/network-commissioning.d.ts +263 -240
  190. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
  191. package/dist/cjs/clusters/network-commissioning.js +46 -39
  192. package/dist/cjs/clusters/network-commissioning.js.map +1 -1
  193. package/dist/cjs/clusters/occupancy-sensing.d.ts +1002 -63
  194. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
  195. package/dist/cjs/clusters/occupancy-sensing.js +278 -63
  196. package/dist/cjs/clusters/occupancy-sensing.js.map +2 -2
  197. package/dist/cjs/clusters/on-off.d.ts +18 -24
  198. package/dist/cjs/clusters/on-off.d.ts.map +1 -1
  199. package/dist/cjs/clusters/on-off.js +3 -4
  200. package/dist/cjs/clusters/on-off.js.map +1 -1
  201. package/dist/cjs/clusters/operational-credentials.d.ts +98 -85
  202. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
  203. package/dist/cjs/clusters/operational-credentials.js +56 -49
  204. package/dist/cjs/clusters/operational-credentials.js.map +1 -1
  205. package/dist/cjs/clusters/operational-state.d.ts +136 -57
  206. package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
  207. package/dist/cjs/clusters/operational-state.js +62 -36
  208. package/dist/cjs/clusters/operational-state.js.map +2 -2
  209. package/dist/cjs/clusters/ota-software-update-provider.d.ts +43 -42
  210. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
  211. package/dist/cjs/clusters/ota-software-update-provider.js +20 -19
  212. package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
  213. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +6 -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 +4 -6
  216. package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
  217. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +44 -154
  218. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts.map +1 -1
  219. package/dist/cjs/clusters/oven-cavity-operational-state.js +39 -156
  220. package/dist/cjs/clusters/oven-cavity-operational-state.js.map +1 -1
  221. package/dist/cjs/clusters/oven-mode.d.ts +79 -349
  222. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  223. package/dist/cjs/clusters/oven-mode.js +26 -82
  224. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  225. package/dist/cjs/clusters/power-source.d.ts +169 -44
  226. package/dist/cjs/clusters/power-source.d.ts.map +1 -1
  227. package/dist/cjs/clusters/power-source.js +40 -16
  228. package/dist/cjs/clusters/power-source.js.map +1 -1
  229. package/dist/cjs/clusters/pressure-measurement.js +2 -2
  230. package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
  231. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +73 -63
  232. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  233. package/dist/cjs/clusters/pump-configuration-and-control.js +19 -20
  234. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  235. package/dist/cjs/clusters/refrigerator-alarm.d.ts +2 -1
  236. package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -1
  237. package/dist/cjs/clusters/refrigerator-alarm.js.map +1 -1
  238. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
  239. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  240. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +11 -19
  241. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  242. package/dist/cjs/clusters/relative-humidity-measurement.js +1 -1
  243. package/dist/cjs/clusters/relative-humidity-measurement.js.map +1 -1
  244. package/dist/cjs/clusters/rvc-clean-mode.d.ts +59 -103
  245. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  246. package/dist/cjs/clusters/rvc-clean-mode.js +11 -15
  247. package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
  248. package/dist/cjs/clusters/rvc-operational-state.d.ts +81 -25
  249. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  250. package/dist/cjs/clusters/rvc-operational-state.js +49 -20
  251. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  252. package/dist/cjs/clusters/rvc-run-mode.d.ts +85 -129
  253. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  254. package/dist/cjs/clusters/rvc-run-mode.js +16 -15
  255. package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
  256. package/dist/cjs/clusters/scenes-management.d.ts +328 -181
  257. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
  258. package/dist/cjs/clusters/scenes-management.js +37 -22
  259. package/dist/cjs/clusters/scenes-management.js.map +1 -1
  260. package/dist/cjs/clusters/service-area.d.ts +2052 -0
  261. package/dist/cjs/clusters/service-area.d.ts.map +1 -0
  262. package/dist/cjs/clusters/service-area.js +582 -0
  263. package/dist/cjs/clusters/service-area.js.map +6 -0
  264. package/dist/cjs/clusters/smoke-co-alarm.d.ts +10 -18
  265. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
  266. package/dist/cjs/clusters/smoke-co-alarm.js +2 -3
  267. package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
  268. package/dist/cjs/clusters/switch.d.ts +478 -191
  269. package/dist/cjs/clusters/switch.d.ts.map +1 -1
  270. package/dist/cjs/clusters/switch.js +145 -57
  271. package/dist/cjs/clusters/switch.js.map +1 -1
  272. package/dist/cjs/clusters/target-navigator.d.ts +1 -1
  273. package/dist/cjs/clusters/target-navigator.js +1 -1
  274. package/dist/cjs/clusters/thermostat.d.ts +3877 -830
  275. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  276. package/dist/cjs/clusters/thermostat.js +841 -159
  277. package/dist/cjs/clusters/thermostat.js.map +2 -2
  278. package/dist/cjs/clusters/thread-border-router-management.d.ts +711 -0
  279. package/dist/cjs/clusters/thread-border-router-management.d.ts.map +1 -0
  280. package/dist/cjs/clusters/thread-border-router-management.js +265 -0
  281. package/dist/cjs/clusters/thread-border-router-management.js.map +6 -0
  282. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +81 -55
  283. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
  284. package/dist/cjs/clusters/thread-network-diagnostics.js +32 -21
  285. package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
  286. package/dist/cjs/clusters/thread-network-directory.d.ts +250 -0
  287. package/dist/cjs/clusters/thread-network-directory.d.ts.map +1 -0
  288. package/dist/cjs/clusters/thread-network-directory.js +187 -0
  289. package/dist/cjs/clusters/thread-network-directory.js.map +6 -0
  290. package/dist/cjs/clusters/time-synchronization.d.ts +101 -76
  291. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
  292. package/dist/cjs/clusters/time-synchronization.js +30 -23
  293. package/dist/cjs/clusters/time-synchronization.js.map +1 -1
  294. package/dist/cjs/clusters/unit-localization.d.ts +3 -4
  295. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
  296. package/dist/cjs/clusters/unit-localization.js.map +1 -1
  297. package/dist/cjs/clusters/user-label.d.ts +2 -1
  298. package/dist/cjs/clusters/user-label.d.ts.map +1 -1
  299. package/dist/cjs/clusters/user-label.js.map +1 -1
  300. package/dist/cjs/clusters/water-heater-management.d.ts +1371 -0
  301. package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -0
  302. package/dist/cjs/clusters/water-heater-management.js +336 -0
  303. package/dist/cjs/clusters/water-heater-management.js.map +6 -0
  304. package/dist/cjs/clusters/water-heater-mode.d.ts +491 -0
  305. package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -0
  306. package/dist/cjs/clusters/water-heater-mode.js +195 -0
  307. package/dist/cjs/clusters/water-heater-mode.js.map +6 -0
  308. package/dist/cjs/clusters/water-tank-level-monitoring.d.ts +162 -0
  309. package/dist/cjs/clusters/water-tank-level-monitoring.d.ts.map +1 -0
  310. package/dist/cjs/clusters/water-tank-level-monitoring.js +47 -0
  311. package/dist/cjs/clusters/water-tank-level-monitoring.js.map +6 -0
  312. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +20 -27
  313. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  314. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +6 -8
  315. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
  316. package/dist/cjs/clusters/wi-fi-network-management.d.ts +91 -0
  317. package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -0
  318. package/dist/cjs/clusters/wi-fi-network-management.js +122 -0
  319. package/dist/cjs/clusters/wi-fi-network-management.js.map +6 -0
  320. package/dist/cjs/clusters/window-covering.d.ts +66 -78
  321. package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
  322. package/dist/cjs/clusters/window-covering.js +26 -37
  323. package/dist/cjs/clusters/window-covering.js.map +1 -1
  324. package/dist/cjs/globals/AtomicAttributeStatus.d.ts +34 -0
  325. package/dist/cjs/globals/AtomicAttributeStatus.d.ts.map +1 -0
  326. package/dist/cjs/globals/AtomicAttributeStatus.js +46 -0
  327. package/dist/cjs/globals/AtomicAttributeStatus.js.map +6 -0
  328. package/dist/cjs/globals/AtomicRequestType.d.ts +24 -0
  329. package/dist/cjs/globals/AtomicRequestType.d.ts.map +1 -0
  330. package/dist/cjs/globals/AtomicRequestType.js +35 -0
  331. package/dist/cjs/globals/AtomicRequestType.js.map +6 -0
  332. package/dist/cjs/globals/Locationdesc.d.ts +79 -0
  333. package/dist/cjs/globals/Locationdesc.d.ts.map +1 -0
  334. package/dist/cjs/globals/Locationdesc.js +89 -0
  335. package/dist/cjs/globals/Locationdesc.js.map +6 -0
  336. package/dist/cjs/globals/Priority.d.ts +1 -1
  337. package/dist/cjs/globals/Semtag.d.ts +6 -6
  338. package/dist/cjs/globals/Semtag.js +4 -4
  339. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  340. package/dist/cjs/globals/Status.d.ts +18 -3
  341. package/dist/cjs/globals/Status.d.ts.map +1 -1
  342. package/dist/cjs/globals/Status.js +3 -1
  343. package/dist/cjs/globals/Status.js.map +1 -1
  344. package/dist/cjs/globals/Tod.d.ts +2 -2
  345. package/dist/cjs/globals/index.d.ts +3 -0
  346. package/dist/cjs/globals/index.d.ts.map +1 -1
  347. package/dist/cjs/globals/index.js +3 -0
  348. package/dist/cjs/globals/index.js.map +1 -1
  349. package/dist/cjs/schema/QrCodeSchema.d.ts.map +1 -1
  350. package/dist/cjs/schema/QrCodeSchema.js +4 -1
  351. package/dist/cjs/schema/QrCodeSchema.js.map +1 -1
  352. package/dist/esm/clusters/access-control.d.ts +3972 -522
  353. package/dist/esm/clusters/access-control.d.ts.map +1 -1
  354. package/dist/esm/clusters/access-control.js +645 -120
  355. package/dist/esm/clusters/access-control.js.map +2 -2
  356. package/dist/esm/clusters/actions.d.ts +10 -9
  357. package/dist/esm/clusters/actions.d.ts.map +1 -1
  358. package/dist/esm/clusters/actions.js +4 -4
  359. package/dist/esm/clusters/actions.js.map +1 -1
  360. package/dist/esm/clusters/administrator-commissioning.d.ts +156 -129
  361. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
  362. package/dist/esm/clusters/administrator-commissioning.js +40 -35
  363. package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
  364. package/dist/esm/clusters/alarm-base.d.ts +9 -12
  365. package/dist/esm/clusters/alarm-base.d.ts.map +1 -1
  366. package/dist/esm/clusters/alarm-base.js +3 -4
  367. package/dist/esm/clusters/alarm-base.js.map +1 -1
  368. package/dist/esm/clusters/application-launcher.d.ts +27 -15
  369. package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
  370. package/dist/esm/clusters/application-launcher.js +7 -4
  371. package/dist/esm/clusters/application-launcher.js.map +1 -1
  372. package/dist/esm/clusters/ballast-configuration.d.ts +7 -7
  373. package/dist/esm/clusters/ballast-configuration.js +7 -7
  374. package/dist/esm/clusters/basic-information.d.ts +29 -21
  375. package/dist/esm/clusters/basic-information.d.ts.map +1 -1
  376. package/dist/esm/clusters/basic-information.js +29 -21
  377. package/dist/esm/clusters/basic-information.js.map +1 -1
  378. package/dist/esm/clusters/bridged-device-basic-information.d.ts +816 -34
  379. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  380. package/dist/esm/clusters/bridged-device-basic-information.js +188 -32
  381. package/dist/esm/clusters/bridged-device-basic-information.js.map +2 -2
  382. package/dist/esm/clusters/channel.d.ts +115 -124
  383. package/dist/esm/clusters/channel.d.ts.map +1 -1
  384. package/dist/esm/clusters/channel.js +15 -16
  385. package/dist/esm/clusters/channel.js.map +1 -1
  386. package/dist/esm/clusters/color-control.d.ts +3076 -1366
  387. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  388. package/dist/esm/clusters/color-control.js +424 -358
  389. package/dist/esm/clusters/color-control.js.map +2 -2
  390. package/dist/esm/clusters/commissioner-control.d.ts +268 -0
  391. package/dist/esm/clusters/commissioner-control.d.ts.map +1 -0
  392. package/dist/esm/clusters/commissioner-control.js +174 -0
  393. package/dist/esm/clusters/commissioner-control.js.map +6 -0
  394. package/dist/esm/clusters/content-control.d.ts +497 -221
  395. package/dist/esm/clusters/content-control.d.ts.map +1 -1
  396. package/dist/esm/clusters/content-control.js +60 -42
  397. package/dist/esm/clusters/content-control.js.map +2 -2
  398. package/dist/esm/clusters/content-launcher.d.ts +248 -215
  399. package/dist/esm/clusters/content-launcher.d.ts.map +1 -1
  400. package/dist/esm/clusters/content-launcher.js +16 -15
  401. package/dist/esm/clusters/content-launcher.js.map +1 -1
  402. package/dist/esm/clusters/device-energy-management-mode.d.ts +76 -333
  403. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  404. package/dist/esm/clusters/device-energy-management-mode.js +26 -80
  405. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  406. package/dist/esm/clusters/device-energy-management.d.ts +1299 -930
  407. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
  408. package/dist/esm/clusters/device-energy-management.js +189 -160
  409. package/dist/esm/clusters/device-energy-management.js.map +2 -2
  410. package/dist/esm/clusters/dishwasher-alarm.d.ts +14 -17
  411. package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -1
  412. package/dist/esm/clusters/dishwasher-alarm.js +3 -4
  413. package/dist/esm/clusters/dishwasher-alarm.js.map +1 -1
  414. package/dist/esm/clusters/dishwasher-mode.d.ts +65 -105
  415. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  416. package/dist/esm/clusters/dishwasher-mode.js +13 -25
  417. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  418. package/dist/esm/clusters/door-lock.d.ts +2751 -5427
  419. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  420. package/dist/esm/clusters/door-lock.js +482 -804
  421. package/dist/esm/clusters/door-lock.js.map +2 -2
  422. package/dist/esm/clusters/ecosystem-information.d.ts +186 -0
  423. package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -0
  424. package/dist/esm/clusters/ecosystem-information.js +134 -0
  425. package/dist/esm/clusters/ecosystem-information.js.map +6 -0
  426. package/dist/esm/clusters/electrical-energy-measurement.d.ts +363 -368
  427. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
  428. package/dist/esm/clusters/electrical-energy-measurement.js +15 -16
  429. package/dist/esm/clusters/electrical-energy-measurement.js.map +1 -1
  430. package/dist/esm/clusters/energy-evse-mode.d.ts +92 -330
  431. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  432. package/dist/esm/clusters/energy-evse-mode.js +25 -79
  433. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  434. package/dist/esm/clusters/energy-evse.d.ts +557 -273
  435. package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
  436. package/dist/esm/clusters/energy-evse.js +107 -55
  437. package/dist/esm/clusters/energy-evse.js.map +1 -1
  438. package/dist/esm/clusters/energy-preference.d.ts +76 -76
  439. package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
  440. package/dist/esm/clusters/energy-preference.js +15 -18
  441. package/dist/esm/clusters/energy-preference.js.map +1 -1
  442. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +3 -9
  443. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  444. package/dist/esm/clusters/ethernet-network-diagnostics.js +1 -3
  445. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
  446. package/dist/esm/clusters/fan-control.d.ts +12 -12
  447. package/dist/esm/clusters/fan-control.js +4 -4
  448. package/dist/esm/clusters/fixed-label.d.ts +7 -2
  449. package/dist/esm/clusters/fixed-label.d.ts.map +1 -1
  450. package/dist/esm/clusters/fixed-label.js.map +1 -1
  451. package/dist/esm/clusters/flow-measurement.d.ts +4 -4
  452. package/dist/esm/clusters/flow-measurement.d.ts.map +1 -1
  453. package/dist/esm/clusters/flow-measurement.js +6 -6
  454. package/dist/esm/clusters/flow-measurement.js.map +1 -1
  455. package/dist/esm/clusters/general-commissioning.d.ts +1416 -111
  456. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
  457. package/dist/esm/clusters/general-commissioning.js +274 -56
  458. package/dist/esm/clusters/general-commissioning.js.map +2 -2
  459. package/dist/esm/clusters/general-diagnostics.d.ts +115 -122
  460. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
  461. package/dist/esm/clusters/general-diagnostics.js +31 -33
  462. package/dist/esm/clusters/general-diagnostics.js.map +1 -1
  463. package/dist/esm/clusters/group-key-management.d.ts +72 -82
  464. package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
  465. package/dist/esm/clusters/group-key-management.js +19 -22
  466. package/dist/esm/clusters/group-key-management.js.map +1 -1
  467. package/dist/esm/clusters/groups.d.ts +9 -6
  468. package/dist/esm/clusters/groups.d.ts.map +1 -1
  469. package/dist/esm/clusters/groups.js +3 -2
  470. package/dist/esm/clusters/groups.js.map +1 -1
  471. package/dist/esm/clusters/icd-management.d.ts +223 -66
  472. package/dist/esm/clusters/icd-management.d.ts.map +1 -1
  473. package/dist/esm/clusters/icd-management.js +61 -23
  474. package/dist/esm/clusters/icd-management.js.map +2 -2
  475. package/dist/esm/clusters/identify.d.ts +12 -13
  476. package/dist/esm/clusters/identify.d.ts.map +1 -1
  477. package/dist/esm/clusters/identify.js +9 -10
  478. package/dist/esm/clusters/identify.js.map +1 -1
  479. package/dist/esm/clusters/illuminance-measurement.d.ts +7 -8
  480. package/dist/esm/clusters/illuminance-measurement.d.ts.map +1 -1
  481. package/dist/esm/clusters/illuminance-measurement.js +9 -10
  482. package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
  483. package/dist/esm/clusters/index.d.ts +11 -1
  484. package/dist/esm/clusters/index.d.ts.map +1 -1
  485. package/dist/esm/clusters/index.js +36 -3
  486. package/dist/esm/clusters/index.js.map +1 -1
  487. package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
  488. package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
  489. package/dist/esm/clusters/joint-fabric-datastore-cluster.js +470 -0
  490. package/dist/esm/clusters/joint-fabric-datastore-cluster.js.map +6 -0
  491. package/dist/esm/clusters/joint-fabric-pki.d.ts +174 -0
  492. package/dist/esm/clusters/joint-fabric-pki.d.ts.map +1 -0
  493. package/dist/esm/clusters/joint-fabric-pki.js +100 -0
  494. package/dist/esm/clusters/joint-fabric-pki.js.map +6 -0
  495. package/dist/esm/clusters/keypad-input.d.ts +2 -2
  496. package/dist/esm/clusters/laundry-dryer-controls.d.ts +6 -7
  497. package/dist/esm/clusters/laundry-dryer-controls.d.ts.map +1 -1
  498. package/dist/esm/clusters/laundry-dryer-controls.js +6 -10
  499. package/dist/esm/clusters/laundry-dryer-controls.js.map +1 -1
  500. package/dist/esm/clusters/laundry-washer-controls.d.ts +74 -62
  501. package/dist/esm/clusters/laundry-washer-controls.d.ts.map +1 -1
  502. package/dist/esm/clusters/laundry-washer-controls.js +26 -25
  503. package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
  504. package/dist/esm/clusters/laundry-washer-mode.d.ts +69 -109
  505. package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -1
  506. package/dist/esm/clusters/laundry-washer-mode.js +14 -26
  507. package/dist/esm/clusters/laundry-washer-mode.js.map +1 -1
  508. package/dist/esm/clusters/level-control.d.ts +209 -70
  509. package/dist/esm/clusters/level-control.d.ts.map +1 -1
  510. package/dist/esm/clusters/level-control.js +45 -12
  511. package/dist/esm/clusters/level-control.js.map +1 -1
  512. package/dist/esm/clusters/localization-configuration.d.ts +5 -6
  513. package/dist/esm/clusters/localization-configuration.d.ts.map +1 -1
  514. package/dist/esm/clusters/localization-configuration.js +5 -6
  515. package/dist/esm/clusters/localization-configuration.js.map +1 -1
  516. package/dist/esm/clusters/media-input.d.ts +9 -6
  517. package/dist/esm/clusters/media-input.d.ts.map +1 -1
  518. package/dist/esm/clusters/media-input.js +3 -2
  519. package/dist/esm/clusters/media-input.js.map +1 -1
  520. package/dist/esm/clusters/media-playback.d.ts +29 -24
  521. package/dist/esm/clusters/media-playback.d.ts.map +1 -1
  522. package/dist/esm/clusters/media-playback.js +5 -4
  523. package/dist/esm/clusters/media-playback.js.map +1 -1
  524. package/dist/esm/clusters/microwave-oven-control.d.ts +54 -48
  525. package/dist/esm/clusters/microwave-oven-control.d.ts.map +1 -1
  526. package/dist/esm/clusters/microwave-oven-control.js +19 -17
  527. package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
  528. package/dist/esm/clusters/microwave-oven-mode.d.ts +63 -69
  529. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  530. package/dist/esm/clusters/microwave-oven-mode.js +14 -11
  531. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  532. package/dist/esm/clusters/mode-base.d.ts +27 -46
  533. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  534. package/dist/esm/clusters/mode-base.js +9 -10
  535. package/dist/esm/clusters/mode-base.js.map +1 -1
  536. package/dist/esm/clusters/mode-select.d.ts +33 -27
  537. package/dist/esm/clusters/mode-select.d.ts.map +1 -1
  538. package/dist/esm/clusters/mode-select.js +14 -13
  539. package/dist/esm/clusters/mode-select.js.map +1 -1
  540. package/dist/esm/clusters/network-commissioning.d.ts +263 -240
  541. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
  542. package/dist/esm/clusters/network-commissioning.js +46 -39
  543. package/dist/esm/clusters/network-commissioning.js.map +1 -1
  544. package/dist/esm/clusters/occupancy-sensing.d.ts +1002 -63
  545. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
  546. package/dist/esm/clusters/occupancy-sensing.js +287 -65
  547. package/dist/esm/clusters/occupancy-sensing.js.map +2 -2
  548. package/dist/esm/clusters/on-off.d.ts +18 -24
  549. package/dist/esm/clusters/on-off.d.ts.map +1 -1
  550. package/dist/esm/clusters/on-off.js +3 -4
  551. package/dist/esm/clusters/on-off.js.map +1 -1
  552. package/dist/esm/clusters/operational-credentials.d.ts +98 -85
  553. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
  554. package/dist/esm/clusters/operational-credentials.js +56 -49
  555. package/dist/esm/clusters/operational-credentials.js.map +1 -1
  556. package/dist/esm/clusters/operational-state.d.ts +136 -57
  557. package/dist/esm/clusters/operational-state.d.ts.map +1 -1
  558. package/dist/esm/clusters/operational-state.js +63 -37
  559. package/dist/esm/clusters/operational-state.js.map +2 -2
  560. package/dist/esm/clusters/ota-software-update-provider.d.ts +43 -42
  561. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
  562. package/dist/esm/clusters/ota-software-update-provider.js +20 -19
  563. package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
  564. package/dist/esm/clusters/ota-software-update-requestor.d.ts +6 -10
  565. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
  566. package/dist/esm/clusters/ota-software-update-requestor.js +4 -6
  567. package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
  568. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +44 -154
  569. package/dist/esm/clusters/oven-cavity-operational-state.d.ts.map +1 -1
  570. package/dist/esm/clusters/oven-cavity-operational-state.js +41 -166
  571. package/dist/esm/clusters/oven-cavity-operational-state.js.map +1 -1
  572. package/dist/esm/clusters/oven-mode.d.ts +79 -349
  573. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  574. package/dist/esm/clusters/oven-mode.js +26 -89
  575. package/dist/esm/clusters/oven-mode.js.map +1 -1
  576. package/dist/esm/clusters/power-source.d.ts +169 -44
  577. package/dist/esm/clusters/power-source.d.ts.map +1 -1
  578. package/dist/esm/clusters/power-source.js +40 -16
  579. package/dist/esm/clusters/power-source.js.map +1 -1
  580. package/dist/esm/clusters/pressure-measurement.js +2 -2
  581. package/dist/esm/clusters/pressure-measurement.js.map +1 -1
  582. package/dist/esm/clusters/pump-configuration-and-control.d.ts +73 -63
  583. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  584. package/dist/esm/clusters/pump-configuration-and-control.js +19 -20
  585. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  586. package/dist/esm/clusters/refrigerator-alarm.d.ts +2 -1
  587. package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -1
  588. package/dist/esm/clusters/refrigerator-alarm.js.map +1 -1
  589. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
  590. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  591. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +12 -20
  592. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  593. package/dist/esm/clusters/relative-humidity-measurement.js +1 -1
  594. package/dist/esm/clusters/relative-humidity-measurement.js.map +1 -1
  595. package/dist/esm/clusters/rvc-clean-mode.d.ts +59 -103
  596. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  597. package/dist/esm/clusters/rvc-clean-mode.js +11 -15
  598. package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
  599. package/dist/esm/clusters/rvc-operational-state.d.ts +81 -25
  600. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  601. package/dist/esm/clusters/rvc-operational-state.js +49 -20
  602. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  603. package/dist/esm/clusters/rvc-run-mode.d.ts +85 -129
  604. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  605. package/dist/esm/clusters/rvc-run-mode.js +16 -15
  606. package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
  607. package/dist/esm/clusters/scenes-management.d.ts +328 -181
  608. package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
  609. package/dist/esm/clusters/scenes-management.js +37 -22
  610. package/dist/esm/clusters/scenes-management.js.map +1 -1
  611. package/dist/esm/clusters/service-area.d.ts +2052 -0
  612. package/dist/esm/clusters/service-area.d.ts.map +1 -0
  613. package/dist/esm/clusters/service-area.js +562 -0
  614. package/dist/esm/clusters/service-area.js.map +6 -0
  615. package/dist/esm/clusters/smoke-co-alarm.d.ts +10 -18
  616. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
  617. package/dist/esm/clusters/smoke-co-alarm.js +2 -3
  618. package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
  619. package/dist/esm/clusters/switch.d.ts +478 -191
  620. package/dist/esm/clusters/switch.d.ts.map +1 -1
  621. package/dist/esm/clusters/switch.js +145 -57
  622. package/dist/esm/clusters/switch.js.map +1 -1
  623. package/dist/esm/clusters/target-navigator.d.ts +1 -1
  624. package/dist/esm/clusters/target-navigator.js +1 -1
  625. package/dist/esm/clusters/thermostat.d.ts +3877 -830
  626. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  627. package/dist/esm/clusters/thermostat.js +842 -160
  628. package/dist/esm/clusters/thermostat.js.map +2 -2
  629. package/dist/esm/clusters/thread-border-router-management.d.ts +711 -0
  630. package/dist/esm/clusters/thread-border-router-management.d.ts.map +1 -0
  631. package/dist/esm/clusters/thread-border-router-management.js +245 -0
  632. package/dist/esm/clusters/thread-border-router-management.js.map +6 -0
  633. package/dist/esm/clusters/thread-network-diagnostics.d.ts +81 -55
  634. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
  635. package/dist/esm/clusters/thread-network-diagnostics.js +32 -21
  636. package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
  637. package/dist/esm/clusters/thread-network-directory.d.ts +250 -0
  638. package/dist/esm/clusters/thread-network-directory.d.ts.map +1 -0
  639. package/dist/esm/clusters/thread-network-directory.js +167 -0
  640. package/dist/esm/clusters/thread-network-directory.js.map +6 -0
  641. package/dist/esm/clusters/time-synchronization.d.ts +101 -76
  642. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
  643. package/dist/esm/clusters/time-synchronization.js +30 -23
  644. package/dist/esm/clusters/time-synchronization.js.map +1 -1
  645. package/dist/esm/clusters/unit-localization.d.ts +3 -4
  646. package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
  647. package/dist/esm/clusters/unit-localization.js.map +1 -1
  648. package/dist/esm/clusters/user-label.d.ts +2 -1
  649. package/dist/esm/clusters/user-label.d.ts.map +1 -1
  650. package/dist/esm/clusters/user-label.js.map +1 -1
  651. package/dist/esm/clusters/water-heater-management.d.ts +1371 -0
  652. package/dist/esm/clusters/water-heater-management.d.ts.map +1 -0
  653. package/dist/esm/clusters/water-heater-management.js +325 -0
  654. package/dist/esm/clusters/water-heater-management.js.map +6 -0
  655. package/dist/esm/clusters/water-heater-mode.d.ts +491 -0
  656. package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -0
  657. package/dist/esm/clusters/water-heater-mode.js +175 -0
  658. package/dist/esm/clusters/water-heater-mode.js.map +6 -0
  659. package/dist/esm/clusters/water-tank-level-monitoring.d.ts +162 -0
  660. package/dist/esm/clusters/water-tank-level-monitoring.d.ts.map +1 -0
  661. package/dist/esm/clusters/water-tank-level-monitoring.js +27 -0
  662. package/dist/esm/clusters/water-tank-level-monitoring.js.map +6 -0
  663. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +20 -27
  664. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  665. package/dist/esm/clusters/wi-fi-network-diagnostics.js +6 -8
  666. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
  667. package/dist/esm/clusters/wi-fi-network-management.d.ts +91 -0
  668. package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -0
  669. package/dist/esm/clusters/wi-fi-network-management.js +102 -0
  670. package/dist/esm/clusters/wi-fi-network-management.js.map +6 -0
  671. package/dist/esm/clusters/window-covering.d.ts +66 -78
  672. package/dist/esm/clusters/window-covering.d.ts.map +1 -1
  673. package/dist/esm/clusters/window-covering.js +26 -37
  674. package/dist/esm/clusters/window-covering.js.map +1 -1
  675. package/dist/esm/globals/AtomicAttributeStatus.d.ts +34 -0
  676. package/dist/esm/globals/AtomicAttributeStatus.d.ts.map +1 -0
  677. package/dist/esm/globals/AtomicAttributeStatus.js +26 -0
  678. package/dist/esm/globals/AtomicAttributeStatus.js.map +6 -0
  679. package/dist/esm/globals/AtomicRequestType.d.ts +24 -0
  680. package/dist/esm/globals/AtomicRequestType.d.ts.map +1 -0
  681. package/dist/esm/globals/AtomicRequestType.js +15 -0
  682. package/dist/esm/globals/AtomicRequestType.js.map +6 -0
  683. package/dist/esm/globals/Locationdesc.d.ts +79 -0
  684. package/dist/esm/globals/Locationdesc.d.ts.map +1 -0
  685. package/dist/esm/globals/Locationdesc.js +69 -0
  686. package/dist/esm/globals/Locationdesc.js.map +6 -0
  687. package/dist/esm/globals/Priority.d.ts +1 -1
  688. package/dist/esm/globals/Semtag.d.ts +6 -6
  689. package/dist/esm/globals/Semtag.js +4 -4
  690. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  691. package/dist/esm/globals/Status.d.ts +18 -3
  692. package/dist/esm/globals/Status.d.ts.map +1 -1
  693. package/dist/esm/globals/Status.js +3 -1
  694. package/dist/esm/globals/Status.js.map +1 -1
  695. package/dist/esm/globals/Tod.d.ts +2 -2
  696. package/dist/esm/globals/index.d.ts +3 -0
  697. package/dist/esm/globals/index.d.ts.map +1 -1
  698. package/dist/esm/globals/index.js +3 -0
  699. package/dist/esm/globals/index.js.map +1 -1
  700. package/dist/esm/schema/QrCodeSchema.d.ts.map +1 -1
  701. package/dist/esm/schema/QrCodeSchema.js +4 -1
  702. package/dist/esm/schema/QrCodeSchema.js.map +1 -1
  703. package/package.json +5 -5
  704. package/src/clusters/access-control.ts +926 -171
  705. package/src/clusters/actions.ts +12 -11
  706. package/src/clusters/administrator-commissioning.ts +54 -35
  707. package/src/clusters/alarm-base.ts +3 -4
  708. package/src/clusters/application-launcher.ts +22 -7
  709. package/src/clusters/ballast-configuration.ts +7 -7
  710. package/src/clusters/basic-information.ts +29 -21
  711. package/src/clusters/bridged-device-basic-information.ts +264 -41
  712. package/src/clusters/channel.ts +20 -17
  713. package/src/clusters/color-control.ts +589 -426
  714. package/src/clusters/commissioner-control.ts +282 -0
  715. package/src/clusters/content-control.ts +48 -54
  716. package/src/clusters/content-launcher.ts +16 -15
  717. package/src/clusters/device-energy-management-mode.ts +63 -161
  718. package/src/clusters/device-energy-management.ts +246 -193
  719. package/src/clusters/dishwasher-alarm.ts +5 -5
  720. package/src/clusters/dishwasher-mode.ts +46 -87
  721. package/src/clusters/door-lock.ts +786 -1235
  722. package/src/clusters/ecosystem-information.ts +200 -0
  723. package/src/clusters/electrical-energy-measurement.ts +15 -16
  724. package/src/clusters/energy-evse-mode.ts +81 -158
  725. package/src/clusters/energy-evse.ts +138 -72
  726. package/src/clusters/energy-preference.ts +34 -28
  727. package/src/clusters/ethernet-network-diagnostics.ts +1 -3
  728. package/src/clusters/fan-control.ts +5 -5
  729. package/src/clusters/fixed-label.ts +7 -2
  730. package/src/clusters/flow-measurement.ts +6 -6
  731. package/src/clusters/general-commissioning.ts +396 -96
  732. package/src/clusters/general-diagnostics.ts +31 -33
  733. package/src/clusters/group-key-management.ts +22 -24
  734. package/src/clusters/groups.ts +3 -2
  735. package/src/clusters/icd-management.ts +88 -31
  736. package/src/clusters/identify.ts +9 -10
  737. package/src/clusters/illuminance-measurement.ts +9 -10
  738. package/src/clusters/index.ts +14 -1
  739. package/src/clusters/joint-fabric-datastore-cluster.ts +657 -0
  740. package/src/clusters/joint-fabric-pki.ts +202 -0
  741. package/src/clusters/keypad-input.ts +2 -2
  742. package/src/clusters/laundry-dryer-controls.ts +6 -10
  743. package/src/clusters/laundry-washer-controls.ts +28 -27
  744. package/src/clusters/laundry-washer-mode.ts +49 -90
  745. package/src/clusters/level-control.ts +45 -12
  746. package/src/clusters/localization-configuration.ts +5 -6
  747. package/src/clusters/media-input.ts +3 -2
  748. package/src/clusters/media-playback.ts +9 -7
  749. package/src/clusters/microwave-oven-control.ts +19 -17
  750. package/src/clusters/microwave-oven-mode.ts +42 -61
  751. package/src/clusters/mode-base.ts +16 -33
  752. package/src/clusters/mode-select.ts +17 -14
  753. package/src/clusters/network-commissioning.ts +47 -40
  754. package/src/clusters/occupancy-sensing.ts +433 -72
  755. package/src/clusters/on-off.ts +6 -8
  756. package/src/clusters/operational-credentials.ts +54 -47
  757. package/src/clusters/operational-state.ts +136 -58
  758. package/src/clusters/ota-software-update-provider.ts +23 -23
  759. package/src/clusters/ota-software-update-requestor.ts +4 -6
  760. package/src/clusters/oven-cavity-operational-state.ts +43 -171
  761. package/src/clusters/oven-mode.ts +76 -178
  762. package/src/clusters/power-source.ts +45 -21
  763. package/src/clusters/pressure-measurement.ts +2 -2
  764. package/src/clusters/pump-configuration-and-control.ts +35 -23
  765. package/src/clusters/refrigerator-alarm.ts +2 -1
  766. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +41 -78
  767. package/src/clusters/relative-humidity-measurement.ts +1 -1
  768. package/src/clusters/rvc-clean-mode.ts +42 -101
  769. package/src/clusters/rvc-operational-state.ts +87 -25
  770. package/src/clusters/rvc-run-mode.ts +62 -126
  771. package/src/clusters/scenes-management.ts +38 -23
  772. package/src/clusters/service-area.ts +904 -0
  773. package/src/clusters/smoke-co-alarm.ts +6 -12
  774. package/src/clusters/switch.ts +177 -78
  775. package/src/clusters/target-navigator.ts +1 -1
  776. package/src/clusters/thermostat.ts +1245 -214
  777. package/src/clusters/thread-border-router-management.ts +355 -0
  778. package/src/clusters/thread-network-diagnostics.ts +34 -21
  779. package/src/clusters/thread-network-directory.ts +256 -0
  780. package/src/clusters/time-synchronization.ts +30 -23
  781. package/src/clusters/unit-localization.ts +3 -4
  782. package/src/clusters/user-label.ts +2 -1
  783. package/src/clusters/water-heater-management.ts +457 -0
  784. package/src/clusters/water-heater-mode.ts +301 -0
  785. package/src/clusters/water-tank-level-monitoring.ts +50 -0
  786. package/src/clusters/wi-fi-network-diagnostics.ts +6 -8
  787. package/src/clusters/wi-fi-network-management.ts +119 -0
  788. package/src/clusters/window-covering.ts +26 -37
  789. package/src/globals/AtomicAttributeStatus.ts +41 -0
  790. package/src/globals/AtomicRequestType.ts +27 -0
  791. package/src/globals/Locationdesc.ts +88 -0
  792. package/src/globals/Priority.ts +1 -1
  793. package/src/globals/Semtag.ts +6 -6
  794. package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
  795. package/src/globals/Status.ts +20 -3
  796. package/src/globals/Tod.ts +2 -2
  797. package/src/globals/index.ts +3 -0
  798. package/src/schema/QrCodeSchema.ts +7 -2
  799. package/dist/cjs/clusters/pulse-width-modulation.d.ts +0 -2023
  800. package/dist/cjs/clusters/pulse-width-modulation.d.ts.map +0 -1
  801. package/dist/cjs/clusters/pulse-width-modulation.js +0 -51
  802. package/dist/cjs/clusters/pulse-width-modulation.js.map +0 -6
  803. package/dist/esm/clusters/pulse-width-modulation.d.ts +0 -2023
  804. package/dist/esm/clusters/pulse-width-modulation.d.ts.map +0 -1
  805. package/dist/esm/clusters/pulse-width-modulation.js +0 -31
  806. package/dist/esm/clusters/pulse-width-modulation.js.map +0 -6
  807. package/src/clusters/pulse-width-modulation.ts +0 -54
@@ -10,21 +10,21 @@ import {
10
10
  Event,
11
11
  EventPriority,
12
12
  FixedAttribute,
13
- WritableAttribute,
14
13
  Command,
15
14
  TlvNoResponse,
15
+ WritableAttribute,
16
16
  OptionalCommand,
17
17
  OptionalAttribute
18
18
  } from "../cluster/Cluster.js";
19
- import { TlvEnum, TlvUInt32, TlvUInt16, TlvEpochS, TlvUInt8, TlvBitmap } from "../tlv/TlvNumber.js";
19
+ import { TlvEnum, TlvUInt32, TlvUInt16, TlvUInt8, TlvBitmap, TlvEpochS } from "../tlv/TlvNumber.js";
20
20
  import { TlvNullable } from "../tlv/TlvNullable.js";
21
21
  import { AccessLevel } from "#model";
22
22
  import { TlvField, TlvObject, TlvOptionalField } from "../tlv/TlvObject.js";
23
- import { TlvBoolean } from "../tlv/TlvBoolean.js";
24
- import { TlvByteString, TlvString } from "../tlv/TlvString.js";
25
23
  import { BitFlag, BitsFromPartial } from "../schema/BitmapSchema.js";
24
+ import { TlvString, TlvByteString } from "../tlv/TlvString.js";
26
25
  import { TlvArray } from "../tlv/TlvArray.js";
27
26
  import { TlvFabricIndex } from "../datatype/FabricIndex.js";
27
+ import { TlvBoolean } from "../tlv/TlvBoolean.js";
28
28
  import { TlvNodeId } from "../datatype/NodeId.js";
29
29
  import { TlvNoArguments } from "../tlv/TlvNoArguments.js";
30
30
  import { ClusterType } from "../cluster/ClusterType.js";
@@ -36,16 +36,16 @@ var DoorLock;
36
36
  Feature2["PinCredential"] = "PinCredential";
37
37
  Feature2["RfidCredential"] = "RfidCredential";
38
38
  Feature2["FingerCredentials"] = "FingerCredentials";
39
- Feature2["Logging"] = "Logging";
40
39
  Feature2["WeekDayAccessSchedules"] = "WeekDayAccessSchedules";
41
40
  Feature2["DoorPositionSensor"] = "DoorPositionSensor";
42
41
  Feature2["FaceCredentials"] = "FaceCredentials";
43
42
  Feature2["CredentialOverTheAirAccess"] = "CredentialOverTheAirAccess";
44
43
  Feature2["User"] = "User";
45
- Feature2["Notification"] = "Notification";
46
44
  Feature2["YearDayAccessSchedules"] = "YearDayAccessSchedules";
47
45
  Feature2["HolidaySchedules"] = "HolidaySchedules";
48
46
  Feature2["Unbolting"] = "Unbolting";
47
+ Feature2["AliroProvisioning"] = "AliroProvisioning";
48
+ Feature2["AliroBleuwb"] = "AliroBleuwb";
49
49
  })(Feature = DoorLock2.Feature || (DoorLock2.Feature = {}));
50
50
  let DoorState;
51
51
  ((DoorState2) => {
@@ -64,72 +64,6 @@ var DoorLock;
64
64
  */
65
65
  doorState: TlvField(0, TlvEnum())
66
66
  });
67
- DoorLock2.TlvGetLogRecordRequest = TlvObject({ logIndex: TlvField(0, TlvUInt16) });
68
- let EventType;
69
- ((EventType2) => {
70
- EventType2[EventType2["Operation"] = 0] = "Operation";
71
- EventType2[EventType2["Programming"] = 1] = "Programming";
72
- EventType2[EventType2["Alarm"] = 2] = "Alarm";
73
- })(EventType = DoorLock2.EventType || (DoorLock2.EventType = {}));
74
- let EventSource;
75
- ((EventSource2) => {
76
- EventSource2[EventSource2["Keypad"] = 0] = "Keypad";
77
- EventSource2[EventSource2["Remote"] = 1] = "Remote";
78
- EventSource2[EventSource2["Manual"] = 2] = "Manual";
79
- EventSource2[EventSource2["Rfid"] = 3] = "Rfid";
80
- EventSource2[EventSource2["Indeterminate"] = 255] = "Indeterminate";
81
- })(EventSource = DoorLock2.EventSource || (DoorLock2.EventSource = {}));
82
- DoorLock2.TlvGetLogRecordResponse = TlvObject({
83
- /**
84
- * This field shall indicate the index into the log table where this log entry is stored. If the log entry
85
- * requested is 0, the most recent log is returned with the appropriate log entry ID.
86
- *
87
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.1
88
- */
89
- logEntryId: TlvField(0, TlvUInt16),
90
- /**
91
- * This field shall indicate the timestamp for all events and alarms on the door lock in Epoch Time in Seconds
92
- * with local time offset based on the local timezone and DST offset on the day of the event.
93
- *
94
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.2
95
- */
96
- timestamp: TlvField(1, TlvEpochS),
97
- /**
98
- * This field shall indicate the type of event that took place on the door lock, as defined in EventTypeEnum.
99
- *
100
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.3
101
- */
102
- eventType: TlvField(2, TlvEnum()),
103
- /**
104
- * This field shall indicate the source value as defined in EventSourceEnum.
105
- *
106
- * If the EventType is 2 (Alarm) then the source SHOULD be, but does not have to be 255 (Indeterminate).
107
- *
108
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.4
109
- */
110
- source: TlvField(3, TlvEnum()),
111
- /**
112
- * This field shall indicate the type of event that took place on the door lock depending on the event code
113
- * table provided for a given event type and source. See Operation Event Codes.
114
- *
115
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.5
116
- */
117
- eventId: TlvField(4, TlvUInt8),
118
- /**
119
- * This field shall indicate the ID of the user who generated the event on the door lock if one is available.
120
- * Otherwise, the value is 0xFFFF.
121
- *
122
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.6
123
- */
124
- userId: TlvField(5, TlvUInt16),
125
- /**
126
- * This field shall indicate the PIN code or RFID code that was used to create the event on the door lock if
127
- * one is available.
128
- *
129
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.7
130
- */
131
- pin: TlvField(6, TlvByteString)
132
- });
133
67
  DoorLock2.CredentialRules = {
134
68
  /**
135
69
  * Only one credential is required for lock operation
@@ -179,13 +113,13 @@ var DoorLock;
179
113
  /**
180
114
  * This field shall indicate the type of operation.
181
115
  *
182
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.1
116
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.1
183
117
  */
184
118
  operationType: TlvField(0, TlvEnum()),
185
119
  /**
186
120
  * This field shall indicate the user ID.
187
121
  *
188
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.2
122
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.2
189
123
  */
190
124
  userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
191
125
  /**
@@ -199,7 +133,7 @@ var DoorLock;
199
133
  *
200
134
  * If UserName is not null, the UserName in the user record shall be set to the provided value.
201
135
  *
202
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.3
136
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.3
203
137
  */
204
138
  userName: TlvField(2, TlvNullable(TlvString.bound({ maxLength: 10 }))),
205
139
  /**
@@ -216,7 +150,7 @@ var DoorLock;
216
150
  *
217
151
  * If UserUniqueID is not null, the UserUniqueID in the user record shall be set to the provided value.
218
152
  *
219
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.4
153
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.4
220
154
  */
221
155
  userUniqueId: TlvField(3, TlvNullable(TlvUInt32)),
222
156
  /**
@@ -231,7 +165,7 @@ var DoorLock;
231
165
  *
232
166
  * If UserStatus is not null, the UserStatus in the user record shall be set to the provided value.
233
167
  *
234
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.5
168
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.5
235
169
  */
236
170
  userStatus: TlvField(4, TlvNullable(TlvEnum())),
237
171
  /**
@@ -246,7 +180,7 @@ var DoorLock;
246
180
  *
247
181
  * If UserType is not null, the UserType in the user record shall be set to the provided value.
248
182
  *
249
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.6
183
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.6
250
184
  */
251
185
  userType: TlvField(5, TlvNullable(TlvEnum())),
252
186
  /**
@@ -265,7 +199,7 @@ var DoorLock;
265
199
  *
266
200
  * If CredentialRule is not null, the CredentialRule in the user record shall be set to the provided value.
267
201
  *
268
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.7
202
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.7
269
203
  */
270
204
  credentialRule: TlvField(6, TlvNullable(TlvEnum()))
271
205
  });
@@ -278,12 +212,15 @@ var DoorLock;
278
212
  CredentialType2[CredentialType2["Fingerprint"] = 3] = "Fingerprint";
279
213
  CredentialType2[CredentialType2["FingerVein"] = 4] = "FingerVein";
280
214
  CredentialType2[CredentialType2["Face"] = 5] = "Face";
215
+ CredentialType2[CredentialType2["AliroCredentialIssuerKey"] = 6] = "AliroCredentialIssuerKey";
216
+ CredentialType2[CredentialType2["AliroEvictableEndpointKey"] = 7] = "AliroEvictableEndpointKey";
217
+ CredentialType2[CredentialType2["AliroNonEvictableEndpointKey"] = 8] = "AliroNonEvictableEndpointKey";
281
218
  })(CredentialType = DoorLock2.CredentialType || (DoorLock2.CredentialType = {}));
282
219
  DoorLock2.TlvCredential = TlvObject({
283
220
  /**
284
221
  * This field shall indicate the credential field used to authorize the lock operation.
285
222
  *
286
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.26.1
223
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24.1
287
224
  */
288
225
  credentialType: TlvField(0, TlvEnum()),
289
226
  /**
@@ -291,7 +228,7 @@ var DoorLock;
291
228
  * list of credentials identified by CredentialType (e.g. PIN, RFID, etc.). This field shall be set to 0 if
292
229
  * CredentialType is ProgrammingPIN or does not correspond to a list that can be indexed into.
293
230
  *
294
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.26.2
231
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24.2
295
232
  */
296
233
  credentialIndex: TlvField(1, TlvUInt16)
297
234
  });
@@ -299,43 +236,43 @@ var DoorLock;
299
236
  /**
300
237
  * This field shall indicate the user ID.
301
238
  *
302
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.1
239
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.1
303
240
  */
304
241
  userIndex: TlvField(0, TlvUInt16.bound({ min: 1 })),
305
242
  /**
306
243
  * This field shall contain a string to use as a human readable identifier for the user.
307
244
  *
308
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.2
245
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.2
309
246
  */
310
247
  userName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 10 }))),
311
248
  /**
312
249
  * See UserUniqueID field.
313
250
  *
314
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.3
251
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.3
315
252
  */
316
253
  userUniqueId: TlvField(2, TlvNullable(TlvUInt32)),
317
254
  /**
318
255
  * This field shall indicate the UserStatus assigned to the user when created or modified.
319
256
  *
320
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.4
257
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.4
321
258
  */
322
259
  userStatus: TlvField(3, TlvNullable(TlvEnum())),
323
260
  /**
324
261
  * This field shall indicate the UserType assigned to this user when created or modified.
325
262
  *
326
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.5
263
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.5
327
264
  */
328
265
  userType: TlvField(4, TlvNullable(TlvEnum())),
329
266
  /**
330
267
  * This field shall indicate the CredentialRule set for this user.
331
268
  *
332
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.6
269
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.6
333
270
  */
334
271
  credentialRule: TlvField(5, TlvNullable(TlvEnum())),
335
272
  /**
336
273
  * This field shall contain a list of credentials for this user.
337
274
  *
338
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.7
275
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.7
339
276
  */
340
277
  credentials: TlvField(6, TlvNullable(TlvArray(DoorLock2.TlvCredential, { minLength: 0 }))),
341
278
  /**
@@ -344,7 +281,7 @@ var DoorLock;
344
281
  * the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator
345
282
  * fabric was deleted.
346
283
  *
347
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.8
284
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.8
348
285
  */
349
286
  creatorFabricIndex: TlvField(7, TlvNullable(TlvFabricIndex)),
350
287
  /**
@@ -353,7 +290,7 @@ var DoorLock;
353
290
  * modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the
354
291
  * last modifier fabric was deleted.
355
292
  *
356
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.9
293
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.9
357
294
  */
358
295
  lastModifiedFabricIndex: TlvField(8, TlvNullable(TlvFabricIndex)),
359
296
  /**
@@ -362,7 +299,7 @@ var DoorLock;
362
299
  * entry after the requested UserIndex in the User database and shall be null if there are no more occupied
363
300
  * entries.
364
301
  *
365
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.10
302
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.10
366
303
  */
367
304
  nextUserIndex: TlvField(9, TlvNullable(TlvUInt16.bound({ min: 1 })))
368
305
  });
@@ -370,7 +307,7 @@ var DoorLock;
370
307
  /**
371
308
  * This field shall specify a valid User index or 0xFFFE to indicate all user slots shall be cleared.
372
309
  *
373
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.1
310
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35.1
374
311
  */
375
312
  userIndex: TlvField(0, TlvUInt16)
376
313
  });
@@ -378,14 +315,14 @@ var DoorLock;
378
315
  /**
379
316
  * This field shall indicate the set credential operation type requested.
380
317
  *
381
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.1
318
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.1
382
319
  */
383
320
  operationType: TlvField(0, TlvEnum()),
384
321
  /**
385
322
  * This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
386
323
  * index (if applicable or 0 if not) to set.
387
324
  *
388
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.2
325
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.2
389
326
  */
390
327
  credential: TlvField(1, DoorLock2.TlvCredential),
391
328
  /**
@@ -393,7 +330,7 @@ var DoorLock;
393
330
  * of the credential data shall conform to the limits of the CredentialType specified in the Credential
394
331
  * structure otherwise an INVALID_COMMAND status shall be returned in the SetCredentialResponse command.
395
332
  *
396
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.3
333
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.3
397
334
  */
398
335
  credentialData: TlvField(2, TlvByteString),
399
336
  /**
@@ -401,21 +338,21 @@ var DoorLock;
401
338
  * or modified. This shall be null if OperationType is add and a new credential and user is being added at the
402
339
  * same time.
403
340
  *
404
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.4
341
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.4
405
342
  */
406
343
  userIndex: TlvField(3, TlvNullable(TlvUInt16.bound({ min: 1 }))),
407
344
  /**
408
345
  * This field shall indicate the user status to use in the new user record if a new user is being created. This
409
346
  * shall be null if OperationType is Modify. This may be null when adding a new credential and user.
410
347
  *
411
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.5
348
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.5
412
349
  */
413
350
  userStatus: TlvField(4, TlvNullable(TlvEnum())),
414
351
  /**
415
352
  * This field shall indicate the user type to use in the new user record if a new user is being created. This
416
353
  * shall be null if OperationType is Modify. This may be null when adding a new credential and user.
417
354
  *
418
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.6
355
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.6
419
356
  */
420
357
  userType: TlvField(5, TlvNullable(TlvEnum()))
421
358
  });
@@ -435,8 +372,15 @@ var DoorLock;
435
372
  * • DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType
436
373
  * (e.g. duplicate PIN code).
437
374
  *
438
- * • RESOURCE_EXHAUSTED, if OperationType is Add and the user referred to by UserIndex already has
439
- * NumberOfCredentialsSupportedPerUser credentials associated.
375
+ * • RESOURCE_EXHAUSTED, if OperationType is Add and the new credential cannot be added due to resource
376
+ * constraints such as:
377
+ *
378
+ * ◦ The user referred to by UserIndex already has NumberOfCredentialsSupportedPerUser credentials
379
+ * associated.
380
+ *
381
+ * ◦ The credential is of type AliroEvictableEndpointKey or AliroNonEvictableEndpointKey, and adding it
382
+ * would cause the total number of credentials of those two types to exceed
383
+ * NumberOfAliroEndpointKeysSupported.
440
384
  *
441
385
  * • INVALID_COMMAND, if one or more fields violate constraints or are invalid.
442
386
  *
@@ -445,7 +389,7 @@ var DoorLock;
445
389
  *
446
390
  * • INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.
447
391
  *
448
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.1
392
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.1
449
393
  */
450
394
  status: TlvField(0, TlvEnum()),
451
395
  /**
@@ -455,7 +399,7 @@ var DoorLock;
455
399
  * created. If the OperationType was Add and an existing User was associated with the new credential then this
456
400
  * shall be null.
457
401
  *
458
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.2
402
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.2
459
403
  */
460
404
  userIndex: TlvField(1, TlvNullable(TlvUInt16.bound({ min: 1 }))),
461
405
  /**
@@ -465,7 +409,7 @@ var DoorLock;
465
409
  * be null if there are no more available entries. The NextCredentialIndex reported shall NOT exceed the
466
410
  * maximum number of credentials for a particular credential type.
467
411
  *
468
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.3
412
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.3
469
413
  */
470
414
  nextCredentialIndex: TlvOptionalField(2, TlvNullable(TlvUInt16))
471
415
  });
@@ -474,7 +418,7 @@ var DoorLock;
474
418
  * This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
475
419
  * index (if applicable or 0 if not) to retrieve the status for.
476
420
  *
477
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.1
421
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.38.1
478
422
  */
479
423
  credential: TlvField(0, DoorLock2.TlvCredential)
480
424
  });
@@ -483,7 +427,7 @@ var DoorLock;
483
427
  * This field shall indicate if the requested credential type and index exists and is populated for the
484
428
  * requested user index.
485
429
  *
486
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.1
430
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.1
487
431
  */
488
432
  credentialExists: TlvField(0, TlvBoolean),
489
433
  /**
@@ -491,7 +435,7 @@ var DoorLock;
491
435
  * CredentialType requested was ProgrammingPIN then UserIndex shall be null; otherwise, UserIndex shall be null
492
436
  * if CredentialExists is set to False and shall NOT be null if CredentialExists is set to True.
493
437
  *
494
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.2
438
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.2
495
439
  */
496
440
  userIndex: TlvField(1, TlvNullable(TlvUInt16.bound({ min: 1 }))),
497
441
  /**
@@ -500,7 +444,7 @@ var DoorLock;
500
444
  * credential was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be
501
445
  * set to 0 if the original creator fabric was deleted.
502
446
  *
503
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.3
447
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.3
504
448
  */
505
449
  creatorFabricIndex: TlvField(2, TlvNullable(TlvFabricIndex)),
506
450
  /**
@@ -509,19 +453,39 @@ var DoorLock;
509
453
  * credential was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be
510
454
  * set to 0 if the last modifier fabric was deleted.
511
455
  *
512
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.4
456
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.4
513
457
  */
514
458
  lastModifiedFabricIndex: TlvField(3, TlvNullable(TlvFabricIndex)),
515
459
  /**
516
460
  * This field shall indicate the next occupied index in the database for the credential type requested, which
517
461
  * is useful for quickly identifying occupied credential slots in the database. This shall NOT be null if there
518
- * is at least one occupied entry after the requested credential index in the corresponding database and shall
519
- * be null if there are no more occupied entries. The NextCredentialIndex reported shall NOT exceed the maximum
520
- * number of credentials for a particular credential type.
462
+ * is at least one occupied entry after the requested credential index in the corresponding
463
+ *
464
+ * database and shall be null if there are no more occupied entries. The NextCredentialIndex reported shall NOT
465
+ * exceed the maximum number of credentials for a particular credential type.
466
+ *
467
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.5
468
+ */
469
+ nextCredentialIndex: TlvOptionalField(4, TlvNullable(TlvUInt16)),
470
+ /**
471
+ * This field shall indicate the credential data for the requested user index.
472
+ *
473
+ * If the CredentialType in the GetCredentialStatus command was not AliroCredentialIssuerKey,
474
+ * AliroEvictableEndpointKey, or AliroNonEvictableEndpointKey, this field shall NOT be included.
475
+ *
476
+ * Otherwise, if CredentialExists is false this field shall be null.
521
477
  *
522
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.5
478
+ * Otherwise, the value of this field shall be the value of the relevant credential, as a 65-byte uncompressed
479
+ * elliptic curve public key as defined in section 2.3.3 of SEC 1.
480
+ *
481
+ * NOTE
482
+ *
483
+ * Since the Aliro credentials are public keys, there is no security risk in allowing them to be read.
484
+ * Possession of the credential octet string does not allow operating the lock.
485
+ *
486
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.6
523
487
  */
524
- nextCredentialIndex: TlvOptionalField(4, TlvNullable(TlvUInt16))
488
+ credentialData: TlvOptionalField(5, TlvNullable(TlvByteString))
525
489
  });
526
490
  DoorLock2.TlvClearCredentialRequest = TlvObject({
527
491
  /**
@@ -529,7 +493,7 @@ var DoorLock;
529
493
  * index (0xFFFE for all credentials or 0 if not applicable) to clear. This shall be null if clearing all
530
494
  * credential types otherwise it shall NOT be null.
531
495
  *
532
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.44.1
496
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.1
533
497
  */
534
498
  credential: TlvField(0, TlvNullable(DoorLock2.TlvCredential))
535
499
  });
@@ -546,6 +510,9 @@ var DoorLock;
546
510
  LockDataType2[LockDataType2["Fingerprint"] = 8] = "Fingerprint";
547
511
  LockDataType2[LockDataType2["FingerVein"] = 9] = "FingerVein";
548
512
  LockDataType2[LockDataType2["Face"] = 10] = "Face";
513
+ LockDataType2[LockDataType2["AliroCredentialIssuerKey"] = 11] = "AliroCredentialIssuerKey";
514
+ LockDataType2[LockDataType2["AliroEvictableEndpointKey"] = 12] = "AliroEvictableEndpointKey";
515
+ LockDataType2[LockDataType2["AliroNonEvictableEndpointKey"] = 13] = "AliroNonEvictableEndpointKey";
549
516
  })(LockDataType = DoorLock2.LockDataType || (DoorLock2.LockDataType = {}));
550
517
  let OperationSource;
551
518
  ((OperationSource2) => {
@@ -559,6 +526,7 @@ var DoorLock;
559
526
  OperationSource2[OperationSource2["Remote"] = 7] = "Remote";
560
527
  OperationSource2[OperationSource2["Rfid"] = 8] = "Rfid";
561
528
  OperationSource2[OperationSource2["Biometric"] = 9] = "Biometric";
529
+ OperationSource2[OperationSource2["Aliro"] = 10] = "Aliro";
562
530
  })(OperationSource = DoorLock2.OperationSource || (DoorLock2.OperationSource = {}));
563
531
  DoorLock2.TlvLockUserChangeEvent = TlvObject({
564
532
  /**
@@ -647,33 +615,38 @@ var DoorLock;
647
615
  /**
648
616
  * This field shall indicate the index of the Week Day schedule.
649
617
  *
650
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.1
618
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.1
651
619
  */
652
620
  weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
653
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
621
+ /**
622
+ * This field shall indicate the user ID.
623
+ *
624
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.2
625
+ */
626
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
654
627
  /**
655
628
  * This field shall indicate which week days the schedule is active.
656
629
  *
657
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.3
630
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.3
658
631
  */
659
632
  daysMask: TlvField(2, TlvBitmap(TlvUInt8, DoorLock2.DaysMask)),
660
633
  /**
661
634
  * This field shall indicate the starting hour for the Week Day schedule.
662
635
  *
663
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.4
636
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.4
664
637
  */
665
638
  startHour: TlvField(3, TlvUInt8.bound({ max: 23 })),
666
639
  /**
667
640
  * This field shall indicate the starting minute for the Week Day schedule.
668
641
  *
669
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.5
642
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.5
670
643
  */
671
644
  startMinute: TlvField(4, TlvUInt8.bound({ max: 59 })),
672
645
  /**
673
646
  * This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater
674
647
  * than StartHour.
675
648
  *
676
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.6
649
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.6
677
650
  */
678
651
  endHour: TlvField(5, TlvUInt8.bound({ max: 23 })),
679
652
  /**
@@ -683,22 +656,27 @@ var DoorLock;
683
656
  * If the EndHour is equal to 23 and the EndMinute is equal to 59 the Lock shall grant access to the user up
684
657
  * until 23:59:59.
685
658
  *
686
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.7
659
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.7
687
660
  */
688
661
  endMinute: TlvField(6, TlvUInt8.bound({ max: 59 }))
689
662
  });
690
663
  DoorLock2.TlvGetWeekDayScheduleRequest = TlvObject({
691
664
  weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
692
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
665
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
693
666
  });
694
667
  DoorLock2.TlvGetWeekDayScheduleResponse = TlvObject({
695
668
  /**
696
669
  * This field shall indicate the index of the Week Day schedule.
697
670
  *
698
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.1
671
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.1
699
672
  */
700
673
  weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
701
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
674
+ /**
675
+ * This field shall indicate the user ID.
676
+ *
677
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.2
678
+ */
679
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
702
680
  /**
703
681
  * Status shall be one of the following values:
704
682
  *
@@ -713,34 +691,34 @@ var DoorLock;
713
691
  * If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
714
692
  * values, only the fields up to the status field shall be present.
715
693
  *
716
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.3
694
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.3
717
695
  */
718
696
  status: TlvField(2, TlvEnum()),
719
697
  daysMask: TlvOptionalField(3, TlvBitmap(TlvUInt8, DoorLock2.DaysMask)),
720
698
  /**
721
699
  * This field shall indicate the starting hour for the Week Day schedule.
722
700
  *
723
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.4
701
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.4
724
702
  */
725
703
  startHour: TlvOptionalField(4, TlvUInt8.bound({ max: 23 })),
726
704
  /**
727
705
  * This field shall indicate the starting minute for the Week Day schedule.
728
706
  *
729
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.5
707
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.5
730
708
  */
731
709
  startMinute: TlvOptionalField(5, TlvUInt8.bound({ max: 59 })),
732
710
  /**
733
711
  * This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater
734
712
  * than StartHour.
735
713
  *
736
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.6
714
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.6
737
715
  */
738
716
  endHour: TlvOptionalField(6, TlvUInt8.bound({ max: 23 })),
739
717
  /**
740
718
  * This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then
741
719
  * EndMinute shall be greater than StartMinute.
742
720
  *
743
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.7
721
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.7
744
722
  */
745
723
  endMinute: TlvOptionalField(7, TlvUInt8.bound({ max: 59 }))
746
724
  });
@@ -749,24 +727,34 @@ var DoorLock;
749
727
  * This field shall indicate the Week Day schedule index to clear or 0xFE to clear all Week Day schedules for
750
728
  * the specified user.
751
729
  *
752
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17.1
730
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15.1
753
731
  */
754
732
  weekDayIndex: TlvField(0, TlvUInt8),
755
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
733
+ /**
734
+ * This field shall indicate the user ID.
735
+ *
736
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15.2
737
+ */
738
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
756
739
  });
757
740
  DoorLock2.TlvSetYearDayScheduleRequest = TlvObject({
758
741
  /**
759
742
  * This field shall indicate the index of the Year Day schedule.
760
743
  *
761
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.1
744
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.1
762
745
  */
763
746
  yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
764
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
747
+ /**
748
+ * This field shall indicate the user ID.
749
+ *
750
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.2
751
+ */
752
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
765
753
  /**
766
754
  * This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local
767
755
  * time offset based on the local timezone and DST offset on the day represented by the value.
768
756
  *
769
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.3
757
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.3
770
758
  */
771
759
  localStartTime: TlvField(2, TlvEpochS),
772
760
  /**
@@ -774,22 +762,27 @@ var DoorLock;
774
762
  * offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
775
763
  * greater than LocalStartTime.
776
764
  *
777
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.4
765
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.4
778
766
  */
779
767
  localEndTime: TlvField(3, TlvEpochS)
780
768
  });
781
769
  DoorLock2.TlvGetYearDayScheduleRequest = TlvObject({
782
770
  yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
783
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
771
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
784
772
  });
785
773
  DoorLock2.TlvGetYearDayScheduleResponse = TlvObject({
786
774
  /**
787
775
  * This field shall indicate the index of the Year Day schedule.
788
776
  *
789
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.1
777
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.1
790
778
  */
791
779
  yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
792
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
780
+ /**
781
+ * This field shall indicate the user ID.
782
+ *
783
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.2
784
+ */
785
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
793
786
  /**
794
787
  * Status shall be one of the following values:
795
788
  *
@@ -804,7 +797,7 @@ var DoorLock;
804
797
  * If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
805
798
  * values, only the fields up to the status field shall be present.
806
799
  *
807
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.3
800
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.3
808
801
  */
809
802
  status: TlvField(2, TlvEnum()),
810
803
  /**
@@ -812,7 +805,7 @@ var DoorLock;
812
805
  * time offset based on the local timezone and DST offset on the day represented by the value. This shall be
813
806
  * null if the schedule is not set for the YearDayIndex and UserIndex provided.
814
807
  *
815
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.4
808
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.4
816
809
  */
817
810
  localStartTime: TlvOptionalField(2, TlvEpochS),
818
811
  /**
@@ -821,7 +814,7 @@ var DoorLock;
821
814
  * greater than LocalStartTime. This shall be null if the schedule is not set for the YearDayIndex and
822
815
  * UserIndex provided.
823
816
  *
824
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.5
817
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.5
825
818
  */
826
819
  localEndTime: TlvOptionalField(3, TlvEpochS)
827
820
  });
@@ -830,10 +823,15 @@ var DoorLock;
830
823
  * This field shall indicate the Year Day schedule index to clear or 0xFE to clear all Year Day schedules for
831
824
  * the specified user.
832
825
  *
833
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21.1
826
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19.1
834
827
  */
835
828
  yearDayIndex: TlvField(0, TlvUInt8),
836
- userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
829
+ /**
830
+ * This field shall indicate the user ID.
831
+ *
832
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19.2
833
+ */
834
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
837
835
  });
838
836
  let OperatingMode;
839
837
  ((OperatingMode2) => {
@@ -847,14 +845,14 @@ var DoorLock;
847
845
  /**
848
846
  * This field shall indicate the index of the Holiday schedule.
849
847
  *
850
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.1
848
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.1
851
849
  */
852
850
  holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
853
851
  /**
854
852
  * This field shall indicate the starting time for the Holiday Day schedule in Epoch Time in Seconds with local
855
853
  * time offset based on the local timezone and DST offset on the day represented by the value.
856
854
  *
857
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.2
855
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.2
858
856
  */
859
857
  localStartTime: TlvField(1, TlvEpochS),
860
858
  /**
@@ -862,13 +860,13 @@ var DoorLock;
862
860
  * time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime
863
861
  * shall be greater than LocalStartTime.
864
862
  *
865
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.3
863
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.3
866
864
  */
867
865
  localEndTime: TlvField(2, TlvEpochS),
868
866
  /**
869
867
  * This field shall indicate the operating mode to use during this Holiday schedule start/end time.
870
868
  *
871
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.4
869
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.4
872
870
  */
873
871
  operatingMode: TlvField(3, TlvEnum())
874
872
  });
@@ -877,7 +875,7 @@ var DoorLock;
877
875
  /**
878
876
  * This field shall indicate the index of the Holiday schedule.
879
877
  *
880
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.1
878
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.1
881
879
  */
882
880
  holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
883
881
  /**
@@ -895,7 +893,7 @@ var DoorLock;
895
893
  * If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
896
894
  * values, only the fields up to the status field shall be present.
897
895
  *
898
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.2
896
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.2
899
897
  */
900
898
  status: TlvField(1, TlvEnum()),
901
899
  /**
@@ -903,7 +901,7 @@ var DoorLock;
903
901
  * time offset based on the local timezone and DST offset on the day represented by the value. This shall be
904
902
  * null if the schedule is not set for the HolidayIndex provided.
905
903
  *
906
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.3
904
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.3
907
905
  */
908
906
  localStartTime: TlvOptionalField(2, TlvNullable(TlvEpochS)),
909
907
  /**
@@ -911,14 +909,14 @@ var DoorLock;
911
909
  * offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
912
910
  * greater than LocalStartTime. This shall be null if the schedule is not set for the HolidayIndex provided.
913
911
  *
914
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.4
912
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.4
915
913
  */
916
914
  localEndTime: TlvOptionalField(3, TlvNullable(TlvEpochS)),
917
915
  /**
918
916
  * This field shall indicate the operating mode to use during this Holiday schedule start/end time. This shall
919
917
  * be null if the schedule is not set for the HolidayIndex provided.
920
918
  *
921
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.5
919
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.5
922
920
  */
923
921
  operatingMode: TlvOptionalField(4, TlvNullable(TlvEnum()))
924
922
  });
@@ -926,7 +924,7 @@ var DoorLock;
926
924
  /**
927
925
  * This field shall indicate the Holiday schedule index to clear or 0xFE to clear all Holiday schedules.
928
926
  *
929
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25.1
927
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23.1
930
928
  */
931
929
  holidayIndex: TlvField(0, TlvUInt8)
932
930
  });
@@ -935,14 +933,14 @@ var DoorLock;
935
933
  * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
936
934
  * NumberOfPINUsersSupported attribute.
937
935
  *
938
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6.1
936
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4.1
939
937
  */
940
938
  userId: TlvField(0, TlvUInt16),
941
939
  /**
942
940
  * This field shall indicate the user status. Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled)
943
941
  * are allowed for UserStatus.
944
942
  *
945
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6.2
943
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4.2
946
944
  */
947
945
  userStatus: TlvField(1, TlvNullable(TlvEnum())),
948
946
  userType: TlvField(2, TlvNullable(TlvEnum())),
@@ -953,7 +951,7 @@ var DoorLock;
953
951
  * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
954
952
  * NumberOfPINUsersSupported attribute.
955
953
  *
956
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7.1
954
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.1
957
955
  */
958
956
  userId: TlvField(0, TlvUInt16)
959
957
  });
@@ -968,301 +966,50 @@ var DoorLock;
968
966
  * This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall be
969
967
  * cleared.
970
968
  *
971
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.1
969
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7.1
972
970
  */
973
971
  pinSlotIndex: TlvField(0, TlvUInt16)
974
972
  });
975
- DoorLock2.EventMask = {
976
- /**
977
- * State of bit 0
978
- */
979
- bit0: BitFlag(0),
980
- /**
981
- * State of bit 1
982
- */
983
- bit1: BitFlag(1),
984
- /**
985
- * State of bit 2
986
- */
987
- bit2: BitFlag(2),
988
- /**
989
- * State of bit 3
990
- */
991
- bit3: BitFlag(3),
992
- /**
993
- * State of bit 4
994
- */
995
- bit4: BitFlag(4),
996
- /**
997
- * State of bit 5
998
- */
999
- bit5: BitFlag(5),
1000
- /**
1001
- * State of bit 6
1002
- */
1003
- bit6: BitFlag(6),
1004
- /**
1005
- * State of bit 7
1006
- */
1007
- bit7: BitFlag(7),
1008
- /**
1009
- * State of bit 8
1010
- */
1011
- bit8: BitFlag(8),
1012
- /**
1013
- * State of bit 9
1014
- */
1015
- bit9: BitFlag(9),
1016
- /**
1017
- * State of bit 10
1018
- */
1019
- bit10: BitFlag(10),
1020
- /**
1021
- * State of bit 11
1022
- */
1023
- bit11: BitFlag(11),
1024
- /**
1025
- * State of bit 12
1026
- */
1027
- bit12: BitFlag(12),
1028
- /**
1029
- * State of bit 13
1030
- */
1031
- bit13: BitFlag(13),
1032
- /**
1033
- * State of bit 14
1034
- */
1035
- bit14: BitFlag(14),
1036
- /**
1037
- * State of bit 15
1038
- */
1039
- bit15: BitFlag(15)
1040
- };
1041
- DoorLock2.KeypadProgrammingEventMask = {
1042
- unknown: BitFlag(0),
1043
- pinCodeChanged: BitFlag(1),
1044
- pinAdded: BitFlag(2),
1045
- pinCleared: BitFlag(3),
1046
- pinChanged: BitFlag(4),
1047
- /**
1048
- * State of bit 0
1049
- */
1050
- bit0: BitFlag(0),
1051
- /**
1052
- * State of bit 1
1053
- */
1054
- bit1: BitFlag(1),
1055
- /**
1056
- * State of bit 2
1057
- */
1058
- bit2: BitFlag(2),
1059
- /**
1060
- * State of bit 3
1061
- */
1062
- bit3: BitFlag(3),
1063
- /**
1064
- * State of bit 4
1065
- */
1066
- bit4: BitFlag(4),
1067
- /**
1068
- * State of bit 5
1069
- */
1070
- bit5: BitFlag(5),
1071
- /**
1072
- * State of bit 6
1073
- */
1074
- bit6: BitFlag(6),
1075
- /**
1076
- * State of bit 7
1077
- */
1078
- bit7: BitFlag(7),
1079
- /**
1080
- * State of bit 8
1081
- */
1082
- bit8: BitFlag(8),
1083
- /**
1084
- * State of bit 9
1085
- */
1086
- bit9: BitFlag(9),
1087
- /**
1088
- * State of bit 10
1089
- */
1090
- bit10: BitFlag(10),
1091
- /**
1092
- * State of bit 11
1093
- */
1094
- bit11: BitFlag(11),
973
+ DoorLock2.TlvSetAliroReaderConfigRequest = TlvObject({
1095
974
  /**
1096
- * State of bit 12
1097
- */
1098
- bit12: BitFlag(12),
1099
- /**
1100
- * State of bit 13
1101
- */
1102
- bit13: BitFlag(13),
1103
- /**
1104
- * State of bit 14
1105
- */
1106
- bit14: BitFlag(14),
1107
- /**
1108
- * State of bit 15
1109
- */
1110
- bit15: BitFlag(15)
1111
- };
1112
- DoorLock2.RemoteProgrammingEventMask = {
1113
- unknown: BitFlag(0),
1114
- pinAdded: BitFlag(2),
1115
- pinCleared: BitFlag(3),
1116
- pinChanged: BitFlag(4),
1117
- rfidCodeAdded: BitFlag(5),
1118
- rfidCodeCleared: BitFlag(6),
1119
- /**
1120
- * State of bit 0
1121
- */
1122
- bit0: BitFlag(0),
1123
- /**
1124
- * State of bit 1
1125
- */
1126
- bit1: BitFlag(1),
1127
- /**
1128
- * State of bit 2
1129
- */
1130
- bit2: BitFlag(2),
1131
- /**
1132
- * State of bit 3
1133
- */
1134
- bit3: BitFlag(3),
1135
- /**
1136
- * State of bit 4
1137
- */
1138
- bit4: BitFlag(4),
1139
- /**
1140
- * State of bit 5
1141
- */
1142
- bit5: BitFlag(5),
1143
- /**
1144
- * State of bit 6
1145
- */
1146
- bit6: BitFlag(6),
1147
- /**
1148
- * State of bit 7
1149
- */
1150
- bit7: BitFlag(7),
1151
- /**
1152
- * State of bit 8
1153
- */
1154
- bit8: BitFlag(8),
1155
- /**
1156
- * State of bit 9
1157
- */
1158
- bit9: BitFlag(9),
1159
- /**
1160
- * State of bit 10
1161
- */
1162
- bit10: BitFlag(10),
1163
- /**
1164
- * State of bit 11
1165
- */
1166
- bit11: BitFlag(11),
1167
- /**
1168
- * State of bit 12
1169
- */
1170
- bit12: BitFlag(12),
1171
- /**
1172
- * State of bit 13
1173
- */
1174
- bit13: BitFlag(13),
1175
- /**
1176
- * State of bit 14
1177
- */
1178
- bit14: BitFlag(14),
1179
- /**
1180
- * State of bit 15
1181
- */
1182
- bit15: BitFlag(15)
1183
- };
1184
- DoorLock2.RfidProgrammingEventMask = {
1185
- unknown: BitFlag(0),
1186
- idAdded: BitFlag(5),
1187
- idCleared: BitFlag(6),
1188
- /**
1189
- * State of bit 0
1190
- */
1191
- bit0: BitFlag(0),
1192
- /**
1193
- * State of bit 1
1194
- */
1195
- bit1: BitFlag(1),
1196
- /**
1197
- * State of bit 2
1198
- */
1199
- bit2: BitFlag(2),
1200
- /**
1201
- * State of bit 3
1202
- */
1203
- bit3: BitFlag(3),
1204
- /**
1205
- * State of bit 4
1206
- */
1207
- bit4: BitFlag(4),
1208
- /**
1209
- * State of bit 5
1210
- */
1211
- bit5: BitFlag(5),
1212
- /**
1213
- * State of bit 6
1214
- */
1215
- bit6: BitFlag(6),
1216
- /**
1217
- * State of bit 7
1218
- */
1219
- bit7: BitFlag(7),
1220
- /**
1221
- * State of bit 8
1222
- */
1223
- bit8: BitFlag(8),
1224
- /**
1225
- * State of bit 9
1226
- */
1227
- bit9: BitFlag(9),
1228
- /**
1229
- * State of bit 10
1230
- */
1231
- bit10: BitFlag(10),
1232
- /**
1233
- * State of bit 11
1234
- */
1235
- bit11: BitFlag(11),
1236
- /**
1237
- * State of bit 12
975
+ * This field shall indicate the signing key component of the Reader’s key pair.
976
+ *
977
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.1
1238
978
  */
1239
- bit12: BitFlag(12),
979
+ signingKey: TlvField(0, TlvByteString.bound({ length: 32 })),
1240
980
  /**
1241
- * State of bit 13
981
+ * This field shall indicate the verification key component of the Reader’s key pair. This shall be an
982
+ * uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.
983
+ *
984
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.2
1242
985
  */
1243
- bit13: BitFlag(13),
986
+ verificationKey: TlvField(1, TlvByteString.bound({ length: 65 })),
1244
987
  /**
1245
- * State of bit 14
988
+ * This field shall indicate the reader group identifier for the lock.
989
+ *
990
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.3
1246
991
  */
1247
- bit14: BitFlag(14),
992
+ groupIdentifier: TlvField(2, TlvByteString.bound({ length: 16 })),
1248
993
  /**
1249
- * State of bit 15
994
+ * This field shall indicate the group resolving key for the lock.
995
+ *
996
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.4
1250
997
  */
1251
- bit15: BitFlag(15)
1252
- };
998
+ groupResolvingKey: TlvOptionalField(3, TlvByteString.bound({ length: 16 }))
999
+ });
1253
1000
  DoorLock2.TlvSetUserStatusRequest = TlvObject({
1254
1001
  /**
1255
1002
  * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
1256
1003
  * NumberOfPINUsersSupported attribute.
1257
1004
  *
1258
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.1
1005
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.1
1259
1006
  */
1260
1007
  userId: TlvField(0, TlvUInt16),
1261
1008
  /**
1262
1009
  * UserStatus value of Available is not allowed. In order to clear a user id, the ClearUser Command shall be
1263
1010
  * used. For user status value please refer to UserStatusEnum.
1264
1011
  *
1265
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.2
1012
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.2
1266
1013
  */
1267
1014
  userStatus: TlvField(1, TlvEnum())
1268
1015
  });
@@ -1271,7 +1018,7 @@ var DoorLock;
1271
1018
  * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
1272
1019
  * NumberOfPINUsersSupported attribute.
1273
1020
  *
1274
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.1
1021
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10.1
1275
1022
  */
1276
1023
  userId: TlvField(0, TlvUInt16)
1277
1024
  });
@@ -1279,13 +1026,13 @@ var DoorLock;
1279
1026
  /**
1280
1027
  * This field shall indicate the user ID provided in the request.
1281
1028
  *
1282
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13.1
1029
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.1
1283
1030
  */
1284
1031
  userId: TlvField(0, TlvUInt16),
1285
1032
  /**
1286
1033
  * This field shall indicate the current status of the requested user ID.
1287
1034
  *
1288
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13.2
1035
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.2
1289
1036
  */
1290
1037
  userStatus: TlvField(1, TlvEnum())
1291
1038
  });
@@ -1293,19 +1040,13 @@ var DoorLock;
1293
1040
  /**
1294
1041
  * This field shall indicate the user ID.
1295
1042
  *
1296
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26.1
1043
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.1
1297
1044
  */
1298
1045
  userId: TlvField(0, TlvUInt16),
1299
1046
  /**
1300
1047
  * This field shall indicate the user type.
1301
1048
  *
1302
- * If UserType is currently YearDayScheduleUser, WeekDayScheduleUser, or ScheduleRestrictedUser and the new
1303
- * UserType is UnrestrictedUser then all existing Year Day and/or Week Day schedules shall be ignored or
1304
- * disabled (if this transition is supported by the door lock). If UserType is ScheduleRestrictedUser and the
1305
- * new UserType is ScheduleRestrictedUser then all existing Year Day and/or Week Day schedules shall be applied
1306
- * or enabled.
1307
- *
1308
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26.2
1049
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.2
1309
1050
  */
1310
1051
  userType: TlvField(1, TlvEnum())
1311
1052
  });
@@ -1320,7 +1061,7 @@ var DoorLock;
1320
1061
  *
1321
1062
  * The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.
1322
1063
  *
1323
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29.1
1064
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27.1
1324
1065
  */
1325
1066
  userId: TlvField(0, TlvUInt16),
1326
1067
  /**
@@ -1329,13 +1070,13 @@ var DoorLock;
1329
1070
  *
1330
1071
  * Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.
1331
1072
  *
1332
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29.2
1073
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27.2
1333
1074
  */
1334
1075
  userStatus: TlvField(1, TlvNullable(TlvEnum())),
1335
1076
  /**
1336
1077
  * The values are the same as used for SetPINCode command.
1337
1078
  *
1338
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29.3
1079
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27.3
1339
1080
  */
1340
1081
  userType: TlvField(2, TlvNullable(TlvEnum())),
1341
1082
  rfidCode: TlvField(3, TlvByteString)
@@ -1346,7 +1087,7 @@ var DoorLock;
1346
1087
  *
1347
1088
  * The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.
1348
1089
  *
1349
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30.1
1090
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.28.1
1350
1091
  */
1351
1092
  userId: TlvField(0, TlvUInt16)
1352
1093
  });
@@ -1361,7 +1102,7 @@ var DoorLock;
1361
1102
  * This field shall indicate a valid RFID code slot index or 0xFFFE to indicate all RFID code slots shall be
1362
1103
  * cleared.
1363
1104
  *
1364
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.1
1105
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30.1
1365
1106
  */
1366
1107
  rfidSlotIndex: TlvField(0, TlvUInt16)
1367
1108
  });
@@ -1369,7 +1110,7 @@ var DoorLock;
1369
1110
  /**
1370
1111
  * See PINCode field.
1371
1112
  *
1372
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.45.1
1113
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.1
1373
1114
  */
1374
1115
  pinCode: TlvOptionalField(0, TlvByteString)
1375
1116
  });
@@ -1563,10 +1304,6 @@ var DoorLock;
1563
1304
  * Lock Reset to Factory Defaults
1564
1305
  */
1565
1306
  lockFactoryReset: BitFlag(1),
1566
- /**
1567
- * Reserved
1568
- */
1569
- na: BitFlag(2),
1570
1307
  /**
1571
1308
  * RF Module Power Cycled
1572
1309
  */
@@ -1753,35 +1490,12 @@ var DoorLock;
1753
1490
  */
1754
1491
  credentials: TlvOptionalField(6, TlvNullable(TlvArray(DoorLock2.TlvCredential, { minLength: 1 })))
1755
1492
  });
1756
- let OperationEventCode;
1757
- ((OperationEventCode2) => {
1758
- OperationEventCode2[OperationEventCode2["UnknownOrMfgSpecific"] = 0] = "UnknownOrMfgSpecific";
1759
- OperationEventCode2[OperationEventCode2["Lock"] = 1] = "Lock";
1760
- OperationEventCode2[OperationEventCode2["Unlock"] = 2] = "Unlock";
1761
- OperationEventCode2[OperationEventCode2["LockFailureInvalidPiNorRfid"] = 3] = "LockFailureInvalidPiNorRfid";
1762
- OperationEventCode2[OperationEventCode2["LockFailureInvalidSchedule"] = 4] = "LockFailureInvalidSchedule";
1763
- OperationEventCode2[OperationEventCode2["UnlockFailureInvalidPiNorRfid"] = 5] = "UnlockFailureInvalidPiNorRfid";
1764
- OperationEventCode2[OperationEventCode2["UnlockFailureInvalidSchedule"] = 6] = "UnlockFailureInvalidSchedule";
1765
- OperationEventCode2[OperationEventCode2["OneTouchLock"] = 7] = "OneTouchLock";
1766
- OperationEventCode2[OperationEventCode2["KeyLock"] = 8] = "KeyLock";
1767
- OperationEventCode2[OperationEventCode2["KeyUnlock"] = 9] = "KeyUnlock";
1768
- OperationEventCode2[OperationEventCode2["AutoLock"] = 10] = "AutoLock";
1769
- OperationEventCode2[OperationEventCode2["ScheduleLock"] = 11] = "ScheduleLock";
1770
- OperationEventCode2[OperationEventCode2["ScheduleUnlock"] = 12] = "ScheduleUnlock";
1771
- OperationEventCode2[OperationEventCode2["ManualLock"] = 13] = "ManualLock";
1772
- OperationEventCode2[OperationEventCode2["ManualUnlock"] = 14] = "ManualUnlock";
1773
- OperationEventCode2[OperationEventCode2["NonAccessUserOperationEvent"] = 15] = "NonAccessUserOperationEvent";
1774
- })(OperationEventCode = DoorLock2.OperationEventCode || (DoorLock2.OperationEventCode = {}));
1775
- let ProgrammingEventCode;
1776
- ((ProgrammingEventCode2) => {
1777
- ProgrammingEventCode2[ProgrammingEventCode2["UnknownOrMfgSpecific"] = 0] = "UnknownOrMfgSpecific";
1778
- ProgrammingEventCode2[ProgrammingEventCode2["ProgrammingCodeChanged"] = 1] = "ProgrammingCodeChanged";
1779
- ProgrammingEventCode2[ProgrammingEventCode2["PinCodeAdded"] = 2] = "PinCodeAdded";
1780
- ProgrammingEventCode2[ProgrammingEventCode2["PinCodeCleared"] = 3] = "PinCodeCleared";
1781
- ProgrammingEventCode2[ProgrammingEventCode2["PinCodeChanged"] = 4] = "PinCodeChanged";
1782
- ProgrammingEventCode2[ProgrammingEventCode2["RfidCodeAdded"] = 5] = "RfidCodeAdded";
1783
- ProgrammingEventCode2[ProgrammingEventCode2["RfidCodeCleared"] = 6] = "RfidCodeCleared";
1784
- })(ProgrammingEventCode = DoorLock2.ProgrammingEventCode || (DoorLock2.ProgrammingEventCode = {}));
1493
+ let EventType;
1494
+ ((EventType2) => {
1495
+ EventType2[EventType2["Operation"] = 0] = "Operation";
1496
+ EventType2[EventType2["Programming"] = 1] = "Programming";
1497
+ EventType2[EventType2["Alarm"] = 2] = "Alarm";
1498
+ })(EventType = DoorLock2.EventType || (DoorLock2.EventType = {}));
1785
1499
  let StatusCode;
1786
1500
  ((StatusCode2) => {
1787
1501
  StatusCode2[StatusCode2["Duplicate"] = 2] = "Duplicate";
@@ -1794,75 +1508,36 @@ var DoorLock;
1794
1508
  *
1795
1509
  * Null only if an internal error prevents the retrieval of the current door state.
1796
1510
  *
1797
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.5
1511
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.4
1798
1512
  */
1799
1513
  doorState: Attribute(3, TlvNullable(TlvEnum())),
1800
1514
  /**
1801
1515
  * This attribute shall hold the number of door open events that have occurred since it was last zeroed.
1802
1516
  *
1803
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.6
1517
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.5
1804
1518
  */
1805
1519
  doorOpenEvents: OptionalWritableAttribute(4, TlvUInt32, { writeAcl: AccessLevel.Manage }),
1806
1520
  /**
1807
1521
  * This attribute shall hold the number of door closed events that have occurred since it was last zeroed.
1808
1522
  *
1809
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.7
1523
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.6
1810
1524
  */
1811
1525
  doorClosedEvents: OptionalWritableAttribute(5, TlvUInt32, { writeAcl: AccessLevel.Manage }),
1812
1526
  /**
1813
1527
  * This attribute shall hold the number of minutes the door has been open since the last time it
1814
1528
  * transitioned from closed to open.
1815
1529
  *
1816
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.8
1817
- */
1818
- openPeriod: OptionalWritableAttribute(6, TlvUInt16, { writeAcl: AccessLevel.Manage })
1819
- },
1820
- events: {
1821
- /**
1822
- * The door lock server sends out a DoorStateChange event when the door lock door state changes.
1823
- *
1824
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.2
1825
- */
1826
- doorStateChange: Event(1, EventPriority.Critical, DoorLock2.TlvDoorStateChangeEvent)
1827
- }
1828
- });
1829
- DoorLock2.LoggingComponent = MutableCluster.Component({
1830
- attributes: {
1831
- /**
1832
- * Indicates the number of available log records.
1833
- *
1834
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.9
1835
- */
1836
- numberOfLogRecordsSupported: FixedAttribute(16, TlvUInt16, { default: 0 }),
1837
- /**
1838
- * This attribute shall enable/disable event logging.
1839
- *
1840
- * When event logging is enabled, all event messages are stored on the lock for retrieval. Logging events
1841
- * can be, but are not limited to, Tamper Alarm, Lock, Unlock, AutoRelock, User Code Added, User Code
1842
- * Cleared, Schedule Added, and Schedule Cleared. For a full detail of all the possible alarms and events,
1843
- * please refer to the full list in the Alarm and Event Masks Attribute Set.
1844
- *
1845
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.22
1530
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.7
1846
1531
  */
1847
- enableLogging: WritableAttribute(32, TlvBoolean, { default: true, writeAcl: AccessLevel.Administer })
1532
+ openPeriod: OptionalWritableAttribute(6, TlvUInt16, { writeAcl: AccessLevel.Manage })
1848
1533
  },
1849
- commands: {
1534
+ events: {
1850
1535
  /**
1851
- * Request a log record. Log number is between 1 [Number of Log Records Supported attribute]. If log
1852
- * number 0 is requested then the most recent log entry is returned.
1853
- *
1854
- * Log record format: The log record format is defined in the description of the GetLogRecordResponse
1855
- * command.
1536
+ * The door lock server sends out a DoorStateChange event when the door lock door state changes.
1856
1537
  *
1857
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
1538
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.2
1858
1539
  */
1859
- getLogRecord: Command(
1860
- 4,
1861
- DoorLock2.TlvGetLogRecordRequest,
1862
- 4,
1863
- DoorLock2.TlvGetLogRecordResponse,
1864
- { invokeAcl: AccessLevel.Manage }
1865
- )
1540
+ doorStateChange: Event(1, EventPriority.Critical, DoorLock2.TlvDoorStateChangeEvent)
1866
1541
  }
1867
1542
  });
1868
1543
  DoorLock2.UserComponent = MutableCluster.Component({
@@ -1870,14 +1545,14 @@ var DoorLock;
1870
1545
  /**
1871
1546
  * Indicates the number of total users supported by the lock.
1872
1547
  *
1873
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.10
1548
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.8
1874
1549
  */
1875
1550
  numberOfTotalUsersSupported: FixedAttribute(17, TlvUInt16, { default: 0 }),
1876
1551
  /**
1877
1552
  * This attribute shall contain a bitmap with the bits set for the values of CredentialRuleEnum supported
1878
1553
  * on this device.
1879
1554
  *
1880
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.20
1555
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.18
1881
1556
  */
1882
1557
  credentialRulesSupport: FixedAttribute(
1883
1558
  27,
@@ -1895,7 +1570,7 @@ var DoorLock;
1895
1570
  * NumberOfRFIDUsersSupported is set to 3, it will not be possible to actually assign 10 credentials for a
1896
1571
  * user because maximum number of credentials in the database is 8.
1897
1572
  *
1898
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.21
1573
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.19
1899
1574
  */
1900
1575
  numberOfCredentialsSupportedPerUser: FixedAttribute(28, TlvUInt8, { default: 0 }),
1901
1576
  /**
@@ -1903,7 +1578,7 @@ var DoorLock;
1903
1578
  * type ExpiringUser shall remain valid after its first use before expiring. When the credential expires
1904
1579
  * the UserStatus for the corresponding user record shall be set to OccupiedDisabled.
1905
1580
  *
1906
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.39
1581
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.36
1907
1582
  */
1908
1583
  expiringUserTimeout: OptionalWritableAttribute(
1909
1584
  53,
@@ -1930,7 +1605,7 @@ var DoorLock;
1930
1605
  * • INVALID_COMMAND, if one or more fields violate constraints or are invalid or if OperationType is
1931
1606
  * Modify and UserIndex points to an available slot.
1932
1607
  *
1933
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34
1608
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32
1934
1609
  */
1935
1610
  setUser: Command(
1936
1611
  26,
@@ -1947,7 +1622,7 @@ var DoorLock;
1947
1622
  * COMMAND, etc.) as needed otherwise the GetUserResponse Command shall be sent implying a status of
1948
1623
  * SUCCESS.
1949
1624
  *
1950
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35
1625
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.33
1951
1626
  */
1952
1627
  getUser: Command(27, DoorLock2.TlvGetUserRequest, 28, DoorLock2.TlvGetUserResponse, { invokeAcl: AccessLevel.Administer }),
1953
1628
  /**
@@ -1959,7 +1634,7 @@ var DoorLock;
1959
1634
  *
1960
1635
  * A LockUserChange event with the provided UserIndex shall be generated after successfully clearing users.
1961
1636
  *
1962
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37
1637
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35
1963
1638
  */
1964
1639
  clearUser: Command(
1965
1640
  29,
@@ -1974,7 +1649,7 @@ var DoorLock;
1974
1649
  *
1975
1650
  * Fields used for different use cases:
1976
1651
  *
1977
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40
1652
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36
1978
1653
  */
1979
1654
  setCredential: Command(
1980
1655
  34,
@@ -1989,7 +1664,7 @@ var DoorLock;
1989
1664
  * An InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, etc.)
1990
1665
  * as needed otherwise the GetCredentialStatusResponse command shall be sent implying a status of SUCCESS.
1991
1666
  *
1992
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42
1667
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.38
1993
1668
  */
1994
1669
  getCredentialStatus: Command(
1995
1670
  36,
@@ -2005,12 +1680,12 @@ var DoorLock;
2005
1680
  *
2006
1681
  * For each credential cleared whose user doesn’t have another valid credential, the corresponding user
2007
1682
  * record shall be reset back to default values and its UserStatus value shall be set to Available and
2008
- * UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In
1683
+ * UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In this case a
1684
+ * LockUserChange event shall be generated for the user being cleared.
2009
1685
  *
2010
- * this case a LockUserChange event shall be generated for the user being cleared. Return status shall be
2011
- * one of the following values:
1686
+ * Return status shall be one of the following values:
2012
1687
  *
2013
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.44
1688
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40
2014
1689
  */
2015
1690
  clearCredential: Command(
2016
1691
  38,
@@ -2035,19 +1710,19 @@ var DoorLock;
2035
1710
  /**
2036
1711
  * Indicates the number of PIN users supported.
2037
1712
  *
2038
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.11
1713
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.9
2039
1714
  */
2040
1715
  numberOfPinUsersSupported: FixedAttribute(18, TlvUInt16, { default: 0 }),
2041
1716
  /**
2042
1717
  * Indicates the maximum length in bytes of a PIN Code on this device.
2043
1718
  *
2044
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.16
1719
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.14
2045
1720
  */
2046
1721
  maxPinCodeLength: FixedAttribute(23, TlvUInt8),
2047
1722
  /**
2048
1723
  * Indicates the minimum length in bytes of a PIN Code on this device.
2049
1724
  *
2050
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.17
1725
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.15
2051
1726
  */
2052
1727
  minPinCodeLength: FixedAttribute(24, TlvUInt8)
2053
1728
  }
@@ -2057,7 +1732,7 @@ var DoorLock;
2057
1732
  /**
2058
1733
  * Indicates the number of RFID users supported.
2059
1734
  *
2060
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.12
1735
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.10
2061
1736
  */
2062
1737
  numberOfRfidUsersSupported: FixedAttribute(19, TlvUInt16, { default: 0 }),
2063
1738
  /**
@@ -2065,7 +1740,7 @@ var DoorLock;
2065
1740
  * range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a
2066
1741
  * value of 20 (equals 10 Byte ISO 14443A UID) is recommended.
2067
1742
  *
2068
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.18
1743
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.16
2069
1744
  */
2070
1745
  maxRfidCodeLength: FixedAttribute(25, TlvUInt8),
2071
1746
  /**
@@ -2073,7 +1748,7 @@ var DoorLock;
2073
1748
  * range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a
2074
1749
  * value of 8 (equals 4 Byte ISO 14443A UID) is recommended.
2075
1750
  *
2076
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.19
1751
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.17
2077
1752
  */
2078
1753
  minRfidCodeLength: FixedAttribute(26, TlvUInt8)
2079
1754
  }
@@ -2083,23 +1758,24 @@ var DoorLock;
2083
1758
  /**
2084
1759
  * Indicates the number of configurable week day schedule supported per user.
2085
1760
  *
2086
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.13
1761
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.11
2087
1762
  */
2088
- numberOfWeekDaySchedulesSupportedPerUser: FixedAttribute(20, TlvUInt8, { default: 0 })
1763
+ numberOfWeekDaySchedulesSupportedPerUser: FixedAttribute(
1764
+ 20,
1765
+ TlvUInt8.bound({ max: 253 }),
1766
+ { default: 0 }
1767
+ )
2089
1768
  },
2090
1769
  commands: {
2091
1770
  /**
2092
1771
  * Set a weekly repeating schedule for a specified user.
2093
1772
  *
2094
- * † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
2095
- * respectively.
2096
- *
2097
1773
  * The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day schedule is
2098
1774
  * set.
2099
1775
  *
2100
1776
  * Return status shall be one of the following values:
2101
1777
  *
2102
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14
1778
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12
2103
1779
  */
2104
1780
  setWeekDaySchedule: Command(
2105
1781
  11,
@@ -2111,10 +1787,7 @@ var DoorLock;
2111
1787
  /**
2112
1788
  * Retrieve the specific weekly schedule for the specific user.
2113
1789
  *
2114
- * The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
2115
- * respectively.
2116
- *
2117
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
1790
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13
2118
1791
  */
2119
1792
  getWeekDaySchedule: Command(
2120
1793
  12,
@@ -2126,12 +1799,9 @@ var DoorLock;
2126
1799
  /**
2127
1800
  * Clear the specific weekly schedule or all weekly schedules for the specific user.
2128
1801
  *
2129
- * † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
2130
- * respectively.
2131
- *
2132
1802
  * Return status shall be one of the following values:
2133
1803
  *
2134
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17
1804
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
2135
1805
  */
2136
1806
  clearWeekDaySchedule: Command(
2137
1807
  13,
@@ -2147,23 +1817,24 @@ var DoorLock;
2147
1817
  /**
2148
1818
  * Indicates the number of configurable year day schedule supported per user.
2149
1819
  *
2150
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.14
1820
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.12
2151
1821
  */
2152
- numberOfYearDaySchedulesSupportedPerUser: FixedAttribute(21, TlvUInt8, { default: 0 })
1822
+ numberOfYearDaySchedulesSupportedPerUser: FixedAttribute(
1823
+ 21,
1824
+ TlvUInt8.bound({ max: 253 }),
1825
+ { default: 0 }
1826
+ )
2153
1827
  },
2154
1828
  commands: {
2155
1829
  /**
2156
1830
  * Set a time-specific schedule ID for a specified user.
2157
1831
  *
2158
- * † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
2159
- * respectively.
2160
- *
2161
1832
  * The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day schedule is
2162
1833
  * set.
2163
1834
  *
2164
1835
  * Return status shall be one of the following values:
2165
1836
  *
2166
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18
1837
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16
2167
1838
  */
2168
1839
  setYearDaySchedule: Command(
2169
1840
  14,
@@ -2175,10 +1846,7 @@ var DoorLock;
2175
1846
  /**
2176
1847
  * Retrieve the specific year day schedule for the specific schedule and user indexes.
2177
1848
  *
2178
- * The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
2179
- * respectively.
2180
- *
2181
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
1849
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17
2182
1850
  */
2183
1851
  getYearDaySchedule: Command(
2184
1852
  15,
@@ -2190,12 +1858,9 @@ var DoorLock;
2190
1858
  /**
2191
1859
  * Clears the specific year day schedule or all year day schedules for the specific user.
2192
1860
  *
2193
- * † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
2194
- * respectively.
2195
- *
2196
1861
  * Return status shall be one of the following values:
2197
1862
  *
2198
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21
1863
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
2199
1864
  */
2200
1865
  clearYearDaySchedule: Command(
2201
1866
  16,
@@ -2211,19 +1876,18 @@ var DoorLock;
2211
1876
  /**
2212
1877
  * Indicates the number of holiday schedules supported for the entire door lock device.
2213
1878
  *
2214
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.15
1879
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.13
2215
1880
  */
2216
- numberOfHolidaySchedulesSupported: FixedAttribute(22, TlvUInt8, { default: 0 })
1881
+ numberOfHolidaySchedulesSupported: FixedAttribute(22, TlvUInt8.bound({ max: 253 }), { default: 0 })
2217
1882
  },
2218
1883
  commands: {
2219
1884
  /**
2220
1885
  * Set the holiday Schedule by specifying local start time and local end time with respect to any Lock
2221
1886
  * Operating Mode.
2222
1887
  *
2223
- * The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead. Return status shall be
2224
- * one of the following values:
1888
+ * Return status shall be one of the following values:
2225
1889
  *
2226
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22
1890
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20
2227
1891
  */
2228
1892
  setHolidaySchedule: Command(
2229
1893
  17,
@@ -2235,9 +1899,7 @@ var DoorLock;
2235
1899
  /**
2236
1900
  * Get the holiday schedule for the specified index.
2237
1901
  *
2238
- * The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.
2239
- *
2240
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
1902
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21
2241
1903
  */
2242
1904
  getHolidaySchedule: Command(
2243
1905
  18,
@@ -2249,9 +1911,7 @@ var DoorLock;
2249
1911
  /**
2250
1912
  * Clears the holiday schedule or all holiday schedules.
2251
1913
  *
2252
- * The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.
2253
- *
2254
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
1914
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
2255
1915
  */
2256
1916
  clearHolidaySchedule: Command(
2257
1917
  19,
@@ -2276,7 +1936,7 @@ var DoorLock;
2276
1936
  * logic, environmental events, or other reasons. The lock shall reset the counter if a valid credential is
2277
1937
  * presented.
2278
1938
  *
2279
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.35
1939
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.32
2280
1940
  */
2281
1941
  wrongCodeEntryLimit: WritableAttribute(
2282
1942
  48,
@@ -2289,7 +1949,7 @@ var DoorLock;
2289
1949
  * to try and guess a PIN for the device.) If the attribute accepts writes and an attempt to write the
2290
1950
  * attribute to 0 is made, the device shall respond with CONSTRAINT_ERROR.
2291
1951
  *
2292
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.36
1952
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.33
2293
1953
  */
2294
1954
  userCodeTemporaryDisableTime: WritableAttribute(
2295
1955
  49,
@@ -2305,12 +1965,13 @@ var DoorLock;
2305
1965
  * door lock server to send PINs over the air. This attribute determines the behavior of the server’s TX
2306
1966
  * operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.
2307
1967
  *
2308
- * The PIN field within any door lock cluster message shall keep the first octet unchanged and masks the
2309
- * actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True, 0x04 0x31
2310
- * 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the attribute
2311
- * value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.
1968
+ * The PIN field within any door lock cluster message shall keep the first octet unchanged and
2312
1969
  *
2313
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.37
1970
+ * masks the actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True,
1971
+ * 0x04 0x31 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the
1972
+ * attribute value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.
1973
+ *
1974
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.34
2314
1975
  */
2315
1976
  sendPinOverTheAir: OptionalWritableAttribute(
2316
1977
  50,
@@ -2325,7 +1986,7 @@ var DoorLock;
2325
1986
  * Return status is a global status code or a cluster-specific status code from the Status Codes table and
2326
1987
  * shall be one of the following values:
2327
1988
  *
2328
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6
1989
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
2329
1990
  */
2330
1991
  setPinCode: Command(
2331
1992
  5,
@@ -2337,7 +1998,7 @@ var DoorLock;
2337
1998
  /**
2338
1999
  * Retrieve a PIN Code.
2339
2000
  *
2340
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7
2001
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5
2341
2002
  */
2342
2003
  getPinCode: Command(
2343
2004
  6,
@@ -2349,13 +2010,11 @@ var DoorLock;
2349
2010
  /**
2350
2011
  * Clear a PIN code or all PIN codes.
2351
2012
  *
2352
- * † The User ID is an obsolete field name, use PINSlotIndex instead.
2353
- *
2354
2013
  * For each PIN Code cleared whose user doesn’t have a RFID Code or other credential type, then
2355
2014
  * corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be set
2356
2015
  * to UnrestrictedUser and all schedules shall be cleared.
2357
2016
  *
2358
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
2017
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7
2359
2018
  */
2360
2019
  clearPinCode: Command(
2361
2020
  7,
@@ -2372,7 +2031,7 @@ var DoorLock;
2372
2031
  * On the server, the clear all PIN codes command SHOULD have the same effect as the ClearPINCode command
2373
2032
  * with respect to the setting of user status, user type and schedules.
2374
2033
  *
2375
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10
2034
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.8
2376
2035
  */
2377
2036
  clearAllPinCodes: Command(
2378
2037
  8,
@@ -2390,7 +2049,7 @@ var DoorLock;
2390
2049
  * server requires that an optional PINs be included in the payload of remote lock operation events like
2391
2050
  * Lock, Unlock, Unlock with Timeout and Toggle in order to function.
2392
2051
  *
2393
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.38
2052
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.35
2394
2053
  */
2395
2054
  requirePinForRemoteOperation: WritableAttribute(
2396
2055
  51,
@@ -2399,131 +2058,144 @@ var DoorLock;
2399
2058
  )
2400
2059
  }
2401
2060
  });
2402
- DoorLock2.NotificationAndPinCredentialComponent = MutableCluster.Component({
2061
+ DoorLock2.AliroProvisioningComponent = MutableCluster.Component({
2403
2062
  attributes: {
2404
2063
  /**
2405
- * Event mask used to turn on and off the transmission of keypad operation events. This mask DOES NOT apply
2406
- * to the storing of events in the event log. This mask only applies to the Operation Event Notification
2407
- * Command.
2064
+ * Indicates the verification key component of the Reader’s key pair as defined in [Aliro]. The value, if
2065
+ * not null, shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.
2408
2066
  *
2409
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2067
+ * Null if no Reader key pair has been configured on the lock. See SetAliroReaderConfig.
2410
2068
  *
2411
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.41
2069
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.38
2412
2070
  */
2413
- keypadOperationEventMask: OptionalWritableAttribute(
2414
- 65,
2415
- TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2416
- {
2417
- default: BitsFromPartial(DoorLock2.EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2418
- writeAcl: AccessLevel.Administer
2419
- }
2071
+ aliroReaderVerificationKey: Attribute(
2072
+ 128,
2073
+ TlvNullable(TlvByteString.bound({ length: 65 })),
2074
+ { default: null, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2420
2075
  ),
2421
2076
  /**
2422
- * Event mask used to turn on and off keypad programming events. This mask DOES NOT apply to the storing of
2423
- * events in the event log. This mask only applies to the Programming Event Notification Command.
2077
+ * Indicates the reader_group_identifier as defined in [Aliro].
2424
2078
  *
2425
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2079
+ * Null if no reader_group_identifier has been configured on the lock. See SetAliroReaderConfig.
2426
2080
  *
2427
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.45
2081
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.39
2428
2082
  */
2429
- keypadProgrammingEventMask: OptionalWritableAttribute(
2430
- 69,
2431
- TlvBitmap(TlvUInt16, DoorLock2.KeypadProgrammingEventMask),
2432
- {
2433
- default: BitsFromPartial(DoorLock2.KeypadProgrammingEventMask, { unknown: true, pinCodeChanged: true, pinAdded: true, pinCleared: true, pinChanged: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2434
- writeAcl: AccessLevel.Administer
2435
- }
2436
- )
2437
- }
2438
- });
2439
- DoorLock2.NotificationComponent = MutableCluster.Component({
2440
- attributes: {
2083
+ aliroReaderGroupIdentifier: Attribute(
2084
+ 129,
2085
+ TlvNullable(TlvByteString.bound({ length: 16 })),
2086
+ { default: null, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2087
+ ),
2441
2088
  /**
2442
- * Event mask used to turn on and off the transmission of remote operation events. This mask DOES NOT apply
2443
- * to the storing of events in the event log. This mask only applies to the Operation Event Notification
2444
- * Command.
2089
+ * Indicates the reader_group_sub_identifier as defined in [Aliro].
2445
2090
  *
2446
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2091
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.40
2092
+ */
2093
+ aliroReaderGroupSubIdentifier: FixedAttribute(
2094
+ 130,
2095
+ TlvByteString.bound({ length: 16 }),
2096
+ { readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2097
+ ),
2098
+ /**
2099
+ * Indicates the list of protocol versions supported for expedited transactions as defined in [Aliro].
2447
2100
  *
2448
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.42
2101
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.41
2449
2102
  */
2450
- remoteOperationEventMask: OptionalWritableAttribute(
2451
- 66,
2452
- TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2453
- {
2454
- default: BitsFromPartial(DoorLock2.EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2455
- writeAcl: AccessLevel.Administer
2456
- }
2103
+ aliroExpeditedTransactionSupportedProtocolVersions: FixedAttribute(
2104
+ 131,
2105
+ TlvArray(TlvByteString, { maxLength: 16 }),
2106
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2457
2107
  ),
2458
2108
  /**
2459
- * Event mask used to turn on and off manual operation events. This mask DOES NOT apply to the storing of
2460
- * events in the event log. This mask only applies to the Operation Event Notification Command.
2109
+ * Indicates the maximum number of AliroCredentialIssuerKey credentials that can be stored on the lock.
2461
2110
  *
2462
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2111
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.45
2112
+ */
2113
+ numberOfAliroCredentialIssuerKeysSupported: FixedAttribute(135, TlvUInt16, { default: 0 }),
2114
+ /**
2115
+ * Indicates the maximum number of endpoint key credentials that can be stored on the lock. This limit
2116
+ * applies to the sum of the number of AliroEvictableEndpointKey credentials and the number of
2117
+ * AliroNonEvictableEndpointKey credentials.
2463
2118
  *
2464
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.43
2119
+ * NOTE
2120
+ *
2121
+ * The credential indices used for these two credential types are independent of each other, similar to all
2122
+ * other credential types. As long as NumberOfAliroEndpointKeysSupported is at least 2 a client could add a
2123
+ * credential of type AliroEvictableEndpointKey at any index from 1 to NumberOfAliroEndpointKeysSupported
2124
+ * and also add a credential of type AliroNonEvictableEndpointKey at the same index, and both credentials
2125
+ * would exist on the server.
2126
+ *
2127
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.46
2465
2128
  */
2466
- manualOperationEventMask: OptionalWritableAttribute(
2467
- 67,
2468
- TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2469
- {
2470
- default: BitsFromPartial(DoorLock2.EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2471
- writeAcl: AccessLevel.Administer
2472
- }
2129
+ numberOfAliroEndpointKeysSupported: FixedAttribute(136, TlvUInt16, { default: 0 })
2130
+ },
2131
+ commands: {
2132
+ /**
2133
+ * This command allows communicating an Aliro Reader configuration, as defined in [Aliro], to the lock.
2134
+ *
2135
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42
2136
+ */
2137
+ setAliroReaderConfig: Command(
2138
+ 40,
2139
+ DoorLock2.TlvSetAliroReaderConfigRequest,
2140
+ 40,
2141
+ TlvNoResponse,
2142
+ { invokeAcl: AccessLevel.Administer, timed: true }
2473
2143
  ),
2474
2144
  /**
2475
- * Event mask used to turn on and off remote programming events. This mask DOES NOT apply to the storing of
2476
- * events in the event log. This mask only applies to the Programming Event Notification Command.
2145
+ * This command allows clearing an existing Aliro Reader configuration for the lock. Administrators shall
2146
+ * NOT clear an Aliro Reader configuration without explicit user permission.
2477
2147
  *
2478
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2148
+ * NOTE
2479
2149
  *
2480
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.46
2150
+ * Using this command will revoke the ability of all existing Aliro user devices that have the old
2151
+ * verification key to interact with the lock. This effect is not restricted to a single fabric or
2152
+ * otherwise scoped in any way.
2153
+ *
2154
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43
2481
2155
  */
2482
- remoteProgrammingEventMask: OptionalWritableAttribute(
2483
- 70,
2484
- TlvBitmap(TlvUInt16, DoorLock2.RemoteProgrammingEventMask),
2485
- {
2486
- default: BitsFromPartial(DoorLock2.RemoteProgrammingEventMask, { unknown: true, bit1: true, pinAdded: true, pinCleared: true, pinChanged: true, rfidCodeAdded: true, rfidCodeCleared: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2487
- writeAcl: AccessLevel.Administer
2488
- }
2156
+ clearAliroReaderConfig: Command(
2157
+ 41,
2158
+ TlvNoArguments,
2159
+ 41,
2160
+ TlvNoResponse,
2161
+ { invokeAcl: AccessLevel.Administer, timed: true }
2489
2162
  )
2490
2163
  }
2491
2164
  });
2492
- DoorLock2.NotificationAndRfidCredentialComponent = MutableCluster.Component({
2165
+ DoorLock2.AliroBleuwbComponent = MutableCluster.Component({
2493
2166
  attributes: {
2494
2167
  /**
2495
- * Event mask used to turn on and off RFID operation events. This mask DOES NOT apply to the storing of
2496
- * events in the event log. This mask only applies to the Operation Event Notification Command.
2168
+ * Indicates the Group Resolving Key as defined in [Aliro].
2497
2169
  *
2498
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2170
+ * Null if no group resolving key has been configured on the lock. See SetAliroReaderConfig.
2499
2171
  *
2500
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.44
2172
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.42
2501
2173
  */
2502
- rfidOperationEventMask: OptionalWritableAttribute(
2503
- 68,
2504
- TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2505
- {
2506
- default: BitsFromPartial(DoorLock2.EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2507
- writeAcl: AccessLevel.Administer
2508
- }
2174
+ aliroGroupResolvingKey: Attribute(
2175
+ 132,
2176
+ TlvNullable(TlvByteString.bound({ length: 16 })),
2177
+ { default: null, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2509
2178
  ),
2510
2179
  /**
2511
- * Event mask used to turn on and off RFID programming events. This mask DOES NOT apply to the storing of
2512
- * events in the event log. This mask only applies to the Programming Event Notification Command.
2513
- *
2514
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2180
+ * Indicates the list of protocol versions supported for the Bluetooth LE + UWB Access Control Flow as
2181
+ * defined in [Aliro].
2515
2182
  *
2516
- * This mask DOES NOT apply to the Events mechanism of this cluster.
2183
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.43
2184
+ */
2185
+ aliroSupportedBleuwbProtocolVersions: FixedAttribute(
2186
+ 133,
2187
+ TlvArray(TlvByteString, { maxLength: 16 }),
2188
+ { default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2189
+ ),
2190
+ /**
2191
+ * Indicates the version of the Bluetooth LE advertisement as defined in [Aliro].
2517
2192
  *
2518
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.47
2193
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.44
2519
2194
  */
2520
- rfidProgrammingEventMask: OptionalWritableAttribute(
2521
- 71,
2522
- TlvBitmap(TlvUInt16, DoorLock2.RfidProgrammingEventMask),
2523
- {
2524
- default: BitsFromPartial(DoorLock2.RfidProgrammingEventMask, { unknown: true, bit1: true, bit2: true, bit3: true, bit4: true, idAdded: true, idCleared: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
2525
- writeAcl: AccessLevel.Administer
2526
- }
2195
+ aliroBleAdvertisingVersion: FixedAttribute(
2196
+ 134,
2197
+ TlvUInt8,
2198
+ { default: 0, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
2527
2199
  )
2528
2200
  }
2529
2201
  });
@@ -2532,7 +2204,7 @@ var DoorLock;
2532
2204
  /**
2533
2205
  * Set the status of a user ID.
2534
2206
  *
2535
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11
2207
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
2536
2208
  */
2537
2209
  setUserStatus: OptionalCommand(
2538
2210
  9,
@@ -2544,7 +2216,7 @@ var DoorLock;
2544
2216
  /**
2545
2217
  * Get the status of a user.
2546
2218
  *
2547
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12
2219
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10
2548
2220
  */
2549
2221
  getUserStatus: OptionalCommand(
2550
2222
  10,
@@ -2560,7 +2232,7 @@ var DoorLock;
2560
2232
  *
2561
2233
  * Return status shall be one of the following values:
2562
2234
  *
2563
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26
2235
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24
2564
2236
  */
2565
2237
  setUserType: OptionalCommand(
2566
2238
  20,
@@ -2572,7 +2244,7 @@ var DoorLock;
2572
2244
  /**
2573
2245
  * Retrieve the user type for a specific user.
2574
2246
  *
2575
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27
2247
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
2576
2248
  */
2577
2249
  getUserType: OptionalCommand(
2578
2250
  21,
@@ -2592,7 +2264,7 @@ var DoorLock;
2592
2264
  * Return status is a global status code or a cluster-specific status code from the Status Codes table and
2593
2265
  * shall be one of the following values:
2594
2266
  *
2595
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29
2267
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27
2596
2268
  */
2597
2269
  setRfidCode: Command(
2598
2270
  22,
@@ -2604,7 +2276,7 @@ var DoorLock;
2604
2276
  /**
2605
2277
  * Retrieve an RFID code.
2606
2278
  *
2607
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30
2279
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.28
2608
2280
  */
2609
2281
  getRfidCode: Command(
2610
2282
  23,
@@ -2616,13 +2288,11 @@ var DoorLock;
2616
2288
  /**
2617
2289
  * Clear an RFID code or all RFID codes.
2618
2290
  *
2619
- * † The User ID is an obsolete field name, use RFIDSlotIndex instead.
2620
- *
2621
2291
  * For each RFID Code cleared whose user doesn’t have a PIN Code or other credential type, then the
2622
2292
  * corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be set
2623
2293
  * to UnrestrictedUser and all schedules shall be cleared.
2624
2294
  *
2625
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32
2295
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30
2626
2296
  */
2627
2297
  clearRfidCode: Command(
2628
2298
  24,
@@ -2636,7 +2306,7 @@ var DoorLock;
2636
2306
  * user status has to be set to "0 Available", the user type has to be set to the default value, and all
2637
2307
  * schedules which are supported have to be set to the default values.
2638
2308
  *
2639
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.33
2309
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.31
2640
2310
  */
2641
2311
  clearAllRfidCodes: Command(
2642
2312
  25,
@@ -2659,7 +2329,7 @@ var DoorLock;
2659
2329
  * If the attribute AutoRelockTime is supported, the lock will transition to the locked state when the auto
2660
2330
  * relock time has expired.
2661
2331
  *
2662
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.45
2332
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41
2663
2333
  */
2664
2334
  unboltDoor: Command(39, DoorLock2.TlvUnboltDoorRequest, 39, TlvNoResponse, { timed: true })
2665
2335
  }
@@ -2667,7 +2337,7 @@ var DoorLock;
2667
2337
  DoorLock2.Base = MutableCluster.Component({
2668
2338
  id: 257,
2669
2339
  name: "DoorLock",
2670
- revision: 7,
2340
+ revision: 8,
2671
2341
  features: {
2672
2342
  /**
2673
2343
  * PinCredential
@@ -2690,7 +2360,6 @@ var DoorLock;
2690
2360
  *
2691
2361
  * A lock may support multiple credential types so if the User feature is supported the UserType,
2692
2362
  * UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User
2693
- *
2694
2363
  * Index may have several credentials associated with it.
2695
2364
  *
2696
2365
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.2
@@ -2711,26 +2380,20 @@ var DoorLock;
2711
2380
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.3
2712
2381
  */
2713
2382
  fingerCredentials: BitFlag(2),
2714
- /**
2715
- * Logging
2716
- *
2717
- * If Events are not supported the logging feature shall replace the Event reporting structure. If Events
2718
- * are supported the logging feature shall NOT be supported.
2719
- *
2720
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
2721
- */
2722
- logging: BitFlag(3),
2723
2383
  /**
2724
2384
  * WeekDayAccessSchedules
2725
2385
  *
2726
2386
  * If the User feature is supported then Week Day Schedules are applied to a User and not a credential.
2727
2387
  *
2728
2388
  * Week Day Schedules are used to restrict access to a specified time window on certain days of the week.
2729
- * The schedule is repeated each week. When a schedule is cleared this clears the access restrictions and
2730
- * grants unrestricted access to the user. The lock may automatically adjust the UserType when a schedule
2731
- * is created or cleared.
2389
+ * The schedule is repeated each week.
2732
2390
  *
2733
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.5
2391
+ * The lock may automatically adjust the UserType when a schedule is created or cleared.
2392
+ *
2393
+ * Support for WeekDayAccessSchedules requires that the lock has the capability of keeping track of local
2394
+ * time.
2395
+ *
2396
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
2734
2397
  */
2735
2398
  weekDayAccessSchedules: BitFlag(4),
2736
2399
  /**
@@ -2739,7 +2402,7 @@ var DoorLock;
2739
2402
  * If this feature is supported this indicates that the lock has the ability to determine the position of
2740
2403
  * the door which is separate from the state of the lock.
2741
2404
  *
2742
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.6
2405
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.5
2743
2406
  */
2744
2407
  doorPositionSensor: BitFlag(5),
2745
2408
  /**
@@ -2754,17 +2417,18 @@ var DoorLock;
2754
2417
  * A lock may support multiple credential types so if the User feature is supported the UserType,
2755
2418
  * UserStatus and Schedules are all associated with a User and not directly with a credential.
2756
2419
  *
2757
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.7
2420
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.6
2758
2421
  */
2759
2422
  faceCredentials: BitFlag(6),
2760
2423
  /**
2761
2424
  * CredentialOverTheAirAccess
2762
2425
  *
2763
2426
  * If this feature is supported then the lock supports the ability to verify a credential provided in a
2427
+ *
2764
2428
  * lock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock
2765
2429
  * commands. If this feature is supported then the PIN Credential feature shall also be supported.
2766
2430
  *
2767
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.8
2431
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.7
2768
2432
  */
2769
2433
  credentialOverTheAirAccess: BitFlag(7),
2770
2434
  /**
@@ -2774,28 +2438,21 @@ var DoorLock;
2774
2438
  * used to associate credentials and schedules to single user record within the lock. This also means the
2775
2439
  * UserType and UserStatus fields are associated with a User and not a credential.
2776
2440
  *
2777
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.9
2441
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.8
2778
2442
  */
2779
2443
  user: BitFlag(8),
2780
- /**
2781
- * Notification
2782
- *
2783
- * This is a feature used before support of events. This feature supports notification commands and masks
2784
- * used to filter these notifications.
2785
- *
2786
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
2787
- */
2788
- notification: BitFlag(9),
2789
2444
  /**
2790
2445
  * YearDayAccessSchedules
2791
2446
  *
2792
2447
  * If the User feature is supported then Year Day Schedules are applied to a User and not a credential.
2448
+ * Year Day Schedules are used to restrict access to a specified date and time window.
2793
2449
  *
2794
- * Year Day Schedules are used to restrict access to a specified date and time window. When a schedule is
2795
- * cleared this clears the access restrictions and grants unrestricted access to the user. The lock may
2796
- * automatically adjust the UserType when a schedule is created or cleared.
2450
+ * The lock may automatically adjust the UserType when a schedule is created or cleared.
2797
2451
  *
2798
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.11
2452
+ * Support for YearDayAccessSchedules requires that the lock has the capability of keeping track of local
2453
+ * time.
2454
+ *
2455
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.9
2799
2456
  */
2800
2457
  yearDayAccessSchedules: BitFlag(10),
2801
2458
  /**
@@ -2804,7 +2461,9 @@ var DoorLock;
2804
2461
  * This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and
2805
2462
  * stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.
2806
2463
  *
2807
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.12
2464
+ * Support for HolidaySchedules requires that the lock has the capability of keeping track of local time.
2465
+ *
2466
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
2808
2467
  */
2809
2468
  holidaySchedules: BitFlag(11),
2810
2469
  /**
@@ -2816,9 +2475,27 @@ var DoorLock;
2816
2475
  * Unlatched. Locks without unbolting support don’t differentiate between unbolting and unlocking and
2817
2476
  * perform the same operation for both commands.
2818
2477
  *
2478
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.11
2479
+ */
2480
+ unbolting: BitFlag(12),
2481
+ /**
2482
+ * AliroProvisioning
2483
+ *
2484
+ * Locks that support this feature implement the Aliro specification as defined in [Aliro] and support
2485
+ * Matter as a method for provisioning Aliro credentials.
2486
+ *
2487
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.12
2488
+ */
2489
+ aliroProvisioning: BitFlag(13),
2490
+ /**
2491
+ * AliroBleuwb
2492
+ *
2493
+ * Locks that support this feature implement the Bluetooth LE + UWB Access Control Flow as defined in
2494
+ * [Aliro].
2495
+ *
2819
2496
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.13
2820
2497
  */
2821
- unbolting: BitFlag(12)
2498
+ aliroBleuwb: BitFlag(14)
2822
2499
  },
2823
2500
  attributes: {
2824
2501
  /**
@@ -2830,27 +2507,27 @@ var DoorLock;
2830
2507
  * Locked and Unlocked so it is only partially secured. For example, a deadbolt could be partially extended
2831
2508
  * and not in a dead latched state.
2832
2509
  *
2833
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.2
2510
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.1
2834
2511
  */
2835
- lockState: Attribute(0, TlvNullable(TlvEnum()), { scene: true }),
2512
+ lockState: Attribute(0, TlvNullable(TlvEnum())),
2836
2513
  /**
2837
2514
  * Indicates the type of door lock as defined in LockTypeEnum.
2838
2515
  *
2839
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.3
2516
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.2
2840
2517
  */
2841
2518
  lockType: Attribute(1, TlvEnum()),
2842
2519
  /**
2843
2520
  * Indicates if the lock is currently able to (Enabled) or not able to (Disabled) process remote Lock,
2844
2521
  * Unlock, or Unlock with Timeout commands.
2845
2522
  *
2846
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.4
2523
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.3
2847
2524
  */
2848
2525
  actuatorEnabled: Attribute(2, TlvBoolean),
2849
2526
  /**
2850
2527
  * Indicates the language for the on-screen or audible user interface using a 2- byte language code from
2851
2528
  * ISO-639-1.
2852
2529
  *
2853
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.23
2530
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.20
2854
2531
  */
2855
2532
  language: OptionalWritableAttribute(
2856
2533
  33,
@@ -2860,7 +2537,7 @@ var DoorLock;
2860
2537
  /**
2861
2538
  * Indicates the settings for the LED support, as defined by LEDSettingEnum.
2862
2539
  *
2863
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.24
2540
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.21
2864
2541
  */
2865
2542
  ledSettings: OptionalWritableAttribute(
2866
2543
  34,
@@ -2872,13 +2549,13 @@ var DoorLock;
2872
2549
  * 0=disabled. If set, unlock operations from any source will be timed. For one time unlock with timeout
2873
2550
  * use the specific command.
2874
2551
  *
2875
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.25
2552
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.22
2876
2553
  */
2877
2554
  autoRelockTime: OptionalWritableAttribute(35, TlvUInt32, { writeAcl: AccessLevel.Manage }),
2878
2555
  /**
2879
2556
  * Indicates the sound volume on a door lock as defined by SoundVolumeEnum.
2880
2557
  *
2881
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.26
2558
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.23
2882
2559
  */
2883
2560
  soundVolume: OptionalWritableAttribute(
2884
2561
  36,
@@ -2888,7 +2565,7 @@ var DoorLock;
2888
2565
  /**
2889
2566
  * Indicates the current operating mode of the lock as defined in OperatingModeEnum.
2890
2567
  *
2891
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.27
2568
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.24
2892
2569
  */
2893
2570
  operatingMode: WritableAttribute(
2894
2571
  37,
@@ -2900,7 +2577,7 @@ var DoorLock;
2900
2577
  * by the lock. All operating modes NOT supported by a lock shall be set to one. The value of the
2901
2578
  * OperatingMode enumeration defines the related bit to be set.
2902
2579
  *
2903
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.28
2580
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.25
2904
2581
  */
2905
2582
  supportedOperatingModes: FixedAttribute(
2906
2583
  38,
@@ -2909,8 +2586,10 @@ var DoorLock;
2909
2586
  ),
2910
2587
  /**
2911
2588
  * Indicates the default configurations as they are physically set on the device (example: hardware dip
2912
- * switch setting, etc…) and represents the default setting for some of the attributes within this cluster
2913
- * (for example: LED, Auto Lock, Sound Volume, and Operating Mode attributes).
2589
+ * switch setting, etc…) and represents the default setting for some of the
2590
+ *
2591
+ * attributes within this cluster (for example: LED, Auto Lock, Sound Volume, and Operating Mode
2592
+ * attributes).
2914
2593
  *
2915
2594
  * This is a read-only attribute and is intended to allow clients to determine what changes may need to be
2916
2595
  * made without having to query all the included attributes. It may be beneficial for the clients to know
@@ -2924,7 +2603,7 @@ var DoorLock;
2924
2603
  * current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current Sound
2925
2604
  * Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.
2926
2605
  *
2927
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.29
2606
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.26
2928
2607
  */
2929
2608
  defaultConfigurationRegister: OptionalAttribute(39, TlvBitmap(TlvUInt16, DoorLock2.ConfigurationRegister)),
2930
2609
  /**
@@ -2934,7 +2613,7 @@ var DoorLock;
2934
2613
  * lock for those features whose bit is set to 0 in the LocalProgrammingFeatures attribute. Local
2935
2614
  * programming shall be enabled by default.
2936
2615
  *
2937
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.30
2616
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.27
2938
2617
  */
2939
2618
  enableLocalProgramming: OptionalWritableAttribute(
2940
2619
  40,
@@ -2945,7 +2624,7 @@ var DoorLock;
2945
2624
  * This attribute shall enable/disable the ability to lock the door lock with a single touch on the door
2946
2625
  * lock.
2947
2626
  *
2948
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.31
2627
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.28
2949
2628
  */
2950
2629
  enableOneTouchLocking: OptionalWritableAttribute(
2951
2630
  41,
@@ -2956,7 +2635,7 @@ var DoorLock;
2956
2635
  * This attribute shall enable/disable an inside LED that allows the user to see at a glance if the door is
2957
2636
  * locked.
2958
2637
  *
2959
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.32
2638
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.29
2960
2639
  */
2961
2640
  enableInsideStatusLed: OptionalWritableAttribute(
2962
2641
  42,
@@ -2967,7 +2646,7 @@ var DoorLock;
2967
2646
  * This attribute shall enable/disable a button inside the door that is used to put the lock into privacy
2968
2647
  * mode. When the lock is in privacy mode it cannot be manipulated from the outside.
2969
2648
  *
2970
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.33
2649
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.30
2971
2650
  */
2972
2651
  enablePrivacyModeButton: OptionalWritableAttribute(
2973
2652
  43,
@@ -2983,7 +2662,7 @@ var DoorLock;
2983
2662
  *
2984
2663
  * The features that can be disabled from local programming are defined in LocalProgrammingFeaturesBitmap.
2985
2664
  *
2986
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.34
2665
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.31
2987
2666
  */
2988
2667
  localProgrammingFeatures: OptionalWritableAttribute(
2989
2668
  44,
@@ -2998,13 +2677,13 @@ var DoorLock;
2998
2677
  *
2999
2678
  * This mask DOES NOT apply to the Events mechanism of this cluster.
3000
2679
  *
3001
- * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.40
2680
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.37
3002
2681
  */
3003
2682
  alarmMask: OptionalWritableAttribute(
3004
2683
  64,
3005
2684
  TlvBitmap(TlvUInt16, DoorLock2.AlarmMask),
3006
2685
  {
3007
- default: BitsFromPartial(DoorLock2.AlarmMask, { lockJammed: true, lockFactoryReset: true, na: true, lockRadioPowerCycled: true, wrongCodeEntryLimit: true, frontEscutcheonRemoved: true, doorForcedOpen: true }),
2686
+ default: BitsFromPartial(DoorLock2.AlarmMask, { lockJammed: true, lockFactoryReset: true, lockRadioPowerCycled: true, wrongCodeEntryLimit: true, frontEscutcheonRemoved: true, doorForcedOpen: true }),
3008
2687
  writeAcl: AccessLevel.Administer
3009
2688
  }
3010
2689
  )
@@ -3015,8 +2694,6 @@ var DoorLock;
3015
2694
  * lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation
3016
2695
  * attribute.
3017
2696
  *
3018
- * † The PIN/RFID Code is an obsolete field name, use PINCode instead.
3019
- *
3020
2697
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.1
3021
2698
  */
3022
2699
  lockDoor: Command(0, DoorLock2.TlvLockDoorRequest, 0, TlvNoResponse, { timed: true }),
@@ -3030,20 +2707,15 @@ var DoorLock;
3030
2707
  * If the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto
3031
2708
  * relock time has expired.
3032
2709
  *
3033
- * † The PIN/RFID Code is an obsolete field name, use PINCode instead.
3034
- *
3035
2710
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.2
3036
2711
  */
3037
2712
  unlockDoor: Command(1, DoorLock2.TlvUnlockDoorRequest, 1, TlvNoResponse, { timed: true }),
3038
2713
  /**
3039
2714
  * This command causes the lock device to unlock the door with a timeout parameter. After the time in
3040
2715
  * seconds specified in the timeout field, the lock device will relock itself automatically. This timeout
3041
- * parameter is only temporary for this message transition and overrides the default relock time
3042
- *
3043
- * as specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want
3044
- * to support temporary Relock Timeout, it SHOULD NOT support this optional command.
3045
- *
3046
- * † The PIN/RFID Code is an obsolete field name, use PINCode instead.
2716
+ * parameter is only temporary for this message transition and overrides the default relock time as
2717
+ * specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want to
2718
+ * support temporary Relock Timeout, it SHOULD NOT support this optional command.
3047
2719
  *
3048
2720
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.3
3049
2721
  */
@@ -3081,8 +2753,9 @@ var DoorLock;
3081
2753
  * ◦ shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the
3082
2754
  * outside.
3083
2755
  *
3084
- * ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated from the
3085
- * inside.
2756
+ * ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated
2757
+ *
2758
+ * from the inside.
3086
2759
  *
3087
2760
  * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3
3088
2761
  */
@@ -3100,7 +2773,6 @@ var DoorLock;
3100
2773
  */
3101
2774
  extensions: MutableCluster.Extensions(
3102
2775
  { flags: { doorPositionSensor: true }, component: DoorLock2.DoorPositionSensorComponent },
3103
- { flags: { logging: true }, component: DoorLock2.LoggingComponent },
3104
2776
  { flags: { user: true }, component: DoorLock2.UserComponent },
3105
2777
  { flags: { pinCredential: true }, component: DoorLock2.PinCredentialComponent },
3106
2778
  { flags: { rfidCredential: true }, component: DoorLock2.RfidCredentialComponent },
@@ -3114,9 +2786,8 @@ var DoorLock;
3114
2786
  flags: { credentialOverTheAirAccess: true, pinCredential: true },
3115
2787
  component: DoorLock2.CredentialOverTheAirAccessAndPinCredentialComponent
3116
2788
  },
3117
- { flags: { notification: true, pinCredential: true }, component: DoorLock2.NotificationAndPinCredentialComponent },
3118
- { flags: { notification: true }, component: DoorLock2.NotificationComponent },
3119
- { flags: { notification: true, rfidCredential: true }, component: DoorLock2.NotificationAndRfidCredentialComponent },
2789
+ { flags: { aliroProvisioning: true }, component: DoorLock2.AliroProvisioningComponent },
2790
+ { flags: { aliroBleuwb: true }, component: DoorLock2.AliroBleuwbComponent },
3120
2791
  {
3121
2792
  flags: { pinCredential: true, rfidCredential: true, fingerCredentials: true, user: false },
3122
2793
  component: DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent
@@ -3124,6 +2795,7 @@ var DoorLock;
3124
2795
  { flags: { user: false }, component: DoorLock2.NotUserComponent },
3125
2796
  { flags: { rfidCredential: true, user: false }, component: DoorLock2.RfidCredentialNotUserComponent },
3126
2797
  { flags: { unbolting: true }, component: DoorLock2.UnboltingComponent },
2798
+ { flags: { aliroProvisioning: true, user: false }, component: false },
3127
2799
  {
3128
2800
  flags: {
3129
2801
  user: true,
@@ -3133,13 +2805,13 @@ var DoorLock;
3133
2805
  faceCredentials: true
3134
2806
  },
3135
2807
  component: false
3136
- }
2808
+ },
2809
+ { flags: { aliroBleuwb: true, aliroProvisioning: false }, component: false }
3137
2810
  )
3138
2811
  });
3139
2812
  DoorLock2.ClusterInstance = MutableCluster({ ...DoorLock2.Base, base: ClusterType(DoorLock2.Base) }, DoorLock2.NotUserComponent);
3140
2813
  DoorLock2.Cluster = DoorLock2.ClusterInstance;
3141
2814
  const DPS = { doorPositionSensor: true };
3142
- const LOG = { logging: true };
3143
2815
  const USR = { user: true };
3144
2816
  const PIN = { pinCredential: true };
3145
2817
  const RID = { rfidCredential: true };
@@ -3148,9 +2820,8 @@ var DoorLock;
3148
2820
  const HDSCH = { holidaySchedules: true };
3149
2821
  const PIN_NOT_USR = { pinCredential: true, user: false };
3150
2822
  const COTA_PIN = { credentialOverTheAirAccess: true, pinCredential: true };
3151
- const NOT_PIN = { notification: true, pinCredential: true };
3152
- const NOT = { notification: true };
3153
- const NOT_RID = { notification: true, rfidCredential: true };
2823
+ const ALIRO = { aliroProvisioning: true };
2824
+ const ALBU = { aliroBleuwb: true };
3154
2825
  const PIN_RID_FGP_NOT_USR = { pinCredential: true, rfidCredential: true, fingerCredentials: true, user: false };
3155
2826
  const RID_NOT_USR = { rfidCredential: true, user: false };
3156
2827
  const UBOLT = { unbolting: true };
@@ -3177,10 +2848,6 @@ var DoorLock;
3177
2848
  DoorLock2.DoorPositionSensorComponent.attributes.openPeriod,
3178
2849
  { optionalIf: [DPS] }
3179
2850
  ),
3180
- numberOfLogRecordsSupported: MutableCluster.AsConditional(
3181
- DoorLock2.LoggingComponent.attributes.numberOfLogRecordsSupported,
3182
- { mandatoryIf: [LOG] }
3183
- ),
3184
2851
  numberOfTotalUsersSupported: MutableCluster.AsConditional(
3185
2852
  DoorLock2.UserComponent.attributes.numberOfTotalUsersSupported,
3186
2853
  { mandatoryIf: [USR] }
@@ -3229,10 +2896,6 @@ var DoorLock;
3229
2896
  DoorLock2.UserComponent.attributes.numberOfCredentialsSupportedPerUser,
3230
2897
  { mandatoryIf: [USR] }
3231
2898
  ),
3232
- enableLogging: MutableCluster.AsConditional(
3233
- DoorLock2.LoggingComponent.attributes.enableLogging,
3234
- { mandatoryIf: [LOG] }
3235
- ),
3236
2899
  wrongCodeEntryLimit: MutableCluster.AsConditional(
3237
2900
  DoorLock2.PinCredentialOrRfidCredentialComponent.attributes.wrongCodeEntryLimit,
3238
2901
  { mandatoryIf: [PIN, RID] }
@@ -3253,38 +2916,45 @@ var DoorLock;
3253
2916
  DoorLock2.UserComponent.attributes.expiringUserTimeout,
3254
2917
  { optionalIf: [USR] }
3255
2918
  ),
3256
- keypadOperationEventMask: MutableCluster.AsConditional(
3257
- DoorLock2.NotificationAndPinCredentialComponent.attributes.keypadOperationEventMask,
3258
- { optionalIf: [NOT_PIN] }
2919
+ aliroReaderVerificationKey: MutableCluster.AsConditional(
2920
+ DoorLock2.AliroProvisioningComponent.attributes.aliroReaderVerificationKey,
2921
+ { mandatoryIf: [ALIRO] }
3259
2922
  ),
3260
- remoteOperationEventMask: MutableCluster.AsConditional(
3261
- DoorLock2.NotificationComponent.attributes.remoteOperationEventMask,
3262
- { optionalIf: [NOT] }
2923
+ aliroReaderGroupIdentifier: MutableCluster.AsConditional(
2924
+ DoorLock2.AliroProvisioningComponent.attributes.aliroReaderGroupIdentifier,
2925
+ { mandatoryIf: [ALIRO] }
3263
2926
  ),
3264
- manualOperationEventMask: MutableCluster.AsConditional(
3265
- DoorLock2.NotificationComponent.attributes.manualOperationEventMask,
3266
- { optionalIf: [NOT] }
2927
+ aliroReaderGroupSubIdentifier: MutableCluster.AsConditional(
2928
+ DoorLock2.AliroProvisioningComponent.attributes.aliroReaderGroupSubIdentifier,
2929
+ { mandatoryIf: [ALIRO] }
3267
2930
  ),
3268
- rfidOperationEventMask: MutableCluster.AsConditional(
3269
- DoorLock2.NotificationAndRfidCredentialComponent.attributes.rfidOperationEventMask,
3270
- { optionalIf: [NOT_RID] }
2931
+ aliroExpeditedTransactionSupportedProtocolVersions: MutableCluster.AsConditional(
2932
+ DoorLock2.AliroProvisioningComponent.attributes.aliroExpeditedTransactionSupportedProtocolVersions,
2933
+ { mandatoryIf: [ALIRO] }
3271
2934
  ),
3272
- keypadProgrammingEventMask: MutableCluster.AsConditional(
3273
- DoorLock2.NotificationAndPinCredentialComponent.attributes.keypadProgrammingEventMask,
3274
- { optionalIf: [NOT_PIN] }
2935
+ aliroGroupResolvingKey: MutableCluster.AsConditional(
2936
+ DoorLock2.AliroBleuwbComponent.attributes.aliroGroupResolvingKey,
2937
+ { mandatoryIf: [ALBU] }
3275
2938
  ),
3276
- remoteProgrammingEventMask: MutableCluster.AsConditional(
3277
- DoorLock2.NotificationComponent.attributes.remoteProgrammingEventMask,
3278
- { optionalIf: [NOT] }
2939
+ aliroSupportedBleuwbProtocolVersions: MutableCluster.AsConditional(
2940
+ DoorLock2.AliroBleuwbComponent.attributes.aliroSupportedBleuwbProtocolVersions,
2941
+ { mandatoryIf: [ALBU] }
3279
2942
  ),
3280
- rfidProgrammingEventMask: MutableCluster.AsConditional(
3281
- DoorLock2.NotificationAndRfidCredentialComponent.attributes.rfidProgrammingEventMask,
3282
- { optionalIf: [NOT_RID] }
2943
+ aliroBleAdvertisingVersion: MutableCluster.AsConditional(
2944
+ DoorLock2.AliroBleuwbComponent.attributes.aliroBleAdvertisingVersion,
2945
+ { mandatoryIf: [ALBU] }
2946
+ ),
2947
+ numberOfAliroCredentialIssuerKeysSupported: MutableCluster.AsConditional(
2948
+ DoorLock2.AliroProvisioningComponent.attributes.numberOfAliroCredentialIssuerKeysSupported,
2949
+ { mandatoryIf: [ALIRO] }
2950
+ ),
2951
+ numberOfAliroEndpointKeysSupported: MutableCluster.AsConditional(
2952
+ DoorLock2.AliroProvisioningComponent.attributes.numberOfAliroEndpointKeysSupported,
2953
+ { mandatoryIf: [ALIRO] }
3283
2954
  )
3284
2955
  },
3285
2956
  commands: {
3286
2957
  ...DoorLock2.Cluster.commands,
3287
- getLogRecord: MutableCluster.AsConditional(DoorLock2.LoggingComponent.commands.getLogRecord, { mandatoryIf: [LOG] }),
3288
2958
  setPinCode: MutableCluster.AsConditional(
3289
2959
  DoorLock2.PinCredentialNotUserComponent.commands.setPinCode,
3290
2960
  { mandatoryIf: [PIN_NOT_USR] }
@@ -3381,7 +3051,15 @@ var DoorLock;
3381
3051
  DoorLock2.UserComponent.commands.clearCredential,
3382
3052
  { mandatoryIf: [USR] }
3383
3053
  ),
3384
- unboltDoor: MutableCluster.AsConditional(DoorLock2.UnboltingComponent.commands.unboltDoor, { mandatoryIf: [UBOLT] })
3054
+ unboltDoor: MutableCluster.AsConditional(DoorLock2.UnboltingComponent.commands.unboltDoor, { mandatoryIf: [UBOLT] }),
3055
+ setAliroReaderConfig: MutableCluster.AsConditional(
3056
+ DoorLock2.AliroProvisioningComponent.commands.setAliroReaderConfig,
3057
+ { mandatoryIf: [ALIRO] }
3058
+ ),
3059
+ clearAliroReaderConfig: MutableCluster.AsConditional(
3060
+ DoorLock2.AliroProvisioningComponent.commands.clearAliroReaderConfig,
3061
+ { mandatoryIf: [ALIRO] }
3062
+ )
3385
3063
  },
3386
3064
  events: {
3387
3065
  ...DoorLock2.Cluster.events,