@matter/types 0.11.0-alpha.0-20241005-e3e4e4a7a

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 (1970) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +13 -0
  3. package/dist/cjs/cluster/Cluster.d.ts +250 -0
  4. package/dist/cjs/cluster/Cluster.d.ts.map +1 -0
  5. package/dist/cjs/cluster/Cluster.js +607 -0
  6. package/dist/cjs/cluster/Cluster.js.map +6 -0
  7. package/dist/cjs/cluster/ClusterHelper.d.ts +30 -0
  8. package/dist/cjs/cluster/ClusterHelper.d.ts.map +1 -0
  9. package/dist/cjs/cluster/ClusterHelper.js +178 -0
  10. package/dist/cjs/cluster/ClusterHelper.js.map +6 -0
  11. package/dist/cjs/cluster/ClusterRegistry.d.ts +23 -0
  12. package/dist/cjs/cluster/ClusterRegistry.d.ts.map +1 -0
  13. package/dist/cjs/cluster/ClusterRegistry.js +47 -0
  14. package/dist/cjs/cluster/ClusterRegistry.js.map +6 -0
  15. package/dist/cjs/cluster/ClusterType.d.ts +227 -0
  16. package/dist/cjs/cluster/ClusterType.d.ts.map +1 -0
  17. package/dist/cjs/cluster/ClusterType.js +64 -0
  18. package/dist/cjs/cluster/ClusterType.js.map +6 -0
  19. package/dist/cjs/cluster/index.d.ts +12 -0
  20. package/dist/cjs/cluster/index.d.ts.map +1 -0
  21. package/dist/cjs/cluster/index.js +29 -0
  22. package/dist/cjs/cluster/index.js.map +6 -0
  23. package/dist/cjs/cluster/mutation/ClusterComposer.d.ts +115 -0
  24. package/dist/cjs/cluster/mutation/ClusterComposer.d.ts.map +1 -0
  25. package/dist/cjs/cluster/mutation/ClusterComposer.js +151 -0
  26. package/dist/cjs/cluster/mutation/ClusterComposer.js.map +6 -0
  27. package/dist/cjs/cluster/mutation/ElementModifier.d.ts +124 -0
  28. package/dist/cjs/cluster/mutation/ElementModifier.d.ts.map +1 -0
  29. package/dist/cjs/cluster/mutation/ElementModifier.js +100 -0
  30. package/dist/cjs/cluster/mutation/ElementModifier.js.map +6 -0
  31. package/dist/cjs/cluster/mutation/MutableCluster.d.ts +75 -0
  32. package/dist/cjs/cluster/mutation/MutableCluster.d.ts.map +1 -0
  33. package/dist/cjs/cluster/mutation/MutableCluster.js +83 -0
  34. package/dist/cjs/cluster/mutation/MutableCluster.js.map +6 -0
  35. package/dist/cjs/cluster/mutation/index.d.ts +9 -0
  36. package/dist/cjs/cluster/mutation/index.d.ts.map +1 -0
  37. package/dist/cjs/cluster/mutation/index.js +26 -0
  38. package/dist/cjs/cluster/mutation/index.js.map +6 -0
  39. package/dist/cjs/clusters/access-control.d.ts +850 -0
  40. package/dist/cjs/clusters/access-control.d.ts.map +1 -0
  41. package/dist/cjs/clusters/access-control.js +372 -0
  42. package/dist/cjs/clusters/access-control.js.map +6 -0
  43. package/dist/cjs/clusters/account-login.d.ts +359 -0
  44. package/dist/cjs/clusters/account-login.d.ts.map +1 -0
  45. package/dist/cjs/clusters/account-login.js +245 -0
  46. package/dist/cjs/clusters/account-login.js.map +6 -0
  47. package/dist/cjs/clusters/actions.d.ts +1170 -0
  48. package/dist/cjs/clusters/actions.d.ts.map +1 -0
  49. package/dist/cjs/clusters/actions.js +556 -0
  50. package/dist/cjs/clusters/actions.js.map +6 -0
  51. package/dist/cjs/clusters/activated-carbon-filter-monitoring.d.ts +162 -0
  52. package/dist/cjs/clusters/activated-carbon-filter-monitoring.d.ts.map +1 -0
  53. package/dist/cjs/clusters/activated-carbon-filter-monitoring.js +47 -0
  54. package/dist/cjs/clusters/activated-carbon-filter-monitoring.js.map +6 -0
  55. package/dist/cjs/clusters/administrator-commissioning.d.ts +885 -0
  56. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -0
  57. package/dist/cjs/clusters/administrator-commissioning.js +315 -0
  58. package/dist/cjs/clusters/administrator-commissioning.js.map +6 -0
  59. package/dist/cjs/clusters/air-quality.d.ts +189 -0
  60. package/dist/cjs/clusters/air-quality.d.ts.map +1 -0
  61. package/dist/cjs/clusters/air-quality.js +104 -0
  62. package/dist/cjs/clusters/air-quality.js.map +6 -0
  63. package/dist/cjs/clusters/alarm-base.d.ts +451 -0
  64. package/dist/cjs/clusters/alarm-base.d.ts.map +1 -0
  65. package/dist/cjs/clusters/alarm-base.js +200 -0
  66. package/dist/cjs/clusters/alarm-base.js.map +6 -0
  67. package/dist/cjs/clusters/application-basic.d.ts +169 -0
  68. package/dist/cjs/clusters/application-basic.d.ts.map +1 -0
  69. package/dist/cjs/clusters/application-basic.js +140 -0
  70. package/dist/cjs/clusters/application-basic.js.map +6 -0
  71. package/dist/cjs/clusters/application-launcher.d.ts +1084 -0
  72. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -0
  73. package/dist/cjs/clusters/application-launcher.js +250 -0
  74. package/dist/cjs/clusters/application-launcher.js.map +6 -0
  75. package/dist/cjs/clusters/audio-output.d.ts +439 -0
  76. package/dist/cjs/clusters/audio-output.d.ts.map +1 -0
  77. package/dist/cjs/clusters/audio-output.js +163 -0
  78. package/dist/cjs/clusters/audio-output.js.map +6 -0
  79. package/dist/cjs/clusters/ballast-configuration.d.ts +248 -0
  80. package/dist/cjs/clusters/ballast-configuration.d.ts.map +1 -0
  81. package/dist/cjs/clusters/ballast-configuration.js +256 -0
  82. package/dist/cjs/clusters/ballast-configuration.js.map +6 -0
  83. package/dist/cjs/clusters/basic-information.d.ts +628 -0
  84. package/dist/cjs/clusters/basic-information.d.ts.map +1 -0
  85. package/dist/cjs/clusters/basic-information.js +458 -0
  86. package/dist/cjs/clusters/basic-information.js.map +6 -0
  87. package/dist/cjs/clusters/binding.d.ts +136 -0
  88. package/dist/cjs/clusters/binding.d.ts.map +1 -0
  89. package/dist/cjs/clusters/binding.js +96 -0
  90. package/dist/cjs/clusters/binding.js.map +6 -0
  91. package/dist/cjs/clusters/boolean-state-configuration.d.ts +1737 -0
  92. package/dist/cjs/clusters/boolean-state-configuration.d.ts.map +1 -0
  93. package/dist/cjs/clusters/boolean-state-configuration.js +361 -0
  94. package/dist/cjs/clusters/boolean-state-configuration.js.map +6 -0
  95. package/dist/cjs/clusters/boolean-state.d.ts +79 -0
  96. package/dist/cjs/clusters/boolean-state.d.ts.map +1 -0
  97. package/dist/cjs/clusters/boolean-state.js +75 -0
  98. package/dist/cjs/clusters/boolean-state.js.map +6 -0
  99. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +159 -0
  100. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -0
  101. package/dist/cjs/clusters/bridged-device-basic-information.js +155 -0
  102. package/dist/cjs/clusters/bridged-device-basic-information.js.map +6 -0
  103. package/dist/cjs/clusters/carbon-dioxide-concentration-measurement.d.ts +310 -0
  104. package/dist/cjs/clusters/carbon-dioxide-concentration-measurement.d.ts.map +1 -0
  105. package/dist/cjs/clusters/carbon-dioxide-concentration-measurement.js +51 -0
  106. package/dist/cjs/clusters/carbon-dioxide-concentration-measurement.js.map +6 -0
  107. package/dist/cjs/clusters/carbon-monoxide-concentration-measurement.d.ts +310 -0
  108. package/dist/cjs/clusters/carbon-monoxide-concentration-measurement.d.ts.map +1 -0
  109. package/dist/cjs/clusters/carbon-monoxide-concentration-measurement.js +51 -0
  110. package/dist/cjs/clusters/carbon-monoxide-concentration-measurement.js.map +6 -0
  111. package/dist/cjs/clusters/channel.d.ts +4764 -0
  112. package/dist/cjs/clusters/channel.d.ts.map +1 -0
  113. package/dist/cjs/clusters/channel.js +737 -0
  114. package/dist/cjs/clusters/channel.js.map +6 -0
  115. package/dist/cjs/clusters/color-control.d.ts +5084 -0
  116. package/dist/cjs/clusters/color-control.d.ts.map +1 -0
  117. package/dist/cjs/clusters/color-control.js +1392 -0
  118. package/dist/cjs/clusters/color-control.js.map +6 -0
  119. package/dist/cjs/clusters/concentration-measurement.d.ts +566 -0
  120. package/dist/cjs/clusters/concentration-measurement.d.ts.map +1 -0
  121. package/dist/cjs/clusters/concentration-measurement.js +275 -0
  122. package/dist/cjs/clusters/concentration-measurement.js.map +6 -0
  123. package/dist/cjs/clusters/content-app-observer.d.ts +183 -0
  124. package/dist/cjs/clusters/content-app-observer.d.ts.map +1 -0
  125. package/dist/cjs/clusters/content-app-observer.js +99 -0
  126. package/dist/cjs/clusters/content-app-observer.js.map +6 -0
  127. package/dist/cjs/clusters/content-control.d.ts +3879 -0
  128. package/dist/cjs/clusters/content-control.d.ts.map +1 -0
  129. package/dist/cjs/clusters/content-control.js +975 -0
  130. package/dist/cjs/clusters/content-control.js.map +6 -0
  131. package/dist/cjs/clusters/content-launcher.d.ts +4265 -0
  132. package/dist/cjs/clusters/content-launcher.d.ts.map +1 -0
  133. package/dist/cjs/clusters/content-launcher.js +513 -0
  134. package/dist/cjs/clusters/content-launcher.js.map +6 -0
  135. package/dist/cjs/clusters/descriptor.d.ts +413 -0
  136. package/dist/cjs/clusters/descriptor.d.ts.map +1 -0
  137. package/dist/cjs/clusters/descriptor.js +161 -0
  138. package/dist/cjs/clusters/descriptor.js.map +6 -0
  139. package/dist/cjs/clusters/device-energy-management-mode.d.ts +374 -0
  140. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -0
  141. package/dist/cjs/clusters/device-energy-management-mode.js +157 -0
  142. package/dist/cjs/clusters/device-energy-management-mode.js.map +6 -0
  143. package/dist/cjs/clusters/device-energy-management.d.ts +6333 -0
  144. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -0
  145. package/dist/cjs/clusters/device-energy-management.js +1277 -0
  146. package/dist/cjs/clusters/device-energy-management.js.map +6 -0
  147. package/dist/cjs/clusters/diagnostic-logs.d.ts +341 -0
  148. package/dist/cjs/clusters/diagnostic-logs.d.ts.map +1 -0
  149. package/dist/cjs/clusters/diagnostic-logs.js +161 -0
  150. package/dist/cjs/clusters/diagnostic-logs.js.map +6 -0
  151. package/dist/cjs/clusters/dishwasher-alarm.d.ts +380 -0
  152. package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -0
  153. package/dist/cjs/clusters/dishwasher-alarm.js +172 -0
  154. package/dist/cjs/clusters/dishwasher-alarm.js.map +6 -0
  155. package/dist/cjs/clusters/dishwasher-mode.d.ts +194 -0
  156. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -0
  157. package/dist/cjs/clusters/dishwasher-mode.js +112 -0
  158. package/dist/cjs/clusters/dishwasher-mode.js.map +6 -0
  159. package/dist/cjs/clusters/door-lock.d.ts +15808 -0
  160. package/dist/cjs/clusters/door-lock.d.ts.map +1 -0
  161. package/dist/cjs/clusters/door-lock.js +3216 -0
  162. package/dist/cjs/clusters/door-lock.js.map +6 -0
  163. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +4074 -0
  164. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -0
  165. package/dist/cjs/clusters/electrical-energy-measurement.js +469 -0
  166. package/dist/cjs/clusters/electrical-energy-measurement.js.map +6 -0
  167. package/dist/cjs/clusters/electrical-power-measurement.d.ts +2565 -0
  168. package/dist/cjs/clusters/electrical-power-measurement.d.ts.map +1 -0
  169. package/dist/cjs/clusters/electrical-power-measurement.js +659 -0
  170. package/dist/cjs/clusters/electrical-power-measurement.js.map +6 -0
  171. package/dist/cjs/clusters/energy-evse-mode.d.ts +367 -0
  172. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -0
  173. package/dist/cjs/clusters/energy-evse-mode.js +156 -0
  174. package/dist/cjs/clusters/energy-evse-mode.js.map +6 -0
  175. package/dist/cjs/clusters/energy-evse.d.ts +4153 -0
  176. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -0
  177. package/dist/cjs/clusters/energy-evse.js +993 -0
  178. package/dist/cjs/clusters/energy-evse.js.map +6 -0
  179. package/dist/cjs/clusters/energy-preference.d.ts +665 -0
  180. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -0
  181. package/dist/cjs/clusters/energy-preference.js +226 -0
  182. package/dist/cjs/clusters/energy-preference.js.map +6 -0
  183. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +623 -0
  184. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -0
  185. package/dist/cjs/clusters/ethernet-network-diagnostics.js +235 -0
  186. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +6 -0
  187. package/dist/cjs/clusters/fan-control.d.ts +1289 -0
  188. package/dist/cjs/clusters/fan-control.d.ts.map +1 -0
  189. package/dist/cjs/clusters/fan-control.js +385 -0
  190. package/dist/cjs/clusters/fan-control.js.map +6 -0
  191. package/dist/cjs/clusters/fixed-label.d.ts +53 -0
  192. package/dist/cjs/clusters/fixed-label.d.ts.map +1 -0
  193. package/dist/cjs/clusters/fixed-label.js +53 -0
  194. package/dist/cjs/clusters/fixed-label.js.map +6 -0
  195. package/dist/cjs/clusters/flow-measurement.d.ts +69 -0
  196. package/dist/cjs/clusters/flow-measurement.d.ts.map +1 -0
  197. package/dist/cjs/clusters/flow-measurement.js +84 -0
  198. package/dist/cjs/clusters/flow-measurement.js.map +6 -0
  199. package/dist/cjs/clusters/formaldehyde-concentration-measurement.d.ts +310 -0
  200. package/dist/cjs/clusters/formaldehyde-concentration-measurement.d.ts.map +1 -0
  201. package/dist/cjs/clusters/formaldehyde-concentration-measurement.js +51 -0
  202. package/dist/cjs/clusters/formaldehyde-concentration-measurement.js.map +6 -0
  203. package/dist/cjs/clusters/general-commissioning.d.ts +575 -0
  204. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -0
  205. package/dist/cjs/clusters/general-commissioning.js +447 -0
  206. package/dist/cjs/clusters/general-commissioning.js.map +6 -0
  207. package/dist/cjs/clusters/general-diagnostics.d.ts +1891 -0
  208. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -0
  209. package/dist/cjs/clusters/general-diagnostics.js +563 -0
  210. package/dist/cjs/clusters/general-diagnostics.js.map +6 -0
  211. package/dist/cjs/clusters/group-key-management.d.ts +1254 -0
  212. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -0
  213. package/dist/cjs/clusters/group-key-management.js +401 -0
  214. package/dist/cjs/clusters/group-key-management.js.map +6 -0
  215. package/dist/cjs/clusters/groups.d.ts +710 -0
  216. package/dist/cjs/clusters/groups.d.ts.map +1 -0
  217. package/dist/cjs/clusters/groups.js +270 -0
  218. package/dist/cjs/clusters/groups.js.map +6 -0
  219. package/dist/cjs/clusters/hepa-filter-monitoring.d.ts +162 -0
  220. package/dist/cjs/clusters/hepa-filter-monitoring.d.ts.map +1 -0
  221. package/dist/cjs/clusters/hepa-filter-monitoring.js +47 -0
  222. package/dist/cjs/clusters/hepa-filter-monitoring.js.map +6 -0
  223. package/dist/cjs/clusters/icd-management.d.ts +1744 -0
  224. package/dist/cjs/clusters/icd-management.d.ts.map +1 -0
  225. package/dist/cjs/clusters/icd-management.js +516 -0
  226. package/dist/cjs/clusters/icd-management.js.map +6 -0
  227. package/dist/cjs/clusters/identify.d.ts +219 -0
  228. package/dist/cjs/clusters/identify.d.ts.map +1 -0
  229. package/dist/cjs/clusters/identify.js +142 -0
  230. package/dist/cjs/clusters/identify.js.map +6 -0
  231. package/dist/cjs/clusters/illuminance-measurement.d.ts +94 -0
  232. package/dist/cjs/clusters/illuminance-measurement.d.ts.map +1 -0
  233. package/dist/cjs/clusters/illuminance-measurement.js +101 -0
  234. package/dist/cjs/clusters/illuminance-measurement.js.map +6 -0
  235. package/dist/cjs/clusters/index.d.ts +121 -0
  236. package/dist/cjs/clusters/index.d.ts.map +1 -0
  237. package/dist/cjs/clusters/index.js +365 -0
  238. package/dist/cjs/clusters/index.js.map +6 -0
  239. package/dist/cjs/clusters/keypad-input.d.ts +341 -0
  240. package/dist/cjs/clusters/keypad-input.d.ts.map +1 -0
  241. package/dist/cjs/clusters/keypad-input.js +207 -0
  242. package/dist/cjs/clusters/keypad-input.js.map +6 -0
  243. package/dist/cjs/clusters/label.d.ts +96 -0
  244. package/dist/cjs/clusters/label.d.ts.map +1 -0
  245. package/dist/cjs/clusters/label.js +66 -0
  246. package/dist/cjs/clusters/label.js.map +6 -0
  247. package/dist/cjs/clusters/laundry-dryer-controls.d.ts +82 -0
  248. package/dist/cjs/clusters/laundry-dryer-controls.d.ts.map +1 -0
  249. package/dist/cjs/clusters/laundry-dryer-controls.js +83 -0
  250. package/dist/cjs/clusters/laundry-dryer-controls.js.map +6 -0
  251. package/dist/cjs/clusters/laundry-washer-controls.d.ts +379 -0
  252. package/dist/cjs/clusters/laundry-washer-controls.d.ts.map +1 -0
  253. package/dist/cjs/clusters/laundry-washer-controls.js +162 -0
  254. package/dist/cjs/clusters/laundry-washer-controls.js.map +6 -0
  255. package/dist/cjs/clusters/laundry-washer-mode.d.ts +200 -0
  256. package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -0
  257. package/dist/cjs/clusters/laundry-washer-mode.js +113 -0
  258. package/dist/cjs/clusters/laundry-washer-mode.js.map +6 -0
  259. package/dist/cjs/clusters/level-control.d.ts +2945 -0
  260. package/dist/cjs/clusters/level-control.d.ts.map +1 -0
  261. package/dist/cjs/clusters/level-control.js +419 -0
  262. package/dist/cjs/clusters/level-control.js.map +6 -0
  263. package/dist/cjs/clusters/localization-configuration.d.ts +60 -0
  264. package/dist/cjs/clusters/localization-configuration.d.ts.map +1 -0
  265. package/dist/cjs/clusters/localization-configuration.js +75 -0
  266. package/dist/cjs/clusters/localization-configuration.js.map +6 -0
  267. package/dist/cjs/clusters/low-power.d.ts +52 -0
  268. package/dist/cjs/clusters/low-power.d.ts.map +1 -0
  269. package/dist/cjs/clusters/low-power.js +54 -0
  270. package/dist/cjs/clusters/low-power.js.map +6 -0
  271. package/dist/cjs/clusters/media-input.d.ts +493 -0
  272. package/dist/cjs/clusters/media-input.d.ts.map +1 -0
  273. package/dist/cjs/clusters/media-input.js +181 -0
  274. package/dist/cjs/clusters/media-input.js.map +6 -0
  275. package/dist/cjs/clusters/media-playback.d.ts +3558 -0
  276. package/dist/cjs/clusters/media-playback.d.ts.map +1 -0
  277. package/dist/cjs/clusters/media-playback.js +734 -0
  278. package/dist/cjs/clusters/media-playback.js.map +6 -0
  279. package/dist/cjs/clusters/messages.d.ts +1369 -0
  280. package/dist/cjs/clusters/messages.d.ts.map +1 -0
  281. package/dist/cjs/clusters/messages.js +421 -0
  282. package/dist/cjs/clusters/messages.js.map +6 -0
  283. package/dist/cjs/clusters/microwave-oven-control.d.ts +859 -0
  284. package/dist/cjs/clusters/microwave-oven-control.d.ts.map +1 -0
  285. package/dist/cjs/clusters/microwave-oven-control.js +295 -0
  286. package/dist/cjs/clusters/microwave-oven-control.js.map +6 -0
  287. package/dist/cjs/clusters/microwave-oven-mode.d.ts +140 -0
  288. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -0
  289. package/dist/cjs/clusters/microwave-oven-mode.js +89 -0
  290. package/dist/cjs/clusters/microwave-oven-mode.js.map +6 -0
  291. package/dist/cjs/clusters/mode-base.d.ts +716 -0
  292. package/dist/cjs/clusters/mode-base.d.ts.map +1 -0
  293. package/dist/cjs/clusters/mode-base.js +275 -0
  294. package/dist/cjs/clusters/mode-base.js.map +6 -0
  295. package/dist/cjs/clusters/mode-select.d.ts +638 -0
  296. package/dist/cjs/clusters/mode-select.d.ts.map +1 -0
  297. package/dist/cjs/clusters/mode-select.js +224 -0
  298. package/dist/cjs/clusters/mode-select.js.map +6 -0
  299. package/dist/cjs/clusters/network-commissioning.d.ts +5310 -0
  300. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -0
  301. package/dist/cjs/clusters/network-commissioning.js +1026 -0
  302. package/dist/cjs/clusters/network-commissioning.js.map +6 -0
  303. package/dist/cjs/clusters/nitrogen-dioxide-concentration-measurement.d.ts +310 -0
  304. package/dist/cjs/clusters/nitrogen-dioxide-concentration-measurement.d.ts.map +1 -0
  305. package/dist/cjs/clusters/nitrogen-dioxide-concentration-measurement.js +51 -0
  306. package/dist/cjs/clusters/nitrogen-dioxide-concentration-measurement.js.map +6 -0
  307. package/dist/cjs/clusters/occupancy-sensing.d.ts +196 -0
  308. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -0
  309. package/dist/cjs/clusters/occupancy-sensing.js +204 -0
  310. package/dist/cjs/clusters/occupancy-sensing.js.map +6 -0
  311. package/dist/cjs/clusters/on-off.d.ts +1399 -0
  312. package/dist/cjs/clusters/on-off.d.ts.map +1 -0
  313. package/dist/cjs/clusters/on-off.js +347 -0
  314. package/dist/cjs/clusters/on-off.js.map +6 -0
  315. package/dist/cjs/clusters/operational-credentials.d.ts +1307 -0
  316. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -0
  317. package/dist/cjs/clusters/operational-credentials.js +717 -0
  318. package/dist/cjs/clusters/operational-credentials.js.map +6 -0
  319. package/dist/cjs/clusters/operational-state.d.ts +711 -0
  320. package/dist/cjs/clusters/operational-state.d.ts.map +1 -0
  321. package/dist/cjs/clusters/operational-state.js +365 -0
  322. package/dist/cjs/clusters/operational-state.js.map +6 -0
  323. package/dist/cjs/clusters/ota-software-update-provider.d.ts +928 -0
  324. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -0
  325. package/dist/cjs/clusters/ota-software-update-provider.js +471 -0
  326. package/dist/cjs/clusters/ota-software-update-provider.js.map +6 -0
  327. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +688 -0
  328. package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -0
  329. package/dist/cjs/clusters/ota-software-update-requestor.js +351 -0
  330. package/dist/cjs/clusters/ota-software-update-requestor.js.map +6 -0
  331. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +273 -0
  332. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts.map +1 -0
  333. package/dist/cjs/clusters/oven-cavity-operational-state.js +280 -0
  334. package/dist/cjs/clusters/oven-cavity-operational-state.js.map +6 -0
  335. package/dist/cjs/clusters/oven-mode.d.ts +399 -0
  336. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -0
  337. package/dist/cjs/clusters/oven-mode.js +162 -0
  338. package/dist/cjs/clusters/oven-mode.js.map +6 -0
  339. package/dist/cjs/clusters/ozone-concentration-measurement.d.ts +309 -0
  340. package/dist/cjs/clusters/ozone-concentration-measurement.d.ts.map +1 -0
  341. package/dist/cjs/clusters/ozone-concentration-measurement.js +47 -0
  342. package/dist/cjs/clusters/ozone-concentration-measurement.js.map +6 -0
  343. package/dist/cjs/clusters/pm1-concentration-measurement.d.ts +309 -0
  344. package/dist/cjs/clusters/pm1-concentration-measurement.d.ts.map +1 -0
  345. package/dist/cjs/clusters/pm1-concentration-measurement.js +47 -0
  346. package/dist/cjs/clusters/pm1-concentration-measurement.js.map +6 -0
  347. package/dist/cjs/clusters/pm10-concentration-measurement.d.ts +309 -0
  348. package/dist/cjs/clusters/pm10-concentration-measurement.d.ts.map +1 -0
  349. package/dist/cjs/clusters/pm10-concentration-measurement.js +47 -0
  350. package/dist/cjs/clusters/pm10-concentration-measurement.js.map +6 -0
  351. package/dist/cjs/clusters/pm25-concentration-measurement.d.ts +309 -0
  352. package/dist/cjs/clusters/pm25-concentration-measurement.d.ts.map +1 -0
  353. package/dist/cjs/clusters/pm25-concentration-measurement.js +47 -0
  354. package/dist/cjs/clusters/pm25-concentration-measurement.js.map +6 -0
  355. package/dist/cjs/clusters/power-source-configuration.d.ts +48 -0
  356. package/dist/cjs/clusters/power-source-configuration.d.ts.map +1 -0
  357. package/dist/cjs/clusters/power-source-configuration.js +63 -0
  358. package/dist/cjs/clusters/power-source-configuration.js.map +6 -0
  359. package/dist/cjs/clusters/power-source.d.ts +2377 -0
  360. package/dist/cjs/clusters/power-source.d.ts.map +1 -0
  361. package/dist/cjs/clusters/power-source.js +786 -0
  362. package/dist/cjs/clusters/power-source.js.map +6 -0
  363. package/dist/cjs/clusters/power-topology.d.ts +346 -0
  364. package/dist/cjs/clusters/power-topology.d.ts.map +1 -0
  365. package/dist/cjs/clusters/power-topology.js +139 -0
  366. package/dist/cjs/clusters/power-topology.js.map +6 -0
  367. package/dist/cjs/clusters/pressure-measurement.d.ts +377 -0
  368. package/dist/cjs/clusters/pressure-measurement.d.ts.map +1 -0
  369. package/dist/cjs/clusters/pressure-measurement.js +168 -0
  370. package/dist/cjs/clusters/pressure-measurement.js.map +6 -0
  371. package/dist/cjs/clusters/proxy-configuration.d.ts +79 -0
  372. package/dist/cjs/clusters/proxy-configuration.d.ts.map +1 -0
  373. package/dist/cjs/clusters/proxy-configuration.js +73 -0
  374. package/dist/cjs/clusters/proxy-configuration.js.map +6 -0
  375. package/dist/cjs/clusters/proxy-discovery.d.ts +98 -0
  376. package/dist/cjs/clusters/proxy-discovery.d.ts.map +1 -0
  377. package/dist/cjs/clusters/proxy-discovery.js +79 -0
  378. package/dist/cjs/clusters/proxy-discovery.js.map +6 -0
  379. package/dist/cjs/clusters/pulse-width-modulation.d.ts +2031 -0
  380. package/dist/cjs/clusters/pulse-width-modulation.d.ts.map +1 -0
  381. package/dist/cjs/clusters/pulse-width-modulation.js +51 -0
  382. package/dist/cjs/clusters/pulse-width-modulation.js.map +6 -0
  383. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +2203 -0
  384. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -0
  385. package/dist/cjs/clusters/pump-configuration-and-control.js +750 -0
  386. package/dist/cjs/clusters/pump-configuration-and-control.js.map +6 -0
  387. package/dist/cjs/clusters/radon-concentration-measurement.d.ts +309 -0
  388. package/dist/cjs/clusters/radon-concentration-measurement.d.ts.map +1 -0
  389. package/dist/cjs/clusters/radon-concentration-measurement.js +47 -0
  390. package/dist/cjs/clusters/radon-concentration-measurement.js.map +6 -0
  391. package/dist/cjs/clusters/refrigerator-alarm.d.ts +332 -0
  392. package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -0
  393. package/dist/cjs/clusters/refrigerator-alarm.js +142 -0
  394. package/dist/cjs/clusters/refrigerator-alarm.js.map +6 -0
  395. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +180 -0
  396. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -0
  397. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +107 -0
  398. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +6 -0
  399. package/dist/cjs/clusters/relative-humidity-measurement.d.ts +73 -0
  400. package/dist/cjs/clusters/relative-humidity-measurement.d.ts.map +1 -0
  401. package/dist/cjs/clusters/relative-humidity-measurement.js +87 -0
  402. package/dist/cjs/clusters/relative-humidity-measurement.js.map +6 -0
  403. package/dist/cjs/clusters/resource-monitoring.d.ts +353 -0
  404. package/dist/cjs/clusters/resource-monitoring.d.ts.map +1 -0
  405. package/dist/cjs/clusters/resource-monitoring.js +194 -0
  406. package/dist/cjs/clusters/resource-monitoring.js.map +6 -0
  407. package/dist/cjs/clusters/rvc-clean-mode.d.ts +174 -0
  408. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -0
  409. package/dist/cjs/clusters/rvc-clean-mode.js +104 -0
  410. package/dist/cjs/clusters/rvc-clean-mode.js.map +6 -0
  411. package/dist/cjs/clusters/rvc-operational-state.d.ts +242 -0
  412. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -0
  413. package/dist/cjs/clusters/rvc-operational-state.js +194 -0
  414. package/dist/cjs/clusters/rvc-operational-state.js.map +6 -0
  415. package/dist/cjs/clusters/rvc-run-mode.d.ts +217 -0
  416. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -0
  417. package/dist/cjs/clusters/rvc-run-mode.js +111 -0
  418. package/dist/cjs/clusters/rvc-run-mode.js.map +6 -0
  419. package/dist/cjs/clusters/scenes-management.d.ts +2351 -0
  420. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -0
  421. package/dist/cjs/clusters/scenes-management.js +684 -0
  422. package/dist/cjs/clusters/scenes-management.js.map +6 -0
  423. package/dist/cjs/clusters/smoke-co-alarm.d.ts +1304 -0
  424. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -0
  425. package/dist/cjs/clusters/smoke-co-alarm.js +409 -0
  426. package/dist/cjs/clusters/smoke-co-alarm.js.map +6 -0
  427. package/dist/cjs/clusters/software-diagnostics.d.ts +590 -0
  428. package/dist/cjs/clusters/software-diagnostics.d.ts.map +1 -0
  429. package/dist/cjs/clusters/software-diagnostics.js +218 -0
  430. package/dist/cjs/clusters/software-diagnostics.js.map +6 -0
  431. package/dist/cjs/clusters/switch.d.ts +1222 -0
  432. package/dist/cjs/clusters/switch.d.ts.map +1 -0
  433. package/dist/cjs/clusters/switch.js +356 -0
  434. package/dist/cjs/clusters/switch.js.map +6 -0
  435. package/dist/cjs/clusters/target-navigator.d.ts +261 -0
  436. package/dist/cjs/clusters/target-navigator.d.ts.map +1 -0
  437. package/dist/cjs/clusters/target-navigator.js +140 -0
  438. package/dist/cjs/clusters/target-navigator.js.map +6 -0
  439. package/dist/cjs/clusters/temperature-control.d.ts +626 -0
  440. package/dist/cjs/clusters/temperature-control.d.ts.map +1 -0
  441. package/dist/cjs/clusters/temperature-control.js +224 -0
  442. package/dist/cjs/clusters/temperature-control.js.map +6 -0
  443. package/dist/cjs/clusters/temperature-measurement.d.ts +64 -0
  444. package/dist/cjs/clusters/temperature-measurement.d.ts.map +1 -0
  445. package/dist/cjs/clusters/temperature-measurement.js +79 -0
  446. package/dist/cjs/clusters/temperature-measurement.js.map +6 -0
  447. package/dist/cjs/clusters/thermostat-user-interface-configuration.d.ts +115 -0
  448. package/dist/cjs/clusters/thermostat-user-interface-configuration.d.ts.map +1 -0
  449. package/dist/cjs/clusters/thermostat-user-interface-configuration.js +104 -0
  450. package/dist/cjs/clusters/thermostat-user-interface-configuration.js.map +6 -0
  451. package/dist/cjs/clusters/thermostat.d.ts +4485 -0
  452. package/dist/cjs/clusters/thermostat.d.ts.map +1 -0
  453. package/dist/cjs/clusters/thermostat.js +1371 -0
  454. package/dist/cjs/clusters/thermostat.js.map +6 -0
  455. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +3308 -0
  456. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -0
  457. package/dist/cjs/clusters/thread-network-diagnostics.js +1127 -0
  458. package/dist/cjs/clusters/thread-network-diagnostics.js.map +6 -0
  459. package/dist/cjs/clusters/time-format-localization.d.ts +331 -0
  460. package/dist/cjs/clusters/time-format-localization.d.ts.map +1 -0
  461. package/dist/cjs/clusters/time-format-localization.js +154 -0
  462. package/dist/cjs/clusters/time-format-localization.js.map +6 -0
  463. package/dist/cjs/clusters/time-synchronization.d.ts +2597 -0
  464. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -0
  465. package/dist/cjs/clusters/time-synchronization.js +713 -0
  466. package/dist/cjs/clusters/time-synchronization.js.map +6 -0
  467. package/dist/cjs/clusters/total-volatile-organic-compounds-concentration-measurement.d.ts +311 -0
  468. package/dist/cjs/clusters/total-volatile-organic-compounds-concentration-measurement.d.ts.map +1 -0
  469. package/dist/cjs/clusters/total-volatile-organic-compounds-concentration-measurement.js +51 -0
  470. package/dist/cjs/clusters/total-volatile-organic-compounds-concentration-measurement.js.map +6 -0
  471. package/dist/cjs/clusters/unit-localization.d.ts +187 -0
  472. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -0
  473. package/dist/cjs/clusters/unit-localization.js +101 -0
  474. package/dist/cjs/clusters/unit-localization.js.map +6 -0
  475. package/dist/cjs/clusters/user-label.d.ts +43 -0
  476. package/dist/cjs/clusters/user-label.d.ts.map +1 -0
  477. package/dist/cjs/clusters/user-label.js +61 -0
  478. package/dist/cjs/clusters/user-label.js.map +6 -0
  479. package/dist/cjs/clusters/valid-proxies.d.ts +84 -0
  480. package/dist/cjs/clusters/valid-proxies.d.ts.map +1 -0
  481. package/dist/cjs/clusters/valid-proxies.js +68 -0
  482. package/dist/cjs/clusters/valid-proxies.js.map +6 -0
  483. package/dist/cjs/clusters/valve-configuration-and-control.d.ts +1146 -0
  484. package/dist/cjs/clusters/valve-configuration-and-control.d.ts.map +1 -0
  485. package/dist/cjs/clusters/valve-configuration-and-control.js +375 -0
  486. package/dist/cjs/clusters/valve-configuration-and-control.js.map +6 -0
  487. package/dist/cjs/clusters/wake-on-lan.d.ts +78 -0
  488. package/dist/cjs/clusters/wake-on-lan.d.ts.map +1 -0
  489. package/dist/cjs/clusters/wake-on-lan.js +71 -0
  490. package/dist/cjs/clusters/wake-on-lan.js.map +6 -0
  491. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +928 -0
  492. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -0
  493. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +344 -0
  494. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +6 -0
  495. package/dist/cjs/clusters/window-covering.d.ts +2864 -0
  496. package/dist/cjs/clusters/window-covering.d.ts.map +1 -0
  497. package/dist/cjs/clusters/window-covering.js +907 -0
  498. package/dist/cjs/clusters/window-covering.js.map +6 -0
  499. package/dist/cjs/commissioning/CommissioningConstants.d.ts +11 -0
  500. package/dist/cjs/commissioning/CommissioningConstants.d.ts.map +1 -0
  501. package/dist/cjs/commissioning/CommissioningConstants.js +39 -0
  502. package/dist/cjs/commissioning/CommissioningConstants.js.map +6 -0
  503. package/dist/cjs/commissioning/CommissioningOptions.d.ts +38 -0
  504. package/dist/cjs/commissioning/CommissioningOptions.d.ts.map +1 -0
  505. package/dist/cjs/commissioning/CommissioningOptions.js +46 -0
  506. package/dist/cjs/commissioning/CommissioningOptions.js.map +6 -0
  507. package/dist/cjs/commissioning/index.d.ts +8 -0
  508. package/dist/cjs/commissioning/index.d.ts.map +1 -0
  509. package/dist/cjs/commissioning/index.js +25 -0
  510. package/dist/cjs/commissioning/index.js.map +6 -0
  511. package/dist/cjs/common/DeviceClassification.d.ts +44 -0
  512. package/dist/cjs/common/DeviceClassification.d.ts.map +1 -0
  513. package/dist/cjs/common/DeviceClassification.js +38 -0
  514. package/dist/cjs/common/DeviceClassification.js.map +6 -0
  515. package/dist/cjs/common/ProductDescription.d.ts +25 -0
  516. package/dist/cjs/common/ProductDescription.d.ts.map +1 -0
  517. package/dist/cjs/common/ProductDescription.js +22 -0
  518. package/dist/cjs/common/ProductDescription.js.map +6 -0
  519. package/dist/cjs/common/StatusCode.d.ts +17 -0
  520. package/dist/cjs/common/StatusCode.d.ts.map +1 -0
  521. package/dist/cjs/common/StatusCode.js +44 -0
  522. package/dist/cjs/common/StatusCode.js.map +6 -0
  523. package/dist/cjs/common/ValidationError.d.ts +38 -0
  524. package/dist/cjs/common/ValidationError.d.ts.map +1 -0
  525. package/dist/cjs/common/ValidationError.js +64 -0
  526. package/dist/cjs/common/ValidationError.js.map +6 -0
  527. package/dist/cjs/common/index.d.ts +9 -0
  528. package/dist/cjs/common/index.d.ts.map +1 -0
  529. package/dist/cjs/common/index.js +26 -0
  530. package/dist/cjs/common/index.js.map +6 -0
  531. package/dist/cjs/datatype/AttributeId.d.ts +21 -0
  532. package/dist/cjs/datatype/AttributeId.d.ts.map +1 -0
  533. package/dist/cjs/datatype/AttributeId.js +59 -0
  534. package/dist/cjs/datatype/AttributeId.js.map +6 -0
  535. package/dist/cjs/datatype/CaseAuthenticatedTag.d.ts +28 -0
  536. package/dist/cjs/datatype/CaseAuthenticatedTag.d.ts.map +1 -0
  537. package/dist/cjs/datatype/CaseAuthenticatedTag.js +75 -0
  538. package/dist/cjs/datatype/CaseAuthenticatedTag.js.map +6 -0
  539. package/dist/cjs/datatype/ClusterId.d.ts +24 -0
  540. package/dist/cjs/datatype/ClusterId.d.ts.map +1 -0
  541. package/dist/cjs/datatype/ClusterId.js +66 -0
  542. package/dist/cjs/datatype/ClusterId.js.map +6 -0
  543. package/dist/cjs/datatype/CommandId.d.ts +20 -0
  544. package/dist/cjs/datatype/CommandId.d.ts.map +1 -0
  545. package/dist/cjs/datatype/CommandId.js +53 -0
  546. package/dist/cjs/datatype/CommandId.js.map +6 -0
  547. package/dist/cjs/datatype/DataVersion.d.ts +18 -0
  548. package/dist/cjs/datatype/DataVersion.d.ts.map +1 -0
  549. package/dist/cjs/datatype/DataVersion.js +40 -0
  550. package/dist/cjs/datatype/DataVersion.js.map +6 -0
  551. package/dist/cjs/datatype/DeviceTypeId.d.ts +20 -0
  552. package/dist/cjs/datatype/DeviceTypeId.d.ts.map +1 -0
  553. package/dist/cjs/datatype/DeviceTypeId.js +53 -0
  554. package/dist/cjs/datatype/DeviceTypeId.js.map +6 -0
  555. package/dist/cjs/datatype/EndpointNumber.d.ts +20 -0
  556. package/dist/cjs/datatype/EndpointNumber.d.ts.map +1 -0
  557. package/dist/cjs/datatype/EndpointNumber.js +48 -0
  558. package/dist/cjs/datatype/EndpointNumber.js.map +6 -0
  559. package/dist/cjs/datatype/EntryIndex.d.ts +18 -0
  560. package/dist/cjs/datatype/EntryIndex.d.ts.map +1 -0
  561. package/dist/cjs/datatype/EntryIndex.js +40 -0
  562. package/dist/cjs/datatype/EntryIndex.js.map +6 -0
  563. package/dist/cjs/datatype/EventId.d.ts +20 -0
  564. package/dist/cjs/datatype/EventId.d.ts.map +1 -0
  565. package/dist/cjs/datatype/EventId.js +53 -0
  566. package/dist/cjs/datatype/EventId.js.map +6 -0
  567. package/dist/cjs/datatype/EventNumber.d.ts +18 -0
  568. package/dist/cjs/datatype/EventNumber.d.ts.map +1 -0
  569. package/dist/cjs/datatype/EventNumber.js +40 -0
  570. package/dist/cjs/datatype/EventNumber.js.map +6 -0
  571. package/dist/cjs/datatype/FabricId.d.ts +18 -0
  572. package/dist/cjs/datatype/FabricId.d.ts.map +1 -0
  573. package/dist/cjs/datatype/FabricId.js +41 -0
  574. package/dist/cjs/datatype/FabricId.js.map +6 -0
  575. package/dist/cjs/datatype/FabricIndex.d.ts +31 -0
  576. package/dist/cjs/datatype/FabricIndex.d.ts.map +1 -0
  577. package/dist/cjs/datatype/FabricIndex.js +64 -0
  578. package/dist/cjs/datatype/FabricIndex.js.map +6 -0
  579. package/dist/cjs/datatype/FieldId.d.ts +22 -0
  580. package/dist/cjs/datatype/FieldId.d.ts.map +1 -0
  581. package/dist/cjs/datatype/FieldId.js +59 -0
  582. package/dist/cjs/datatype/FieldId.js.map +6 -0
  583. package/dist/cjs/datatype/GroupId.d.ts +28 -0
  584. package/dist/cjs/datatype/GroupId.d.ts.map +1 -0
  585. package/dist/cjs/datatype/GroupId.js +49 -0
  586. package/dist/cjs/datatype/GroupId.js.map +6 -0
  587. package/dist/cjs/datatype/ManufacturerExtensibleIdentifier.d.ts +23 -0
  588. package/dist/cjs/datatype/ManufacturerExtensibleIdentifier.d.ts.map +1 -0
  589. package/dist/cjs/datatype/ManufacturerExtensibleIdentifier.js +63 -0
  590. package/dist/cjs/datatype/ManufacturerExtensibleIdentifier.js.map +6 -0
  591. package/dist/cjs/datatype/NodeId.d.ts +58 -0
  592. package/dist/cjs/datatype/NodeId.d.ts.map +1 -0
  593. package/dist/cjs/datatype/NodeId.js +97 -0
  594. package/dist/cjs/datatype/NodeId.js.map +6 -0
  595. package/dist/cjs/datatype/SubjectId.d.ts +16 -0
  596. package/dist/cjs/datatype/SubjectId.d.ts.map +1 -0
  597. package/dist/cjs/datatype/SubjectId.js +31 -0
  598. package/dist/cjs/datatype/SubjectId.js.map +6 -0
  599. package/dist/cjs/datatype/VendorId.d.ts +22 -0
  600. package/dist/cjs/datatype/VendorId.d.ts.map +1 -0
  601. package/dist/cjs/datatype/VendorId.js +55 -0
  602. package/dist/cjs/datatype/VendorId.js.map +6 -0
  603. package/dist/cjs/datatype/index.d.ts +24 -0
  604. package/dist/cjs/datatype/index.d.ts.map +1 -0
  605. package/dist/cjs/datatype/index.js +41 -0
  606. package/dist/cjs/datatype/index.js.map +6 -0
  607. package/dist/cjs/globals/MeasurementAccuracy.d.ts +64 -0
  608. package/dist/cjs/globals/MeasurementAccuracy.d.ts.map +1 -0
  609. package/dist/cjs/globals/MeasurementAccuracy.js +67 -0
  610. package/dist/cjs/globals/MeasurementAccuracy.js.map +6 -0
  611. package/dist/cjs/globals/MeasurementAccuracyRange.d.ts +135 -0
  612. package/dist/cjs/globals/MeasurementAccuracyRange.d.ts.map +1 -0
  613. package/dist/cjs/globals/MeasurementAccuracyRange.js +97 -0
  614. package/dist/cjs/globals/MeasurementAccuracyRange.js.map +6 -0
  615. package/dist/cjs/globals/MeasurementType.d.ts +69 -0
  616. package/dist/cjs/globals/MeasurementType.d.ts.map +1 -0
  617. package/dist/cjs/globals/MeasurementType.js +47 -0
  618. package/dist/cjs/globals/MeasurementType.js.map +6 -0
  619. package/dist/cjs/globals/Priority.d.ts +32 -0
  620. package/dist/cjs/globals/Priority.d.ts.map +1 -0
  621. package/dist/cjs/globals/Priority.js +35 -0
  622. package/dist/cjs/globals/Priority.js.map +6 -0
  623. package/dist/cjs/globals/Semtag.d.ts +68 -0
  624. package/dist/cjs/globals/Semtag.d.ts.map +1 -0
  625. package/dist/cjs/globals/Semtag.js +79 -0
  626. package/dist/cjs/globals/Semtag.js.map +6 -0
  627. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +32 -0
  628. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts.map +1 -0
  629. package/dist/cjs/globals/SoftwareVersionCertificationStatus.js +36 -0
  630. package/dist/cjs/globals/SoftwareVersionCertificationStatus.js.map +6 -0
  631. package/dist/cjs/globals/Status.d.ts +206 -0
  632. package/dist/cjs/globals/Status.d.ts.map +1 -0
  633. package/dist/cjs/globals/Status.js +61 -0
  634. package/dist/cjs/globals/Status.js.map +6 -0
  635. package/dist/cjs/globals/Tod.d.ts +41 -0
  636. package/dist/cjs/globals/Tod.d.ts.map +1 -0
  637. package/dist/cjs/globals/Tod.js +49 -0
  638. package/dist/cjs/globals/Tod.js.map +6 -0
  639. package/dist/cjs/globals/WildcardPathFlags.d.ts +52 -0
  640. package/dist/cjs/globals/WildcardPathFlags.d.ts.map +1 -0
  641. package/dist/cjs/globals/WildcardPathFlags.js +68 -0
  642. package/dist/cjs/globals/WildcardPathFlags.js.map +6 -0
  643. package/dist/cjs/globals/index.d.ts +16 -0
  644. package/dist/cjs/globals/index.d.ts.map +1 -0
  645. package/dist/cjs/globals/index.js +32 -0
  646. package/dist/cjs/globals/index.js.map +6 -0
  647. package/dist/cjs/index.d.ts +14 -0
  648. package/dist/cjs/index.d.ts.map +1 -0
  649. package/dist/cjs/index.js +31 -0
  650. package/dist/cjs/index.js.map +6 -0
  651. package/dist/cjs/package.json +8 -0
  652. package/dist/cjs/protocol/definitions/index.d.ts +8 -0
  653. package/dist/cjs/protocol/definitions/index.d.ts.map +1 -0
  654. package/dist/cjs/protocol/definitions/index.js +25 -0
  655. package/dist/cjs/protocol/definitions/index.js.map +6 -0
  656. package/dist/cjs/protocol/definitions/interaction.d.ts +12 -0
  657. package/dist/cjs/protocol/definitions/interaction.d.ts.map +1 -0
  658. package/dist/cjs/protocol/definitions/interaction.js +32 -0
  659. package/dist/cjs/protocol/definitions/interaction.js.map +6 -0
  660. package/dist/cjs/protocol/definitions/secure-channel.d.ts +99 -0
  661. package/dist/cjs/protocol/definitions/secure-channel.d.ts.map +1 -0
  662. package/dist/cjs/protocol/definitions/secure-channel.js +79 -0
  663. package/dist/cjs/protocol/definitions/secure-channel.js.map +6 -0
  664. package/dist/cjs/protocol/index.d.ts +9 -0
  665. package/dist/cjs/protocol/index.d.ts.map +1 -0
  666. package/dist/cjs/protocol/index.js +26 -0
  667. package/dist/cjs/protocol/index.js.map +6 -0
  668. package/dist/cjs/protocol/messages/TlvDataReport.d.ts +98 -0
  669. package/dist/cjs/protocol/messages/TlvDataReport.d.ts.map +1 -0
  670. package/dist/cjs/protocol/messages/TlvDataReport.js +47 -0
  671. package/dist/cjs/protocol/messages/TlvDataReport.js.map +6 -0
  672. package/dist/cjs/protocol/messages/TlvDataReportForSend.d.ts +19 -0
  673. package/dist/cjs/protocol/messages/TlvDataReportForSend.d.ts.map +1 -0
  674. package/dist/cjs/protocol/messages/TlvDataReportForSend.js +46 -0
  675. package/dist/cjs/protocol/messages/TlvDataReportForSend.js.map +6 -0
  676. package/dist/cjs/protocol/messages/TlvInvokeRequest.d.ts +24 -0
  677. package/dist/cjs/protocol/messages/TlvInvokeRequest.d.ts.map +1 -0
  678. package/dist/cjs/protocol/messages/TlvInvokeRequest.js +43 -0
  679. package/dist/cjs/protocol/messages/TlvInvokeRequest.js.map +6 -0
  680. package/dist/cjs/protocol/messages/TlvInvokeResponse.d.ts +37 -0
  681. package/dist/cjs/protocol/messages/TlvInvokeResponse.d.ts.map +1 -0
  682. package/dist/cjs/protocol/messages/TlvInvokeResponse.js +42 -0
  683. package/dist/cjs/protocol/messages/TlvInvokeResponse.js.map +6 -0
  684. package/dist/cjs/protocol/messages/TlvInvokeResponseForSend.d.ts +12 -0
  685. package/dist/cjs/protocol/messages/TlvInvokeResponseForSend.d.ts.map +1 -0
  686. package/dist/cjs/protocol/messages/TlvInvokeResponseForSend.js +40 -0
  687. package/dist/cjs/protocol/messages/TlvInvokeResponseForSend.js.map +6 -0
  688. package/dist/cjs/protocol/messages/TlvReadRequest.d.ts +54 -0
  689. package/dist/cjs/protocol/messages/TlvReadRequest.d.ts.map +1 -0
  690. package/dist/cjs/protocol/messages/TlvReadRequest.js +50 -0
  691. package/dist/cjs/protocol/messages/TlvReadRequest.js.map +6 -0
  692. package/dist/cjs/protocol/messages/TlvStatusResponse.d.ts +12 -0
  693. package/dist/cjs/protocol/messages/TlvStatusResponse.d.ts.map +1 -0
  694. package/dist/cjs/protocol/messages/TlvStatusResponse.js +36 -0
  695. package/dist/cjs/protocol/messages/TlvStatusResponse.js.map +6 -0
  696. package/dist/cjs/protocol/messages/TlvSubscribeRequest.d.ts +60 -0
  697. package/dist/cjs/protocol/messages/TlvSubscribeRequest.d.ts.map +1 -0
  698. package/dist/cjs/protocol/messages/TlvSubscribeRequest.js +56 -0
  699. package/dist/cjs/protocol/messages/TlvSubscribeRequest.js.map +6 -0
  700. package/dist/cjs/protocol/messages/TlvSubscribeResponse.d.ts +14 -0
  701. package/dist/cjs/protocol/messages/TlvSubscribeResponse.d.ts.map +1 -0
  702. package/dist/cjs/protocol/messages/TlvSubscribeResponse.js +38 -0
  703. package/dist/cjs/protocol/messages/TlvSubscribeResponse.js.map +6 -0
  704. package/dist/cjs/protocol/messages/TlvTimedRequest.d.ts +12 -0
  705. package/dist/cjs/protocol/messages/TlvTimedRequest.d.ts.map +1 -0
  706. package/dist/cjs/protocol/messages/TlvTimedRequest.js +36 -0
  707. package/dist/cjs/protocol/messages/TlvTimedRequest.js.map +6 -0
  708. package/dist/cjs/protocol/messages/TlvWriteRequest.d.ts +39 -0
  709. package/dist/cjs/protocol/messages/TlvWriteRequest.d.ts.map +1 -0
  710. package/dist/cjs/protocol/messages/TlvWriteRequest.js +44 -0
  711. package/dist/cjs/protocol/messages/TlvWriteRequest.js.map +6 -0
  712. package/dist/cjs/protocol/messages/TlvWriteResponse.d.ts +36 -0
  713. package/dist/cjs/protocol/messages/TlvWriteResponse.d.ts.map +1 -0
  714. package/dist/cjs/protocol/messages/TlvWriteResponse.js +38 -0
  715. package/dist/cjs/protocol/messages/TlvWriteResponse.js.map +6 -0
  716. package/dist/cjs/protocol/messages/index.d.ts +18 -0
  717. package/dist/cjs/protocol/messages/index.d.ts.map +1 -0
  718. package/dist/cjs/protocol/messages/index.js +35 -0
  719. package/dist/cjs/protocol/messages/index.js.map +6 -0
  720. package/dist/cjs/protocol/types/TlvAttributeData.d.ts +30 -0
  721. package/dist/cjs/protocol/types/TlvAttributeData.d.ts.map +1 -0
  722. package/dist/cjs/protocol/types/TlvAttributeData.js +39 -0
  723. package/dist/cjs/protocol/types/TlvAttributeData.js.map +6 -0
  724. package/dist/cjs/protocol/types/TlvAttributePath.d.ts +26 -0
  725. package/dist/cjs/protocol/types/TlvAttributePath.d.ts.map +1 -0
  726. package/dist/cjs/protocol/types/TlvAttributePath.js +48 -0
  727. package/dist/cjs/protocol/types/TlvAttributePath.js.map +6 -0
  728. package/dist/cjs/protocol/types/TlvAttributeReport.d.ts +57 -0
  729. package/dist/cjs/protocol/types/TlvAttributeReport.d.ts.map +1 -0
  730. package/dist/cjs/protocol/types/TlvAttributeReport.js +37 -0
  731. package/dist/cjs/protocol/types/TlvAttributeReport.js.map +6 -0
  732. package/dist/cjs/protocol/types/TlvAttributeReportData.d.ts +29 -0
  733. package/dist/cjs/protocol/types/TlvAttributeReportData.d.ts.map +1 -0
  734. package/dist/cjs/protocol/types/TlvAttributeReportData.js +39 -0
  735. package/dist/cjs/protocol/types/TlvAttributeReportData.js.map +6 -0
  736. package/dist/cjs/protocol/types/TlvAttributeStatus.d.ts +32 -0
  737. package/dist/cjs/protocol/types/TlvAttributeStatus.d.ts.map +1 -0
  738. package/dist/cjs/protocol/types/TlvAttributeStatus.js +37 -0
  739. package/dist/cjs/protocol/types/TlvAttributeStatus.js.map +6 -0
  740. package/dist/cjs/protocol/types/TlvClusterPath.d.ts +12 -0
  741. package/dist/cjs/protocol/types/TlvClusterPath.d.ts.map +1 -0
  742. package/dist/cjs/protocol/types/TlvClusterPath.js +39 -0
  743. package/dist/cjs/protocol/types/TlvClusterPath.js.map +6 -0
  744. package/dist/cjs/protocol/types/TlvCommandData.d.ts +16 -0
  745. package/dist/cjs/protocol/types/TlvCommandData.d.ts.map +1 -0
  746. package/dist/cjs/protocol/types/TlvCommandData.js +39 -0
  747. package/dist/cjs/protocol/types/TlvCommandData.js.map +6 -0
  748. package/dist/cjs/protocol/types/TlvCommandPath.d.ts +12 -0
  749. package/dist/cjs/protocol/types/TlvCommandPath.d.ts.map +1 -0
  750. package/dist/cjs/protocol/types/TlvCommandPath.js +39 -0
  751. package/dist/cjs/protocol/types/TlvCommandPath.js.map +6 -0
  752. package/dist/cjs/protocol/types/TlvCommandStatus.d.ts +19 -0
  753. package/dist/cjs/protocol/types/TlvCommandStatus.d.ts.map +1 -0
  754. package/dist/cjs/protocol/types/TlvCommandStatus.js +39 -0
  755. package/dist/cjs/protocol/types/TlvCommandStatus.js.map +6 -0
  756. package/dist/cjs/protocol/types/TlvDataVersionFilter.d.ts +15 -0
  757. package/dist/cjs/protocol/types/TlvDataVersionFilter.d.ts.map +1 -0
  758. package/dist/cjs/protocol/types/TlvDataVersionFilter.js +37 -0
  759. package/dist/cjs/protocol/types/TlvDataVersionFilter.js.map +6 -0
  760. package/dist/cjs/protocol/types/TlvEventData.d.ts +24 -0
  761. package/dist/cjs/protocol/types/TlvEventData.d.ts.map +1 -0
  762. package/dist/cjs/protocol/types/TlvEventData.js +45 -0
  763. package/dist/cjs/protocol/types/TlvEventData.js.map +6 -0
  764. package/dist/cjs/protocol/types/TlvEventFilter.d.ts +11 -0
  765. package/dist/cjs/protocol/types/TlvEventFilter.d.ts.map +1 -0
  766. package/dist/cjs/protocol/types/TlvEventFilter.js +37 -0
  767. package/dist/cjs/protocol/types/TlvEventFilter.js.map +6 -0
  768. package/dist/cjs/protocol/types/TlvEventPath.d.ts +14 -0
  769. package/dist/cjs/protocol/types/TlvEventPath.d.ts.map +1 -0
  770. package/dist/cjs/protocol/types/TlvEventPath.js +43 -0
  771. package/dist/cjs/protocol/types/TlvEventPath.js.map +6 -0
  772. package/dist/cjs/protocol/types/TlvEventReport.d.ts +38 -0
  773. package/dist/cjs/protocol/types/TlvEventReport.d.ts.map +1 -0
  774. package/dist/cjs/protocol/types/TlvEventReport.js +37 -0
  775. package/dist/cjs/protocol/types/TlvEventReport.js.map +6 -0
  776. package/dist/cjs/protocol/types/TlvEventStatus.d.ts +20 -0
  777. package/dist/cjs/protocol/types/TlvEventStatus.d.ts.map +1 -0
  778. package/dist/cjs/protocol/types/TlvEventStatus.js +37 -0
  779. package/dist/cjs/protocol/types/TlvEventStatus.js.map +6 -0
  780. package/dist/cjs/protocol/types/TlvInvokeResponseData.d.ts +30 -0
  781. package/dist/cjs/protocol/types/TlvInvokeResponseData.d.ts.map +1 -0
  782. package/dist/cjs/protocol/types/TlvInvokeResponseData.js +37 -0
  783. package/dist/cjs/protocol/types/TlvInvokeResponseData.js.map +6 -0
  784. package/dist/cjs/protocol/types/TlvStatus.d.ts +11 -0
  785. package/dist/cjs/protocol/types/TlvStatus.d.ts.map +1 -0
  786. package/dist/cjs/protocol/types/TlvStatus.js +37 -0
  787. package/dist/cjs/protocol/types/TlvStatus.js.map +6 -0
  788. package/dist/cjs/protocol/types/WildcardPathFlagsBitmap.d.ts +28 -0
  789. package/dist/cjs/protocol/types/WildcardPathFlagsBitmap.d.ts.map +1 -0
  790. package/dist/cjs/protocol/types/WildcardPathFlagsBitmap.js +50 -0
  791. package/dist/cjs/protocol/types/WildcardPathFlagsBitmap.js.map +6 -0
  792. package/dist/cjs/protocol/types/index.d.ts +23 -0
  793. package/dist/cjs/protocol/types/index.d.ts.map +1 -0
  794. package/dist/cjs/protocol/types/index.js +40 -0
  795. package/dist/cjs/protocol/types/index.js.map +6 -0
  796. package/dist/cjs/schema/Base38Schema.d.ts +16 -0
  797. package/dist/cjs/schema/Base38Schema.d.ts.map +1 -0
  798. package/dist/cjs/schema/Base38Schema.js +110 -0
  799. package/dist/cjs/schema/Base38Schema.js.map +6 -0
  800. package/dist/cjs/schema/BitmapSchema.d.ts +76 -0
  801. package/dist/cjs/schema/BitmapSchema.d.ts.map +1 -0
  802. package/dist/cjs/schema/BitmapSchema.js +192 -0
  803. package/dist/cjs/schema/BitmapSchema.js.map +6 -0
  804. package/dist/cjs/schema/PairingCodeSchema.d.ts +105 -0
  805. package/dist/cjs/schema/PairingCodeSchema.d.ts.map +1 -0
  806. package/dist/cjs/schema/PairingCodeSchema.js +191 -0
  807. package/dist/cjs/schema/PairingCodeSchema.js.map +6 -0
  808. package/dist/cjs/schema/QrCodeSchema.d.ts +14 -0
  809. package/dist/cjs/schema/QrCodeSchema.d.ts.map +1 -0
  810. package/dist/cjs/schema/QrCodeSchema.js +204 -0
  811. package/dist/cjs/schema/QrCodeSchema.js.map +6 -0
  812. package/dist/cjs/schema/Schema.d.ts +17 -0
  813. package/dist/cjs/schema/Schema.d.ts.map +1 -0
  814. package/dist/cjs/schema/Schema.js +47 -0
  815. package/dist/cjs/schema/Schema.js.map +6 -0
  816. package/dist/cjs/schema/SpecificationVersionSchema.d.ts +21 -0
  817. package/dist/cjs/schema/SpecificationVersionSchema.d.ts.map +1 -0
  818. package/dist/cjs/schema/SpecificationVersionSchema.js +42 -0
  819. package/dist/cjs/schema/SpecificationVersionSchema.js.map +6 -0
  820. package/dist/cjs/schema/index.d.ts +11 -0
  821. package/dist/cjs/schema/index.d.ts.map +1 -0
  822. package/dist/cjs/schema/index.js +28 -0
  823. package/dist/cjs/schema/index.js.map +6 -0
  824. package/dist/cjs/tlv/TlvAny.d.ts +22 -0
  825. package/dist/cjs/tlv/TlvAny.d.ts.map +1 -0
  826. package/dist/cjs/tlv/TlvAny.js +204 -0
  827. package/dist/cjs/tlv/TlvAny.js.map +6 -0
  828. package/dist/cjs/tlv/TlvArray.d.ts +39 -0
  829. package/dist/cjs/tlv/TlvArray.d.ts.map +1 -0
  830. package/dist/cjs/tlv/TlvArray.js +126 -0
  831. package/dist/cjs/tlv/TlvArray.js.map +6 -0
  832. package/dist/cjs/tlv/TlvBoolean.d.ts +20 -0
  833. package/dist/cjs/tlv/TlvBoolean.d.ts.map +1 -0
  834. package/dist/cjs/tlv/TlvBoolean.js +48 -0
  835. package/dist/cjs/tlv/TlvBoolean.js.map +6 -0
  836. package/dist/cjs/tlv/TlvCodec.d.ts +100 -0
  837. package/dist/cjs/tlv/TlvCodec.d.ts.map +1 -0
  838. package/dist/cjs/tlv/TlvCodec.js +404 -0
  839. package/dist/cjs/tlv/TlvCodec.js.map +6 -0
  840. package/dist/cjs/tlv/TlvNoArguments.d.ts +17 -0
  841. package/dist/cjs/tlv/TlvNoArguments.d.ts.map +1 -0
  842. package/dist/cjs/tlv/TlvNoArguments.js +41 -0
  843. package/dist/cjs/tlv/TlvNoArguments.js.map +6 -0
  844. package/dist/cjs/tlv/TlvNullable.d.ts +24 -0
  845. package/dist/cjs/tlv/TlvNullable.d.ts.map +1 -0
  846. package/dist/cjs/tlv/TlvNullable.js +71 -0
  847. package/dist/cjs/tlv/TlvNullable.js.map +6 -0
  848. package/dist/cjs/tlv/TlvNumber.d.ts +57 -0
  849. package/dist/cjs/tlv/TlvNumber.d.ts.map +1 -0
  850. package/dist/cjs/tlv/TlvNumber.js +186 -0
  851. package/dist/cjs/tlv/TlvNumber.js.map +6 -0
  852. package/dist/cjs/tlv/TlvObject.d.ts +103 -0
  853. package/dist/cjs/tlv/TlvObject.d.ts.map +1 -0
  854. package/dist/cjs/tlv/TlvObject.js +275 -0
  855. package/dist/cjs/tlv/TlvObject.js.map +6 -0
  856. package/dist/cjs/tlv/TlvSchema.d.ts +81 -0
  857. package/dist/cjs/tlv/TlvSchema.d.ts.map +1 -0
  858. package/dist/cjs/tlv/TlvSchema.js +113 -0
  859. package/dist/cjs/tlv/TlvSchema.js.map +6 -0
  860. package/dist/cjs/tlv/TlvString.d.ts +40 -0
  861. package/dist/cjs/tlv/TlvString.d.ts.map +1 -0
  862. package/dist/cjs/tlv/TlvString.js +84 -0
  863. package/dist/cjs/tlv/TlvString.js.map +6 -0
  864. package/dist/cjs/tlv/TlvVoid.d.ts +19 -0
  865. package/dist/cjs/tlv/TlvVoid.d.ts.map +1 -0
  866. package/dist/cjs/tlv/TlvVoid.js +46 -0
  867. package/dist/cjs/tlv/TlvVoid.js.map +6 -0
  868. package/dist/cjs/tlv/TlvWrapper.d.ts +17 -0
  869. package/dist/cjs/tlv/TlvWrapper.d.ts.map +1 -0
  870. package/dist/cjs/tlv/TlvWrapper.js +47 -0
  871. package/dist/cjs/tlv/TlvWrapper.js.map +6 -0
  872. package/dist/cjs/tlv/index.d.ts +18 -0
  873. package/dist/cjs/tlv/index.d.ts.map +1 -0
  874. package/dist/cjs/tlv/index.js +35 -0
  875. package/dist/cjs/tlv/index.js.map +6 -0
  876. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  877. package/dist/esm/cluster/Cluster.d.ts +250 -0
  878. package/dist/esm/cluster/Cluster.d.ts.map +1 -0
  879. package/dist/esm/cluster/Cluster.js +587 -0
  880. package/dist/esm/cluster/Cluster.js.map +6 -0
  881. package/dist/esm/cluster/ClusterHelper.d.ts +30 -0
  882. package/dist/esm/cluster/ClusterHelper.d.ts.map +1 -0
  883. package/dist/esm/cluster/ClusterHelper.js +158 -0
  884. package/dist/esm/cluster/ClusterHelper.js.map +6 -0
  885. package/dist/esm/cluster/ClusterRegistry.d.ts +23 -0
  886. package/dist/esm/cluster/ClusterRegistry.d.ts.map +1 -0
  887. package/dist/esm/cluster/ClusterRegistry.js +27 -0
  888. package/dist/esm/cluster/ClusterRegistry.js.map +6 -0
  889. package/dist/esm/cluster/ClusterType.d.ts +227 -0
  890. package/dist/esm/cluster/ClusterType.d.ts.map +1 -0
  891. package/dist/esm/cluster/ClusterType.js +46 -0
  892. package/dist/esm/cluster/ClusterType.js.map +6 -0
  893. package/dist/esm/cluster/index.d.ts +12 -0
  894. package/dist/esm/cluster/index.d.ts.map +1 -0
  895. package/dist/esm/cluster/index.js +12 -0
  896. package/dist/esm/cluster/index.js.map +6 -0
  897. package/dist/esm/cluster/mutation/ClusterComposer.d.ts +115 -0
  898. package/dist/esm/cluster/mutation/ClusterComposer.d.ts.map +1 -0
  899. package/dist/esm/cluster/mutation/ClusterComposer.js +131 -0
  900. package/dist/esm/cluster/mutation/ClusterComposer.js.map +6 -0
  901. package/dist/esm/cluster/mutation/ElementModifier.d.ts +124 -0
  902. package/dist/esm/cluster/mutation/ElementModifier.d.ts.map +1 -0
  903. package/dist/esm/cluster/mutation/ElementModifier.js +80 -0
  904. package/dist/esm/cluster/mutation/ElementModifier.js.map +6 -0
  905. package/dist/esm/cluster/mutation/MutableCluster.d.ts +75 -0
  906. package/dist/esm/cluster/mutation/MutableCluster.d.ts.map +1 -0
  907. package/dist/esm/cluster/mutation/MutableCluster.js +63 -0
  908. package/dist/esm/cluster/mutation/MutableCluster.js.map +6 -0
  909. package/dist/esm/cluster/mutation/index.d.ts +9 -0
  910. package/dist/esm/cluster/mutation/index.d.ts.map +1 -0
  911. package/dist/esm/cluster/mutation/index.js +9 -0
  912. package/dist/esm/cluster/mutation/index.js.map +6 -0
  913. package/dist/esm/clusters/access-control.d.ts +850 -0
  914. package/dist/esm/clusters/access-control.d.ts.map +1 -0
  915. package/dist/esm/clusters/access-control.js +358 -0
  916. package/dist/esm/clusters/access-control.js.map +6 -0
  917. package/dist/esm/clusters/account-login.d.ts +359 -0
  918. package/dist/esm/clusters/account-login.d.ts.map +1 -0
  919. package/dist/esm/clusters/account-login.js +225 -0
  920. package/dist/esm/clusters/account-login.js.map +6 -0
  921. package/dist/esm/clusters/actions.d.ts +1170 -0
  922. package/dist/esm/clusters/actions.d.ts.map +1 -0
  923. package/dist/esm/clusters/actions.js +543 -0
  924. package/dist/esm/clusters/actions.js.map +6 -0
  925. package/dist/esm/clusters/activated-carbon-filter-monitoring.d.ts +162 -0
  926. package/dist/esm/clusters/activated-carbon-filter-monitoring.d.ts.map +1 -0
  927. package/dist/esm/clusters/activated-carbon-filter-monitoring.js +27 -0
  928. package/dist/esm/clusters/activated-carbon-filter-monitoring.js.map +6 -0
  929. package/dist/esm/clusters/administrator-commissioning.d.ts +885 -0
  930. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -0
  931. package/dist/esm/clusters/administrator-commissioning.js +295 -0
  932. package/dist/esm/clusters/administrator-commissioning.js.map +6 -0
  933. package/dist/esm/clusters/air-quality.d.ts +189 -0
  934. package/dist/esm/clusters/air-quality.d.ts.map +1 -0
  935. package/dist/esm/clusters/air-quality.js +84 -0
  936. package/dist/esm/clusters/air-quality.js.map +6 -0
  937. package/dist/esm/clusters/alarm-base.d.ts +451 -0
  938. package/dist/esm/clusters/alarm-base.d.ts.map +1 -0
  939. package/dist/esm/clusters/alarm-base.js +188 -0
  940. package/dist/esm/clusters/alarm-base.js.map +6 -0
  941. package/dist/esm/clusters/application-basic.d.ts +169 -0
  942. package/dist/esm/clusters/application-basic.d.ts.map +1 -0
  943. package/dist/esm/clusters/application-basic.js +120 -0
  944. package/dist/esm/clusters/application-basic.js.map +6 -0
  945. package/dist/esm/clusters/application-launcher.d.ts +1084 -0
  946. package/dist/esm/clusters/application-launcher.d.ts.map +1 -0
  947. package/dist/esm/clusters/application-launcher.js +230 -0
  948. package/dist/esm/clusters/application-launcher.js.map +6 -0
  949. package/dist/esm/clusters/audio-output.d.ts +439 -0
  950. package/dist/esm/clusters/audio-output.d.ts.map +1 -0
  951. package/dist/esm/clusters/audio-output.js +143 -0
  952. package/dist/esm/clusters/audio-output.js.map +6 -0
  953. package/dist/esm/clusters/ballast-configuration.d.ts +248 -0
  954. package/dist/esm/clusters/ballast-configuration.d.ts.map +1 -0
  955. package/dist/esm/clusters/ballast-configuration.js +236 -0
  956. package/dist/esm/clusters/ballast-configuration.js.map +6 -0
  957. package/dist/esm/clusters/basic-information.d.ts +628 -0
  958. package/dist/esm/clusters/basic-information.d.ts.map +1 -0
  959. package/dist/esm/clusters/basic-information.js +447 -0
  960. package/dist/esm/clusters/basic-information.js.map +6 -0
  961. package/dist/esm/clusters/binding.d.ts +136 -0
  962. package/dist/esm/clusters/binding.d.ts.map +1 -0
  963. package/dist/esm/clusters/binding.js +76 -0
  964. package/dist/esm/clusters/binding.js.map +6 -0
  965. package/dist/esm/clusters/boolean-state-configuration.d.ts +1737 -0
  966. package/dist/esm/clusters/boolean-state-configuration.d.ts.map +1 -0
  967. package/dist/esm/clusters/boolean-state-configuration.js +352 -0
  968. package/dist/esm/clusters/boolean-state-configuration.js.map +6 -0
  969. package/dist/esm/clusters/boolean-state.d.ts +79 -0
  970. package/dist/esm/clusters/boolean-state.d.ts.map +1 -0
  971. package/dist/esm/clusters/boolean-state.js +55 -0
  972. package/dist/esm/clusters/boolean-state.js.map +6 -0
  973. package/dist/esm/clusters/bridged-device-basic-information.d.ts +159 -0
  974. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -0
  975. package/dist/esm/clusters/bridged-device-basic-information.js +142 -0
  976. package/dist/esm/clusters/bridged-device-basic-information.js.map +6 -0
  977. package/dist/esm/clusters/carbon-dioxide-concentration-measurement.d.ts +310 -0
  978. package/dist/esm/clusters/carbon-dioxide-concentration-measurement.d.ts.map +1 -0
  979. package/dist/esm/clusters/carbon-dioxide-concentration-measurement.js +31 -0
  980. package/dist/esm/clusters/carbon-dioxide-concentration-measurement.js.map +6 -0
  981. package/dist/esm/clusters/carbon-monoxide-concentration-measurement.d.ts +310 -0
  982. package/dist/esm/clusters/carbon-monoxide-concentration-measurement.d.ts.map +1 -0
  983. package/dist/esm/clusters/carbon-monoxide-concentration-measurement.js +31 -0
  984. package/dist/esm/clusters/carbon-monoxide-concentration-measurement.js.map +6 -0
  985. package/dist/esm/clusters/channel.d.ts +4764 -0
  986. package/dist/esm/clusters/channel.d.ts.map +1 -0
  987. package/dist/esm/clusters/channel.js +717 -0
  988. package/dist/esm/clusters/channel.js.map +6 -0
  989. package/dist/esm/clusters/color-control.d.ts +5084 -0
  990. package/dist/esm/clusters/color-control.d.ts.map +1 -0
  991. package/dist/esm/clusters/color-control.js +1381 -0
  992. package/dist/esm/clusters/color-control.js.map +6 -0
  993. package/dist/esm/clusters/concentration-measurement.d.ts +566 -0
  994. package/dist/esm/clusters/concentration-measurement.d.ts.map +1 -0
  995. package/dist/esm/clusters/concentration-measurement.js +255 -0
  996. package/dist/esm/clusters/concentration-measurement.js.map +6 -0
  997. package/dist/esm/clusters/content-app-observer.d.ts +183 -0
  998. package/dist/esm/clusters/content-app-observer.d.ts.map +1 -0
  999. package/dist/esm/clusters/content-app-observer.js +79 -0
  1000. package/dist/esm/clusters/content-app-observer.js.map +6 -0
  1001. package/dist/esm/clusters/content-control.d.ts +3879 -0
  1002. package/dist/esm/clusters/content-control.d.ts.map +1 -0
  1003. package/dist/esm/clusters/content-control.js +955 -0
  1004. package/dist/esm/clusters/content-control.js.map +6 -0
  1005. package/dist/esm/clusters/content-launcher.d.ts +4265 -0
  1006. package/dist/esm/clusters/content-launcher.d.ts.map +1 -0
  1007. package/dist/esm/clusters/content-launcher.js +493 -0
  1008. package/dist/esm/clusters/content-launcher.js.map +6 -0
  1009. package/dist/esm/clusters/descriptor.d.ts +413 -0
  1010. package/dist/esm/clusters/descriptor.d.ts.map +1 -0
  1011. package/dist/esm/clusters/descriptor.js +141 -0
  1012. package/dist/esm/clusters/descriptor.js.map +6 -0
  1013. package/dist/esm/clusters/device-energy-management-mode.d.ts +374 -0
  1014. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -0
  1015. package/dist/esm/clusters/device-energy-management-mode.js +144 -0
  1016. package/dist/esm/clusters/device-energy-management-mode.js.map +6 -0
  1017. package/dist/esm/clusters/device-energy-management.d.ts +6333 -0
  1018. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -0
  1019. package/dist/esm/clusters/device-energy-management.js +1257 -0
  1020. package/dist/esm/clusters/device-energy-management.js.map +6 -0
  1021. package/dist/esm/clusters/diagnostic-logs.d.ts +341 -0
  1022. package/dist/esm/clusters/diagnostic-logs.d.ts.map +1 -0
  1023. package/dist/esm/clusters/diagnostic-logs.js +141 -0
  1024. package/dist/esm/clusters/diagnostic-logs.js.map +6 -0
  1025. package/dist/esm/clusters/dishwasher-alarm.d.ts +380 -0
  1026. package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -0
  1027. package/dist/esm/clusters/dishwasher-alarm.js +160 -0
  1028. package/dist/esm/clusters/dishwasher-alarm.js.map +6 -0
  1029. package/dist/esm/clusters/dishwasher-mode.d.ts +194 -0
  1030. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -0
  1031. package/dist/esm/clusters/dishwasher-mode.js +92 -0
  1032. package/dist/esm/clusters/dishwasher-mode.js.map +6 -0
  1033. package/dist/esm/clusters/door-lock.d.ts +15808 -0
  1034. package/dist/esm/clusters/door-lock.d.ts.map +1 -0
  1035. package/dist/esm/clusters/door-lock.js +3207 -0
  1036. package/dist/esm/clusters/door-lock.js.map +6 -0
  1037. package/dist/esm/clusters/electrical-energy-measurement.d.ts +4074 -0
  1038. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -0
  1039. package/dist/esm/clusters/electrical-energy-measurement.js +449 -0
  1040. package/dist/esm/clusters/electrical-energy-measurement.js.map +6 -0
  1041. package/dist/esm/clusters/electrical-power-measurement.d.ts +2565 -0
  1042. package/dist/esm/clusters/electrical-power-measurement.d.ts.map +1 -0
  1043. package/dist/esm/clusters/electrical-power-measurement.js +639 -0
  1044. package/dist/esm/clusters/electrical-power-measurement.js.map +6 -0
  1045. package/dist/esm/clusters/energy-evse-mode.d.ts +367 -0
  1046. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -0
  1047. package/dist/esm/clusters/energy-evse-mode.js +143 -0
  1048. package/dist/esm/clusters/energy-evse-mode.js.map +6 -0
  1049. package/dist/esm/clusters/energy-evse.d.ts +4153 -0
  1050. package/dist/esm/clusters/energy-evse.d.ts.map +1 -0
  1051. package/dist/esm/clusters/energy-evse.js +991 -0
  1052. package/dist/esm/clusters/energy-evse.js.map +6 -0
  1053. package/dist/esm/clusters/energy-preference.d.ts +665 -0
  1054. package/dist/esm/clusters/energy-preference.d.ts.map +1 -0
  1055. package/dist/esm/clusters/energy-preference.js +206 -0
  1056. package/dist/esm/clusters/energy-preference.js.map +6 -0
  1057. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +623 -0
  1058. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -0
  1059. package/dist/esm/clusters/ethernet-network-diagnostics.js +215 -0
  1060. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +6 -0
  1061. package/dist/esm/clusters/fan-control.d.ts +1289 -0
  1062. package/dist/esm/clusters/fan-control.d.ts.map +1 -0
  1063. package/dist/esm/clusters/fan-control.js +365 -0
  1064. package/dist/esm/clusters/fan-control.js.map +6 -0
  1065. package/dist/esm/clusters/fixed-label.d.ts +53 -0
  1066. package/dist/esm/clusters/fixed-label.d.ts.map +1 -0
  1067. package/dist/esm/clusters/fixed-label.js +33 -0
  1068. package/dist/esm/clusters/fixed-label.js.map +6 -0
  1069. package/dist/esm/clusters/flow-measurement.d.ts +69 -0
  1070. package/dist/esm/clusters/flow-measurement.d.ts.map +1 -0
  1071. package/dist/esm/clusters/flow-measurement.js +64 -0
  1072. package/dist/esm/clusters/flow-measurement.js.map +6 -0
  1073. package/dist/esm/clusters/formaldehyde-concentration-measurement.d.ts +310 -0
  1074. package/dist/esm/clusters/formaldehyde-concentration-measurement.d.ts.map +1 -0
  1075. package/dist/esm/clusters/formaldehyde-concentration-measurement.js +31 -0
  1076. package/dist/esm/clusters/formaldehyde-concentration-measurement.js.map +6 -0
  1077. package/dist/esm/clusters/general-commissioning.d.ts +575 -0
  1078. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -0
  1079. package/dist/esm/clusters/general-commissioning.js +427 -0
  1080. package/dist/esm/clusters/general-commissioning.js.map +6 -0
  1081. package/dist/esm/clusters/general-diagnostics.d.ts +1891 -0
  1082. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -0
  1083. package/dist/esm/clusters/general-diagnostics.js +551 -0
  1084. package/dist/esm/clusters/general-diagnostics.js.map +6 -0
  1085. package/dist/esm/clusters/group-key-management.d.ts +1254 -0
  1086. package/dist/esm/clusters/group-key-management.d.ts.map +1 -0
  1087. package/dist/esm/clusters/group-key-management.js +387 -0
  1088. package/dist/esm/clusters/group-key-management.js.map +6 -0
  1089. package/dist/esm/clusters/groups.d.ts +710 -0
  1090. package/dist/esm/clusters/groups.d.ts.map +1 -0
  1091. package/dist/esm/clusters/groups.js +250 -0
  1092. package/dist/esm/clusters/groups.js.map +6 -0
  1093. package/dist/esm/clusters/hepa-filter-monitoring.d.ts +162 -0
  1094. package/dist/esm/clusters/hepa-filter-monitoring.d.ts.map +1 -0
  1095. package/dist/esm/clusters/hepa-filter-monitoring.js +27 -0
  1096. package/dist/esm/clusters/hepa-filter-monitoring.js.map +6 -0
  1097. package/dist/esm/clusters/icd-management.d.ts +1744 -0
  1098. package/dist/esm/clusters/icd-management.d.ts.map +1 -0
  1099. package/dist/esm/clusters/icd-management.js +504 -0
  1100. package/dist/esm/clusters/icd-management.js.map +6 -0
  1101. package/dist/esm/clusters/identify.d.ts +219 -0
  1102. package/dist/esm/clusters/identify.d.ts.map +1 -0
  1103. package/dist/esm/clusters/identify.js +122 -0
  1104. package/dist/esm/clusters/identify.js.map +6 -0
  1105. package/dist/esm/clusters/illuminance-measurement.d.ts +94 -0
  1106. package/dist/esm/clusters/illuminance-measurement.d.ts.map +1 -0
  1107. package/dist/esm/clusters/illuminance-measurement.js +81 -0
  1108. package/dist/esm/clusters/illuminance-measurement.js.map +6 -0
  1109. package/dist/esm/clusters/index.d.ts +121 -0
  1110. package/dist/esm/clusters/index.d.ts.map +1 -0
  1111. package/dist/esm/clusters/index.js +381 -0
  1112. package/dist/esm/clusters/index.js.map +6 -0
  1113. package/dist/esm/clusters/keypad-input.d.ts +341 -0
  1114. package/dist/esm/clusters/keypad-input.d.ts.map +1 -0
  1115. package/dist/esm/clusters/keypad-input.js +187 -0
  1116. package/dist/esm/clusters/keypad-input.js.map +6 -0
  1117. package/dist/esm/clusters/label.d.ts +96 -0
  1118. package/dist/esm/clusters/label.d.ts.map +1 -0
  1119. package/dist/esm/clusters/label.js +46 -0
  1120. package/dist/esm/clusters/label.js.map +6 -0
  1121. package/dist/esm/clusters/laundry-dryer-controls.d.ts +82 -0
  1122. package/dist/esm/clusters/laundry-dryer-controls.d.ts.map +1 -0
  1123. package/dist/esm/clusters/laundry-dryer-controls.js +63 -0
  1124. package/dist/esm/clusters/laundry-dryer-controls.js.map +6 -0
  1125. package/dist/esm/clusters/laundry-washer-controls.d.ts +379 -0
  1126. package/dist/esm/clusters/laundry-washer-controls.d.ts.map +1 -0
  1127. package/dist/esm/clusters/laundry-washer-controls.js +142 -0
  1128. package/dist/esm/clusters/laundry-washer-controls.js.map +6 -0
  1129. package/dist/esm/clusters/laundry-washer-mode.d.ts +200 -0
  1130. package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -0
  1131. package/dist/esm/clusters/laundry-washer-mode.js +93 -0
  1132. package/dist/esm/clusters/laundry-washer-mode.js.map +6 -0
  1133. package/dist/esm/clusters/level-control.d.ts +2945 -0
  1134. package/dist/esm/clusters/level-control.d.ts.map +1 -0
  1135. package/dist/esm/clusters/level-control.js +406 -0
  1136. package/dist/esm/clusters/level-control.js.map +6 -0
  1137. package/dist/esm/clusters/localization-configuration.d.ts +60 -0
  1138. package/dist/esm/clusters/localization-configuration.d.ts.map +1 -0
  1139. package/dist/esm/clusters/localization-configuration.js +55 -0
  1140. package/dist/esm/clusters/localization-configuration.js.map +6 -0
  1141. package/dist/esm/clusters/low-power.d.ts +52 -0
  1142. package/dist/esm/clusters/low-power.d.ts.map +1 -0
  1143. package/dist/esm/clusters/low-power.js +34 -0
  1144. package/dist/esm/clusters/low-power.js.map +6 -0
  1145. package/dist/esm/clusters/media-input.d.ts +493 -0
  1146. package/dist/esm/clusters/media-input.d.ts.map +1 -0
  1147. package/dist/esm/clusters/media-input.js +161 -0
  1148. package/dist/esm/clusters/media-input.js.map +6 -0
  1149. package/dist/esm/clusters/media-playback.d.ts +3558 -0
  1150. package/dist/esm/clusters/media-playback.d.ts.map +1 -0
  1151. package/dist/esm/clusters/media-playback.js +721 -0
  1152. package/dist/esm/clusters/media-playback.js.map +6 -0
  1153. package/dist/esm/clusters/messages.d.ts +1369 -0
  1154. package/dist/esm/clusters/messages.d.ts.map +1 -0
  1155. package/dist/esm/clusters/messages.js +401 -0
  1156. package/dist/esm/clusters/messages.js.map +6 -0
  1157. package/dist/esm/clusters/microwave-oven-control.d.ts +859 -0
  1158. package/dist/esm/clusters/microwave-oven-control.d.ts.map +1 -0
  1159. package/dist/esm/clusters/microwave-oven-control.js +282 -0
  1160. package/dist/esm/clusters/microwave-oven-control.js.map +6 -0
  1161. package/dist/esm/clusters/microwave-oven-mode.d.ts +140 -0
  1162. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -0
  1163. package/dist/esm/clusters/microwave-oven-mode.js +69 -0
  1164. package/dist/esm/clusters/microwave-oven-mode.js.map +6 -0
  1165. package/dist/esm/clusters/mode-base.d.ts +716 -0
  1166. package/dist/esm/clusters/mode-base.d.ts.map +1 -0
  1167. package/dist/esm/clusters/mode-base.js +261 -0
  1168. package/dist/esm/clusters/mode-base.js.map +6 -0
  1169. package/dist/esm/clusters/mode-select.d.ts +638 -0
  1170. package/dist/esm/clusters/mode-select.d.ts.map +1 -0
  1171. package/dist/esm/clusters/mode-select.js +211 -0
  1172. package/dist/esm/clusters/mode-select.js.map +6 -0
  1173. package/dist/esm/clusters/network-commissioning.d.ts +5310 -0
  1174. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -0
  1175. package/dist/esm/clusters/network-commissioning.js +1006 -0
  1176. package/dist/esm/clusters/network-commissioning.js.map +6 -0
  1177. package/dist/esm/clusters/nitrogen-dioxide-concentration-measurement.d.ts +310 -0
  1178. package/dist/esm/clusters/nitrogen-dioxide-concentration-measurement.d.ts.map +1 -0
  1179. package/dist/esm/clusters/nitrogen-dioxide-concentration-measurement.js +31 -0
  1180. package/dist/esm/clusters/nitrogen-dioxide-concentration-measurement.js.map +6 -0
  1181. package/dist/esm/clusters/occupancy-sensing.d.ts +196 -0
  1182. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -0
  1183. package/dist/esm/clusters/occupancy-sensing.js +184 -0
  1184. package/dist/esm/clusters/occupancy-sensing.js.map +6 -0
  1185. package/dist/esm/clusters/on-off.d.ts +1399 -0
  1186. package/dist/esm/clusters/on-off.d.ts.map +1 -0
  1187. package/dist/esm/clusters/on-off.js +327 -0
  1188. package/dist/esm/clusters/on-off.js.map +6 -0
  1189. package/dist/esm/clusters/operational-credentials.d.ts +1307 -0
  1190. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -0
  1191. package/dist/esm/clusters/operational-credentials.js +697 -0
  1192. package/dist/esm/clusters/operational-credentials.js.map +6 -0
  1193. package/dist/esm/clusters/operational-state.d.ts +711 -0
  1194. package/dist/esm/clusters/operational-state.d.ts.map +1 -0
  1195. package/dist/esm/clusters/operational-state.js +352 -0
  1196. package/dist/esm/clusters/operational-state.js.map +6 -0
  1197. package/dist/esm/clusters/ota-software-update-provider.d.ts +928 -0
  1198. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -0
  1199. package/dist/esm/clusters/ota-software-update-provider.js +451 -0
  1200. package/dist/esm/clusters/ota-software-update-provider.js.map +6 -0
  1201. package/dist/esm/clusters/ota-software-update-requestor.d.ts +688 -0
  1202. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -0
  1203. package/dist/esm/clusters/ota-software-update-requestor.js +338 -0
  1204. package/dist/esm/clusters/ota-software-update-requestor.js.map +6 -0
  1205. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +273 -0
  1206. package/dist/esm/clusters/oven-cavity-operational-state.d.ts.map +1 -0
  1207. package/dist/esm/clusters/oven-cavity-operational-state.js +268 -0
  1208. package/dist/esm/clusters/oven-cavity-operational-state.js.map +6 -0
  1209. package/dist/esm/clusters/oven-mode.d.ts +399 -0
  1210. package/dist/esm/clusters/oven-mode.d.ts.map +1 -0
  1211. package/dist/esm/clusters/oven-mode.js +149 -0
  1212. package/dist/esm/clusters/oven-mode.js.map +6 -0
  1213. package/dist/esm/clusters/ozone-concentration-measurement.d.ts +309 -0
  1214. package/dist/esm/clusters/ozone-concentration-measurement.d.ts.map +1 -0
  1215. package/dist/esm/clusters/ozone-concentration-measurement.js +27 -0
  1216. package/dist/esm/clusters/ozone-concentration-measurement.js.map +6 -0
  1217. package/dist/esm/clusters/pm1-concentration-measurement.d.ts +309 -0
  1218. package/dist/esm/clusters/pm1-concentration-measurement.d.ts.map +1 -0
  1219. package/dist/esm/clusters/pm1-concentration-measurement.js +27 -0
  1220. package/dist/esm/clusters/pm1-concentration-measurement.js.map +6 -0
  1221. package/dist/esm/clusters/pm10-concentration-measurement.d.ts +309 -0
  1222. package/dist/esm/clusters/pm10-concentration-measurement.d.ts.map +1 -0
  1223. package/dist/esm/clusters/pm10-concentration-measurement.js +27 -0
  1224. package/dist/esm/clusters/pm10-concentration-measurement.js.map +6 -0
  1225. package/dist/esm/clusters/pm25-concentration-measurement.d.ts +309 -0
  1226. package/dist/esm/clusters/pm25-concentration-measurement.d.ts.map +1 -0
  1227. package/dist/esm/clusters/pm25-concentration-measurement.js +27 -0
  1228. package/dist/esm/clusters/pm25-concentration-measurement.js.map +6 -0
  1229. package/dist/esm/clusters/power-source-configuration.d.ts +48 -0
  1230. package/dist/esm/clusters/power-source-configuration.d.ts.map +1 -0
  1231. package/dist/esm/clusters/power-source-configuration.js +43 -0
  1232. package/dist/esm/clusters/power-source-configuration.js.map +6 -0
  1233. package/dist/esm/clusters/power-source.d.ts +2377 -0
  1234. package/dist/esm/clusters/power-source.d.ts.map +1 -0
  1235. package/dist/esm/clusters/power-source.js +773 -0
  1236. package/dist/esm/clusters/power-source.js.map +6 -0
  1237. package/dist/esm/clusters/power-topology.d.ts +346 -0
  1238. package/dist/esm/clusters/power-topology.d.ts.map +1 -0
  1239. package/dist/esm/clusters/power-topology.js +119 -0
  1240. package/dist/esm/clusters/power-topology.js.map +6 -0
  1241. package/dist/esm/clusters/pressure-measurement.d.ts +377 -0
  1242. package/dist/esm/clusters/pressure-measurement.d.ts.map +1 -0
  1243. package/dist/esm/clusters/pressure-measurement.js +148 -0
  1244. package/dist/esm/clusters/pressure-measurement.js.map +6 -0
  1245. package/dist/esm/clusters/proxy-configuration.d.ts +79 -0
  1246. package/dist/esm/clusters/proxy-configuration.d.ts.map +1 -0
  1247. package/dist/esm/clusters/proxy-configuration.js +53 -0
  1248. package/dist/esm/clusters/proxy-configuration.js.map +6 -0
  1249. package/dist/esm/clusters/proxy-discovery.d.ts +98 -0
  1250. package/dist/esm/clusters/proxy-discovery.d.ts.map +1 -0
  1251. package/dist/esm/clusters/proxy-discovery.js +59 -0
  1252. package/dist/esm/clusters/proxy-discovery.js.map +6 -0
  1253. package/dist/esm/clusters/pulse-width-modulation.d.ts +2031 -0
  1254. package/dist/esm/clusters/pulse-width-modulation.d.ts.map +1 -0
  1255. package/dist/esm/clusters/pulse-width-modulation.js +31 -0
  1256. package/dist/esm/clusters/pulse-width-modulation.js.map +6 -0
  1257. package/dist/esm/clusters/pump-configuration-and-control.d.ts +2203 -0
  1258. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -0
  1259. package/dist/esm/clusters/pump-configuration-and-control.js +739 -0
  1260. package/dist/esm/clusters/pump-configuration-and-control.js.map +6 -0
  1261. package/dist/esm/clusters/radon-concentration-measurement.d.ts +309 -0
  1262. package/dist/esm/clusters/radon-concentration-measurement.d.ts.map +1 -0
  1263. package/dist/esm/clusters/radon-concentration-measurement.js +27 -0
  1264. package/dist/esm/clusters/radon-concentration-measurement.js.map +6 -0
  1265. package/dist/esm/clusters/refrigerator-alarm.d.ts +332 -0
  1266. package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -0
  1267. package/dist/esm/clusters/refrigerator-alarm.js +122 -0
  1268. package/dist/esm/clusters/refrigerator-alarm.js.map +6 -0
  1269. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +180 -0
  1270. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -0
  1271. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +87 -0
  1272. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +6 -0
  1273. package/dist/esm/clusters/relative-humidity-measurement.d.ts +73 -0
  1274. package/dist/esm/clusters/relative-humidity-measurement.d.ts.map +1 -0
  1275. package/dist/esm/clusters/relative-humidity-measurement.js +67 -0
  1276. package/dist/esm/clusters/relative-humidity-measurement.js.map +6 -0
  1277. package/dist/esm/clusters/resource-monitoring.d.ts +353 -0
  1278. package/dist/esm/clusters/resource-monitoring.d.ts.map +1 -0
  1279. package/dist/esm/clusters/resource-monitoring.js +181 -0
  1280. package/dist/esm/clusters/resource-monitoring.js.map +6 -0
  1281. package/dist/esm/clusters/rvc-clean-mode.d.ts +174 -0
  1282. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -0
  1283. package/dist/esm/clusters/rvc-clean-mode.js +84 -0
  1284. package/dist/esm/clusters/rvc-clean-mode.js.map +6 -0
  1285. package/dist/esm/clusters/rvc-operational-state.d.ts +242 -0
  1286. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -0
  1287. package/dist/esm/clusters/rvc-operational-state.js +181 -0
  1288. package/dist/esm/clusters/rvc-operational-state.js.map +6 -0
  1289. package/dist/esm/clusters/rvc-run-mode.d.ts +217 -0
  1290. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -0
  1291. package/dist/esm/clusters/rvc-run-mode.js +91 -0
  1292. package/dist/esm/clusters/rvc-run-mode.js.map +6 -0
  1293. package/dist/esm/clusters/scenes-management.d.ts +2351 -0
  1294. package/dist/esm/clusters/scenes-management.d.ts.map +1 -0
  1295. package/dist/esm/clusters/scenes-management.js +682 -0
  1296. package/dist/esm/clusters/scenes-management.js.map +6 -0
  1297. package/dist/esm/clusters/smoke-co-alarm.d.ts +1304 -0
  1298. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -0
  1299. package/dist/esm/clusters/smoke-co-alarm.js +399 -0
  1300. package/dist/esm/clusters/smoke-co-alarm.js.map +6 -0
  1301. package/dist/esm/clusters/software-diagnostics.d.ts +590 -0
  1302. package/dist/esm/clusters/software-diagnostics.d.ts.map +1 -0
  1303. package/dist/esm/clusters/software-diagnostics.js +205 -0
  1304. package/dist/esm/clusters/software-diagnostics.js.map +6 -0
  1305. package/dist/esm/clusters/switch.d.ts +1222 -0
  1306. package/dist/esm/clusters/switch.d.ts.map +1 -0
  1307. package/dist/esm/clusters/switch.js +336 -0
  1308. package/dist/esm/clusters/switch.js.map +6 -0
  1309. package/dist/esm/clusters/target-navigator.d.ts +261 -0
  1310. package/dist/esm/clusters/target-navigator.d.ts.map +1 -0
  1311. package/dist/esm/clusters/target-navigator.js +120 -0
  1312. package/dist/esm/clusters/target-navigator.js.map +6 -0
  1313. package/dist/esm/clusters/temperature-control.d.ts +626 -0
  1314. package/dist/esm/clusters/temperature-control.d.ts.map +1 -0
  1315. package/dist/esm/clusters/temperature-control.js +204 -0
  1316. package/dist/esm/clusters/temperature-control.js.map +6 -0
  1317. package/dist/esm/clusters/temperature-measurement.d.ts +64 -0
  1318. package/dist/esm/clusters/temperature-measurement.d.ts.map +1 -0
  1319. package/dist/esm/clusters/temperature-measurement.js +59 -0
  1320. package/dist/esm/clusters/temperature-measurement.js.map +6 -0
  1321. package/dist/esm/clusters/thermostat-user-interface-configuration.d.ts +115 -0
  1322. package/dist/esm/clusters/thermostat-user-interface-configuration.d.ts.map +1 -0
  1323. package/dist/esm/clusters/thermostat-user-interface-configuration.js +84 -0
  1324. package/dist/esm/clusters/thermostat-user-interface-configuration.js.map +6 -0
  1325. package/dist/esm/clusters/thermostat.d.ts +4485 -0
  1326. package/dist/esm/clusters/thermostat.d.ts.map +1 -0
  1327. package/dist/esm/clusters/thermostat.js +1360 -0
  1328. package/dist/esm/clusters/thermostat.js.map +6 -0
  1329. package/dist/esm/clusters/thread-network-diagnostics.d.ts +3308 -0
  1330. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -0
  1331. package/dist/esm/clusters/thread-network-diagnostics.js +1114 -0
  1332. package/dist/esm/clusters/thread-network-diagnostics.js.map +6 -0
  1333. package/dist/esm/clusters/time-format-localization.d.ts +331 -0
  1334. package/dist/esm/clusters/time-format-localization.d.ts.map +1 -0
  1335. package/dist/esm/clusters/time-format-localization.js +134 -0
  1336. package/dist/esm/clusters/time-format-localization.js.map +6 -0
  1337. package/dist/esm/clusters/time-synchronization.d.ts +2597 -0
  1338. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -0
  1339. package/dist/esm/clusters/time-synchronization.js +701 -0
  1340. package/dist/esm/clusters/time-synchronization.js.map +6 -0
  1341. package/dist/esm/clusters/total-volatile-organic-compounds-concentration-measurement.d.ts +311 -0
  1342. package/dist/esm/clusters/total-volatile-organic-compounds-concentration-measurement.d.ts.map +1 -0
  1343. package/dist/esm/clusters/total-volatile-organic-compounds-concentration-measurement.js +31 -0
  1344. package/dist/esm/clusters/total-volatile-organic-compounds-concentration-measurement.js.map +6 -0
  1345. package/dist/esm/clusters/unit-localization.d.ts +187 -0
  1346. package/dist/esm/clusters/unit-localization.d.ts.map +1 -0
  1347. package/dist/esm/clusters/unit-localization.js +81 -0
  1348. package/dist/esm/clusters/unit-localization.js.map +6 -0
  1349. package/dist/esm/clusters/user-label.d.ts +43 -0
  1350. package/dist/esm/clusters/user-label.d.ts.map +1 -0
  1351. package/dist/esm/clusters/user-label.js +41 -0
  1352. package/dist/esm/clusters/user-label.js.map +6 -0
  1353. package/dist/esm/clusters/valid-proxies.d.ts +84 -0
  1354. package/dist/esm/clusters/valid-proxies.d.ts.map +1 -0
  1355. package/dist/esm/clusters/valid-proxies.js +48 -0
  1356. package/dist/esm/clusters/valid-proxies.js.map +6 -0
  1357. package/dist/esm/clusters/valve-configuration-and-control.d.ts +1146 -0
  1358. package/dist/esm/clusters/valve-configuration-and-control.d.ts.map +1 -0
  1359. package/dist/esm/clusters/valve-configuration-and-control.js +365 -0
  1360. package/dist/esm/clusters/valve-configuration-and-control.js.map +6 -0
  1361. package/dist/esm/clusters/wake-on-lan.d.ts +78 -0
  1362. package/dist/esm/clusters/wake-on-lan.d.ts.map +1 -0
  1363. package/dist/esm/clusters/wake-on-lan.js +51 -0
  1364. package/dist/esm/clusters/wake-on-lan.js.map +6 -0
  1365. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +928 -0
  1366. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -0
  1367. package/dist/esm/clusters/wi-fi-network-diagnostics.js +331 -0
  1368. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +6 -0
  1369. package/dist/esm/clusters/window-covering.d.ts +2864 -0
  1370. package/dist/esm/clusters/window-covering.d.ts.map +1 -0
  1371. package/dist/esm/clusters/window-covering.js +896 -0
  1372. package/dist/esm/clusters/window-covering.js.map +6 -0
  1373. package/dist/esm/commissioning/CommissioningConstants.d.ts +11 -0
  1374. package/dist/esm/commissioning/CommissioningConstants.d.ts.map +1 -0
  1375. package/dist/esm/commissioning/CommissioningConstants.js +19 -0
  1376. package/dist/esm/commissioning/CommissioningConstants.js.map +6 -0
  1377. package/dist/esm/commissioning/CommissioningOptions.d.ts +38 -0
  1378. package/dist/esm/commissioning/CommissioningOptions.d.ts.map +1 -0
  1379. package/dist/esm/commissioning/CommissioningOptions.js +26 -0
  1380. package/dist/esm/commissioning/CommissioningOptions.js.map +6 -0
  1381. package/dist/esm/commissioning/index.d.ts +8 -0
  1382. package/dist/esm/commissioning/index.d.ts.map +1 -0
  1383. package/dist/esm/commissioning/index.js +8 -0
  1384. package/dist/esm/commissioning/index.js.map +6 -0
  1385. package/dist/esm/common/DeviceClassification.d.ts +44 -0
  1386. package/dist/esm/common/DeviceClassification.d.ts.map +1 -0
  1387. package/dist/esm/common/DeviceClassification.js +18 -0
  1388. package/dist/esm/common/DeviceClassification.js.map +6 -0
  1389. package/dist/esm/common/ProductDescription.d.ts +25 -0
  1390. package/dist/esm/common/ProductDescription.d.ts.map +1 -0
  1391. package/dist/esm/common/ProductDescription.js +6 -0
  1392. package/dist/esm/common/ProductDescription.js.map +6 -0
  1393. package/dist/esm/common/StatusCode.d.ts +17 -0
  1394. package/dist/esm/common/StatusCode.d.ts.map +1 -0
  1395. package/dist/esm/common/StatusCode.js +24 -0
  1396. package/dist/esm/common/StatusCode.js.map +6 -0
  1397. package/dist/esm/common/ValidationError.d.ts +38 -0
  1398. package/dist/esm/common/ValidationError.d.ts.map +1 -0
  1399. package/dist/esm/common/ValidationError.js +44 -0
  1400. package/dist/esm/common/ValidationError.js.map +6 -0
  1401. package/dist/esm/common/index.d.ts +9 -0
  1402. package/dist/esm/common/index.d.ts.map +1 -0
  1403. package/dist/esm/common/index.js +9 -0
  1404. package/dist/esm/common/index.js.map +6 -0
  1405. package/dist/esm/datatype/AttributeId.d.ts +21 -0
  1406. package/dist/esm/datatype/AttributeId.d.ts.map +1 -0
  1407. package/dist/esm/datatype/AttributeId.js +39 -0
  1408. package/dist/esm/datatype/AttributeId.js.map +6 -0
  1409. package/dist/esm/datatype/CaseAuthenticatedTag.d.ts +28 -0
  1410. package/dist/esm/datatype/CaseAuthenticatedTag.d.ts.map +1 -0
  1411. package/dist/esm/datatype/CaseAuthenticatedTag.js +55 -0
  1412. package/dist/esm/datatype/CaseAuthenticatedTag.js.map +6 -0
  1413. package/dist/esm/datatype/ClusterId.d.ts +24 -0
  1414. package/dist/esm/datatype/ClusterId.d.ts.map +1 -0
  1415. package/dist/esm/datatype/ClusterId.js +46 -0
  1416. package/dist/esm/datatype/ClusterId.js.map +6 -0
  1417. package/dist/esm/datatype/CommandId.d.ts +20 -0
  1418. package/dist/esm/datatype/CommandId.d.ts.map +1 -0
  1419. package/dist/esm/datatype/CommandId.js +33 -0
  1420. package/dist/esm/datatype/CommandId.js.map +6 -0
  1421. package/dist/esm/datatype/DataVersion.d.ts +18 -0
  1422. package/dist/esm/datatype/DataVersion.d.ts.map +1 -0
  1423. package/dist/esm/datatype/DataVersion.js +20 -0
  1424. package/dist/esm/datatype/DataVersion.js.map +6 -0
  1425. package/dist/esm/datatype/DeviceTypeId.d.ts +20 -0
  1426. package/dist/esm/datatype/DeviceTypeId.d.ts.map +1 -0
  1427. package/dist/esm/datatype/DeviceTypeId.js +33 -0
  1428. package/dist/esm/datatype/DeviceTypeId.js.map +6 -0
  1429. package/dist/esm/datatype/EndpointNumber.d.ts +20 -0
  1430. package/dist/esm/datatype/EndpointNumber.d.ts.map +1 -0
  1431. package/dist/esm/datatype/EndpointNumber.js +28 -0
  1432. package/dist/esm/datatype/EndpointNumber.js.map +6 -0
  1433. package/dist/esm/datatype/EntryIndex.d.ts +18 -0
  1434. package/dist/esm/datatype/EntryIndex.d.ts.map +1 -0
  1435. package/dist/esm/datatype/EntryIndex.js +20 -0
  1436. package/dist/esm/datatype/EntryIndex.js.map +6 -0
  1437. package/dist/esm/datatype/EventId.d.ts +20 -0
  1438. package/dist/esm/datatype/EventId.d.ts.map +1 -0
  1439. package/dist/esm/datatype/EventId.js +33 -0
  1440. package/dist/esm/datatype/EventId.js.map +6 -0
  1441. package/dist/esm/datatype/EventNumber.d.ts +18 -0
  1442. package/dist/esm/datatype/EventNumber.d.ts.map +1 -0
  1443. package/dist/esm/datatype/EventNumber.js +20 -0
  1444. package/dist/esm/datatype/EventNumber.js.map +6 -0
  1445. package/dist/esm/datatype/FabricId.d.ts +18 -0
  1446. package/dist/esm/datatype/FabricId.d.ts.map +1 -0
  1447. package/dist/esm/datatype/FabricId.js +21 -0
  1448. package/dist/esm/datatype/FabricId.js.map +6 -0
  1449. package/dist/esm/datatype/FabricIndex.d.ts +31 -0
  1450. package/dist/esm/datatype/FabricIndex.d.ts.map +1 -0
  1451. package/dist/esm/datatype/FabricIndex.js +44 -0
  1452. package/dist/esm/datatype/FabricIndex.js.map +6 -0
  1453. package/dist/esm/datatype/FieldId.d.ts +22 -0
  1454. package/dist/esm/datatype/FieldId.d.ts.map +1 -0
  1455. package/dist/esm/datatype/FieldId.js +39 -0
  1456. package/dist/esm/datatype/FieldId.js.map +6 -0
  1457. package/dist/esm/datatype/GroupId.d.ts +28 -0
  1458. package/dist/esm/datatype/GroupId.d.ts.map +1 -0
  1459. package/dist/esm/datatype/GroupId.js +29 -0
  1460. package/dist/esm/datatype/GroupId.js.map +6 -0
  1461. package/dist/esm/datatype/ManufacturerExtensibleIdentifier.d.ts +23 -0
  1462. package/dist/esm/datatype/ManufacturerExtensibleIdentifier.d.ts.map +1 -0
  1463. package/dist/esm/datatype/ManufacturerExtensibleIdentifier.js +43 -0
  1464. package/dist/esm/datatype/ManufacturerExtensibleIdentifier.js.map +6 -0
  1465. package/dist/esm/datatype/NodeId.d.ts +58 -0
  1466. package/dist/esm/datatype/NodeId.d.ts.map +1 -0
  1467. package/dist/esm/datatype/NodeId.js +77 -0
  1468. package/dist/esm/datatype/NodeId.js.map +6 -0
  1469. package/dist/esm/datatype/SubjectId.d.ts +16 -0
  1470. package/dist/esm/datatype/SubjectId.d.ts.map +1 -0
  1471. package/dist/esm/datatype/SubjectId.js +11 -0
  1472. package/dist/esm/datatype/SubjectId.js.map +6 -0
  1473. package/dist/esm/datatype/VendorId.d.ts +22 -0
  1474. package/dist/esm/datatype/VendorId.d.ts.map +1 -0
  1475. package/dist/esm/datatype/VendorId.js +35 -0
  1476. package/dist/esm/datatype/VendorId.js.map +6 -0
  1477. package/dist/esm/datatype/index.d.ts +24 -0
  1478. package/dist/esm/datatype/index.d.ts.map +1 -0
  1479. package/dist/esm/datatype/index.js +24 -0
  1480. package/dist/esm/datatype/index.js.map +6 -0
  1481. package/dist/esm/globals/MeasurementAccuracy.d.ts +64 -0
  1482. package/dist/esm/globals/MeasurementAccuracy.d.ts.map +1 -0
  1483. package/dist/esm/globals/MeasurementAccuracy.js +47 -0
  1484. package/dist/esm/globals/MeasurementAccuracy.js.map +6 -0
  1485. package/dist/esm/globals/MeasurementAccuracyRange.d.ts +135 -0
  1486. package/dist/esm/globals/MeasurementAccuracyRange.d.ts.map +1 -0
  1487. package/dist/esm/globals/MeasurementAccuracyRange.js +77 -0
  1488. package/dist/esm/globals/MeasurementAccuracyRange.js.map +6 -0
  1489. package/dist/esm/globals/MeasurementType.d.ts +69 -0
  1490. package/dist/esm/globals/MeasurementType.d.ts.map +1 -0
  1491. package/dist/esm/globals/MeasurementType.js +27 -0
  1492. package/dist/esm/globals/MeasurementType.js.map +6 -0
  1493. package/dist/esm/globals/Priority.d.ts +32 -0
  1494. package/dist/esm/globals/Priority.d.ts.map +1 -0
  1495. package/dist/esm/globals/Priority.js +15 -0
  1496. package/dist/esm/globals/Priority.js.map +6 -0
  1497. package/dist/esm/globals/Semtag.d.ts +68 -0
  1498. package/dist/esm/globals/Semtag.d.ts.map +1 -0
  1499. package/dist/esm/globals/Semtag.js +59 -0
  1500. package/dist/esm/globals/Semtag.js.map +6 -0
  1501. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +32 -0
  1502. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts.map +1 -0
  1503. package/dist/esm/globals/SoftwareVersionCertificationStatus.js +16 -0
  1504. package/dist/esm/globals/SoftwareVersionCertificationStatus.js.map +6 -0
  1505. package/dist/esm/globals/Status.d.ts +206 -0
  1506. package/dist/esm/globals/Status.d.ts.map +1 -0
  1507. package/dist/esm/globals/Status.js +41 -0
  1508. package/dist/esm/globals/Status.js.map +6 -0
  1509. package/dist/esm/globals/Tod.d.ts +41 -0
  1510. package/dist/esm/globals/Tod.d.ts.map +1 -0
  1511. package/dist/esm/globals/Tod.js +29 -0
  1512. package/dist/esm/globals/Tod.js.map +6 -0
  1513. package/dist/esm/globals/WildcardPathFlags.d.ts +52 -0
  1514. package/dist/esm/globals/WildcardPathFlags.d.ts.map +1 -0
  1515. package/dist/esm/globals/WildcardPathFlags.js +48 -0
  1516. package/dist/esm/globals/WildcardPathFlags.js.map +6 -0
  1517. package/dist/esm/globals/index.d.ts +16 -0
  1518. package/dist/esm/globals/index.d.ts.map +1 -0
  1519. package/dist/esm/globals/index.js +15 -0
  1520. package/dist/esm/globals/index.js.map +6 -0
  1521. package/dist/esm/index.d.ts +14 -0
  1522. package/dist/esm/index.d.ts.map +1 -0
  1523. package/dist/esm/index.js +14 -0
  1524. package/dist/esm/index.js.map +6 -0
  1525. package/dist/esm/package.json +8 -0
  1526. package/dist/esm/protocol/definitions/index.d.ts +8 -0
  1527. package/dist/esm/protocol/definitions/index.d.ts.map +1 -0
  1528. package/dist/esm/protocol/definitions/index.js +8 -0
  1529. package/dist/esm/protocol/definitions/index.js.map +6 -0
  1530. package/dist/esm/protocol/definitions/interaction.d.ts +12 -0
  1531. package/dist/esm/protocol/definitions/interaction.d.ts.map +1 -0
  1532. package/dist/esm/protocol/definitions/interaction.js +12 -0
  1533. package/dist/esm/protocol/definitions/interaction.js.map +6 -0
  1534. package/dist/esm/protocol/definitions/secure-channel.d.ts +99 -0
  1535. package/dist/esm/protocol/definitions/secure-channel.d.ts.map +1 -0
  1536. package/dist/esm/protocol/definitions/secure-channel.js +59 -0
  1537. package/dist/esm/protocol/definitions/secure-channel.js.map +6 -0
  1538. package/dist/esm/protocol/index.d.ts +9 -0
  1539. package/dist/esm/protocol/index.d.ts.map +1 -0
  1540. package/dist/esm/protocol/index.js +9 -0
  1541. package/dist/esm/protocol/index.js.map +6 -0
  1542. package/dist/esm/protocol/messages/TlvDataReport.d.ts +98 -0
  1543. package/dist/esm/protocol/messages/TlvDataReport.d.ts.map +1 -0
  1544. package/dist/esm/protocol/messages/TlvDataReport.js +27 -0
  1545. package/dist/esm/protocol/messages/TlvDataReport.js.map +6 -0
  1546. package/dist/esm/protocol/messages/TlvDataReportForSend.d.ts +19 -0
  1547. package/dist/esm/protocol/messages/TlvDataReportForSend.d.ts.map +1 -0
  1548. package/dist/esm/protocol/messages/TlvDataReportForSend.js +26 -0
  1549. package/dist/esm/protocol/messages/TlvDataReportForSend.js.map +6 -0
  1550. package/dist/esm/protocol/messages/TlvInvokeRequest.d.ts +24 -0
  1551. package/dist/esm/protocol/messages/TlvInvokeRequest.d.ts.map +1 -0
  1552. package/dist/esm/protocol/messages/TlvInvokeRequest.js +23 -0
  1553. package/dist/esm/protocol/messages/TlvInvokeRequest.js.map +6 -0
  1554. package/dist/esm/protocol/messages/TlvInvokeResponse.d.ts +37 -0
  1555. package/dist/esm/protocol/messages/TlvInvokeResponse.d.ts.map +1 -0
  1556. package/dist/esm/protocol/messages/TlvInvokeResponse.js +22 -0
  1557. package/dist/esm/protocol/messages/TlvInvokeResponse.js.map +6 -0
  1558. package/dist/esm/protocol/messages/TlvInvokeResponseForSend.d.ts +12 -0
  1559. package/dist/esm/protocol/messages/TlvInvokeResponseForSend.d.ts.map +1 -0
  1560. package/dist/esm/protocol/messages/TlvInvokeResponseForSend.js +20 -0
  1561. package/dist/esm/protocol/messages/TlvInvokeResponseForSend.js.map +6 -0
  1562. package/dist/esm/protocol/messages/TlvReadRequest.d.ts +54 -0
  1563. package/dist/esm/protocol/messages/TlvReadRequest.d.ts.map +1 -0
  1564. package/dist/esm/protocol/messages/TlvReadRequest.js +30 -0
  1565. package/dist/esm/protocol/messages/TlvReadRequest.js.map +6 -0
  1566. package/dist/esm/protocol/messages/TlvStatusResponse.d.ts +12 -0
  1567. package/dist/esm/protocol/messages/TlvStatusResponse.d.ts.map +1 -0
  1568. package/dist/esm/protocol/messages/TlvStatusResponse.js +16 -0
  1569. package/dist/esm/protocol/messages/TlvStatusResponse.js.map +6 -0
  1570. package/dist/esm/protocol/messages/TlvSubscribeRequest.d.ts +60 -0
  1571. package/dist/esm/protocol/messages/TlvSubscribeRequest.d.ts.map +1 -0
  1572. package/dist/esm/protocol/messages/TlvSubscribeRequest.js +36 -0
  1573. package/dist/esm/protocol/messages/TlvSubscribeRequest.js.map +6 -0
  1574. package/dist/esm/protocol/messages/TlvSubscribeResponse.d.ts +14 -0
  1575. package/dist/esm/protocol/messages/TlvSubscribeResponse.d.ts.map +1 -0
  1576. package/dist/esm/protocol/messages/TlvSubscribeResponse.js +18 -0
  1577. package/dist/esm/protocol/messages/TlvSubscribeResponse.js.map +6 -0
  1578. package/dist/esm/protocol/messages/TlvTimedRequest.d.ts +12 -0
  1579. package/dist/esm/protocol/messages/TlvTimedRequest.d.ts.map +1 -0
  1580. package/dist/esm/protocol/messages/TlvTimedRequest.js +16 -0
  1581. package/dist/esm/protocol/messages/TlvTimedRequest.js.map +6 -0
  1582. package/dist/esm/protocol/messages/TlvWriteRequest.d.ts +39 -0
  1583. package/dist/esm/protocol/messages/TlvWriteRequest.d.ts.map +1 -0
  1584. package/dist/esm/protocol/messages/TlvWriteRequest.js +24 -0
  1585. package/dist/esm/protocol/messages/TlvWriteRequest.js.map +6 -0
  1586. package/dist/esm/protocol/messages/TlvWriteResponse.d.ts +36 -0
  1587. package/dist/esm/protocol/messages/TlvWriteResponse.d.ts.map +1 -0
  1588. package/dist/esm/protocol/messages/TlvWriteResponse.js +18 -0
  1589. package/dist/esm/protocol/messages/TlvWriteResponse.js.map +6 -0
  1590. package/dist/esm/protocol/messages/index.d.ts +18 -0
  1591. package/dist/esm/protocol/messages/index.d.ts.map +1 -0
  1592. package/dist/esm/protocol/messages/index.js +18 -0
  1593. package/dist/esm/protocol/messages/index.js.map +6 -0
  1594. package/dist/esm/protocol/types/TlvAttributeData.d.ts +30 -0
  1595. package/dist/esm/protocol/types/TlvAttributeData.d.ts.map +1 -0
  1596. package/dist/esm/protocol/types/TlvAttributeData.js +19 -0
  1597. package/dist/esm/protocol/types/TlvAttributeData.js.map +6 -0
  1598. package/dist/esm/protocol/types/TlvAttributePath.d.ts +26 -0
  1599. package/dist/esm/protocol/types/TlvAttributePath.d.ts.map +1 -0
  1600. package/dist/esm/protocol/types/TlvAttributePath.js +28 -0
  1601. package/dist/esm/protocol/types/TlvAttributePath.js.map +6 -0
  1602. package/dist/esm/protocol/types/TlvAttributeReport.d.ts +57 -0
  1603. package/dist/esm/protocol/types/TlvAttributeReport.d.ts.map +1 -0
  1604. package/dist/esm/protocol/types/TlvAttributeReport.js +17 -0
  1605. package/dist/esm/protocol/types/TlvAttributeReport.js.map +6 -0
  1606. package/dist/esm/protocol/types/TlvAttributeReportData.d.ts +29 -0
  1607. package/dist/esm/protocol/types/TlvAttributeReportData.d.ts.map +1 -0
  1608. package/dist/esm/protocol/types/TlvAttributeReportData.js +19 -0
  1609. package/dist/esm/protocol/types/TlvAttributeReportData.js.map +6 -0
  1610. package/dist/esm/protocol/types/TlvAttributeStatus.d.ts +32 -0
  1611. package/dist/esm/protocol/types/TlvAttributeStatus.d.ts.map +1 -0
  1612. package/dist/esm/protocol/types/TlvAttributeStatus.js +17 -0
  1613. package/dist/esm/protocol/types/TlvAttributeStatus.js.map +6 -0
  1614. package/dist/esm/protocol/types/TlvClusterPath.d.ts +12 -0
  1615. package/dist/esm/protocol/types/TlvClusterPath.d.ts.map +1 -0
  1616. package/dist/esm/protocol/types/TlvClusterPath.js +19 -0
  1617. package/dist/esm/protocol/types/TlvClusterPath.js.map +6 -0
  1618. package/dist/esm/protocol/types/TlvCommandData.d.ts +16 -0
  1619. package/dist/esm/protocol/types/TlvCommandData.d.ts.map +1 -0
  1620. package/dist/esm/protocol/types/TlvCommandData.js +19 -0
  1621. package/dist/esm/protocol/types/TlvCommandData.js.map +6 -0
  1622. package/dist/esm/protocol/types/TlvCommandPath.d.ts +12 -0
  1623. package/dist/esm/protocol/types/TlvCommandPath.d.ts.map +1 -0
  1624. package/dist/esm/protocol/types/TlvCommandPath.js +19 -0
  1625. package/dist/esm/protocol/types/TlvCommandPath.js.map +6 -0
  1626. package/dist/esm/protocol/types/TlvCommandStatus.d.ts +19 -0
  1627. package/dist/esm/protocol/types/TlvCommandStatus.d.ts.map +1 -0
  1628. package/dist/esm/protocol/types/TlvCommandStatus.js +19 -0
  1629. package/dist/esm/protocol/types/TlvCommandStatus.js.map +6 -0
  1630. package/dist/esm/protocol/types/TlvDataVersionFilter.d.ts +15 -0
  1631. package/dist/esm/protocol/types/TlvDataVersionFilter.d.ts.map +1 -0
  1632. package/dist/esm/protocol/types/TlvDataVersionFilter.js +17 -0
  1633. package/dist/esm/protocol/types/TlvDataVersionFilter.js.map +6 -0
  1634. package/dist/esm/protocol/types/TlvEventData.d.ts +24 -0
  1635. package/dist/esm/protocol/types/TlvEventData.d.ts.map +1 -0
  1636. package/dist/esm/protocol/types/TlvEventData.js +25 -0
  1637. package/dist/esm/protocol/types/TlvEventData.js.map +6 -0
  1638. package/dist/esm/protocol/types/TlvEventFilter.d.ts +11 -0
  1639. package/dist/esm/protocol/types/TlvEventFilter.d.ts.map +1 -0
  1640. package/dist/esm/protocol/types/TlvEventFilter.js +17 -0
  1641. package/dist/esm/protocol/types/TlvEventFilter.js.map +6 -0
  1642. package/dist/esm/protocol/types/TlvEventPath.d.ts +14 -0
  1643. package/dist/esm/protocol/types/TlvEventPath.d.ts.map +1 -0
  1644. package/dist/esm/protocol/types/TlvEventPath.js +23 -0
  1645. package/dist/esm/protocol/types/TlvEventPath.js.map +6 -0
  1646. package/dist/esm/protocol/types/TlvEventReport.d.ts +38 -0
  1647. package/dist/esm/protocol/types/TlvEventReport.d.ts.map +1 -0
  1648. package/dist/esm/protocol/types/TlvEventReport.js +17 -0
  1649. package/dist/esm/protocol/types/TlvEventReport.js.map +6 -0
  1650. package/dist/esm/protocol/types/TlvEventStatus.d.ts +20 -0
  1651. package/dist/esm/protocol/types/TlvEventStatus.d.ts.map +1 -0
  1652. package/dist/esm/protocol/types/TlvEventStatus.js +17 -0
  1653. package/dist/esm/protocol/types/TlvEventStatus.js.map +6 -0
  1654. package/dist/esm/protocol/types/TlvInvokeResponseData.d.ts +30 -0
  1655. package/dist/esm/protocol/types/TlvInvokeResponseData.d.ts.map +1 -0
  1656. package/dist/esm/protocol/types/TlvInvokeResponseData.js +17 -0
  1657. package/dist/esm/protocol/types/TlvInvokeResponseData.js.map +6 -0
  1658. package/dist/esm/protocol/types/TlvStatus.d.ts +11 -0
  1659. package/dist/esm/protocol/types/TlvStatus.d.ts.map +1 -0
  1660. package/dist/esm/protocol/types/TlvStatus.js +17 -0
  1661. package/dist/esm/protocol/types/TlvStatus.js.map +6 -0
  1662. package/dist/esm/protocol/types/WildcardPathFlagsBitmap.d.ts +28 -0
  1663. package/dist/esm/protocol/types/WildcardPathFlagsBitmap.d.ts.map +1 -0
  1664. package/dist/esm/protocol/types/WildcardPathFlagsBitmap.js +30 -0
  1665. package/dist/esm/protocol/types/WildcardPathFlagsBitmap.js.map +6 -0
  1666. package/dist/esm/protocol/types/index.d.ts +23 -0
  1667. package/dist/esm/protocol/types/index.d.ts.map +1 -0
  1668. package/dist/esm/protocol/types/index.js +23 -0
  1669. package/dist/esm/protocol/types/index.js.map +6 -0
  1670. package/dist/esm/schema/Base38Schema.d.ts +16 -0
  1671. package/dist/esm/schema/Base38Schema.d.ts.map +1 -0
  1672. package/dist/esm/schema/Base38Schema.js +90 -0
  1673. package/dist/esm/schema/Base38Schema.js.map +6 -0
  1674. package/dist/esm/schema/BitmapSchema.d.ts +76 -0
  1675. package/dist/esm/schema/BitmapSchema.d.ts.map +1 -0
  1676. package/dist/esm/schema/BitmapSchema.js +172 -0
  1677. package/dist/esm/schema/BitmapSchema.js.map +6 -0
  1678. package/dist/esm/schema/PairingCodeSchema.d.ts +105 -0
  1679. package/dist/esm/schema/PairingCodeSchema.d.ts.map +1 -0
  1680. package/dist/esm/schema/PairingCodeSchema.js +177 -0
  1681. package/dist/esm/schema/PairingCodeSchema.js.map +6 -0
  1682. package/dist/esm/schema/QrCodeSchema.d.ts +14 -0
  1683. package/dist/esm/schema/QrCodeSchema.d.ts.map +1 -0
  1684. package/dist/esm/schema/QrCodeSchema.js +184 -0
  1685. package/dist/esm/schema/QrCodeSchema.js.map +6 -0
  1686. package/dist/esm/schema/Schema.d.ts +17 -0
  1687. package/dist/esm/schema/Schema.d.ts.map +1 -0
  1688. package/dist/esm/schema/Schema.js +27 -0
  1689. package/dist/esm/schema/Schema.js.map +6 -0
  1690. package/dist/esm/schema/SpecificationVersionSchema.d.ts +21 -0
  1691. package/dist/esm/schema/SpecificationVersionSchema.d.ts.map +1 -0
  1692. package/dist/esm/schema/SpecificationVersionSchema.js +22 -0
  1693. package/dist/esm/schema/SpecificationVersionSchema.js.map +6 -0
  1694. package/dist/esm/schema/index.d.ts +11 -0
  1695. package/dist/esm/schema/index.d.ts.map +1 -0
  1696. package/dist/esm/schema/index.js +11 -0
  1697. package/dist/esm/schema/index.js.map +6 -0
  1698. package/dist/esm/tlv/TlvAny.d.ts +22 -0
  1699. package/dist/esm/tlv/TlvAny.d.ts.map +1 -0
  1700. package/dist/esm/tlv/TlvAny.js +184 -0
  1701. package/dist/esm/tlv/TlvAny.js.map +6 -0
  1702. package/dist/esm/tlv/TlvArray.d.ts +39 -0
  1703. package/dist/esm/tlv/TlvArray.d.ts.map +1 -0
  1704. package/dist/esm/tlv/TlvArray.js +110 -0
  1705. package/dist/esm/tlv/TlvArray.js.map +6 -0
  1706. package/dist/esm/tlv/TlvBoolean.d.ts +20 -0
  1707. package/dist/esm/tlv/TlvBoolean.d.ts.map +1 -0
  1708. package/dist/esm/tlv/TlvBoolean.js +28 -0
  1709. package/dist/esm/tlv/TlvBoolean.js.map +6 -0
  1710. package/dist/esm/tlv/TlvCodec.d.ts +100 -0
  1711. package/dist/esm/tlv/TlvCodec.d.ts.map +1 -0
  1712. package/dist/esm/tlv/TlvCodec.js +397 -0
  1713. package/dist/esm/tlv/TlvCodec.js.map +6 -0
  1714. package/dist/esm/tlv/TlvNoArguments.d.ts +17 -0
  1715. package/dist/esm/tlv/TlvNoArguments.d.ts.map +1 -0
  1716. package/dist/esm/tlv/TlvNoArguments.js +21 -0
  1717. package/dist/esm/tlv/TlvNoArguments.js.map +6 -0
  1718. package/dist/esm/tlv/TlvNullable.d.ts +24 -0
  1719. package/dist/esm/tlv/TlvNullable.d.ts.map +1 -0
  1720. package/dist/esm/tlv/TlvNullable.js +51 -0
  1721. package/dist/esm/tlv/TlvNullable.js.map +6 -0
  1722. package/dist/esm/tlv/TlvNumber.d.ts +57 -0
  1723. package/dist/esm/tlv/TlvNumber.d.ts.map +1 -0
  1724. package/dist/esm/tlv/TlvNumber.js +185 -0
  1725. package/dist/esm/tlv/TlvNumber.js.map +6 -0
  1726. package/dist/esm/tlv/TlvObject.d.ts +103 -0
  1727. package/dist/esm/tlv/TlvObject.d.ts.map +1 -0
  1728. package/dist/esm/tlv/TlvObject.js +260 -0
  1729. package/dist/esm/tlv/TlvObject.js.map +6 -0
  1730. package/dist/esm/tlv/TlvSchema.d.ts +81 -0
  1731. package/dist/esm/tlv/TlvSchema.d.ts.map +1 -0
  1732. package/dist/esm/tlv/TlvSchema.js +93 -0
  1733. package/dist/esm/tlv/TlvSchema.js.map +6 -0
  1734. package/dist/esm/tlv/TlvString.d.ts +40 -0
  1735. package/dist/esm/tlv/TlvString.d.ts.map +1 -0
  1736. package/dist/esm/tlv/TlvString.js +64 -0
  1737. package/dist/esm/tlv/TlvString.js.map +6 -0
  1738. package/dist/esm/tlv/TlvVoid.d.ts +19 -0
  1739. package/dist/esm/tlv/TlvVoid.d.ts.map +1 -0
  1740. package/dist/esm/tlv/TlvVoid.js +26 -0
  1741. package/dist/esm/tlv/TlvVoid.js.map +6 -0
  1742. package/dist/esm/tlv/TlvWrapper.d.ts +17 -0
  1743. package/dist/esm/tlv/TlvWrapper.d.ts.map +1 -0
  1744. package/dist/esm/tlv/TlvWrapper.js +27 -0
  1745. package/dist/esm/tlv/TlvWrapper.js.map +6 -0
  1746. package/dist/esm/tlv/index.d.ts +18 -0
  1747. package/dist/esm/tlv/index.d.ts.map +1 -0
  1748. package/dist/esm/tlv/index.js +18 -0
  1749. package/dist/esm/tlv/index.js.map +6 -0
  1750. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  1751. package/package.json +100 -0
  1752. package/src/cluster/Cluster.ts +970 -0
  1753. package/src/cluster/ClusterHelper.ts +206 -0
  1754. package/src/cluster/ClusterRegistry.ts +39 -0
  1755. package/src/cluster/ClusterType.ts +307 -0
  1756. package/src/cluster/index.ts +14 -0
  1757. package/src/cluster/mutation/ClusterComposer.ts +278 -0
  1758. package/src/cluster/mutation/ElementModifier.ts +210 -0
  1759. package/src/cluster/mutation/MutableCluster.ts +145 -0
  1760. package/src/cluster/mutation/index.ts +9 -0
  1761. package/src/clusters/access-control.ts +516 -0
  1762. package/src/clusters/account-login.ts +334 -0
  1763. package/src/clusters/actions.ts +991 -0
  1764. package/src/clusters/activated-carbon-filter-monitoring.ts +50 -0
  1765. package/src/clusters/administrator-commissioning.ts +416 -0
  1766. package/src/clusters/air-quality.ts +171 -0
  1767. package/src/clusters/alarm-base.ts +273 -0
  1768. package/src/clusters/application-basic.ts +178 -0
  1769. package/src/clusters/application-launcher.ts +389 -0
  1770. package/src/clusters/audio-output.ts +253 -0
  1771. package/src/clusters/ballast-configuration.ts +273 -0
  1772. package/src/clusters/basic-information.ts +674 -0
  1773. package/src/clusters/binding.ts +130 -0
  1774. package/src/clusters/boolean-state-configuration.ts +523 -0
  1775. package/src/clusters/boolean-state.ts +83 -0
  1776. package/src/clusters/bridged-device-basic-information.ts +195 -0
  1777. package/src/clusters/carbon-dioxide-concentration-measurement.ts +55 -0
  1778. package/src/clusters/carbon-monoxide-concentration-measurement.ts +55 -0
  1779. package/src/clusters/channel.ts +1122 -0
  1780. package/src/clusters/color-control.ts +1893 -0
  1781. package/src/clusters/concentration-measurement.ts +416 -0
  1782. package/src/clusters/content-app-observer.ts +168 -0
  1783. package/src/clusters/content-control.ts +1403 -0
  1784. package/src/clusters/content-launcher.ts +898 -0
  1785. package/src/clusters/descriptor.ts +225 -0
  1786. package/src/clusters/device-energy-management-mode.ts +227 -0
  1787. package/src/clusters/device-energy-management.ts +2001 -0
  1788. package/src/clusters/diagnostic-logs.ts +284 -0
  1789. package/src/clusters/dishwasher-alarm.ts +225 -0
  1790. package/src/clusters/dishwasher-mode.ts +149 -0
  1791. package/src/clusters/door-lock.ts +5075 -0
  1792. package/src/clusters/electrical-energy-measurement.ts +638 -0
  1793. package/src/clusters/electrical-power-measurement.ts +832 -0
  1794. package/src/clusters/energy-evse-mode.ts +219 -0
  1795. package/src/clusters/energy-evse.ts +1537 -0
  1796. package/src/clusters/energy-preference.ts +315 -0
  1797. package/src/clusters/ethernet-network-diagnostics.ts +333 -0
  1798. package/src/clusters/fan-control.ts +596 -0
  1799. package/src/clusters/fixed-label.ts +59 -0
  1800. package/src/clusters/flow-measurement.ts +81 -0
  1801. package/src/clusters/formaldehyde-concentration-measurement.ts +55 -0
  1802. package/src/clusters/general-commissioning.ts +565 -0
  1803. package/src/clusters/general-diagnostics.ts +917 -0
  1804. package/src/clusters/group-key-management.ts +574 -0
  1805. package/src/clusters/groups.ts +442 -0
  1806. package/src/clusters/hepa-filter-monitoring.ts +50 -0
  1807. package/src/clusters/icd-management.ts +718 -0
  1808. package/src/clusters/identify.ts +231 -0
  1809. package/src/clusters/illuminance-measurement.ts +109 -0
  1810. package/src/clusters/index.ts +158 -0
  1811. package/src/clusters/keypad-input.ts +290 -0
  1812. package/src/clusters/label.ts +66 -0
  1813. package/src/clusters/laundry-dryer-controls.ts +100 -0
  1814. package/src/clusters/laundry-washer-controls.ts +232 -0
  1815. package/src/clusters/laundry-washer-mode.ts +156 -0
  1816. package/src/clusters/level-control.ts +609 -0
  1817. package/src/clusters/localization-configuration.ts +75 -0
  1818. package/src/clusters/low-power.ts +60 -0
  1819. package/src/clusters/media-input.ts +272 -0
  1820. package/src/clusters/media-playback.ts +1157 -0
  1821. package/src/clusters/messages.ts +636 -0
  1822. package/src/clusters/microwave-oven-control.ts +397 -0
  1823. package/src/clusters/microwave-oven-mode.ts +117 -0
  1824. package/src/clusters/mode-base.ts +444 -0
  1825. package/src/clusters/mode-select.ts +327 -0
  1826. package/src/clusters/network-commissioning.ts +1435 -0
  1827. package/src/clusters/nitrogen-dioxide-concentration-measurement.ts +55 -0
  1828. package/src/clusters/occupancy-sensing.ts +237 -0
  1829. package/src/clusters/on-off.ts +528 -0
  1830. package/src/clusters/operational-credentials.ts +1027 -0
  1831. package/src/clusters/operational-state.ts +488 -0
  1832. package/src/clusters/ota-software-update-provider.ts +598 -0
  1833. package/src/clusters/ota-software-update-requestor.ts +595 -0
  1834. package/src/clusters/oven-cavity-operational-state.ts +292 -0
  1835. package/src/clusters/oven-mode.ts +259 -0
  1836. package/src/clusters/ozone-concentration-measurement.ts +50 -0
  1837. package/src/clusters/pm1-concentration-measurement.ts +50 -0
  1838. package/src/clusters/pm10-concentration-measurement.ts +50 -0
  1839. package/src/clusters/pm25-concentration-measurement.ts +50 -0
  1840. package/src/clusters/power-source-configuration.ts +57 -0
  1841. package/src/clusters/power-source.ts +1548 -0
  1842. package/src/clusters/power-topology.ts +193 -0
  1843. package/src/clusters/pressure-measurement.ts +206 -0
  1844. package/src/clusters/proxy-configuration.ts +77 -0
  1845. package/src/clusters/proxy-discovery.ts +90 -0
  1846. package/src/clusters/pulse-width-modulation.ts +54 -0
  1847. package/src/clusters/pump-configuration-and-control.ts +1000 -0
  1848. package/src/clusters/radon-concentration-measurement.ts +50 -0
  1849. package/src/clusters/refrigerator-alarm.ts +179 -0
  1850. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +138 -0
  1851. package/src/clusters/relative-humidity-measurement.ts +85 -0
  1852. package/src/clusters/resource-monitoring.ts +305 -0
  1853. package/src/clusters/rvc-clean-mode.ts +140 -0
  1854. package/src/clusters/rvc-operational-state.ts +270 -0
  1855. package/src/clusters/rvc-run-mode.ts +190 -0
  1856. package/src/clusters/scenes-management.ts +1011 -0
  1857. package/src/clusters/smoke-co-alarm.ts +756 -0
  1858. package/src/clusters/software-diagnostics.ts +292 -0
  1859. package/src/clusters/switch.ts +554 -0
  1860. package/src/clusters/target-navigator.ts +215 -0
  1861. package/src/clusters/temperature-control.ts +313 -0
  1862. package/src/clusters/temperature-measurement.ts +76 -0
  1863. package/src/clusters/thermostat-user-interface-configuration.ts +148 -0
  1864. package/src/clusters/thermostat.ts +1871 -0
  1865. package/src/clusters/thread-network-diagnostics.ts +1418 -0
  1866. package/src/clusters/time-format-localization.ts +258 -0
  1867. package/src/clusters/time-synchronization.ts +1099 -0
  1868. package/src/clusters/total-volatile-organic-compounds-concentration-measurement.ts +56 -0
  1869. package/src/clusters/unit-localization.ts +151 -0
  1870. package/src/clusters/user-label.ts +54 -0
  1871. package/src/clusters/valid-proxies.ts +90 -0
  1872. package/src/clusters/valve-configuration-and-control.ts +518 -0
  1873. package/src/clusters/wake-on-lan.ts +87 -0
  1874. package/src/clusters/wi-fi-network-diagnostics.ts +536 -0
  1875. package/src/clusters/window-covering.ts +1304 -0
  1876. package/src/commissioning/CommissioningConstants.ts +14 -0
  1877. package/src/commissioning/CommissioningOptions.ts +46 -0
  1878. package/src/commissioning/index.ts +8 -0
  1879. package/src/common/DeviceClassification.ts +49 -0
  1880. package/src/common/ProductDescription.ts +29 -0
  1881. package/src/common/StatusCode.ts +28 -0
  1882. package/src/common/ValidationError.ts +63 -0
  1883. package/src/common/index.ts +9 -0
  1884. package/src/datatype/AttributeId.ts +47 -0
  1885. package/src/datatype/CaseAuthenticatedTag.ts +71 -0
  1886. package/src/datatype/ClusterId.ts +59 -0
  1887. package/src/datatype/CommandId.ts +40 -0
  1888. package/src/datatype/DataVersion.ts +28 -0
  1889. package/src/datatype/DeviceTypeId.ts +40 -0
  1890. package/src/datatype/EndpointNumber.ts +35 -0
  1891. package/src/datatype/EntryIndex.ts +28 -0
  1892. package/src/datatype/EventId.ts +40 -0
  1893. package/src/datatype/EventNumber.ts +28 -0
  1894. package/src/datatype/FabricId.ts +28 -0
  1895. package/src/datatype/FabricIndex.ts +60 -0
  1896. package/src/datatype/FieldId.ts +55 -0
  1897. package/src/datatype/GroupId.ts +44 -0
  1898. package/src/datatype/ManufacturerExtensibleIdentifier.ts +53 -0
  1899. package/src/datatype/NodeId.ts +122 -0
  1900. package/src/datatype/SubjectId.ts +18 -0
  1901. package/src/datatype/VendorId.ts +44 -0
  1902. package/src/datatype/index.ts +24 -0
  1903. package/src/globals/MeasurementAccuracy.ts +66 -0
  1904. package/src/globals/MeasurementAccuracyRange.ts +147 -0
  1905. package/src/globals/MeasurementType.ts +84 -0
  1906. package/src/globals/Priority.ts +35 -0
  1907. package/src/globals/Semtag.ts +79 -0
  1908. package/src/globals/SoftwareVersionCertificationStatus.ts +36 -0
  1909. package/src/globals/Status.ts +235 -0
  1910. package/src/globals/Tod.ts +49 -0
  1911. package/src/globals/WildcardPathFlags.ts +62 -0
  1912. package/src/globals/index.ts +17 -0
  1913. package/src/index.ts +16 -0
  1914. package/src/protocol/definitions/index.ts +8 -0
  1915. package/src/protocol/definitions/interaction.ts +13 -0
  1916. package/src/protocol/definitions/secure-channel.ts +136 -0
  1917. package/src/protocol/index.ts +9 -0
  1918. package/src/protocol/messages/TlvDataReport.ts +30 -0
  1919. package/src/protocol/messages/TlvDataReportForSend.ts +29 -0
  1920. package/src/protocol/messages/TlvInvokeRequest.ts +25 -0
  1921. package/src/protocol/messages/TlvInvokeResponse.ts +23 -0
  1922. package/src/protocol/messages/TlvInvokeResponseForSend.ts +18 -0
  1923. package/src/protocol/messages/TlvReadRequest.ts +34 -0
  1924. package/src/protocol/messages/TlvStatusResponse.ts +17 -0
  1925. package/src/protocol/messages/TlvSubscribeRequest.ts +43 -0
  1926. package/src/protocol/messages/TlvSubscribeResponse.ts +19 -0
  1927. package/src/protocol/messages/TlvTimedRequest.ts +16 -0
  1928. package/src/protocol/messages/TlvWriteRequest.ts +26 -0
  1929. package/src/protocol/messages/TlvWriteResponse.ts +18 -0
  1930. package/src/protocol/messages/index.ts +18 -0
  1931. package/src/protocol/types/TlvAttributeData.ts +19 -0
  1932. package/src/protocol/types/TlvAttributePath.ts +28 -0
  1933. package/src/protocol/types/TlvAttributeReport.ts +17 -0
  1934. package/src/protocol/types/TlvAttributeReportData.ts +17 -0
  1935. package/src/protocol/types/TlvAttributeStatus.ts +17 -0
  1936. package/src/protocol/types/TlvClusterPath.ts +19 -0
  1937. package/src/protocol/types/TlvCommandData.ts +19 -0
  1938. package/src/protocol/types/TlvCommandPath.ts +19 -0
  1939. package/src/protocol/types/TlvCommandStatus.ts +19 -0
  1940. package/src/protocol/types/TlvDataVersionFilter.ts +17 -0
  1941. package/src/protocol/types/TlvEventData.ts +26 -0
  1942. package/src/protocol/types/TlvEventFilter.ts +17 -0
  1943. package/src/protocol/types/TlvEventPath.ts +23 -0
  1944. package/src/protocol/types/TlvEventReport.ts +17 -0
  1945. package/src/protocol/types/TlvEventStatus.ts +17 -0
  1946. package/src/protocol/types/TlvInvokeResponseData.ts +17 -0
  1947. package/src/protocol/types/TlvStatus.ts +17 -0
  1948. package/src/protocol/types/WildcardPathFlagsBitmap.ts +38 -0
  1949. package/src/protocol/types/index.ts +23 -0
  1950. package/src/schema/Base38Schema.ts +95 -0
  1951. package/src/schema/BitmapSchema.ts +232 -0
  1952. package/src/schema/PairingCodeSchema.ts +229 -0
  1953. package/src/schema/QrCodeSchema.ts +215 -0
  1954. package/src/schema/Schema.ts +31 -0
  1955. package/src/schema/SpecificationVersionSchema.ts +27 -0
  1956. package/src/schema/index.ts +12 -0
  1957. package/src/tlv/TlvAny.ts +192 -0
  1958. package/src/tlv/TlvArray.ts +145 -0
  1959. package/src/tlv/TlvBoolean.ts +34 -0
  1960. package/src/tlv/TlvCodec.ts +470 -0
  1961. package/src/tlv/TlvNoArguments.ts +26 -0
  1962. package/src/tlv/TlvNullable.ts +66 -0
  1963. package/src/tlv/TlvNumber.ts +205 -0
  1964. package/src/tlv/TlvObject.ts +380 -0
  1965. package/src/tlv/TlvSchema.ts +148 -0
  1966. package/src/tlv/TlvString.ts +84 -0
  1967. package/src/tlv/TlvVoid.ts +34 -0
  1968. package/src/tlv/TlvWrapper.ts +30 -0
  1969. package/src/tlv/index.ts +18 -0
  1970. package/src/tsconfig.json +17 -0
@@ -0,0 +1,3207 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
7
+ import {
8
+ Attribute,
9
+ OptionalWritableAttribute,
10
+ Event,
11
+ EventPriority,
12
+ FixedAttribute,
13
+ WritableAttribute,
14
+ Command,
15
+ TlvNoResponse,
16
+ OptionalCommand,
17
+ OptionalAttribute
18
+ } from "../cluster/Cluster.js";
19
+ import { TlvEnum, TlvUInt32, TlvUInt16, TlvEpochS, TlvUInt8, TlvBitmap } from "../tlv/TlvNumber.js";
20
+ import { TlvNullable } from "../tlv/TlvNullable.js";
21
+ import { AccessLevel } from "#model";
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
+ import { BitFlag, BitsFromPartial } from "../schema/BitmapSchema.js";
26
+ import { TlvArray } from "../tlv/TlvArray.js";
27
+ import { TlvFabricIndex } from "../datatype/FabricIndex.js";
28
+ import { TlvNodeId } from "../datatype/NodeId.js";
29
+ import { TlvNoArguments } from "../tlv/TlvNoArguments.js";
30
+ import { ClusterType } from "../cluster/ClusterType.js";
31
+ import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
32
+ var DoorLock;
33
+ ((DoorLock2) => {
34
+ let Feature;
35
+ ((Feature2) => {
36
+ Feature2["PinCredential"] = "PinCredential";
37
+ Feature2["RfidCredential"] = "RfidCredential";
38
+ Feature2["FingerCredentials"] = "FingerCredentials";
39
+ Feature2["Logging"] = "Logging";
40
+ Feature2["WeekDayAccessSchedules"] = "WeekDayAccessSchedules";
41
+ Feature2["DoorPositionSensor"] = "DoorPositionSensor";
42
+ Feature2["FaceCredentials"] = "FaceCredentials";
43
+ Feature2["CredentialOverTheAirAccess"] = "CredentialOverTheAirAccess";
44
+ Feature2["User"] = "User";
45
+ Feature2["Notification"] = "Notification";
46
+ Feature2["YearDayAccessSchedules"] = "YearDayAccessSchedules";
47
+ Feature2["HolidaySchedules"] = "HolidaySchedules";
48
+ Feature2["Unbolting"] = "Unbolting";
49
+ })(Feature = DoorLock2.Feature || (DoorLock2.Feature = {}));
50
+ let DoorState;
51
+ ((DoorState2) => {
52
+ DoorState2[DoorState2["DoorOpen"] = 0] = "DoorOpen";
53
+ DoorState2[DoorState2["DoorClosed"] = 1] = "DoorClosed";
54
+ DoorState2[DoorState2["DoorJammed"] = 2] = "DoorJammed";
55
+ DoorState2[DoorState2["DoorForcedOpen"] = 3] = "DoorForcedOpen";
56
+ DoorState2[DoorState2["DoorUnspecifiedError"] = 4] = "DoorUnspecifiedError";
57
+ DoorState2[DoorState2["DoorAjar"] = 5] = "DoorAjar";
58
+ })(DoorState = DoorLock2.DoorState || (DoorLock2.DoorState = {}));
59
+ DoorLock2.TlvDoorStateChangeEvent = TlvObject({
60
+ /**
61
+ * This field shall indicate the new door state for this door event.
62
+ *
63
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.2.1
64
+ */
65
+ doorState: TlvField(0, TlvEnum())
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
+ DoorLock2.CredentialRules = {
134
+ /**
135
+ * Only one credential is required for lock operation
136
+ */
137
+ single: BitFlag(0),
138
+ /**
139
+ * Any two credentials are required for lock operation
140
+ */
141
+ dual: BitFlag(1),
142
+ /**
143
+ * Any three credentials are required for lock operation
144
+ */
145
+ tri: BitFlag(2)
146
+ };
147
+ let DataOperationType;
148
+ ((DataOperationType2) => {
149
+ DataOperationType2[DataOperationType2["Add"] = 0] = "Add";
150
+ DataOperationType2[DataOperationType2["Clear"] = 1] = "Clear";
151
+ DataOperationType2[DataOperationType2["Modify"] = 2] = "Modify";
152
+ })(DataOperationType = DoorLock2.DataOperationType || (DoorLock2.DataOperationType = {}));
153
+ let UserStatus;
154
+ ((UserStatus2) => {
155
+ UserStatus2[UserStatus2["Available"] = 0] = "Available";
156
+ UserStatus2[UserStatus2["OccupiedEnabled"] = 1] = "OccupiedEnabled";
157
+ UserStatus2[UserStatus2["OccupiedDisabled"] = 3] = "OccupiedDisabled";
158
+ })(UserStatus = DoorLock2.UserStatus || (DoorLock2.UserStatus = {}));
159
+ let UserType;
160
+ ((UserType2) => {
161
+ UserType2[UserType2["UnrestrictedUser"] = 0] = "UnrestrictedUser";
162
+ UserType2[UserType2["YearDayScheduleUser"] = 1] = "YearDayScheduleUser";
163
+ UserType2[UserType2["WeekDayScheduleUser"] = 2] = "WeekDayScheduleUser";
164
+ UserType2[UserType2["ProgrammingUser"] = 3] = "ProgrammingUser";
165
+ UserType2[UserType2["NonAccessUser"] = 4] = "NonAccessUser";
166
+ UserType2[UserType2["ForcedUser"] = 5] = "ForcedUser";
167
+ UserType2[UserType2["DisposableUser"] = 6] = "DisposableUser";
168
+ UserType2[UserType2["ExpiringUser"] = 7] = "ExpiringUser";
169
+ UserType2[UserType2["ScheduleRestrictedUser"] = 8] = "ScheduleRestrictedUser";
170
+ UserType2[UserType2["RemoteOnlyUser"] = 9] = "RemoteOnlyUser";
171
+ })(UserType = DoorLock2.UserType || (DoorLock2.UserType = {}));
172
+ let CredentialRule;
173
+ ((CredentialRule2) => {
174
+ CredentialRule2[CredentialRule2["Single"] = 0] = "Single";
175
+ CredentialRule2[CredentialRule2["Dual"] = 1] = "Dual";
176
+ CredentialRule2[CredentialRule2["Tri"] = 2] = "Tri";
177
+ })(CredentialRule = DoorLock2.CredentialRule || (DoorLock2.CredentialRule = {}));
178
+ DoorLock2.TlvSetUserRequest = TlvObject({
179
+ /**
180
+ * This field shall indicate the type of operation.
181
+ *
182
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.1
183
+ */
184
+ operationType: TlvField(0, TlvEnum()),
185
+ /**
186
+ * This field shall indicate the user ID.
187
+ *
188
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.2
189
+ */
190
+ userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
191
+ /**
192
+ * This field shall contain a string to use as a human readable identifier for the user. If UserName is null
193
+ * then:
194
+ *
195
+ * • If the OperationType is Add, the UserName in the resulting user record shall be set to an empty string.
196
+ *
197
+ * • If the OperationType is Modify, the UserName in the user record shall NOT be changed from the current
198
+ * value.
199
+ *
200
+ * If UserName is not null, the UserName in the user record shall be set to the provided value.
201
+ *
202
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.3
203
+ */
204
+ userName: TlvField(2, TlvNullable(TlvString.bound({ maxLength: 10 }))),
205
+ /**
206
+ * This field shall indicate the fabric assigned number to use for connecting this user to other users on other
207
+ * devices from the fabric’s perspective.
208
+ *
209
+ * If UserUniqueID is null then:
210
+ *
211
+ * • If the OperationType is Add, the UserUniqueID in the resulting user record shall be set to default value
212
+ * specified above.
213
+ *
214
+ * • If the OperationType is Modify, the UserUniqueID in the user record shall NOT be changed from the
215
+ * current value.
216
+ *
217
+ * If UserUniqueID is not null, the UserUniqueID in the user record shall be set to the provided value.
218
+ *
219
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.4
220
+ */
221
+ userUniqueId: TlvField(3, TlvNullable(TlvUInt32)),
222
+ /**
223
+ * This field shall indicate the UserStatus to assign to this user when created or modified. If UserStatus is
224
+ * null then:
225
+ *
226
+ * • If the OperationType is Add, the UserStatus in the resulting user record shall be set to default value
227
+ * specified above.
228
+ *
229
+ * • If the OperationType is Modify, the UserStatus in the user record shall NOT be changed from the current
230
+ * value.
231
+ *
232
+ * If UserStatus is not null, the UserStatus in the user record shall be set to the provided value.
233
+ *
234
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.5
235
+ */
236
+ userStatus: TlvField(4, TlvNullable(TlvEnum())),
237
+ /**
238
+ * This field shall indicate the UserType to assign to this user when created or modified. If UserType is null
239
+ * then:
240
+ *
241
+ * • If the OperationType is Add, the UserType in the resulting user record shall be set to default value
242
+ * specified above.
243
+ *
244
+ * • If the OperationType is Modify, the UserType in the user record shall NOT be changed from the current
245
+ * value.
246
+ *
247
+ * If UserType is not null, the UserType in the user record shall be set to the provided value.
248
+ *
249
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.6
250
+ */
251
+ userType: TlvField(5, TlvNullable(TlvEnum())),
252
+ /**
253
+ * This field shall indicate the CredentialRule to use for this user.
254
+ *
255
+ * The valid CredentialRule enumeration values depends on the bits in the CredentialRulesBitmap map. Each bit
256
+ * in the map identifies a valid CredentialRule that can be used.
257
+ *
258
+ * If CredentialRule is null then:
259
+ *
260
+ * • If the OperationType is Add, the CredentialRule in the resulting user record shall be set to default
261
+ * value specified above.
262
+ *
263
+ * • If the OperationType is Modify, the CredentialRule in the user record shall NOT be changed from the
264
+ * current value.
265
+ *
266
+ * If CredentialRule is not null, the CredentialRule in the user record shall be set to the provided value.
267
+ *
268
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.7
269
+ */
270
+ credentialRule: TlvField(6, TlvNullable(TlvEnum()))
271
+ });
272
+ DoorLock2.TlvGetUserRequest = TlvObject({ userIndex: TlvField(0, TlvUInt16.bound({ min: 1 })) });
273
+ let CredentialType;
274
+ ((CredentialType2) => {
275
+ CredentialType2[CredentialType2["ProgrammingPin"] = 0] = "ProgrammingPin";
276
+ CredentialType2[CredentialType2["Pin"] = 1] = "Pin";
277
+ CredentialType2[CredentialType2["Rfid"] = 2] = "Rfid";
278
+ CredentialType2[CredentialType2["Fingerprint"] = 3] = "Fingerprint";
279
+ CredentialType2[CredentialType2["FingerVein"] = 4] = "FingerVein";
280
+ CredentialType2[CredentialType2["Face"] = 5] = "Face";
281
+ })(CredentialType = DoorLock2.CredentialType || (DoorLock2.CredentialType = {}));
282
+ DoorLock2.TlvCredential = TlvObject({
283
+ /**
284
+ * This field shall indicate the credential field used to authorize the lock operation.
285
+ *
286
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.26.1
287
+ */
288
+ credentialType: TlvField(0, TlvEnum()),
289
+ /**
290
+ * This field shall indicate the index of the specific credential used to authorize the lock operation in the
291
+ * list of credentials identified by CredentialType (e.g. PIN, RFID, etc.). This field shall be set to 0 if
292
+ * CredentialType is ProgrammingPIN or does not correspond to a list that can be indexed into.
293
+ *
294
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.26.2
295
+ */
296
+ credentialIndex: TlvField(1, TlvUInt16)
297
+ });
298
+ DoorLock2.TlvGetUserResponse = TlvObject({
299
+ /**
300
+ * This field shall indicate the user ID.
301
+ *
302
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.1
303
+ */
304
+ userIndex: TlvField(0, TlvUInt16.bound({ min: 1 })),
305
+ /**
306
+ * This field shall contain a string to use as a human readable identifier for the user.
307
+ *
308
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.2
309
+ */
310
+ userName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 10 }))),
311
+ /**
312
+ * See UserUniqueID field.
313
+ *
314
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.3
315
+ */
316
+ userUniqueId: TlvField(2, TlvNullable(TlvUInt32)),
317
+ /**
318
+ * This field shall indicate the UserStatus assigned to the user when created or modified.
319
+ *
320
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.4
321
+ */
322
+ userStatus: TlvField(3, TlvNullable(TlvEnum())),
323
+ /**
324
+ * This field shall indicate the UserType assigned to this user when created or modified.
325
+ *
326
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.5
327
+ */
328
+ userType: TlvField(4, TlvNullable(TlvEnum())),
329
+ /**
330
+ * This field shall indicate the CredentialRule set for this user.
331
+ *
332
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.6
333
+ */
334
+ credentialRule: TlvField(5, TlvNullable(TlvEnum())),
335
+ /**
336
+ * This field shall contain a list of credentials for this user.
337
+ *
338
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.7
339
+ */
340
+ credentials: TlvField(6, TlvNullable(TlvArray(DoorLock2.TlvCredential, { minLength: 0 }))),
341
+ /**
342
+ * This field shall indicate the user’s creator fabric index. CreatorFabricIndex shall be null if UserStatus is
343
+ * set to Available or when the creator fabric cannot be determined (for example, when user was created outside
344
+ * the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator
345
+ * fabric was deleted.
346
+ *
347
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.8
348
+ */
349
+ creatorFabricIndex: TlvField(7, TlvNullable(TlvFabricIndex)),
350
+ /**
351
+ * This field shall indicate the user’s last modifier fabric index. LastModifiedFabricIndex shall be null if
352
+ * UserStatus is set to Available or when the modifier fabric cannot be determined (for example, when user was
353
+ * modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the
354
+ * last modifier fabric was deleted.
355
+ *
356
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.9
357
+ */
358
+ lastModifiedFabricIndex: TlvField(8, TlvNullable(TlvFabricIndex)),
359
+ /**
360
+ * This field shall indicate the next occupied UserIndex in the database which is useful for quickly
361
+ * identifying occupied user slots in the database. This shall NOT be null if there is at least one occupied
362
+ * entry after the requested UserIndex in the User database and shall be null if there are no more occupied
363
+ * entries.
364
+ *
365
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.10
366
+ */
367
+ nextUserIndex: TlvField(9, TlvNullable(TlvUInt16.bound({ min: 1 })))
368
+ });
369
+ DoorLock2.TlvClearUserRequest = TlvObject({
370
+ /**
371
+ * This field shall specify a valid User index or 0xFFFE to indicate all user slots shall be cleared.
372
+ *
373
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.1
374
+ */
375
+ userIndex: TlvField(0, TlvUInt16)
376
+ });
377
+ DoorLock2.TlvSetCredentialRequest = TlvObject({
378
+ /**
379
+ * This field shall indicate the set credential operation type requested.
380
+ *
381
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.1
382
+ */
383
+ operationType: TlvField(0, TlvEnum()),
384
+ /**
385
+ * This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
386
+ * index (if applicable or 0 if not) to set.
387
+ *
388
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.2
389
+ */
390
+ credential: TlvField(1, DoorLock2.TlvCredential),
391
+ /**
392
+ * This field shall indicate the credential data to set for the credential being added or modified. The length
393
+ * of the credential data shall conform to the limits of the CredentialType specified in the Credential
394
+ * structure otherwise an INVALID_COMMAND status shall be returned in the SetCredentialResponse command.
395
+ *
396
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.3
397
+ */
398
+ credentialData: TlvField(2, TlvByteString),
399
+ /**
400
+ * This field shall indicate the user index to the user record that corresponds to the credential being added
401
+ * or modified. This shall be null if OperationType is add and a new credential and user is being added at the
402
+ * same time.
403
+ *
404
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.4
405
+ */
406
+ userIndex: TlvField(3, TlvNullable(TlvUInt16.bound({ min: 1 }))),
407
+ /**
408
+ * This field shall indicate the user status to use in the new user record if a new user is being created. This
409
+ * shall be null if OperationType is Modify. This may be null when adding a new credential and user.
410
+ *
411
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.5
412
+ */
413
+ userStatus: TlvField(4, TlvNullable(TlvEnum())),
414
+ /**
415
+ * This field shall indicate the user type to use in the new user record if a new user is being created. This
416
+ * shall be null if OperationType is Modify. This may be null when adding a new credential and user.
417
+ *
418
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.6
419
+ */
420
+ userType: TlvField(5, TlvNullable(TlvEnum()))
421
+ });
422
+ DoorLock2.TlvSetCredentialResponse = TlvObject({
423
+ /**
424
+ * Status comes from the Status Codes table and shall be one of the following values:
425
+ *
426
+ * • SUCCESS, if setting user credential was successful.
427
+ *
428
+ * • FAILURE, if some unexpected internal error occurred setting user credential.
429
+ *
430
+ * • OCCUPIED, if OperationType is Add and CredentialIndex in Credential structure points to an occupied slot.
431
+ *
432
+ * • OCCUPIED, if OperationType is Modify and CredentialIndex in Credential structure does not match the
433
+ * CredentialIndex that is already associated with the provided UserIndex.
434
+ *
435
+ * • DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType
436
+ * (e.g. duplicate PIN code).
437
+ *
438
+ * • RESOURCE_EXHAUSTED, if OperationType is Add and the user referred to by UserIndex already has
439
+ * NumberOfCredentialsSupportedPerUser credentials associated.
440
+ *
441
+ * • INVALID_COMMAND, if one or more fields violate constraints or are invalid.
442
+ *
443
+ * • INVALID_COMMAND, if the CredentialIndex in the Credential provided exceeds the number of credentials of
444
+ * the provided CredentialType supported by the lock.
445
+ *
446
+ * • INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.
447
+ *
448
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.1
449
+ */
450
+ status: TlvField(0, TlvEnum()),
451
+ /**
452
+ * This field shall indicate the user index that was created with the new credential. If the status being
453
+ * returned is not success then this shall be null. This shall be null if OperationType was Modify; if the
454
+ * OperationType was Add and a new User was created this shall NOT be null and shall provide the UserIndex
455
+ * created. If the OperationType was Add and an existing User was associated with the new credential then this
456
+ * shall be null.
457
+ *
458
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.2
459
+ */
460
+ userIndex: TlvField(1, TlvNullable(TlvUInt16.bound({ min: 1 }))),
461
+ /**
462
+ * This field shall indicate the next available index in the database for the credential type set, which is
463
+ * useful for quickly identifying available credential slots in the database. This shall NOT be null if there
464
+ * is at least one available entry after the requested credential index in the corresponding database and shall
465
+ * be null if there are no more available entries. The NextCredentialIndex reported shall NOT exceed the
466
+ * maximum number of credentials for a particular credential type.
467
+ *
468
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.3
469
+ */
470
+ nextCredentialIndex: TlvOptionalField(2, TlvNullable(TlvUInt16))
471
+ });
472
+ DoorLock2.TlvGetCredentialStatusRequest = TlvObject({
473
+ /**
474
+ * This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
475
+ * index (if applicable or 0 if not) to retrieve the status for.
476
+ *
477
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.1
478
+ */
479
+ credential: TlvField(0, DoorLock2.TlvCredential)
480
+ });
481
+ DoorLock2.TlvGetCredentialStatusResponse = TlvObject({
482
+ /**
483
+ * This field shall indicate if the requested credential type and index exists and is populated for the
484
+ * requested user index.
485
+ *
486
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.1
487
+ */
488
+ credentialExists: TlvField(0, TlvBoolean),
489
+ /**
490
+ * This field shall indicate the credential’s corresponding user index value if the credential exists. If
491
+ * CredentialType requested was ProgrammingPIN then UserIndex shall be null; otherwise, UserIndex shall be null
492
+ * if CredentialExists is set to False and shall NOT be null if CredentialExists is set to True.
493
+ *
494
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.2
495
+ */
496
+ userIndex: TlvField(1, TlvNullable(TlvUInt16.bound({ min: 1 }))),
497
+ /**
498
+ * This field shall indicate the credential’s creator fabric index. CreatorFabricIndex shall be null if
499
+ * CredentialExists is set to False or when the creator fabric cannot be determined (for example, when
500
+ * credential was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be
501
+ * set to 0 if the original creator fabric was deleted.
502
+ *
503
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.3
504
+ */
505
+ creatorFabricIndex: TlvField(2, TlvNullable(TlvFabricIndex)),
506
+ /**
507
+ * This field shall indicate the credential’s last modifier fabric index. LastModifiedFabricIndex shall be null
508
+ * if CredentialExists is set to False or when the modifier fabric cannot be determined (for example, when
509
+ * credential was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be
510
+ * set to 0 if the last modifier fabric was deleted.
511
+ *
512
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.4
513
+ */
514
+ lastModifiedFabricIndex: TlvField(3, TlvNullable(TlvFabricIndex)),
515
+ /**
516
+ * This field shall indicate the next occupied index in the database for the credential type requested, which
517
+ * 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.
521
+ *
522
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43.5
523
+ */
524
+ nextCredentialIndex: TlvOptionalField(4, TlvNullable(TlvUInt16))
525
+ });
526
+ DoorLock2.TlvClearCredentialRequest = TlvObject({
527
+ /**
528
+ * This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
529
+ * index (0xFFFE for all credentials or 0 if not applicable) to clear. This shall be null if clearing all
530
+ * credential types otherwise it shall NOT be null.
531
+ *
532
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.44.1
533
+ */
534
+ credential: TlvField(0, TlvNullable(DoorLock2.TlvCredential))
535
+ });
536
+ let LockDataType;
537
+ ((LockDataType2) => {
538
+ LockDataType2[LockDataType2["Unspecified"] = 0] = "Unspecified";
539
+ LockDataType2[LockDataType2["ProgrammingCode"] = 1] = "ProgrammingCode";
540
+ LockDataType2[LockDataType2["UserIndex"] = 2] = "UserIndex";
541
+ LockDataType2[LockDataType2["WeekDaySchedule"] = 3] = "WeekDaySchedule";
542
+ LockDataType2[LockDataType2["YearDaySchedule"] = 4] = "YearDaySchedule";
543
+ LockDataType2[LockDataType2["HolidaySchedule"] = 5] = "HolidaySchedule";
544
+ LockDataType2[LockDataType2["Pin"] = 6] = "Pin";
545
+ LockDataType2[LockDataType2["Rfid"] = 7] = "Rfid";
546
+ LockDataType2[LockDataType2["Fingerprint"] = 8] = "Fingerprint";
547
+ LockDataType2[LockDataType2["FingerVein"] = 9] = "FingerVein";
548
+ LockDataType2[LockDataType2["Face"] = 10] = "Face";
549
+ })(LockDataType = DoorLock2.LockDataType || (DoorLock2.LockDataType = {}));
550
+ let OperationSource;
551
+ ((OperationSource2) => {
552
+ OperationSource2[OperationSource2["Unspecified"] = 0] = "Unspecified";
553
+ OperationSource2[OperationSource2["Manual"] = 1] = "Manual";
554
+ OperationSource2[OperationSource2["ProprietaryRemote"] = 2] = "ProprietaryRemote";
555
+ OperationSource2[OperationSource2["Keypad"] = 3] = "Keypad";
556
+ OperationSource2[OperationSource2["Auto"] = 4] = "Auto";
557
+ OperationSource2[OperationSource2["Button"] = 5] = "Button";
558
+ OperationSource2[OperationSource2["Schedule"] = 6] = "Schedule";
559
+ OperationSource2[OperationSource2["Remote"] = 7] = "Remote";
560
+ OperationSource2[OperationSource2["Rfid"] = 8] = "Rfid";
561
+ OperationSource2[OperationSource2["Biometric"] = 9] = "Biometric";
562
+ })(OperationSource = DoorLock2.OperationSource || (DoorLock2.OperationSource = {}));
563
+ DoorLock2.TlvLockUserChangeEvent = TlvObject({
564
+ /**
565
+ * This field shall indicate the lock data type that was changed.
566
+ *
567
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.1
568
+ */
569
+ lockDataType: TlvField(0, TlvEnum()),
570
+ /**
571
+ * This field shall indicate the data operation performed on the lock data type changed.
572
+ *
573
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.2
574
+ */
575
+ dataOperationType: TlvField(1, TlvEnum()),
576
+ /**
577
+ * This field shall indicate the source of the user data change.
578
+ *
579
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.3
580
+ */
581
+ operationSource: TlvField(2, TlvEnum()),
582
+ /**
583
+ * This field shall indicate the lock UserIndex associated with the change (if any). This shall be null if
584
+ * there is no specific user associated with the data operation. This shall be 0xFFFE if all users are affected
585
+ * (e.g. Clear Users).
586
+ *
587
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.4
588
+ */
589
+ userIndex: TlvField(3, TlvNullable(TlvUInt16)),
590
+ /**
591
+ * This field shall indicate the fabric index of the fabric that performed the change (if any). This shall be
592
+ * null if there is no fabric that can be determined to have caused the change. This shall NOT be null if the
593
+ * operation source is "Remote".
594
+ *
595
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.5
596
+ */
597
+ fabricIndex: TlvField(4, TlvNullable(TlvFabricIndex)),
598
+ /**
599
+ * This field shall indicate the Node ID that performed the change (if any). The Node ID of the node that
600
+ * performed the change. This shall be null if there was no Node involved in the change. This shall NOT be null
601
+ * if the operation source is "Remote".
602
+ *
603
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.6
604
+ */
605
+ sourceNode: TlvField(5, TlvNullable(TlvNodeId)),
606
+ /**
607
+ * This field shall indicate the index of the specific item that was changed (e.g. schedule, PIN, RFID, etc.)
608
+ * in the list of items identified by LockDataType. This shall be null if the LockDataType does not correspond
609
+ * to a list that can be indexed into (e.g. ProgrammingUser). This shall be 0xFFFE if all indices are affected
610
+ * (e.g. ClearPINCode, ClearRFIDCode, ClearWeekDaySchedule, ClearYearDaySchedule, etc.).
611
+ *
612
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5.7
613
+ */
614
+ dataIndex: TlvField(6, TlvNullable(TlvUInt16))
615
+ });
616
+ DoorLock2.DaysMask = {
617
+ /**
618
+ * Schedule is applied on Sunday
619
+ */
620
+ sunday: BitFlag(0),
621
+ /**
622
+ * Schedule is applied on Monday
623
+ */
624
+ monday: BitFlag(1),
625
+ /**
626
+ * Schedule is applied on Tuesday
627
+ */
628
+ tuesday: BitFlag(2),
629
+ /**
630
+ * Schedule is applied on Wednesday
631
+ */
632
+ wednesday: BitFlag(3),
633
+ /**
634
+ * Schedule is applied on Thursday
635
+ */
636
+ thursday: BitFlag(4),
637
+ /**
638
+ * Schedule is applied on Friday
639
+ */
640
+ friday: BitFlag(5),
641
+ /**
642
+ * Schedule is applied on Saturday
643
+ */
644
+ saturday: BitFlag(6)
645
+ };
646
+ DoorLock2.TlvSetWeekDayScheduleRequest = TlvObject({
647
+ /**
648
+ * This field shall indicate the index of the Week Day schedule.
649
+ *
650
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.1
651
+ */
652
+ weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
653
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
654
+ /**
655
+ * This field shall indicate which week days the schedule is active.
656
+ *
657
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.3
658
+ */
659
+ daysMask: TlvField(2, TlvBitmap(TlvUInt8, DoorLock2.DaysMask)),
660
+ /**
661
+ * This field shall indicate the starting hour for the Week Day schedule.
662
+ *
663
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.4
664
+ */
665
+ startHour: TlvField(3, TlvUInt8.bound({ max: 23 })),
666
+ /**
667
+ * This field shall indicate the starting minute for the Week Day schedule.
668
+ *
669
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.5
670
+ */
671
+ startMinute: TlvField(4, TlvUInt8.bound({ max: 59 })),
672
+ /**
673
+ * This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater
674
+ * than StartHour.
675
+ *
676
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.6
677
+ */
678
+ endHour: TlvField(5, TlvUInt8.bound({ max: 23 })),
679
+ /**
680
+ * This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then
681
+ * EndMinute shall be greater than StartMinute.
682
+ *
683
+ * If the EndHour is equal to 23 and the EndMinute is equal to 59 the Lock shall grant access to the user up
684
+ * until 23:59:59.
685
+ *
686
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.7
687
+ */
688
+ endMinute: TlvField(6, TlvUInt8.bound({ max: 59 }))
689
+ });
690
+ DoorLock2.TlvGetWeekDayScheduleRequest = TlvObject({
691
+ weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
692
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
693
+ });
694
+ DoorLock2.TlvGetWeekDayScheduleResponse = TlvObject({
695
+ /**
696
+ * This field shall indicate the index of the Week Day schedule.
697
+ *
698
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.1
699
+ */
700
+ weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
701
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
702
+ /**
703
+ * Status shall be one of the following values:
704
+ *
705
+ * • SUCCESS if both WeekDayIndex and UserIndex are valid and there is a corresponding schedule entry.
706
+ *
707
+ * • INVALID_COMMAND if either WeekDayIndex and/or UserIndex values are not within valid range
708
+ *
709
+ * • NOT_FOUND if no corresponding schedule entry found for WeekDayIndex.
710
+ *
711
+ * • NOT_FOUND if no corresponding user entry found for UserIndex.
712
+ *
713
+ * If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
714
+ * values, only the fields up to the status field shall be present.
715
+ *
716
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.3
717
+ */
718
+ status: TlvField(2, TlvEnum()),
719
+ daysMask: TlvOptionalField(3, TlvBitmap(TlvUInt8, DoorLock2.DaysMask)),
720
+ /**
721
+ * This field shall indicate the starting hour for the Week Day schedule.
722
+ *
723
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.4
724
+ */
725
+ startHour: TlvOptionalField(4, TlvUInt8.bound({ max: 23 })),
726
+ /**
727
+ * This field shall indicate the starting minute for the Week Day schedule.
728
+ *
729
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.5
730
+ */
731
+ startMinute: TlvOptionalField(5, TlvUInt8.bound({ max: 59 })),
732
+ /**
733
+ * This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater
734
+ * than StartHour.
735
+ *
736
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.6
737
+ */
738
+ endHour: TlvOptionalField(6, TlvUInt8.bound({ max: 23 })),
739
+ /**
740
+ * This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then
741
+ * EndMinute shall be greater than StartMinute.
742
+ *
743
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.7
744
+ */
745
+ endMinute: TlvOptionalField(7, TlvUInt8.bound({ max: 59 }))
746
+ });
747
+ DoorLock2.TlvClearWeekDayScheduleRequest = TlvObject({
748
+ /**
749
+ * This field shall indicate the Week Day schedule index to clear or 0xFE to clear all Week Day schedules for
750
+ * the specified user.
751
+ *
752
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17.1
753
+ */
754
+ weekDayIndex: TlvField(0, TlvUInt8),
755
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
756
+ });
757
+ DoorLock2.TlvSetYearDayScheduleRequest = TlvObject({
758
+ /**
759
+ * This field shall indicate the index of the Year Day schedule.
760
+ *
761
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.1
762
+ */
763
+ yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
764
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
765
+ /**
766
+ * This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local
767
+ * time offset based on the local timezone and DST offset on the day represented by the value.
768
+ *
769
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.3
770
+ */
771
+ localStartTime: TlvField(2, TlvEpochS),
772
+ /**
773
+ * This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with local time
774
+ * offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
775
+ * greater than LocalStartTime.
776
+ *
777
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.4
778
+ */
779
+ localEndTime: TlvField(3, TlvEpochS)
780
+ });
781
+ DoorLock2.TlvGetYearDayScheduleRequest = TlvObject({
782
+ yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
783
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
784
+ });
785
+ DoorLock2.TlvGetYearDayScheduleResponse = TlvObject({
786
+ /**
787
+ * This field shall indicate the index of the Year Day schedule.
788
+ *
789
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.1
790
+ */
791
+ yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
792
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 })),
793
+ /**
794
+ * Status shall be one of the following values:
795
+ *
796
+ * • SUCCESS if both YearDayIndex and UserIndex are valid and there is a corresponding schedule entry.
797
+ *
798
+ * • INVALID_COMMAND if either YearDayIndex and/or UserIndex values are not within valid range
799
+ *
800
+ * • NOT_FOUND if no corresponding schedule entry found for YearDayIndex.
801
+ *
802
+ * • NOT_FOUND if no corresponding user entry found for UserIndex.
803
+ *
804
+ * If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
805
+ * values, only the fields up to the status field shall be present.
806
+ *
807
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.3
808
+ */
809
+ status: TlvField(2, TlvEnum()),
810
+ /**
811
+ * This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local
812
+ * time offset based on the local timezone and DST offset on the day represented by the value. This shall be
813
+ * null if the schedule is not set for the YearDayIndex and UserIndex provided.
814
+ *
815
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.4
816
+ */
817
+ localStartTime: TlvOptionalField(2, TlvEpochS),
818
+ /**
819
+ * This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with local time
820
+ * offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
821
+ * greater than LocalStartTime. This shall be null if the schedule is not set for the YearDayIndex and
822
+ * UserIndex provided.
823
+ *
824
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.5
825
+ */
826
+ localEndTime: TlvOptionalField(3, TlvEpochS)
827
+ });
828
+ DoorLock2.TlvClearYearDayScheduleRequest = TlvObject({
829
+ /**
830
+ * This field shall indicate the Year Day schedule index to clear or 0xFE to clear all Year Day schedules for
831
+ * the specified user.
832
+ *
833
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21.1
834
+ */
835
+ yearDayIndex: TlvField(0, TlvUInt8),
836
+ userIndexUserId: TlvField(1, TlvUInt16.bound({ min: 1 }))
837
+ });
838
+ let OperatingMode;
839
+ ((OperatingMode2) => {
840
+ OperatingMode2[OperatingMode2["Normal"] = 0] = "Normal";
841
+ OperatingMode2[OperatingMode2["Vacation"] = 1] = "Vacation";
842
+ OperatingMode2[OperatingMode2["Privacy"] = 2] = "Privacy";
843
+ OperatingMode2[OperatingMode2["NoRemoteLockUnlock"] = 3] = "NoRemoteLockUnlock";
844
+ OperatingMode2[OperatingMode2["Passage"] = 4] = "Passage";
845
+ })(OperatingMode = DoorLock2.OperatingMode || (DoorLock2.OperatingMode = {}));
846
+ DoorLock2.TlvSetHolidayScheduleRequest = TlvObject({
847
+ /**
848
+ * This field shall indicate the index of the Holiday schedule.
849
+ *
850
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.1
851
+ */
852
+ holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
853
+ /**
854
+ * This field shall indicate the starting time for the Holiday Day schedule in Epoch Time in Seconds with local
855
+ * time offset based on the local timezone and DST offset on the day represented by the value.
856
+ *
857
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.2
858
+ */
859
+ localStartTime: TlvField(1, TlvEpochS),
860
+ /**
861
+ * This field shall indicate the ending time for the Holiday Day schedule in Epoch Time in Seconds with local
862
+ * time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime
863
+ * shall be greater than LocalStartTime.
864
+ *
865
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.3
866
+ */
867
+ localEndTime: TlvField(2, TlvEpochS),
868
+ /**
869
+ * This field shall indicate the operating mode to use during this Holiday schedule start/end time.
870
+ *
871
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.4
872
+ */
873
+ operatingMode: TlvField(3, TlvEnum())
874
+ });
875
+ DoorLock2.TlvGetHolidayScheduleRequest = TlvObject({ holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })) });
876
+ DoorLock2.TlvGetHolidayScheduleResponse = TlvObject({
877
+ /**
878
+ * This field shall indicate the index of the Holiday schedule.
879
+ *
880
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.1
881
+ */
882
+ holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
883
+ /**
884
+ * Status shall be one of the following values:
885
+ *
886
+ * • FAILURE if the attribute NumberOfHolidaySchedulesSupported is zero.
887
+ *
888
+ * • SUCCESS if the HolidayIndex is valid and there is a corresponding schedule entry.
889
+ *
890
+ * • INVALID_COMMAND if the HolidayIndex is not within valid range
891
+ *
892
+ * • NOT_FOUND if the HolidayIndex is within the valid range, however, there is not corresponding schedule
893
+ * entry found.
894
+ *
895
+ * If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
896
+ * values, only the fields up to the status field shall be present.
897
+ *
898
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.2
899
+ */
900
+ status: TlvField(1, TlvEnum()),
901
+ /**
902
+ * This field shall indicate the starting time for the Holiday schedule in Epoch Time in Seconds with local
903
+ * time offset based on the local timezone and DST offset on the day represented by the value. This shall be
904
+ * null if the schedule is not set for the HolidayIndex provided.
905
+ *
906
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.3
907
+ */
908
+ localStartTime: TlvOptionalField(2, TlvNullable(TlvEpochS)),
909
+ /**
910
+ * This field shall indicate the ending time for the Holiday schedule in Epoch Time in Seconds with local time
911
+ * offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
912
+ * greater than LocalStartTime. This shall be null if the schedule is not set for the HolidayIndex provided.
913
+ *
914
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.4
915
+ */
916
+ localEndTime: TlvOptionalField(3, TlvNullable(TlvEpochS)),
917
+ /**
918
+ * This field shall indicate the operating mode to use during this Holiday schedule start/end time. This shall
919
+ * be null if the schedule is not set for the HolidayIndex provided.
920
+ *
921
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.5
922
+ */
923
+ operatingMode: TlvOptionalField(4, TlvNullable(TlvEnum()))
924
+ });
925
+ DoorLock2.TlvClearHolidayScheduleRequest = TlvObject({
926
+ /**
927
+ * This field shall indicate the Holiday schedule index to clear or 0xFE to clear all Holiday schedules.
928
+ *
929
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25.1
930
+ */
931
+ holidayIndex: TlvField(0, TlvUInt8)
932
+ });
933
+ DoorLock2.TlvSetPinCodeRequest = TlvObject({
934
+ /**
935
+ * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
936
+ * NumberOfPINUsersSupported attribute.
937
+ *
938
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6.1
939
+ */
940
+ userId: TlvField(0, TlvUInt16),
941
+ /**
942
+ * This field shall indicate the user status. Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled)
943
+ * are allowed for UserStatus.
944
+ *
945
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6.2
946
+ */
947
+ userStatus: TlvField(1, TlvNullable(TlvEnum())),
948
+ userType: TlvField(2, TlvNullable(TlvEnum())),
949
+ pin: TlvField(3, TlvByteString)
950
+ });
951
+ DoorLock2.TlvGetPinCodeRequest = TlvObject({
952
+ /**
953
+ * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
954
+ * NumberOfPINUsersSupported attribute.
955
+ *
956
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7.1
957
+ */
958
+ userId: TlvField(0, TlvUInt16)
959
+ });
960
+ DoorLock2.TlvGetPinCodeResponse = TlvObject({
961
+ userId: TlvField(0, TlvUInt16),
962
+ userStatus: TlvField(1, TlvNullable(TlvEnum())),
963
+ userType: TlvField(2, TlvNullable(TlvEnum())),
964
+ pinCode: TlvField(3, TlvNullable(TlvByteString))
965
+ });
966
+ DoorLock2.TlvClearPinCodeRequest = TlvObject({
967
+ /**
968
+ * This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall be
969
+ * cleared.
970
+ *
971
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.1
972
+ */
973
+ pinSlotIndex: TlvField(0, TlvUInt16)
974
+ });
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
+ DoorLock2.RemoteProgrammingEventMask = {
1049
+ unknown: BitFlag(0),
1050
+ pinAdded: BitFlag(2),
1051
+ pinCleared: BitFlag(3),
1052
+ pinChanged: BitFlag(4),
1053
+ rfidCodeAdded: BitFlag(5),
1054
+ rfidCodeCleared: BitFlag(6)
1055
+ };
1056
+ DoorLock2.RfidProgrammingEventMask = { unknown: BitFlag(0), idAdded: BitFlag(5), idCleared: BitFlag(6) };
1057
+ DoorLock2.TlvSetUserStatusRequest = TlvObject({
1058
+ /**
1059
+ * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
1060
+ * NumberOfPINUsersSupported attribute.
1061
+ *
1062
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.1
1063
+ */
1064
+ userId: TlvField(0, TlvUInt16),
1065
+ /**
1066
+ * UserStatus value of Available is not allowed. In order to clear a user id, the ClearUser Command shall be
1067
+ * used. For user status value please refer to UserStatusEnum.
1068
+ *
1069
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.2
1070
+ */
1071
+ userStatus: TlvField(1, TlvEnum())
1072
+ });
1073
+ DoorLock2.TlvGetUserStatusRequest = TlvObject({
1074
+ /**
1075
+ * This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
1076
+ * NumberOfPINUsersSupported attribute.
1077
+ *
1078
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.1
1079
+ */
1080
+ userId: TlvField(0, TlvUInt16)
1081
+ });
1082
+ DoorLock2.TlvGetUserStatusResponse = TlvObject({
1083
+ /**
1084
+ * This field shall indicate the user ID provided in the request.
1085
+ *
1086
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13.1
1087
+ */
1088
+ userId: TlvField(0, TlvUInt16),
1089
+ /**
1090
+ * This field shall indicate the current status of the requested user ID.
1091
+ *
1092
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13.2
1093
+ */
1094
+ userStatus: TlvField(1, TlvEnum())
1095
+ });
1096
+ DoorLock2.TlvSetUserTypeRequest = TlvObject({
1097
+ /**
1098
+ * This field shall indicate the user ID.
1099
+ *
1100
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26.1
1101
+ */
1102
+ userId: TlvField(0, TlvUInt16),
1103
+ /**
1104
+ * This field shall indicate the user type.
1105
+ *
1106
+ * If UserType is currently YearDayScheduleUser, WeekDayScheduleUser, or ScheduleRestrictedUser and the new
1107
+ * UserType is UnrestrictedUser then all existing Year Day and/or Week Day schedules shall be ignored or
1108
+ * disabled (if this transition is supported by the door lock). If UserType is ScheduleRestrictedUser and the
1109
+ * new UserType is ScheduleRestrictedUser then all existing Year Day and/or Week Day schedules shall be applied
1110
+ * or enabled.
1111
+ *
1112
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26.2
1113
+ */
1114
+ userType: TlvField(1, TlvEnum())
1115
+ });
1116
+ DoorLock2.TlvGetUserTypeRequest = TlvObject({ userId: TlvField(0, TlvUInt16) });
1117
+ DoorLock2.TlvGetUserTypeResponse = TlvObject({
1118
+ userId: TlvField(0, TlvUInt16),
1119
+ userType: TlvField(1, TlvEnum())
1120
+ });
1121
+ DoorLock2.TlvSetRfidCodeRequest = TlvObject({
1122
+ /**
1123
+ * This field shall indicate the user ID.
1124
+ *
1125
+ * The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.
1126
+ *
1127
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29.1
1128
+ */
1129
+ userId: TlvField(0, TlvUInt16),
1130
+ /**
1131
+ * This field shall indicate what the status is for a specific user ID. The values are according to “Set PIN”
1132
+ * while not all are supported.
1133
+ *
1134
+ * Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.
1135
+ *
1136
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29.2
1137
+ */
1138
+ userStatus: TlvField(1, TlvNullable(TlvEnum())),
1139
+ /**
1140
+ * The values are the same as used for SetPINCode command.
1141
+ *
1142
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29.3
1143
+ */
1144
+ userType: TlvField(2, TlvNullable(TlvEnum())),
1145
+ rfidCode: TlvField(3, TlvByteString)
1146
+ });
1147
+ DoorLock2.TlvGetRfidCodeRequest = TlvObject({
1148
+ /**
1149
+ * This field shall indicate the user ID.
1150
+ *
1151
+ * The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.
1152
+ *
1153
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30.1
1154
+ */
1155
+ userId: TlvField(0, TlvUInt16)
1156
+ });
1157
+ DoorLock2.TlvGetRfidCodeResponse = TlvObject({
1158
+ userId: TlvField(0, TlvUInt16),
1159
+ userStatus: TlvField(1, TlvNullable(TlvEnum())),
1160
+ userType: TlvField(2, TlvNullable(TlvEnum())),
1161
+ rfidCode: TlvField(3, TlvNullable(TlvByteString))
1162
+ });
1163
+ DoorLock2.TlvClearRfidCodeRequest = TlvObject({
1164
+ /**
1165
+ * This field shall indicate a valid RFID code slot index or 0xFFFE to indicate all RFID code slots shall be
1166
+ * cleared.
1167
+ *
1168
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.1
1169
+ */
1170
+ rfidSlotIndex: TlvField(0, TlvUInt16)
1171
+ });
1172
+ DoorLock2.TlvUnboltDoorRequest = TlvObject({
1173
+ /**
1174
+ * See PINCode field.
1175
+ *
1176
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.45.1
1177
+ */
1178
+ pinCode: TlvOptionalField(0, TlvByteString)
1179
+ });
1180
+ let LockState;
1181
+ ((LockState2) => {
1182
+ LockState2[LockState2["NotFullyLocked"] = 0] = "NotFullyLocked";
1183
+ LockState2[LockState2["Locked"] = 1] = "Locked";
1184
+ LockState2[LockState2["Unlocked"] = 2] = "Unlocked";
1185
+ LockState2[LockState2["Unlatched"] = 3] = "Unlatched";
1186
+ })(LockState = DoorLock2.LockState || (DoorLock2.LockState = {}));
1187
+ let LockType;
1188
+ ((LockType2) => {
1189
+ LockType2[LockType2["DeadBolt"] = 0] = "DeadBolt";
1190
+ LockType2[LockType2["Magnetic"] = 1] = "Magnetic";
1191
+ LockType2[LockType2["Other"] = 2] = "Other";
1192
+ LockType2[LockType2["Mortise"] = 3] = "Mortise";
1193
+ LockType2[LockType2["Rim"] = 4] = "Rim";
1194
+ LockType2[LockType2["LatchBolt"] = 5] = "LatchBolt";
1195
+ LockType2[LockType2["CylindricalLock"] = 6] = "CylindricalLock";
1196
+ LockType2[LockType2["TubularLock"] = 7] = "TubularLock";
1197
+ LockType2[LockType2["InterconnectedLock"] = 8] = "InterconnectedLock";
1198
+ LockType2[LockType2["DeadLatch"] = 9] = "DeadLatch";
1199
+ LockType2[LockType2["DoorFurniture"] = 10] = "DoorFurniture";
1200
+ LockType2[LockType2["Eurocylinder"] = 11] = "Eurocylinder";
1201
+ })(LockType = DoorLock2.LockType || (DoorLock2.LockType = {}));
1202
+ let LedSetting;
1203
+ ((LedSetting2) => {
1204
+ LedSetting2[LedSetting2["NoLedSignal"] = 0] = "NoLedSignal";
1205
+ LedSetting2[LedSetting2["NoLedSignalAccessAllowed"] = 1] = "NoLedSignalAccessAllowed";
1206
+ LedSetting2[LedSetting2["LedSignalAll"] = 2] = "LedSignalAll";
1207
+ })(LedSetting = DoorLock2.LedSetting || (DoorLock2.LedSetting = {}));
1208
+ let SoundVolume;
1209
+ ((SoundVolume2) => {
1210
+ SoundVolume2[SoundVolume2["Silent"] = 0] = "Silent";
1211
+ SoundVolume2[SoundVolume2["Low"] = 1] = "Low";
1212
+ SoundVolume2[SoundVolume2["High"] = 2] = "High";
1213
+ SoundVolume2[SoundVolume2["Medium"] = 3] = "Medium";
1214
+ })(SoundVolume = DoorLock2.SoundVolume || (DoorLock2.SoundVolume = {}));
1215
+ DoorLock2.OperatingModes = {
1216
+ /**
1217
+ * Normal operation mode
1218
+ */
1219
+ normal: BitFlag(0),
1220
+ /**
1221
+ * Vacation operation mode
1222
+ */
1223
+ vacation: BitFlag(1),
1224
+ /**
1225
+ * Privacy operation mode
1226
+ */
1227
+ privacy: BitFlag(2),
1228
+ /**
1229
+ * No remote lock and unlock operation mode
1230
+ */
1231
+ noRemoteLockUnlock: BitFlag(3),
1232
+ /**
1233
+ * Passage operation mode
1234
+ */
1235
+ passage: BitFlag(4)
1236
+ };
1237
+ DoorLock2.ConfigurationRegister = {
1238
+ /**
1239
+ * The state of local programming functionality
1240
+ *
1241
+ * This bit shall indicate the state related to local programming:
1242
+ *
1243
+ * • 0 = Local programming is disabled
1244
+ *
1245
+ * • 1 = Local programming is enabled
1246
+ *
1247
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.4.1
1248
+ */
1249
+ localProgramming: BitFlag(0),
1250
+ /**
1251
+ * The state of the keypad interface
1252
+ *
1253
+ * This bit shall indicate the state related to keypad interface:
1254
+ *
1255
+ * • 0 = Keypad interface is disabled
1256
+ *
1257
+ * • 1 = Keypad interface is enabled
1258
+ *
1259
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.4.2
1260
+ */
1261
+ keypadInterface: BitFlag(1),
1262
+ /**
1263
+ * The state of the remote interface
1264
+ *
1265
+ * This bit shall indicate the state related to remote interface:
1266
+ *
1267
+ * • 0 = Remote interface is disabled
1268
+ *
1269
+ * • 1 = Remote interface is enabled
1270
+ *
1271
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.4.3
1272
+ */
1273
+ remoteInterface: BitFlag(2),
1274
+ /**
1275
+ * Sound volume is set to Silent value
1276
+ *
1277
+ * This bit shall indicate the state related to sound volume:
1278
+ *
1279
+ * • 0 = Sound volume value is 0 (Silent)
1280
+ *
1281
+ * • 1 = Sound volume value is equal to something other than 0
1282
+ *
1283
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.4.4
1284
+ */
1285
+ soundVolume: BitFlag(5),
1286
+ /**
1287
+ * Auto relock time it set to 0
1288
+ *
1289
+ * This bit shall indicate the state related to auto relock time:
1290
+ *
1291
+ * • 0 = Auto relock time value is 0
1292
+ *
1293
+ * • 1 = Auto relock time value is equal to something other than 0
1294
+ *
1295
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.4.5
1296
+ */
1297
+ autoRelockTime: BitFlag(6),
1298
+ /**
1299
+ * LEDs is disabled
1300
+ *
1301
+ * This bit shall indicate the state related to LED settings:
1302
+ *
1303
+ * • 0 = LED settings value is 0 (NoLEDSignal)
1304
+ *
1305
+ * • 1 = LED settings value is equal to something other than 0
1306
+ *
1307
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.4.6
1308
+ */
1309
+ ledSettings: BitFlag(7)
1310
+ };
1311
+ DoorLock2.LocalProgrammingFeatures = {
1312
+ /**
1313
+ * The state of the ability to add users, credentials or schedules on the device
1314
+ *
1315
+ * This bit shall indicate whether the door lock is able to add Users/Credentials/Schedules locally:
1316
+ *
1317
+ * • 0 = This ability is disabled
1318
+ *
1319
+ * • 1 = This ability is enabled
1320
+ *
1321
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.5.1
1322
+ */
1323
+ addUsersCredentialsSchedules: BitFlag(0),
1324
+ /**
1325
+ * The state of the ability to modify users, credentials or schedules on the device
1326
+ *
1327
+ * This bit shall indicate whether the door lock is able to modify Users/Credentials/Schedules locally:
1328
+ *
1329
+ * • 0 = This ability is disabled
1330
+ *
1331
+ * • 1 = This ability is enabled
1332
+ *
1333
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.5.2
1334
+ */
1335
+ modifyUsersCredentialsSchedules: BitFlag(1),
1336
+ /**
1337
+ * The state of the ability to clear users, credentials or schedules on the device
1338
+ *
1339
+ * This bit shall indicate whether the door lock is able to clear Users/Credentials/Schedules locally:
1340
+ *
1341
+ * • 0 = This ability is disabled
1342
+ *
1343
+ * • 1 = This ability is enabled
1344
+ *
1345
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.5.3
1346
+ */
1347
+ clearUsersCredentialsSchedules: BitFlag(2),
1348
+ /**
1349
+ * The state of the ability to adjust settings on the device
1350
+ *
1351
+ * This bit shall indicate whether the door lock is able to adjust lock settings locally:
1352
+ *
1353
+ * • 0 = This ability is disabled
1354
+ *
1355
+ * • 1 = This ability is enabled
1356
+ *
1357
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.6.5.4
1358
+ */
1359
+ adjustSettings: BitFlag(3)
1360
+ };
1361
+ DoorLock2.AlarmMask = {
1362
+ /**
1363
+ * Locking Mechanism Jammed
1364
+ */
1365
+ lockJammed: BitFlag(0),
1366
+ /**
1367
+ * Lock Reset to Factory Defaults
1368
+ */
1369
+ lockFactoryReset: BitFlag(1),
1370
+ /**
1371
+ * Reserved
1372
+ */
1373
+ na: BitFlag(2),
1374
+ /**
1375
+ * RF Module Power Cycled
1376
+ */
1377
+ lockRadioPowerCycled: BitFlag(3),
1378
+ /**
1379
+ * Tamper Alarm - wrong code entry limit
1380
+ */
1381
+ wrongCodeEntryLimit: BitFlag(4),
1382
+ /**
1383
+ * Tamper Alarm - front escutcheon removed from main
1384
+ */
1385
+ frontEscutcheonRemoved: BitFlag(5),
1386
+ /**
1387
+ * Forced Door Open under Door Locked Condition
1388
+ */
1389
+ doorForcedOpen: BitFlag(6)
1390
+ };
1391
+ DoorLock2.TlvLockDoorRequest = TlvObject({
1392
+ /**
1393
+ * If the RequirePINforRemoteOperation attribute is True then PINCode field shall be provided and the door lock
1394
+ * shall NOT grant access if it is not provided.
1395
+ *
1396
+ * If the PINCode field is provided, the door lock shall verify PINCode before granting access regardless of
1397
+ * the value of RequirePINForRemoteOperation attribute.
1398
+ *
1399
+ * When the PINCode field is provided an invalid PIN will count towards the WrongCodeEntryLimit and the
1400
+ * UserCodeTemporaryDisableTime will be triggered if the WrongCodeEntryLimit is exceeded. The lock shall ignore
1401
+ * any attempts to lock/unlock the door until the UserCodeTemporaryDisableTime expires.
1402
+ *
1403
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.1.1
1404
+ */
1405
+ pinCode: TlvOptionalField(0, TlvByteString)
1406
+ });
1407
+ DoorLock2.TlvUnlockDoorRequest = TlvObject({
1408
+ /**
1409
+ * See PINCode field.
1410
+ *
1411
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.2.1
1412
+ */
1413
+ pinCode: TlvOptionalField(0, TlvByteString)
1414
+ });
1415
+ DoorLock2.TlvUnlockWithTimeoutRequest = TlvObject({
1416
+ /**
1417
+ * This field shall indicate the timeout in seconds to wait before relocking the door lock. This value is
1418
+ * independent of the AutoRelockTime attribute value.
1419
+ *
1420
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.3.1
1421
+ */
1422
+ timeout: TlvField(0, TlvUInt16),
1423
+ /**
1424
+ * See PINCode field.
1425
+ *
1426
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.3.2
1427
+ */
1428
+ pinCode: TlvOptionalField(1, TlvByteString)
1429
+ });
1430
+ let AlarmCode;
1431
+ ((AlarmCode2) => {
1432
+ AlarmCode2[AlarmCode2["LockJammed"] = 0] = "LockJammed";
1433
+ AlarmCode2[AlarmCode2["LockFactoryReset"] = 1] = "LockFactoryReset";
1434
+ AlarmCode2[AlarmCode2["LockRadioPowerCycled"] = 3] = "LockRadioPowerCycled";
1435
+ AlarmCode2[AlarmCode2["WrongCodeEntryLimit"] = 4] = "WrongCodeEntryLimit";
1436
+ AlarmCode2[AlarmCode2["FrontEsceutcheonRemoved"] = 5] = "FrontEsceutcheonRemoved";
1437
+ AlarmCode2[AlarmCode2["DoorForcedOpen"] = 6] = "DoorForcedOpen";
1438
+ AlarmCode2[AlarmCode2["DoorAjar"] = 7] = "DoorAjar";
1439
+ AlarmCode2[AlarmCode2["ForcedUser"] = 8] = "ForcedUser";
1440
+ })(AlarmCode = DoorLock2.AlarmCode || (DoorLock2.AlarmCode = {}));
1441
+ DoorLock2.TlvDoorLockAlarmEvent = TlvObject({
1442
+ /**
1443
+ * This field shall indicate the alarm code of the event that has happened.
1444
+ *
1445
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.1.1
1446
+ */
1447
+ alarmCode: TlvField(0, TlvEnum())
1448
+ });
1449
+ let LockOperationType;
1450
+ ((LockOperationType2) => {
1451
+ LockOperationType2[LockOperationType2["Lock"] = 0] = "Lock";
1452
+ LockOperationType2[LockOperationType2["Unlock"] = 1] = "Unlock";
1453
+ LockOperationType2[LockOperationType2["NonAccessUserEvent"] = 2] = "NonAccessUserEvent";
1454
+ LockOperationType2[LockOperationType2["ForcedUserEvent"] = 3] = "ForcedUserEvent";
1455
+ LockOperationType2[LockOperationType2["Unlatch"] = 4] = "Unlatch";
1456
+ })(LockOperationType = DoorLock2.LockOperationType || (DoorLock2.LockOperationType = {}));
1457
+ DoorLock2.TlvLockOperationEvent = TlvObject({
1458
+ /**
1459
+ * This field shall indicate the type of the lock operation that was performed.
1460
+ *
1461
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3.1
1462
+ */
1463
+ lockOperationType: TlvField(0, TlvEnum()),
1464
+ /**
1465
+ * This field shall indicate the source of the lock operation that was performed.
1466
+ *
1467
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3.2
1468
+ */
1469
+ operationSource: TlvField(1, TlvEnum()),
1470
+ /**
1471
+ * This field shall indicate the UserIndex who performed the lock operation. This shall be null if there is no
1472
+ * user index that can be determined for the given operation source. This shall NOT be null if a user index can
1473
+ * be determined. In particular, this shall NOT be null if the operation was associated with a valid credential.
1474
+ *
1475
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3.3
1476
+ */
1477
+ userIndex: TlvField(2, TlvNullable(TlvUInt16)),
1478
+ /**
1479
+ * This field shall indicate the fabric index of the fabric that performed the lock operation. This shall be
1480
+ * null if there is no fabric that can be determined for the given operation source. This shall NOT be null if
1481
+ * the operation source is "Remote".
1482
+ *
1483
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3.4
1484
+ */
1485
+ fabricIndex: TlvField(3, TlvNullable(TlvFabricIndex)),
1486
+ /**
1487
+ * This field shall indicate the Node ID of the node that performed the lock operation. This shall be null if
1488
+ * there is no Node associated with the given operation source. This shall NOT be null if the operation source
1489
+ * is "Remote".
1490
+ *
1491
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3.5
1492
+ */
1493
+ sourceNode: TlvField(4, TlvNullable(TlvNodeId)),
1494
+ /**
1495
+ * This field shall indicate the list of credentials used in performing the lock operation. This shall be null
1496
+ * if no credentials were involved.
1497
+ *
1498
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3.6
1499
+ */
1500
+ credentials: TlvOptionalField(5, TlvNullable(TlvArray(DoorLock2.TlvCredential, { minLength: 1 })))
1501
+ });
1502
+ let OperationError;
1503
+ ((OperationError2) => {
1504
+ OperationError2[OperationError2["Unspecified"] = 0] = "Unspecified";
1505
+ OperationError2[OperationError2["InvalidCredential"] = 1] = "InvalidCredential";
1506
+ OperationError2[OperationError2["DisabledUserDenied"] = 2] = "DisabledUserDenied";
1507
+ OperationError2[OperationError2["Restricted"] = 3] = "Restricted";
1508
+ OperationError2[OperationError2["InsufficientBattery"] = 4] = "InsufficientBattery";
1509
+ })(OperationError = DoorLock2.OperationError || (DoorLock2.OperationError = {}));
1510
+ DoorLock2.TlvLockOperationErrorEvent = TlvObject({
1511
+ /**
1512
+ * This field shall indicate the type of the lock operation that was performed.
1513
+ *
1514
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.1
1515
+ */
1516
+ lockOperationType: TlvField(0, TlvEnum()),
1517
+ /**
1518
+ * This field shall indicate the source of the lock operation that was performed.
1519
+ *
1520
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.2
1521
+ */
1522
+ operationSource: TlvField(1, TlvEnum()),
1523
+ /**
1524
+ * This field shall indicate the lock operation error triggered when the operation was performed.
1525
+ *
1526
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.3
1527
+ */
1528
+ operationError: TlvField(2, TlvEnum()),
1529
+ /**
1530
+ * This field shall indicate the lock UserIndex who performed the lock operation. This shall be null if there
1531
+ * is no user id that can be determined for the given operation source.
1532
+ *
1533
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.4
1534
+ */
1535
+ userIndex: TlvField(3, TlvNullable(TlvUInt16)),
1536
+ /**
1537
+ * This field shall indicate the fabric index of the fabric that performed the lock operation. This shall be
1538
+ * null if there is no fabric that can be determined for the given operation source. This shall NOT be null if
1539
+ * the operation source is "Remote".
1540
+ *
1541
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.5
1542
+ */
1543
+ fabricIndex: TlvField(4, TlvNullable(TlvFabricIndex)),
1544
+ /**
1545
+ * This field shall indicate the Node ID of the node that performed the lock operation. This shall be null if
1546
+ * there is no Node associated with the given operation source. This shall NOT be null if the operation source
1547
+ * is "Remote".
1548
+ *
1549
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.6
1550
+ */
1551
+ sourceNode: TlvField(5, TlvNullable(TlvNodeId)),
1552
+ /**
1553
+ * This field shall indicate the list of credentials used in performing the lock operation. This shall be null
1554
+ * if no credentials were involved.
1555
+ *
1556
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4.7
1557
+ */
1558
+ credentials: TlvOptionalField(6, TlvNullable(TlvArray(DoorLock2.TlvCredential, { minLength: 1 })))
1559
+ });
1560
+ let OperationEventCode;
1561
+ ((OperationEventCode2) => {
1562
+ OperationEventCode2[OperationEventCode2["UnknownOrMfgSpecific"] = 0] = "UnknownOrMfgSpecific";
1563
+ OperationEventCode2[OperationEventCode2["Lock"] = 1] = "Lock";
1564
+ OperationEventCode2[OperationEventCode2["Unlock"] = 2] = "Unlock";
1565
+ OperationEventCode2[OperationEventCode2["LockFailureInvalidPiNorRfid"] = 3] = "LockFailureInvalidPiNorRfid";
1566
+ OperationEventCode2[OperationEventCode2["LockFailureInvalidSchedule"] = 4] = "LockFailureInvalidSchedule";
1567
+ OperationEventCode2[OperationEventCode2["UnlockFailureInvalidPiNorRfid"] = 5] = "UnlockFailureInvalidPiNorRfid";
1568
+ OperationEventCode2[OperationEventCode2["UnlockFailureInvalidSchedule"] = 6] = "UnlockFailureInvalidSchedule";
1569
+ OperationEventCode2[OperationEventCode2["OneTouchLock"] = 7] = "OneTouchLock";
1570
+ OperationEventCode2[OperationEventCode2["KeyLock"] = 8] = "KeyLock";
1571
+ OperationEventCode2[OperationEventCode2["KeyUnlock"] = 9] = "KeyUnlock";
1572
+ OperationEventCode2[OperationEventCode2["AutoLock"] = 10] = "AutoLock";
1573
+ OperationEventCode2[OperationEventCode2["ScheduleLock"] = 11] = "ScheduleLock";
1574
+ OperationEventCode2[OperationEventCode2["ScheduleUnlock"] = 12] = "ScheduleUnlock";
1575
+ OperationEventCode2[OperationEventCode2["ManualLock"] = 13] = "ManualLock";
1576
+ OperationEventCode2[OperationEventCode2["ManualUnlock"] = 14] = "ManualUnlock";
1577
+ OperationEventCode2[OperationEventCode2["NonAccessUserOperationEvent"] = 15] = "NonAccessUserOperationEvent";
1578
+ })(OperationEventCode = DoorLock2.OperationEventCode || (DoorLock2.OperationEventCode = {}));
1579
+ let ProgrammingEventCode;
1580
+ ((ProgrammingEventCode2) => {
1581
+ ProgrammingEventCode2[ProgrammingEventCode2["UnknownOrMfgSpecific"] = 0] = "UnknownOrMfgSpecific";
1582
+ ProgrammingEventCode2[ProgrammingEventCode2["ProgrammingCodeChanged"] = 1] = "ProgrammingCodeChanged";
1583
+ ProgrammingEventCode2[ProgrammingEventCode2["PinCodeAdded"] = 2] = "PinCodeAdded";
1584
+ ProgrammingEventCode2[ProgrammingEventCode2["PinCodeCleared"] = 3] = "PinCodeCleared";
1585
+ ProgrammingEventCode2[ProgrammingEventCode2["PinCodeChanged"] = 4] = "PinCodeChanged";
1586
+ ProgrammingEventCode2[ProgrammingEventCode2["RfidCodeAdded"] = 5] = "RfidCodeAdded";
1587
+ ProgrammingEventCode2[ProgrammingEventCode2["RfidCodeCleared"] = 6] = "RfidCodeCleared";
1588
+ })(ProgrammingEventCode = DoorLock2.ProgrammingEventCode || (DoorLock2.ProgrammingEventCode = {}));
1589
+ let StatusCode;
1590
+ ((StatusCode2) => {
1591
+ StatusCode2[StatusCode2["Duplicate"] = 2] = "Duplicate";
1592
+ StatusCode2[StatusCode2["Occupied"] = 3] = "Occupied";
1593
+ })(StatusCode = DoorLock2.StatusCode || (DoorLock2.StatusCode = {}));
1594
+ DoorLock2.DoorPositionSensorComponent = MutableCluster.Component({
1595
+ attributes: {
1596
+ /**
1597
+ * Indicates the current door state as defined in DoorStateEnum.
1598
+ *
1599
+ * Null only if an internal error prevents the retrieval of the current door state.
1600
+ *
1601
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.5
1602
+ */
1603
+ doorState: Attribute(3, TlvNullable(TlvEnum())),
1604
+ /**
1605
+ * This attribute shall hold the number of door open events that have occurred since it was last zeroed.
1606
+ *
1607
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.6
1608
+ */
1609
+ doorOpenEvents: OptionalWritableAttribute(4, TlvUInt32, { writeAcl: AccessLevel.Manage }),
1610
+ /**
1611
+ * This attribute shall hold the number of door closed events that have occurred since it was last zeroed.
1612
+ *
1613
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.7
1614
+ */
1615
+ doorClosedEvents: OptionalWritableAttribute(5, TlvUInt32, { writeAcl: AccessLevel.Manage }),
1616
+ /**
1617
+ * This attribute shall hold the number of minutes the door has been open since the last time it
1618
+ * transitioned from closed to open.
1619
+ *
1620
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.8
1621
+ */
1622
+ openPeriod: OptionalWritableAttribute(6, TlvUInt16, { writeAcl: AccessLevel.Manage })
1623
+ },
1624
+ events: {
1625
+ /**
1626
+ * The door lock server sends out a DoorStateChange event when the door lock door state changes.
1627
+ *
1628
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.2
1629
+ */
1630
+ doorStateChange: Event(1, EventPriority.Critical, DoorLock2.TlvDoorStateChangeEvent)
1631
+ }
1632
+ });
1633
+ DoorLock2.LoggingComponent = MutableCluster.Component({
1634
+ attributes: {
1635
+ /**
1636
+ * Indicates the number of available log records.
1637
+ *
1638
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.9
1639
+ */
1640
+ numberOfLogRecordsSupported: FixedAttribute(16, TlvUInt16, { default: 0 }),
1641
+ /**
1642
+ * This attribute shall enable/disable event logging.
1643
+ *
1644
+ * When event logging is enabled, all event messages are stored on the lock for retrieval. Logging events
1645
+ * can be, but are not limited to, Tamper Alarm, Lock, Unlock, AutoRelock, User Code Added, User Code
1646
+ * Cleared, Schedule Added, and Schedule Cleared. For a full detail of all the possible alarms and events,
1647
+ * please refer to the full list in the Alarm and Event Masks Attribute Set.
1648
+ *
1649
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.22
1650
+ */
1651
+ enableLogging: WritableAttribute(32, TlvBoolean, { default: true, writeAcl: AccessLevel.Administer })
1652
+ },
1653
+ commands: {
1654
+ /**
1655
+ * Request a log record. Log number is between 1 – [Number of Log Records Supported attribute]. If log
1656
+ * number 0 is requested then the most recent log entry is returned.
1657
+ *
1658
+ * Log record format: The log record format is defined in the description of the GetLogRecordResponse
1659
+ * command.
1660
+ *
1661
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
1662
+ */
1663
+ getLogRecord: Command(
1664
+ 4,
1665
+ DoorLock2.TlvGetLogRecordRequest,
1666
+ 4,
1667
+ DoorLock2.TlvGetLogRecordResponse,
1668
+ { invokeAcl: AccessLevel.Manage }
1669
+ )
1670
+ }
1671
+ });
1672
+ DoorLock2.UserComponent = MutableCluster.Component({
1673
+ attributes: {
1674
+ /**
1675
+ * Indicates the number of total users supported by the lock.
1676
+ *
1677
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.10
1678
+ */
1679
+ numberOfTotalUsersSupported: FixedAttribute(17, TlvUInt16, { default: 0 }),
1680
+ /**
1681
+ * This attribute shall contain a bitmap with the bits set for the values of CredentialRuleEnum supported
1682
+ * on this device.
1683
+ *
1684
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.20
1685
+ */
1686
+ credentialRulesSupport: FixedAttribute(
1687
+ 27,
1688
+ TlvBitmap(TlvUInt8, DoorLock2.CredentialRules),
1689
+ { default: BitsFromPartial(DoorLock2.CredentialRules, { single: true }) }
1690
+ ),
1691
+ /**
1692
+ * Indicates the number of credentials that could be assigned for each user.
1693
+ *
1694
+ * Depending on the value of NumberOfRFIDUsersSupported and NumberOfPINUsersSupported it may not be
1695
+ * possible to assign that number of credentials for a user.
1696
+ *
1697
+ * For example, if the device supports only PIN and RFID credential types,
1698
+ * NumberOfCredentialsSupportedPerUser is set to 10, NumberOfPINUsersSupported is set to 5 and
1699
+ * NumberOfRFIDUsersSupported is set to 3, it will not be possible to actually assign 10 credentials for a
1700
+ * user because maximum number of credentials in the database is 8.
1701
+ *
1702
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.21
1703
+ */
1704
+ numberOfCredentialsSupportedPerUser: FixedAttribute(28, TlvUInt8, { default: 0 }),
1705
+ /**
1706
+ * Indicates the number of minutes a PIN, RFID, Fingerprint, or other credential associated with a user of
1707
+ * type ExpiringUser shall remain valid after its first use before expiring. When the credential expires
1708
+ * the UserStatus for the corresponding user record shall be set to OccupiedDisabled.
1709
+ *
1710
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.39
1711
+ */
1712
+ expiringUserTimeout: OptionalWritableAttribute(
1713
+ 53,
1714
+ TlvUInt16.bound({ min: 1, max: 2880 }),
1715
+ { writeAcl: AccessLevel.Administer }
1716
+ )
1717
+ },
1718
+ commands: {
1719
+ /**
1720
+ * Set user into the lock.
1721
+ *
1722
+ * Fields used for different use cases:
1723
+ *
1724
+ * Return status is a global status code or a cluster-specific status code from the Status Codes table and
1725
+ *
1726
+ * shall be one of the following values:
1727
+ *
1728
+ * • SUCCESS, if setting User was successful.
1729
+ *
1730
+ * • FAILURE, if some unexpected internal error occurred setting User.
1731
+ *
1732
+ * • OCCUPIED, if OperationType is Add and UserIndex points to an occupied slot.
1733
+ *
1734
+ * • INVALID_COMMAND, if one or more fields violate constraints or are invalid or if OperationType is
1735
+ * Modify and UserIndex points to an available slot.
1736
+ *
1737
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34
1738
+ */
1739
+ setUser: Command(
1740
+ 26,
1741
+ DoorLock2.TlvSetUserRequest,
1742
+ 26,
1743
+ TlvNoResponse,
1744
+ { invokeAcl: AccessLevel.Administer, timed: true }
1745
+ ),
1746
+ /**
1747
+ * Retrieve user.
1748
+ *
1749
+ * An InvokeResponse command shall be sent with an appropriate error
1750
+ *
1751
+ * COMMAND, etc.) as needed otherwise the GetUserResponse Command shall be sent implying a status of
1752
+ * SUCCESS.
1753
+ *
1754
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35
1755
+ */
1756
+ getUser: Command(27, DoorLock2.TlvGetUserRequest, 28, DoorLock2.TlvGetUserResponse, { invokeAcl: AccessLevel.Administer }),
1757
+ /**
1758
+ * Clears a user or all Users.
1759
+ *
1760
+ * For each user to clear, all associated credentials (e.g. PIN, RFID, fingerprint, etc.) shall be cleared
1761
+ * and the user entry values shall be reset to their default values (e.g. UserStatus shall be Available,
1762
+ * UserType shall be UnrestrictedUser) and all associated schedules shall be cleared.
1763
+ *
1764
+ * A LockUserChange event with the provided UserIndex shall be generated after successfully clearing users.
1765
+ *
1766
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37
1767
+ */
1768
+ clearUser: Command(
1769
+ 29,
1770
+ DoorLock2.TlvClearUserRequest,
1771
+ 29,
1772
+ TlvNoResponse,
1773
+ { invokeAcl: AccessLevel.Administer, timed: true }
1774
+ ),
1775
+ /**
1776
+ * Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or
1777
+ * ProgrammingUser.
1778
+ *
1779
+ * Fields used for different use cases:
1780
+ *
1781
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40
1782
+ */
1783
+ setCredential: Command(
1784
+ 34,
1785
+ DoorLock2.TlvSetCredentialRequest,
1786
+ 35,
1787
+ DoorLock2.TlvSetCredentialResponse,
1788
+ { invokeAcl: AccessLevel.Administer, timed: true }
1789
+ ),
1790
+ /**
1791
+ * Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index.
1792
+ *
1793
+ * An InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, etc.)
1794
+ * as needed otherwise the GetCredentialStatusResponse command shall be sent implying a status of SUCCESS.
1795
+ *
1796
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42
1797
+ */
1798
+ getCredentialStatus: Command(
1799
+ 36,
1800
+ DoorLock2.TlvGetCredentialStatusRequest,
1801
+ 37,
1802
+ DoorLock2.TlvGetCredentialStatusResponse,
1803
+ { invokeAcl: AccessLevel.Administer }
1804
+ ),
1805
+ /**
1806
+ * Clear one, one type, or all credentials except ProgrammingPIN credential.
1807
+ *
1808
+ * Fields used for different use cases:
1809
+ *
1810
+ * For each credential cleared whose user doesn’t have another valid credential, the corresponding user
1811
+ * record shall be reset back to default values and its UserStatus value shall be set to Available and
1812
+ * UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In
1813
+ *
1814
+ * this case a LockUserChange event shall be generated for the user being cleared. Return status shall be
1815
+ * one of the following values:
1816
+ *
1817
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.44
1818
+ */
1819
+ clearCredential: Command(
1820
+ 38,
1821
+ DoorLock2.TlvClearCredentialRequest,
1822
+ 38,
1823
+ TlvNoResponse,
1824
+ { invokeAcl: AccessLevel.Administer, timed: true }
1825
+ )
1826
+ },
1827
+ events: {
1828
+ /**
1829
+ * The door lock server sends out a LockUserChange event when a lock user, schedule, or credential change
1830
+ * has occurred.
1831
+ *
1832
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.5
1833
+ */
1834
+ lockUserChange: Event(4, EventPriority.Info, DoorLock2.TlvLockUserChangeEvent)
1835
+ }
1836
+ });
1837
+ DoorLock2.PinCredentialComponent = MutableCluster.Component({
1838
+ attributes: {
1839
+ /**
1840
+ * Indicates the number of PIN users supported.
1841
+ *
1842
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.11
1843
+ */
1844
+ numberOfPinUsersSupported: FixedAttribute(18, TlvUInt16, { default: 0 }),
1845
+ /**
1846
+ * Indicates the maximum length in bytes of a PIN Code on this device.
1847
+ *
1848
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.16
1849
+ */
1850
+ maxPinCodeLength: FixedAttribute(23, TlvUInt8),
1851
+ /**
1852
+ * Indicates the minimum length in bytes of a PIN Code on this device.
1853
+ *
1854
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.17
1855
+ */
1856
+ minPinCodeLength: FixedAttribute(24, TlvUInt8)
1857
+ }
1858
+ });
1859
+ DoorLock2.RfidCredentialComponent = MutableCluster.Component({
1860
+ attributes: {
1861
+ /**
1862
+ * Indicates the number of RFID users supported.
1863
+ *
1864
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.12
1865
+ */
1866
+ numberOfRfidUsersSupported: FixedAttribute(19, TlvUInt16, { default: 0 }),
1867
+ /**
1868
+ * Indicates the maximum length in bytes of a RFID Code on this device. The value depends on the RFID code
1869
+ * range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a
1870
+ * value of 20 (equals 10 Byte ISO 14443A UID) is recommended.
1871
+ *
1872
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.18
1873
+ */
1874
+ maxRfidCodeLength: FixedAttribute(25, TlvUInt8),
1875
+ /**
1876
+ * Indicates the minimum length in bytes of a RFID Code on this device. The value depends on the RFID code
1877
+ * range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a
1878
+ * value of 8 (equals 4 Byte ISO 14443A UID) is recommended.
1879
+ *
1880
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.19
1881
+ */
1882
+ minRfidCodeLength: FixedAttribute(26, TlvUInt8)
1883
+ }
1884
+ });
1885
+ DoorLock2.WeekDayAccessSchedulesComponent = MutableCluster.Component({
1886
+ attributes: {
1887
+ /**
1888
+ * Indicates the number of configurable week day schedule supported per user.
1889
+ *
1890
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.13
1891
+ */
1892
+ numberOfWeekDaySchedulesSupportedPerUser: FixedAttribute(20, TlvUInt8, { default: 0 })
1893
+ },
1894
+ commands: {
1895
+ /**
1896
+ * Set a weekly repeating schedule for a specified user.
1897
+ *
1898
+ * † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
1899
+ * respectively.
1900
+ *
1901
+ * The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day schedule is
1902
+ * set.
1903
+ *
1904
+ * Return status shall be one of the following values:
1905
+ *
1906
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14
1907
+ */
1908
+ setWeekDaySchedule: Command(
1909
+ 11,
1910
+ DoorLock2.TlvSetWeekDayScheduleRequest,
1911
+ 11,
1912
+ TlvNoResponse,
1913
+ { invokeAcl: AccessLevel.Administer }
1914
+ ),
1915
+ /**
1916
+ * Retrieve the specific weekly schedule for the specific user.
1917
+ *
1918
+ * † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
1919
+ * respectively.
1920
+ *
1921
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
1922
+ */
1923
+ getWeekDaySchedule: Command(
1924
+ 12,
1925
+ DoorLock2.TlvGetWeekDayScheduleRequest,
1926
+ 12,
1927
+ DoorLock2.TlvGetWeekDayScheduleResponse,
1928
+ { invokeAcl: AccessLevel.Administer }
1929
+ ),
1930
+ /**
1931
+ * Clear the specific weekly schedule or all weekly schedules for the specific user.
1932
+ *
1933
+ * † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
1934
+ * respectively.
1935
+ *
1936
+ * Return status shall be one of the following values:
1937
+ *
1938
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17
1939
+ */
1940
+ clearWeekDaySchedule: Command(
1941
+ 13,
1942
+ DoorLock2.TlvClearWeekDayScheduleRequest,
1943
+ 13,
1944
+ TlvNoResponse,
1945
+ { invokeAcl: AccessLevel.Administer }
1946
+ )
1947
+ }
1948
+ });
1949
+ DoorLock2.YearDayAccessSchedulesComponent = MutableCluster.Component({
1950
+ attributes: {
1951
+ /**
1952
+ * Indicates the number of configurable year day schedule supported per user.
1953
+ *
1954
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.14
1955
+ */
1956
+ numberOfYearDaySchedulesSupportedPerUser: FixedAttribute(21, TlvUInt8, { default: 0 })
1957
+ },
1958
+ commands: {
1959
+ /**
1960
+ * Set a time-specific schedule ID for a specified user.
1961
+ *
1962
+ * † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
1963
+ * respectively.
1964
+ *
1965
+ * The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day schedule is
1966
+ * set.
1967
+ *
1968
+ * Return status shall be one of the following values:
1969
+ *
1970
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18
1971
+ */
1972
+ setYearDaySchedule: Command(
1973
+ 14,
1974
+ DoorLock2.TlvSetYearDayScheduleRequest,
1975
+ 14,
1976
+ TlvNoResponse,
1977
+ { invokeAcl: AccessLevel.Administer }
1978
+ ),
1979
+ /**
1980
+ * Retrieve the specific year day schedule for the specific schedule and user indexes.
1981
+ *
1982
+ * † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
1983
+ * respectively.
1984
+ *
1985
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
1986
+ */
1987
+ getYearDaySchedule: Command(
1988
+ 15,
1989
+ DoorLock2.TlvGetYearDayScheduleRequest,
1990
+ 15,
1991
+ DoorLock2.TlvGetYearDayScheduleResponse,
1992
+ { invokeAcl: AccessLevel.Administer }
1993
+ ),
1994
+ /**
1995
+ * Clears the specific year day schedule or all year day schedules for the specific user.
1996
+ *
1997
+ * † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
1998
+ * respectively.
1999
+ *
2000
+ * Return status shall be one of the following values:
2001
+ *
2002
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21
2003
+ */
2004
+ clearYearDaySchedule: Command(
2005
+ 16,
2006
+ DoorLock2.TlvClearYearDayScheduleRequest,
2007
+ 16,
2008
+ TlvNoResponse,
2009
+ { invokeAcl: AccessLevel.Administer }
2010
+ )
2011
+ }
2012
+ });
2013
+ DoorLock2.HolidaySchedulesComponent = MutableCluster.Component({
2014
+ attributes: {
2015
+ /**
2016
+ * Indicates the number of holiday schedules supported for the entire door lock device.
2017
+ *
2018
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.15
2019
+ */
2020
+ numberOfHolidaySchedulesSupported: FixedAttribute(22, TlvUInt8, { default: 0 })
2021
+ },
2022
+ commands: {
2023
+ /**
2024
+ * Set the holiday Schedule by specifying local start time and local end time with respect to any Lock
2025
+ * Operating Mode.
2026
+ *
2027
+ * † The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead. Return status shall be
2028
+ * one of the following values:
2029
+ *
2030
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22
2031
+ */
2032
+ setHolidaySchedule: Command(
2033
+ 17,
2034
+ DoorLock2.TlvSetHolidayScheduleRequest,
2035
+ 17,
2036
+ TlvNoResponse,
2037
+ { invokeAcl: AccessLevel.Administer }
2038
+ ),
2039
+ /**
2040
+ * Get the holiday schedule for the specified index.
2041
+ *
2042
+ * † The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.
2043
+ *
2044
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
2045
+ */
2046
+ getHolidaySchedule: Command(
2047
+ 18,
2048
+ DoorLock2.TlvGetHolidayScheduleRequest,
2049
+ 18,
2050
+ DoorLock2.TlvGetHolidayScheduleResponse,
2051
+ { invokeAcl: AccessLevel.Administer }
2052
+ ),
2053
+ /**
2054
+ * Clears the holiday schedule or all holiday schedules.
2055
+ *
2056
+ * † The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.
2057
+ *
2058
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
2059
+ */
2060
+ clearHolidaySchedule: Command(
2061
+ 19,
2062
+ DoorLock2.TlvClearHolidayScheduleRequest,
2063
+ 19,
2064
+ TlvNoResponse,
2065
+ { invokeAcl: AccessLevel.Administer }
2066
+ )
2067
+ }
2068
+ });
2069
+ DoorLock2.PinCredentialOrRfidCredentialComponent = MutableCluster.Component({
2070
+ attributes: {
2071
+ /**
2072
+ * Indicates the number of incorrect Pin codes or RFID presentment attempts a user is allowed to enter
2073
+ * before the lock will enter a lockout state. The value of this attribute is compared to all failing forms
2074
+ * of credential presentation, including Pin codes used in an Unlock Command when
2075
+ * RequirePINforRemoteOperation is set to true. Valid range is 1-255 incorrect attempts. The lockout state
2076
+ * will be for the duration of UserCodeTemporaryDisableTime. If the attribute accepts writes and an attempt
2077
+ * to write the value 0 is made, the device shall respond with CONSTRAINT_ERROR.
2078
+ *
2079
+ * The lock may reset the counter used to track incorrect credential presentations as required by internal
2080
+ * logic, environmental events, or other reasons. The lock shall reset the counter if a valid credential is
2081
+ * presented.
2082
+ *
2083
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.35
2084
+ */
2085
+ wrongCodeEntryLimit: WritableAttribute(
2086
+ 48,
2087
+ TlvUInt8.bound({ min: 1 }),
2088
+ { writeAcl: AccessLevel.Administer }
2089
+ ),
2090
+ /**
2091
+ * Indicates the number of seconds that the lock shuts down following wrong code entry. Valid range is
2092
+ * 1-255 seconds. Device can shut down to lock user out for specified amount of time. (Makes it difficult
2093
+ * to try and guess a PIN for the device.) If the attribute accepts writes and an attempt to write the
2094
+ * attribute to 0 is made, the device shall respond with CONSTRAINT_ERROR.
2095
+ *
2096
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.36
2097
+ */
2098
+ userCodeTemporaryDisableTime: WritableAttribute(
2099
+ 49,
2100
+ TlvUInt8.bound({ min: 1 }),
2101
+ { writeAcl: AccessLevel.Administer }
2102
+ )
2103
+ }
2104
+ });
2105
+ DoorLock2.PinCredentialNotUserComponent = MutableCluster.Component({
2106
+ attributes: {
2107
+ /**
2108
+ * Indicates the door locks ability to send PINs over the air. If the attribute is True it is ok for the
2109
+ * door lock server to send PINs over the air. This attribute determines the behavior of the server’s TX
2110
+ * operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.
2111
+ *
2112
+ * The PIN field within any door lock cluster message shall keep the first octet unchanged and masks the
2113
+ * actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True, 0x04 0x31
2114
+ * 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the attribute
2115
+ * value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.
2116
+ *
2117
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.37
2118
+ */
2119
+ sendPinOverTheAir: OptionalWritableAttribute(
2120
+ 50,
2121
+ TlvBoolean,
2122
+ { default: true, writeAcl: AccessLevel.Administer }
2123
+ )
2124
+ },
2125
+ commands: {
2126
+ /**
2127
+ * Set a PIN Code into the lock.
2128
+ *
2129
+ * Return status is a global status code or a cluster-specific status code from the Status Codes table and
2130
+ * shall be one of the following values:
2131
+ *
2132
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6
2133
+ */
2134
+ setPinCode: Command(
2135
+ 5,
2136
+ DoorLock2.TlvSetPinCodeRequest,
2137
+ 5,
2138
+ TlvNoResponse,
2139
+ { invokeAcl: AccessLevel.Administer, timed: true }
2140
+ ),
2141
+ /**
2142
+ * Retrieve a PIN Code.
2143
+ *
2144
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7
2145
+ */
2146
+ getPinCode: Command(
2147
+ 6,
2148
+ DoorLock2.TlvGetPinCodeRequest,
2149
+ 6,
2150
+ DoorLock2.TlvGetPinCodeResponse,
2151
+ { invokeAcl: AccessLevel.Administer }
2152
+ ),
2153
+ /**
2154
+ * Clear a PIN code or all PIN codes.
2155
+ *
2156
+ * † The User ID is an obsolete field name, use PINSlotIndex instead.
2157
+ *
2158
+ * For each PIN Code cleared whose user doesn’t have a RFID Code or other credential type, then
2159
+ * corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be set
2160
+ * to UnrestrictedUser and all schedules shall be cleared.
2161
+ *
2162
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
2163
+ */
2164
+ clearPinCode: Command(
2165
+ 7,
2166
+ DoorLock2.TlvClearPinCodeRequest,
2167
+ 7,
2168
+ TlvNoResponse,
2169
+ { invokeAcl: AccessLevel.Administer, timed: true }
2170
+ ),
2171
+ /**
2172
+ * Clear out all PINs on the lock.
2173
+ *
2174
+ * NOTE
2175
+ *
2176
+ * On the server, the clear all PIN codes command SHOULD have the same effect as the ClearPINCode command
2177
+ * with respect to the setting of user status, user type and schedules.
2178
+ *
2179
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10
2180
+ */
2181
+ clearAllPinCodes: Command(
2182
+ 8,
2183
+ TlvNoArguments,
2184
+ 8,
2185
+ TlvNoResponse,
2186
+ { invokeAcl: AccessLevel.Administer, timed: true }
2187
+ )
2188
+ }
2189
+ });
2190
+ DoorLock2.CredentialOverTheAirAccessAndPinCredentialComponent = MutableCluster.Component({
2191
+ attributes: {
2192
+ /**
2193
+ * Indicates if the door lock requires an optional PIN. If this attribute is set to True, the door lock
2194
+ * server requires that an optional PINs be included in the payload of remote lock operation events like
2195
+ * Lock, Unlock, Unlock with Timeout and Toggle in order to function.
2196
+ *
2197
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.38
2198
+ */
2199
+ requirePinForRemoteOperation: WritableAttribute(
2200
+ 51,
2201
+ TlvBoolean,
2202
+ { default: true, writeAcl: AccessLevel.Administer }
2203
+ )
2204
+ }
2205
+ });
2206
+ DoorLock2.NotificationAndPinCredentialComponent = MutableCluster.Component({
2207
+ attributes: {
2208
+ /**
2209
+ * Event mask used to turn on and off the transmission of keypad operation events. This mask DOES NOT apply
2210
+ * to the storing of events in the event log. This mask only applies to the Operation Event Notification
2211
+ * Command.
2212
+ *
2213
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2214
+ *
2215
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.41
2216
+ */
2217
+ keypadOperationEventMask: OptionalWritableAttribute(
2218
+ 65,
2219
+ TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2220
+ {
2221
+ 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 }),
2222
+ writeAcl: AccessLevel.Administer
2223
+ }
2224
+ ),
2225
+ /**
2226
+ * Event mask used to turn on and off keypad programming events. This mask DOES NOT apply to the storing of
2227
+ * events in the event log. This mask only applies to the Programming Event Notification Command.
2228
+ *
2229
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2230
+ *
2231
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.45
2232
+ */
2233
+ keypadProgrammingEventMask: OptionalWritableAttribute(
2234
+ 69,
2235
+ TlvBitmap(TlvUInt16, DoorLock2.KeypadProgrammingEventMask),
2236
+ {
2237
+ 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 }),
2238
+ writeAcl: AccessLevel.Administer
2239
+ }
2240
+ )
2241
+ }
2242
+ });
2243
+ DoorLock2.NotificationComponent = MutableCluster.Component({
2244
+ attributes: {
2245
+ /**
2246
+ * Event mask used to turn on and off the transmission of remote operation events. This mask DOES NOT apply
2247
+ * to the storing of events in the event log. This mask only applies to the Operation Event Notification
2248
+ * Command.
2249
+ *
2250
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2251
+ *
2252
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.42
2253
+ */
2254
+ remoteOperationEventMask: OptionalWritableAttribute(
2255
+ 66,
2256
+ TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2257
+ {
2258
+ 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 }),
2259
+ writeAcl: AccessLevel.Administer
2260
+ }
2261
+ ),
2262
+ /**
2263
+ * Event mask used to turn on and off manual operation events. This mask DOES NOT apply to the storing of
2264
+ * events in the event log. This mask only applies to the Operation Event Notification Command.
2265
+ *
2266
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2267
+ *
2268
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.43
2269
+ */
2270
+ manualOperationEventMask: OptionalWritableAttribute(
2271
+ 67,
2272
+ TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2273
+ {
2274
+ 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 }),
2275
+ writeAcl: AccessLevel.Administer
2276
+ }
2277
+ ),
2278
+ /**
2279
+ * Event mask used to turn on and off remote programming events. This mask DOES NOT apply to the storing of
2280
+ * events in the event log. This mask only applies to the Programming Event Notification Command.
2281
+ *
2282
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2283
+ *
2284
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.46
2285
+ */
2286
+ remoteProgrammingEventMask: OptionalWritableAttribute(
2287
+ 70,
2288
+ TlvBitmap(TlvUInt16, DoorLock2.RemoteProgrammingEventMask),
2289
+ {
2290
+ 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 }),
2291
+ writeAcl: AccessLevel.Administer
2292
+ }
2293
+ )
2294
+ }
2295
+ });
2296
+ DoorLock2.NotificationAndRfidCredentialComponent = MutableCluster.Component({
2297
+ attributes: {
2298
+ /**
2299
+ * Event mask used to turn on and off RFID operation events. This mask DOES NOT apply to the storing of
2300
+ * events in the event log. This mask only applies to the Operation Event Notification Command.
2301
+ *
2302
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2303
+ *
2304
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.44
2305
+ */
2306
+ rfidOperationEventMask: OptionalWritableAttribute(
2307
+ 68,
2308
+ TlvBitmap(TlvUInt16, DoorLock2.EventMask),
2309
+ {
2310
+ 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 }),
2311
+ writeAcl: AccessLevel.Administer
2312
+ }
2313
+ ),
2314
+ /**
2315
+ * Event mask used to turn on and off RFID programming events. This mask DOES NOT apply to the storing of
2316
+ * events in the event log. This mask only applies to the Programming Event Notification Command.
2317
+ *
2318
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2319
+ *
2320
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2321
+ *
2322
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.47
2323
+ */
2324
+ rfidProgrammingEventMask: OptionalWritableAttribute(
2325
+ 71,
2326
+ TlvBitmap(TlvUInt16, DoorLock2.RfidProgrammingEventMask),
2327
+ {
2328
+ 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 }),
2329
+ writeAcl: AccessLevel.Administer
2330
+ }
2331
+ )
2332
+ }
2333
+ });
2334
+ DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent = MutableCluster.Component({
2335
+ commands: {
2336
+ /**
2337
+ * Set the status of a user ID.
2338
+ *
2339
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11
2340
+ */
2341
+ setUserStatus: OptionalCommand(
2342
+ 9,
2343
+ DoorLock2.TlvSetUserStatusRequest,
2344
+ 9,
2345
+ TlvNoResponse,
2346
+ { invokeAcl: AccessLevel.Administer }
2347
+ ),
2348
+ /**
2349
+ * Get the status of a user.
2350
+ *
2351
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12
2352
+ */
2353
+ getUserStatus: OptionalCommand(
2354
+ 10,
2355
+ DoorLock2.TlvGetUserStatusRequest,
2356
+ 10,
2357
+ DoorLock2.TlvGetUserStatusResponse,
2358
+ { invokeAcl: AccessLevel.Administer }
2359
+ ),
2360
+ /**
2361
+ * Set the user type for a specified user.
2362
+ *
2363
+ * For user type value please refer to User Type Value.
2364
+ *
2365
+ * Return status shall be one of the following values:
2366
+ *
2367
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26
2368
+ */
2369
+ setUserType: OptionalCommand(
2370
+ 20,
2371
+ DoorLock2.TlvSetUserTypeRequest,
2372
+ 20,
2373
+ TlvNoResponse,
2374
+ { invokeAcl: AccessLevel.Administer }
2375
+ ),
2376
+ /**
2377
+ * Retrieve the user type for a specific user.
2378
+ *
2379
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27
2380
+ */
2381
+ getUserType: OptionalCommand(
2382
+ 21,
2383
+ DoorLock2.TlvGetUserTypeRequest,
2384
+ 21,
2385
+ DoorLock2.TlvGetUserTypeResponse,
2386
+ { invokeAcl: AccessLevel.Administer }
2387
+ )
2388
+ }
2389
+ });
2390
+ DoorLock2.NotUserComponent = MutableCluster.Component({});
2391
+ DoorLock2.RfidCredentialNotUserComponent = MutableCluster.Component({
2392
+ commands: {
2393
+ /**
2394
+ * Set an ID for RFID access into the lock.
2395
+ *
2396
+ * Return status is a global status code or a cluster-specific status code from the Status Codes table and
2397
+ * shall be one of the following values:
2398
+ *
2399
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29
2400
+ */
2401
+ setRfidCode: Command(
2402
+ 22,
2403
+ DoorLock2.TlvSetRfidCodeRequest,
2404
+ 22,
2405
+ TlvNoResponse,
2406
+ { invokeAcl: AccessLevel.Administer, timed: true }
2407
+ ),
2408
+ /**
2409
+ * Retrieve an RFID code.
2410
+ *
2411
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30
2412
+ */
2413
+ getRfidCode: Command(
2414
+ 23,
2415
+ DoorLock2.TlvGetRfidCodeRequest,
2416
+ 23,
2417
+ DoorLock2.TlvGetRfidCodeResponse,
2418
+ { invokeAcl: AccessLevel.Administer }
2419
+ ),
2420
+ /**
2421
+ * Clear an RFID code or all RFID codes.
2422
+ *
2423
+ * † The User ID is an obsolete field name, use RFIDSlotIndex instead.
2424
+ *
2425
+ * For each RFID Code cleared whose user doesn’t have a PIN Code or other credential type, then the
2426
+ * corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be set
2427
+ * to UnrestrictedUser and all schedules shall be cleared.
2428
+ *
2429
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32
2430
+ */
2431
+ clearRfidCode: Command(
2432
+ 24,
2433
+ DoorLock2.TlvClearRfidCodeRequest,
2434
+ 24,
2435
+ TlvNoResponse,
2436
+ { invokeAcl: AccessLevel.Administer, timed: true }
2437
+ ),
2438
+ /**
2439
+ * Clear out all RFIDs on the lock. If you clear all RFID codes and this user didn’t have a PIN code, the
2440
+ * user status has to be set to "0 Available", the user type has to be set to the default value, and all
2441
+ * schedules which are supported have to be set to the default values.
2442
+ *
2443
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.33
2444
+ */
2445
+ clearAllRfidCodes: Command(
2446
+ 25,
2447
+ TlvNoArguments,
2448
+ 25,
2449
+ TlvNoResponse,
2450
+ { invokeAcl: AccessLevel.Administer, timed: true }
2451
+ )
2452
+ }
2453
+ });
2454
+ DoorLock2.UnboltingComponent = MutableCluster.Component({
2455
+ commands: {
2456
+ /**
2457
+ * This command causes the lock device to unlock the door without pulling the latch. This command includes
2458
+ * an optional code for the lock. The door lock may require a code depending on the value of the
2459
+ * RequirePINForRemoteOperation attribute.
2460
+ *
2461
+ * NOTE
2462
+ *
2463
+ * If the attribute AutoRelockTime is supported, the lock will transition to the locked state when the auto
2464
+ * relock time has expired.
2465
+ *
2466
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.45
2467
+ */
2468
+ unboltDoor: Command(39, DoorLock2.TlvUnboltDoorRequest, 39, TlvNoResponse, { timed: true })
2469
+ }
2470
+ });
2471
+ DoorLock2.Base = MutableCluster.Component({
2472
+ id: 257,
2473
+ name: "DoorLock",
2474
+ revision: 7,
2475
+ features: {
2476
+ /**
2477
+ * PinCredential
2478
+ *
2479
+ * If the User Feature is also supported then any PIN Code stored in the lock shall be associated with a
2480
+ * User.
2481
+ *
2482
+ * A lock may support multiple credential types so if the User feature is supported the UserType,
2483
+ * UserStatus and Schedules are all associated with a User index and not directly with a PIN index. A User
2484
+ * index may have several credentials associated with it.
2485
+ *
2486
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.1
2487
+ */
2488
+ pinCredential: BitFlag(0),
2489
+ /**
2490
+ * RfidCredential
2491
+ *
2492
+ * If the User Feature is also supported then any RFID credential stored in the lock shall be associated
2493
+ * with a User.
2494
+ *
2495
+ * A lock may support multiple credential types so if the User feature is supported the UserType,
2496
+ * UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User
2497
+ *
2498
+ * Index may have several credentials associated with it.
2499
+ *
2500
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.2
2501
+ */
2502
+ rfidCredential: BitFlag(1),
2503
+ /**
2504
+ * FingerCredentials
2505
+ *
2506
+ * Currently the cluster only defines the metadata format for notifications when a fingerprint/ finger vein
2507
+ * credential is used to access the lock and doesn’t describe how to create fingerprint/finger vein
2508
+ * credentials. If the Users feature is also supported then the User that a fingerprint/finger vein is
2509
+ * associated with can also have its UserType, UserStatus and Schedule modified.
2510
+ *
2511
+ * A lock may support multiple credential types so if the User feature is supported the UserType,
2512
+ * UserStatus and Schedules are all associated with a User index and not directly with a Finger index. A
2513
+ * User Index may have several credentials associated with it.
2514
+ *
2515
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.3
2516
+ */
2517
+ fingerCredentials: BitFlag(2),
2518
+ /**
2519
+ * Logging
2520
+ *
2521
+ * If Events are not supported the logging feature shall replace the Event reporting structure. If Events
2522
+ * are supported the logging feature shall NOT be supported.
2523
+ *
2524
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
2525
+ */
2526
+ logging: BitFlag(3),
2527
+ /**
2528
+ * WeekDayAccessSchedules
2529
+ *
2530
+ * If the User feature is supported then Week Day Schedules are applied to a User and not a credential.
2531
+ *
2532
+ * Week Day Schedules are used to restrict access to a specified time window on certain days of the week.
2533
+ * The schedule is repeated each week. When a schedule is cleared this clears the access restrictions and
2534
+ * grants unrestricted access to the user. The lock may automatically adjust the UserType when a schedule
2535
+ * is created or cleared.
2536
+ *
2537
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.5
2538
+ */
2539
+ weekDayAccessSchedules: BitFlag(4),
2540
+ /**
2541
+ * DoorPositionSensor
2542
+ *
2543
+ * If this feature is supported this indicates that the lock has the ability to determine the position of
2544
+ * the door which is separate from the state of the lock.
2545
+ *
2546
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.6
2547
+ */
2548
+ doorPositionSensor: BitFlag(5),
2549
+ /**
2550
+ * FaceCredentials
2551
+ *
2552
+ * Currently the cluster only defines the metadata format for notifications when a face recognition, iris,
2553
+ * or retina credential is used to access the lock and doesn’t describe how to create face recognition,
2554
+ * iris, or retina credentials. If the Users feature is also supported then the User that a face
2555
+ * recognition, iris, or retina credential is associated with can also have its UserType, UserStatus and
2556
+ * Schedule modified.
2557
+ *
2558
+ * A lock may support multiple credential types so if the User feature is supported the UserType,
2559
+ * UserStatus and Schedules are all associated with a User and not directly with a credential.
2560
+ *
2561
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.7
2562
+ */
2563
+ faceCredentials: BitFlag(6),
2564
+ /**
2565
+ * CredentialOverTheAirAccess
2566
+ *
2567
+ * If this feature is supported then the lock supports the ability to verify a credential provided in a
2568
+ * lock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock
2569
+ * commands. If this feature is supported then the PIN Credential feature shall also be supported.
2570
+ *
2571
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.8
2572
+ */
2573
+ credentialOverTheAirAccess: BitFlag(7),
2574
+ /**
2575
+ * User
2576
+ *
2577
+ * If the User Feature is supported then a lock employs a User database. A User within the User database is
2578
+ * used to associate credentials and schedules to single user record within the lock. This also means the
2579
+ * UserType and UserStatus fields are associated with a User and not a credential.
2580
+ *
2581
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.9
2582
+ */
2583
+ user: BitFlag(8),
2584
+ /**
2585
+ * Notification
2586
+ *
2587
+ * This is a feature used before support of events. This feature supports notification commands and masks
2588
+ * used to filter these notifications.
2589
+ *
2590
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
2591
+ */
2592
+ notification: BitFlag(9),
2593
+ /**
2594
+ * YearDayAccessSchedules
2595
+ *
2596
+ * If the User feature is supported then Year Day Schedules are applied to a User and not a credential.
2597
+ *
2598
+ * Year Day Schedules are used to restrict access to a specified date and time window. When a schedule is
2599
+ * cleared this clears the access restrictions and grants unrestricted access to the user. The lock may
2600
+ * automatically adjust the UserType when a schedule is created or cleared.
2601
+ *
2602
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.11
2603
+ */
2604
+ yearDayAccessSchedules: BitFlag(10),
2605
+ /**
2606
+ * HolidaySchedules
2607
+ *
2608
+ * This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and
2609
+ * stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.
2610
+ *
2611
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.12
2612
+ */
2613
+ holidaySchedules: BitFlag(11),
2614
+ /**
2615
+ * Unbolting
2616
+ *
2617
+ * Locks that support this feature differentiate between unbolting and unlocking. The Unbolt Door command
2618
+ * retracts the bolt without pulling the latch. The Unlock Door command fully unlocks the door by
2619
+ * retracting the bolt and briefly pulling the latch. While the latch is pulled, the lock state changes to
2620
+ * Unlatched. Locks without unbolting support don’t differentiate between unbolting and unlocking and
2621
+ * perform the same operation for both commands.
2622
+ *
2623
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.4.13
2624
+ */
2625
+ unbolting: BitFlag(12)
2626
+ },
2627
+ attributes: {
2628
+ /**
2629
+ * This attribute may be NULL if the lock hardware does not currently know the status of the locking
2630
+ * mechanism. For example, a lock may not know the LockState status after a power cycle until the first
2631
+ * lock actuation is completed.
2632
+ *
2633
+ * The Not Fully Locked value is used by a lock to indicate that the state of the lock is somewhere between
2634
+ * Locked and Unlocked so it is only partially secured. For example, a deadbolt could be partially extended
2635
+ * and not in a dead latched state.
2636
+ *
2637
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.2
2638
+ */
2639
+ lockState: Attribute(0, TlvNullable(TlvEnum()), { scene: true }),
2640
+ /**
2641
+ * Indicates the type of door lock as defined in LockTypeEnum.
2642
+ *
2643
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.3
2644
+ */
2645
+ lockType: Attribute(1, TlvEnum()),
2646
+ /**
2647
+ * Indicates if the lock is currently able to (Enabled) or not able to (Disabled) process remote Lock,
2648
+ * Unlock, or Unlock with Timeout commands.
2649
+ *
2650
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.4
2651
+ */
2652
+ actuatorEnabled: Attribute(2, TlvBoolean),
2653
+ /**
2654
+ * Indicates the language for the on-screen or audible user interface using a 2- byte language code from
2655
+ * ISO-639-1.
2656
+ *
2657
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.23
2658
+ */
2659
+ language: OptionalWritableAttribute(
2660
+ 33,
2661
+ TlvString.bound({ maxLength: 3 }),
2662
+ { writeAcl: AccessLevel.Manage }
2663
+ ),
2664
+ /**
2665
+ * Indicates the settings for the LED support, as defined by LEDSettingEnum.
2666
+ *
2667
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.24
2668
+ */
2669
+ ledSettings: OptionalWritableAttribute(
2670
+ 34,
2671
+ TlvEnum(),
2672
+ { default: 0 /* NoLedSignal */, writeAcl: AccessLevel.Manage }
2673
+ ),
2674
+ /**
2675
+ * Indicates the number of seconds to wait after unlocking a lock before it automatically locks again.
2676
+ * 0=disabled. If set, unlock operations from any source will be timed. For one time unlock with timeout
2677
+ * use the specific command.
2678
+ *
2679
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.25
2680
+ */
2681
+ autoRelockTime: OptionalWritableAttribute(35, TlvUInt32, { writeAcl: AccessLevel.Manage }),
2682
+ /**
2683
+ * Indicates the sound volume on a door lock as defined by SoundVolumeEnum.
2684
+ *
2685
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.26
2686
+ */
2687
+ soundVolume: OptionalWritableAttribute(
2688
+ 36,
2689
+ TlvEnum(),
2690
+ { default: 0 /* Silent */, writeAcl: AccessLevel.Manage }
2691
+ ),
2692
+ /**
2693
+ * Indicates the current operating mode of the lock as defined in OperatingModeEnum.
2694
+ *
2695
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.27
2696
+ */
2697
+ operatingMode: WritableAttribute(
2698
+ 37,
2699
+ TlvEnum(),
2700
+ { default: 0 /* Normal */, writeAcl: AccessLevel.Manage }
2701
+ ),
2702
+ /**
2703
+ * This attribute shall contain a bitmap with all operating bits of the OperatingMode attribute supported
2704
+ * by the lock. All operating modes NOT supported by a lock shall be set to one. The value of the
2705
+ * OperatingMode enumeration defines the related bit to be set.
2706
+ *
2707
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.28
2708
+ */
2709
+ supportedOperatingModes: FixedAttribute(
2710
+ 38,
2711
+ TlvBitmap(TlvUInt16, DoorLock2.OperatingModes),
2712
+ { default: BitsFromPartial(DoorLock2.OperatingModes, { vacation: true, privacy: true, passage: true }) }
2713
+ ),
2714
+ /**
2715
+ * Indicates the default configurations as they are physically set on the device (example: hardware dip
2716
+ * switch setting, etc…) and represents the default setting for some of the attributes within this cluster
2717
+ * (for example: LED, Auto Lock, Sound Volume, and Operating Mode attributes).
2718
+ *
2719
+ * This is a read-only attribute and is intended to allow clients to determine what changes may need to be
2720
+ * made without having to query all the included attributes. It may be beneficial for the clients to know
2721
+ * what the device’s original settings were in the event that the device needs to be restored to factory
2722
+ * default settings.
2723
+ *
2724
+ * If the Client device would like to query and modify the door lock server’s operating settings, it SHOULD
2725
+ * send read and write attribute requests to the specific attributes.
2726
+ *
2727
+ * For example, the Sound Volume attribute default value is Silent Mode. However, it is possible that the
2728
+ * current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current Sound
2729
+ * Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.
2730
+ *
2731
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.29
2732
+ */
2733
+ defaultConfigurationRegister: OptionalAttribute(39, TlvBitmap(TlvUInt16, DoorLock2.ConfigurationRegister)),
2734
+ /**
2735
+ * This attribute shall enable/disable local programming on the door lock of certain features (see
2736
+ * LocalProgrammingFeatures attribute). If this value is set to TRUE then local programming is enabled on
2737
+ * the door lock for all features. If it is set to FALSE then local programming is disabled on the door
2738
+ * lock for those features whose bit is set to 0 in the LocalProgrammingFeatures attribute. Local
2739
+ * programming shall be enabled by default.
2740
+ *
2741
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.30
2742
+ */
2743
+ enableLocalProgramming: OptionalWritableAttribute(
2744
+ 40,
2745
+ TlvBoolean,
2746
+ { default: true, writeAcl: AccessLevel.Administer }
2747
+ ),
2748
+ /**
2749
+ * This attribute shall enable/disable the ability to lock the door lock with a single touch on the door
2750
+ * lock.
2751
+ *
2752
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.31
2753
+ */
2754
+ enableOneTouchLocking: OptionalWritableAttribute(
2755
+ 41,
2756
+ TlvBoolean,
2757
+ { default: true, writeAcl: AccessLevel.Manage }
2758
+ ),
2759
+ /**
2760
+ * This attribute shall enable/disable an inside LED that allows the user to see at a glance if the door is
2761
+ * locked.
2762
+ *
2763
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.32
2764
+ */
2765
+ enableInsideStatusLed: OptionalWritableAttribute(
2766
+ 42,
2767
+ TlvBoolean,
2768
+ { default: true, writeAcl: AccessLevel.Manage }
2769
+ ),
2770
+ /**
2771
+ * This attribute shall enable/disable a button inside the door that is used to put the lock into privacy
2772
+ * mode. When the lock is in privacy mode it cannot be manipulated from the outside.
2773
+ *
2774
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.33
2775
+ */
2776
+ enablePrivacyModeButton: OptionalWritableAttribute(
2777
+ 43,
2778
+ TlvBoolean,
2779
+ { default: true, writeAcl: AccessLevel.Manage }
2780
+ ),
2781
+ /**
2782
+ * Indicates the local programming features that will be disabled when EnableLocalProgramming attribute is
2783
+ * set to False. If a door lock doesn’t support disabling one aspect of local programming it shall return
2784
+ * CONSTRAINT_ERROR during a write operation of this attribute. If the EnableLocalProgramming attribute is
2785
+ * set to True then all local programming features shall be enabled regardless of the bits set to 0 in this
2786
+ * attribute.
2787
+ *
2788
+ * The features that can be disabled from local programming are defined in LocalProgrammingFeaturesBitmap.
2789
+ *
2790
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.34
2791
+ */
2792
+ localProgrammingFeatures: OptionalWritableAttribute(
2793
+ 44,
2794
+ TlvBitmap(TlvUInt8, DoorLock2.LocalProgrammingFeatures),
2795
+ { writeAcl: AccessLevel.Administer }
2796
+ ),
2797
+ /**
2798
+ * This attribute is only supported if the Alarms cluster is on the same endpoint. The alarm mask is used
2799
+ * to turn on/off alarms for particular functions. Alarms for an alarm group are enabled if the associated
2800
+ * alarm mask bit is set. Each bit represents a group of alarms. Entire alarm groups can be turned on or
2801
+ * off by setting or clearing the associated bit in the alarm mask.
2802
+ *
2803
+ * This mask DOES NOT apply to the Events mechanism of this cluster.
2804
+ *
2805
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.9.40
2806
+ */
2807
+ alarmMask: OptionalWritableAttribute(
2808
+ 64,
2809
+ TlvBitmap(TlvUInt16, DoorLock2.AlarmMask),
2810
+ {
2811
+ default: BitsFromPartial(DoorLock2.AlarmMask, { lockJammed: true, lockFactoryReset: true, na: true, lockRadioPowerCycled: true, wrongCodeEntryLimit: true, frontEscutcheonRemoved: true, doorForcedOpen: true }),
2812
+ writeAcl: AccessLevel.Administer
2813
+ }
2814
+ )
2815
+ },
2816
+ commands: {
2817
+ /**
2818
+ * This command causes the lock device to lock the door. This command includes an optional code for the
2819
+ * lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation
2820
+ * attribute.
2821
+ *
2822
+ * † The PIN/RFID Code is an obsolete field name, use PINCode instead.
2823
+ *
2824
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.1
2825
+ */
2826
+ lockDoor: Command(0, DoorLock2.TlvLockDoorRequest, 0, TlvNoResponse, { timed: true }),
2827
+ /**
2828
+ * This command causes the lock device to unlock the door. This command includes an optional code for the
2829
+ * lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation
2830
+ * attribute.
2831
+ *
2832
+ * NOTE
2833
+ *
2834
+ * If the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto
2835
+ * relock time has expired.
2836
+ *
2837
+ * † The PIN/RFID Code is an obsolete field name, use PINCode instead.
2838
+ *
2839
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.2
2840
+ */
2841
+ unlockDoor: Command(1, DoorLock2.TlvUnlockDoorRequest, 1, TlvNoResponse, { timed: true }),
2842
+ /**
2843
+ * This command causes the lock device to unlock the door with a timeout parameter. After the time in
2844
+ * seconds specified in the timeout field, the lock device will relock itself automatically. This timeout
2845
+ * parameter is only temporary for this message transition and overrides the default relock time
2846
+ *
2847
+ * as specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want
2848
+ * to support temporary Relock Timeout, it SHOULD NOT support this optional command.
2849
+ *
2850
+ * † The PIN/RFID Code is an obsolete field name, use PINCode instead.
2851
+ *
2852
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.10.3
2853
+ */
2854
+ unlockWithTimeout: OptionalCommand(3, DoorLock2.TlvUnlockWithTimeoutRequest, 3, TlvNoResponse, { timed: true })
2855
+ },
2856
+ events: {
2857
+ /**
2858
+ * The door lock server provides several alarms which can be sent when there is a critical state on the
2859
+ * door lock. The alarms available for the door lock server are listed in AlarmCodeEnum.
2860
+ *
2861
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.1
2862
+ */
2863
+ doorLockAlarm: Event(0, EventPriority.Critical, DoorLock2.TlvDoorLockAlarmEvent),
2864
+ /**
2865
+ * The door lock server sends out a LockOperation event when the event is triggered by the various lock
2866
+ * operation sources.
2867
+ *
2868
+ * • If the door lock server supports the Unbolt Door command, it shall generate a LockOperation event
2869
+ * with LockOperationType set to Unlock after an Unbolt Door command succeeds.
2870
+ *
2871
+ * • If the door lock server supports the Unbolting feature and an Unlock Door command is performed, it
2872
+ * shall generate a LockOperation event with LockOperationType set to Unlatch when the unlatched state
2873
+ * is reached and a LockOperation event with LockOperationType set to Unlock when the lock successfully
2874
+ * completes the unlock → hold latch → release latch and return to unlock state operation.
2875
+ *
2876
+ * • If the command fails during holding or releasing the latch but after passing the unlocked state, the
2877
+ * door lock server shall generate a LockOperationError event with LockOperationType set to Unlatch and
2878
+ * a LockOperation event with LockOperationType set to Unlock.
2879
+ *
2880
+ * ◦ If it fails before reaching the unlocked state, the door lock server shall generate only a
2881
+ * LockOperationError event with LockOperationType set to Unlock.
2882
+ *
2883
+ * • Upon manual actuation, a door lock server that supports the Unbolting feature:
2884
+ *
2885
+ * ◦ shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the
2886
+ * outside.
2887
+ *
2888
+ * ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated from the
2889
+ * inside.
2890
+ *
2891
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3
2892
+ */
2893
+ lockOperation: Event(2, EventPriority.Critical, DoorLock2.TlvLockOperationEvent),
2894
+ /**
2895
+ * The door lock server sends out a LockOperationError event when a lock operation fails for various
2896
+ * reasons.
2897
+ *
2898
+ * @see {@link MatterSpecification.v13.Cluster} § 5.2.11.4
2899
+ */
2900
+ lockOperationError: Event(3, EventPriority.Critical, DoorLock2.TlvLockOperationErrorEvent)
2901
+ },
2902
+ /**
2903
+ * This metadata controls which DoorLockCluster elements matter.js activates for specific feature combinations.
2904
+ */
2905
+ extensions: MutableCluster.Extensions(
2906
+ { flags: { doorPositionSensor: true }, component: DoorLock2.DoorPositionSensorComponent },
2907
+ { flags: { logging: true }, component: DoorLock2.LoggingComponent },
2908
+ { flags: { user: true }, component: DoorLock2.UserComponent },
2909
+ { flags: { pinCredential: true }, component: DoorLock2.PinCredentialComponent },
2910
+ { flags: { rfidCredential: true }, component: DoorLock2.RfidCredentialComponent },
2911
+ { flags: { weekDayAccessSchedules: true }, component: DoorLock2.WeekDayAccessSchedulesComponent },
2912
+ { flags: { yearDayAccessSchedules: true }, component: DoorLock2.YearDayAccessSchedulesComponent },
2913
+ { flags: { holidaySchedules: true }, component: DoorLock2.HolidaySchedulesComponent },
2914
+ { flags: { pinCredential: true }, component: DoorLock2.PinCredentialOrRfidCredentialComponent },
2915
+ { flags: { rfidCredential: true }, component: DoorLock2.PinCredentialOrRfidCredentialComponent },
2916
+ { flags: { pinCredential: true, user: false }, component: DoorLock2.PinCredentialNotUserComponent },
2917
+ {
2918
+ flags: { credentialOverTheAirAccess: true, pinCredential: true },
2919
+ component: DoorLock2.CredentialOverTheAirAccessAndPinCredentialComponent
2920
+ },
2921
+ { flags: { notification: true, pinCredential: true }, component: DoorLock2.NotificationAndPinCredentialComponent },
2922
+ { flags: { notification: true }, component: DoorLock2.NotificationComponent },
2923
+ { flags: { notification: true, rfidCredential: true }, component: DoorLock2.NotificationAndRfidCredentialComponent },
2924
+ {
2925
+ flags: { pinCredential: true, rfidCredential: true, fingerCredentials: true, user: false },
2926
+ component: DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent
2927
+ },
2928
+ { flags: { user: false }, component: DoorLock2.NotUserComponent },
2929
+ { flags: { rfidCredential: true, user: false }, component: DoorLock2.RfidCredentialNotUserComponent },
2930
+ { flags: { unbolting: true }, component: DoorLock2.UnboltingComponent },
2931
+ {
2932
+ flags: {
2933
+ user: true,
2934
+ pinCredential: true,
2935
+ rfidCredential: true,
2936
+ fingerCredentials: true,
2937
+ faceCredentials: true
2938
+ },
2939
+ component: false
2940
+ }
2941
+ )
2942
+ });
2943
+ DoorLock2.ClusterInstance = MutableCluster({ ...DoorLock2.Base, base: ClusterType(DoorLock2.Base) }, DoorLock2.NotUserComponent);
2944
+ DoorLock2.Cluster = DoorLock2.ClusterInstance;
2945
+ const DPS = { doorPositionSensor: true };
2946
+ const LOG = { logging: true };
2947
+ const USR = { user: true };
2948
+ const PIN = { pinCredential: true };
2949
+ const RID = { rfidCredential: true };
2950
+ const WDSCH = { weekDayAccessSchedules: true };
2951
+ const YDSCH = { yearDayAccessSchedules: true };
2952
+ const HDSCH = { holidaySchedules: true };
2953
+ const PIN_NOT_USR = { pinCredential: true, user: false };
2954
+ const COTA_PIN = { credentialOverTheAirAccess: true, pinCredential: true };
2955
+ const NOT_PIN = { notification: true, pinCredential: true };
2956
+ const NOT = { notification: true };
2957
+ const NOT_RID = { notification: true, rfidCredential: true };
2958
+ const PIN_RID_FGP_NOT_USR = { pinCredential: true, rfidCredential: true, fingerCredentials: true, user: false };
2959
+ const RID_NOT_USR = { rfidCredential: true, user: false };
2960
+ const UBOLT = { unbolting: true };
2961
+ DoorLock2.CompleteInstance = MutableCluster({
2962
+ id: DoorLock2.Cluster.id,
2963
+ name: DoorLock2.Cluster.name,
2964
+ revision: DoorLock2.Cluster.revision,
2965
+ features: DoorLock2.Cluster.features,
2966
+ attributes: {
2967
+ ...DoorLock2.Cluster.attributes,
2968
+ doorState: MutableCluster.AsConditional(
2969
+ DoorLock2.DoorPositionSensorComponent.attributes.doorState,
2970
+ { mandatoryIf: [DPS] }
2971
+ ),
2972
+ doorOpenEvents: MutableCluster.AsConditional(
2973
+ DoorLock2.DoorPositionSensorComponent.attributes.doorOpenEvents,
2974
+ { optionalIf: [DPS] }
2975
+ ),
2976
+ doorClosedEvents: MutableCluster.AsConditional(
2977
+ DoorLock2.DoorPositionSensorComponent.attributes.doorClosedEvents,
2978
+ { optionalIf: [DPS] }
2979
+ ),
2980
+ openPeriod: MutableCluster.AsConditional(
2981
+ DoorLock2.DoorPositionSensorComponent.attributes.openPeriod,
2982
+ { optionalIf: [DPS] }
2983
+ ),
2984
+ numberOfLogRecordsSupported: MutableCluster.AsConditional(
2985
+ DoorLock2.LoggingComponent.attributes.numberOfLogRecordsSupported,
2986
+ { mandatoryIf: [LOG] }
2987
+ ),
2988
+ numberOfTotalUsersSupported: MutableCluster.AsConditional(
2989
+ DoorLock2.UserComponent.attributes.numberOfTotalUsersSupported,
2990
+ { mandatoryIf: [USR] }
2991
+ ),
2992
+ numberOfPinUsersSupported: MutableCluster.AsConditional(
2993
+ DoorLock2.PinCredentialComponent.attributes.numberOfPinUsersSupported,
2994
+ { mandatoryIf: [PIN] }
2995
+ ),
2996
+ numberOfRfidUsersSupported: MutableCluster.AsConditional(
2997
+ DoorLock2.RfidCredentialComponent.attributes.numberOfRfidUsersSupported,
2998
+ { mandatoryIf: [RID] }
2999
+ ),
3000
+ numberOfWeekDaySchedulesSupportedPerUser: MutableCluster.AsConditional(
3001
+ DoorLock2.WeekDayAccessSchedulesComponent.attributes.numberOfWeekDaySchedulesSupportedPerUser,
3002
+ { mandatoryIf: [WDSCH] }
3003
+ ),
3004
+ numberOfYearDaySchedulesSupportedPerUser: MutableCluster.AsConditional(
3005
+ DoorLock2.YearDayAccessSchedulesComponent.attributes.numberOfYearDaySchedulesSupportedPerUser,
3006
+ { mandatoryIf: [YDSCH] }
3007
+ ),
3008
+ numberOfHolidaySchedulesSupported: MutableCluster.AsConditional(
3009
+ DoorLock2.HolidaySchedulesComponent.attributes.numberOfHolidaySchedulesSupported,
3010
+ { mandatoryIf: [HDSCH] }
3011
+ ),
3012
+ maxPinCodeLength: MutableCluster.AsConditional(
3013
+ DoorLock2.PinCredentialComponent.attributes.maxPinCodeLength,
3014
+ { mandatoryIf: [PIN] }
3015
+ ),
3016
+ minPinCodeLength: MutableCluster.AsConditional(
3017
+ DoorLock2.PinCredentialComponent.attributes.minPinCodeLength,
3018
+ { mandatoryIf: [PIN] }
3019
+ ),
3020
+ maxRfidCodeLength: MutableCluster.AsConditional(
3021
+ DoorLock2.RfidCredentialComponent.attributes.maxRfidCodeLength,
3022
+ { mandatoryIf: [RID] }
3023
+ ),
3024
+ minRfidCodeLength: MutableCluster.AsConditional(
3025
+ DoorLock2.RfidCredentialComponent.attributes.minRfidCodeLength,
3026
+ { mandatoryIf: [RID] }
3027
+ ),
3028
+ credentialRulesSupport: MutableCluster.AsConditional(
3029
+ DoorLock2.UserComponent.attributes.credentialRulesSupport,
3030
+ { mandatoryIf: [USR] }
3031
+ ),
3032
+ numberOfCredentialsSupportedPerUser: MutableCluster.AsConditional(
3033
+ DoorLock2.UserComponent.attributes.numberOfCredentialsSupportedPerUser,
3034
+ { mandatoryIf: [USR] }
3035
+ ),
3036
+ enableLogging: MutableCluster.AsConditional(
3037
+ DoorLock2.LoggingComponent.attributes.enableLogging,
3038
+ { mandatoryIf: [LOG] }
3039
+ ),
3040
+ wrongCodeEntryLimit: MutableCluster.AsConditional(
3041
+ DoorLock2.PinCredentialOrRfidCredentialComponent.attributes.wrongCodeEntryLimit,
3042
+ { mandatoryIf: [PIN, RID] }
3043
+ ),
3044
+ userCodeTemporaryDisableTime: MutableCluster.AsConditional(
3045
+ DoorLock2.PinCredentialOrRfidCredentialComponent.attributes.userCodeTemporaryDisableTime,
3046
+ { mandatoryIf: [PIN, RID] }
3047
+ ),
3048
+ sendPinOverTheAir: MutableCluster.AsConditional(
3049
+ DoorLock2.PinCredentialNotUserComponent.attributes.sendPinOverTheAir,
3050
+ { optionalIf: [PIN_NOT_USR] }
3051
+ ),
3052
+ requirePinForRemoteOperation: MutableCluster.AsConditional(
3053
+ DoorLock2.CredentialOverTheAirAccessAndPinCredentialComponent.attributes.requirePinForRemoteOperation,
3054
+ { mandatoryIf: [COTA_PIN] }
3055
+ ),
3056
+ expiringUserTimeout: MutableCluster.AsConditional(
3057
+ DoorLock2.UserComponent.attributes.expiringUserTimeout,
3058
+ { optionalIf: [USR] }
3059
+ ),
3060
+ keypadOperationEventMask: MutableCluster.AsConditional(
3061
+ DoorLock2.NotificationAndPinCredentialComponent.attributes.keypadOperationEventMask,
3062
+ { optionalIf: [NOT_PIN] }
3063
+ ),
3064
+ remoteOperationEventMask: MutableCluster.AsConditional(
3065
+ DoorLock2.NotificationComponent.attributes.remoteOperationEventMask,
3066
+ { optionalIf: [NOT] }
3067
+ ),
3068
+ manualOperationEventMask: MutableCluster.AsConditional(
3069
+ DoorLock2.NotificationComponent.attributes.manualOperationEventMask,
3070
+ { optionalIf: [NOT] }
3071
+ ),
3072
+ rfidOperationEventMask: MutableCluster.AsConditional(
3073
+ DoorLock2.NotificationAndRfidCredentialComponent.attributes.rfidOperationEventMask,
3074
+ { optionalIf: [NOT_RID] }
3075
+ ),
3076
+ keypadProgrammingEventMask: MutableCluster.AsConditional(
3077
+ DoorLock2.NotificationAndPinCredentialComponent.attributes.keypadProgrammingEventMask,
3078
+ { optionalIf: [NOT_PIN] }
3079
+ ),
3080
+ remoteProgrammingEventMask: MutableCluster.AsConditional(
3081
+ DoorLock2.NotificationComponent.attributes.remoteProgrammingEventMask,
3082
+ { optionalIf: [NOT] }
3083
+ ),
3084
+ rfidProgrammingEventMask: MutableCluster.AsConditional(
3085
+ DoorLock2.NotificationAndRfidCredentialComponent.attributes.rfidProgrammingEventMask,
3086
+ { optionalIf: [NOT_RID] }
3087
+ )
3088
+ },
3089
+ commands: {
3090
+ ...DoorLock2.Cluster.commands,
3091
+ getLogRecord: MutableCluster.AsConditional(DoorLock2.LoggingComponent.commands.getLogRecord, { mandatoryIf: [LOG] }),
3092
+ setPinCode: MutableCluster.AsConditional(
3093
+ DoorLock2.PinCredentialNotUserComponent.commands.setPinCode,
3094
+ { mandatoryIf: [PIN_NOT_USR] }
3095
+ ),
3096
+ getPinCode: MutableCluster.AsConditional(
3097
+ DoorLock2.PinCredentialNotUserComponent.commands.getPinCode,
3098
+ { mandatoryIf: [PIN_NOT_USR] }
3099
+ ),
3100
+ clearPinCode: MutableCluster.AsConditional(
3101
+ DoorLock2.PinCredentialNotUserComponent.commands.clearPinCode,
3102
+ { mandatoryIf: [PIN_NOT_USR] }
3103
+ ),
3104
+ clearAllPinCodes: MutableCluster.AsConditional(
3105
+ DoorLock2.PinCredentialNotUserComponent.commands.clearAllPinCodes,
3106
+ { mandatoryIf: [PIN_NOT_USR] }
3107
+ ),
3108
+ setUserStatus: MutableCluster.AsConditional(
3109
+ DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent.commands.setUserStatus,
3110
+ { optionalIf: [PIN_RID_FGP_NOT_USR] }
3111
+ ),
3112
+ getUserStatus: MutableCluster.AsConditional(
3113
+ DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent.commands.getUserStatus,
3114
+ { optionalIf: [PIN_RID_FGP_NOT_USR] }
3115
+ ),
3116
+ setWeekDaySchedule: MutableCluster.AsConditional(
3117
+ DoorLock2.WeekDayAccessSchedulesComponent.commands.setWeekDaySchedule,
3118
+ { mandatoryIf: [WDSCH] }
3119
+ ),
3120
+ getWeekDaySchedule: MutableCluster.AsConditional(
3121
+ DoorLock2.WeekDayAccessSchedulesComponent.commands.getWeekDaySchedule,
3122
+ { mandatoryIf: [WDSCH] }
3123
+ ),
3124
+ clearWeekDaySchedule: MutableCluster.AsConditional(
3125
+ DoorLock2.WeekDayAccessSchedulesComponent.commands.clearWeekDaySchedule,
3126
+ { mandatoryIf: [WDSCH] }
3127
+ ),
3128
+ setYearDaySchedule: MutableCluster.AsConditional(
3129
+ DoorLock2.YearDayAccessSchedulesComponent.commands.setYearDaySchedule,
3130
+ { mandatoryIf: [YDSCH] }
3131
+ ),
3132
+ getYearDaySchedule: MutableCluster.AsConditional(
3133
+ DoorLock2.YearDayAccessSchedulesComponent.commands.getYearDaySchedule,
3134
+ { mandatoryIf: [YDSCH] }
3135
+ ),
3136
+ clearYearDaySchedule: MutableCluster.AsConditional(
3137
+ DoorLock2.YearDayAccessSchedulesComponent.commands.clearYearDaySchedule,
3138
+ { mandatoryIf: [YDSCH] }
3139
+ ),
3140
+ setHolidaySchedule: MutableCluster.AsConditional(
3141
+ DoorLock2.HolidaySchedulesComponent.commands.setHolidaySchedule,
3142
+ { mandatoryIf: [HDSCH] }
3143
+ ),
3144
+ getHolidaySchedule: MutableCluster.AsConditional(
3145
+ DoorLock2.HolidaySchedulesComponent.commands.getHolidaySchedule,
3146
+ { mandatoryIf: [HDSCH] }
3147
+ ),
3148
+ clearHolidaySchedule: MutableCluster.AsConditional(
3149
+ DoorLock2.HolidaySchedulesComponent.commands.clearHolidaySchedule,
3150
+ { mandatoryIf: [HDSCH] }
3151
+ ),
3152
+ setUserType: MutableCluster.AsConditional(
3153
+ DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent.commands.setUserType,
3154
+ { optionalIf: [PIN_RID_FGP_NOT_USR] }
3155
+ ),
3156
+ getUserType: MutableCluster.AsConditional(
3157
+ DoorLock2.PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent.commands.getUserType,
3158
+ { optionalIf: [PIN_RID_FGP_NOT_USR] }
3159
+ ),
3160
+ setRfidCode: MutableCluster.AsConditional(
3161
+ DoorLock2.RfidCredentialNotUserComponent.commands.setRfidCode,
3162
+ { mandatoryIf: [RID_NOT_USR] }
3163
+ ),
3164
+ getRfidCode: MutableCluster.AsConditional(
3165
+ DoorLock2.RfidCredentialNotUserComponent.commands.getRfidCode,
3166
+ { mandatoryIf: [RID_NOT_USR] }
3167
+ ),
3168
+ clearRfidCode: MutableCluster.AsConditional(
3169
+ DoorLock2.RfidCredentialNotUserComponent.commands.clearRfidCode,
3170
+ { mandatoryIf: [RID_NOT_USR] }
3171
+ ),
3172
+ clearAllRfidCodes: MutableCluster.AsConditional(
3173
+ DoorLock2.RfidCredentialNotUserComponent.commands.clearAllRfidCodes,
3174
+ { mandatoryIf: [RID_NOT_USR] }
3175
+ ),
3176
+ setUser: MutableCluster.AsConditional(DoorLock2.UserComponent.commands.setUser, { mandatoryIf: [USR] }),
3177
+ getUser: MutableCluster.AsConditional(DoorLock2.UserComponent.commands.getUser, { mandatoryIf: [USR] }),
3178
+ clearUser: MutableCluster.AsConditional(DoorLock2.UserComponent.commands.clearUser, { mandatoryIf: [USR] }),
3179
+ setCredential: MutableCluster.AsConditional(DoorLock2.UserComponent.commands.setCredential, { mandatoryIf: [USR] }),
3180
+ getCredentialStatus: MutableCluster.AsConditional(
3181
+ DoorLock2.UserComponent.commands.getCredentialStatus,
3182
+ { mandatoryIf: [USR] }
3183
+ ),
3184
+ clearCredential: MutableCluster.AsConditional(
3185
+ DoorLock2.UserComponent.commands.clearCredential,
3186
+ { mandatoryIf: [USR] }
3187
+ ),
3188
+ unboltDoor: MutableCluster.AsConditional(DoorLock2.UnboltingComponent.commands.unboltDoor, { mandatoryIf: [UBOLT] })
3189
+ },
3190
+ events: {
3191
+ ...DoorLock2.Cluster.events,
3192
+ doorStateChange: MutableCluster.AsConditional(
3193
+ DoorLock2.DoorPositionSensorComponent.events.doorStateChange,
3194
+ { mandatoryIf: [DPS] }
3195
+ ),
3196
+ lockUserChange: MutableCluster.AsConditional(DoorLock2.UserComponent.events.lockUserChange, { mandatoryIf: [USR] })
3197
+ }
3198
+ });
3199
+ DoorLock2.Complete = DoorLock2.CompleteInstance;
3200
+ })(DoorLock || (DoorLock = {}));
3201
+ const DoorLockCluster = DoorLock.Cluster;
3202
+ ClusterRegistry.register(DoorLock.Complete);
3203
+ export {
3204
+ DoorLock,
3205
+ DoorLockCluster
3206
+ };
3207
+ //# sourceMappingURL=door-lock.js.map