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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1369) hide show
  1. package/dist/cjs/aspects/Conformance.d.ts +5 -3
  2. package/dist/cjs/aspects/Conformance.d.ts.map +1 -1
  3. package/dist/cjs/aspects/Conformance.js +23 -2
  4. package/dist/cjs/aspects/Conformance.js.map +1 -1
  5. package/dist/cjs/aspects/Quality.d.ts +9 -2
  6. package/dist/cjs/aspects/Quality.d.ts.map +1 -1
  7. package/dist/cjs/aspects/Quality.js +3 -1
  8. package/dist/cjs/aspects/Quality.js.map +1 -1
  9. package/dist/cjs/common/Specification.d.ts +3 -3
  10. package/dist/cjs/common/Specification.d.ts.map +1 -1
  11. package/dist/cjs/common/Specification.js +3 -3
  12. package/dist/cjs/logic/cluster-variance/IllegalFeatureCombinations.js +82 -66
  13. package/dist/cjs/logic/cluster-variance/IllegalFeatureCombinations.js.map +1 -1
  14. package/dist/cjs/logic/cluster-variance/InferredComponents.js +24 -1
  15. package/dist/cjs/logic/cluster-variance/InferredComponents.js.map +1 -1
  16. package/dist/cjs/logic/definition-validation/ValueValidator.d.ts.map +1 -1
  17. package/dist/cjs/logic/definition-validation/ValueValidator.js +11 -6
  18. package/dist/cjs/logic/definition-validation/ValueValidator.js.map +1 -1
  19. package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
  20. package/dist/cjs/models/AttributeModel.js +1 -4
  21. package/dist/cjs/models/AttributeModel.js.map +1 -1
  22. package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
  23. package/dist/cjs/models/ClusterModel.js +1 -3
  24. package/dist/cjs/models/ClusterModel.js.map +1 -1
  25. package/dist/cjs/models/CommandModel.d.ts.map +1 -1
  26. package/dist/cjs/models/CommandModel.js +1 -4
  27. package/dist/cjs/models/CommandModel.js.map +1 -1
  28. package/dist/cjs/models/DatatypeModel.d.ts +1 -0
  29. package/dist/cjs/models/DatatypeModel.d.ts.map +1 -1
  30. package/dist/cjs/models/DatatypeModel.js +2 -4
  31. package/dist/cjs/models/DatatypeModel.js.map +1 -1
  32. package/dist/cjs/models/DeviceTypeModel.d.ts +1 -0
  33. package/dist/cjs/models/DeviceTypeModel.d.ts.map +1 -1
  34. package/dist/cjs/models/DeviceTypeModel.js +2 -3
  35. package/dist/cjs/models/DeviceTypeModel.js.map +1 -1
  36. package/dist/cjs/models/EndpointModel.d.ts +1 -0
  37. package/dist/cjs/models/EndpointModel.d.ts.map +1 -1
  38. package/dist/cjs/models/EndpointModel.js +2 -3
  39. package/dist/cjs/models/EndpointModel.js.map +1 -1
  40. package/dist/cjs/models/EventModel.d.ts.map +1 -1
  41. package/dist/cjs/models/EventModel.js +1 -4
  42. package/dist/cjs/models/EventModel.js.map +1 -1
  43. package/dist/cjs/models/FabricModel.d.ts +1 -0
  44. package/dist/cjs/models/FabricModel.d.ts.map +1 -1
  45. package/dist/cjs/models/FabricModel.js +2 -3
  46. package/dist/cjs/models/FabricModel.js.map +1 -1
  47. package/dist/cjs/models/FieldModel.d.ts +1 -0
  48. package/dist/cjs/models/FieldModel.d.ts.map +1 -1
  49. package/dist/cjs/models/FieldModel.js +2 -4
  50. package/dist/cjs/models/FieldModel.js.map +1 -1
  51. package/dist/cjs/models/Globals.d.ts +27 -1
  52. package/dist/cjs/models/Globals.d.ts.map +1 -1
  53. package/dist/cjs/models/MatterModel.d.ts +1 -0
  54. package/dist/cjs/models/MatterModel.d.ts.map +1 -1
  55. package/dist/cjs/models/MatterModel.js +2 -4
  56. package/dist/cjs/models/MatterModel.js.map +1 -1
  57. package/dist/cjs/models/Model.d.ts +26 -2
  58. package/dist/cjs/models/Model.d.ts.map +1 -1
  59. package/dist/cjs/models/Model.js +44 -5
  60. package/dist/cjs/models/Model.js.map +1 -1
  61. package/dist/cjs/models/NodeModel.d.ts +1 -0
  62. package/dist/cjs/models/NodeModel.d.ts.map +1 -1
  63. package/dist/cjs/models/NodeModel.js +2 -3
  64. package/dist/cjs/models/NodeModel.js.map +1 -1
  65. package/dist/cjs/models/RequirementModel.d.ts +1 -0
  66. package/dist/cjs/models/RequirementModel.d.ts.map +1 -1
  67. package/dist/cjs/models/RequirementModel.js +2 -3
  68. package/dist/cjs/models/RequirementModel.js.map +1 -1
  69. package/dist/cjs/models/SemanticNamespaceModel.d.ts +1 -0
  70. package/dist/cjs/models/SemanticNamespaceModel.d.ts.map +1 -1
  71. package/dist/cjs/models/SemanticNamespaceModel.js +2 -3
  72. package/dist/cjs/models/SemanticNamespaceModel.js.map +1 -1
  73. package/dist/cjs/models/SemanticTagModel.d.ts +1 -0
  74. package/dist/cjs/models/SemanticTagModel.d.ts.map +1 -1
  75. package/dist/cjs/models/SemanticTagModel.js +2 -3
  76. package/dist/cjs/models/SemanticTagModel.js.map +1 -1
  77. package/dist/cjs/standard/elements/AcceptedCommandList.d.ts.map +1 -1
  78. package/dist/cjs/standard/elements/AcceptedCommandList.js +1 -1
  79. package/dist/cjs/standard/elements/AcceptedCommandList.js.map +1 -1
  80. package/dist/cjs/standard/elements/AccessControl.d.ts.map +1 -1
  81. package/dist/cjs/standard/elements/AccessControl.js +298 -37
  82. package/dist/cjs/standard/elements/AccessControl.js.map +2 -2
  83. package/dist/cjs/standard/elements/Actions.d.ts.map +1 -1
  84. package/dist/cjs/standard/elements/Actions.js +6 -6
  85. package/dist/cjs/standard/elements/Actions.js.map +1 -1
  86. package/dist/cjs/standard/elements/AdministratorCommissioning.d.ts.map +1 -1
  87. package/dist/cjs/standard/elements/AdministratorCommissioning.js +18 -12
  88. package/dist/cjs/standard/elements/AdministratorCommissioning.js.map +1 -1
  89. package/dist/cjs/standard/elements/AggregatorDT.d.ts.map +1 -1
  90. package/dist/cjs/standard/elements/AggregatorDT.js +18 -3
  91. package/dist/cjs/standard/elements/AggregatorDT.js.map +2 -2
  92. package/dist/cjs/standard/elements/AirPurifierDT.d.ts.map +1 -1
  93. package/dist/cjs/standard/elements/AirPurifierDT.js +8 -1
  94. package/dist/cjs/standard/elements/AirPurifierDT.js.map +1 -1
  95. package/dist/cjs/standard/elements/AlarmBase.d.ts.map +1 -1
  96. package/dist/cjs/standard/elements/AlarmBase.js +1 -1
  97. package/dist/cjs/standard/elements/AlarmBase.js.map +1 -1
  98. package/dist/cjs/standard/elements/ApplicationLauncher.d.ts.map +1 -1
  99. package/dist/cjs/standard/elements/ApplicationLauncher.js +12 -4
  100. package/dist/cjs/standard/elements/ApplicationLauncher.js.map +1 -1
  101. package/dist/cjs/standard/elements/AreaNamespaceNS.d.ts +8 -0
  102. package/dist/cjs/standard/elements/AreaNamespaceNS.d.ts.map +1 -0
  103. package/dist/cjs/standard/elements/AreaNamespaceNS.js +147 -0
  104. package/dist/cjs/standard/elements/AreaNamespaceNS.js.map +6 -0
  105. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.d.ts +8 -0
  106. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.d.ts.map +1 -0
  107. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.js +56 -0
  108. package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.js.map +6 -0
  109. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.d.ts +8 -0
  110. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.d.ts.map +1 -0
  111. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.js +43 -0
  112. package/dist/cjs/standard/elements/AtomicRequestTypeEnum.js.map +6 -0
  113. package/dist/cjs/standard/elements/BallastConfiguration.js +1 -1
  114. package/dist/cjs/standard/elements/BasicInformation.d.ts.map +1 -1
  115. package/dist/cjs/standard/elements/BasicInformation.js +17 -19
  116. package/dist/cjs/standard/elements/BasicInformation.js.map +1 -1
  117. package/dist/cjs/standard/elements/BatteryStorageDT.d.ts +8 -0
  118. package/dist/cjs/standard/elements/BatteryStorageDT.d.ts.map +1 -0
  119. package/dist/cjs/standard/elements/BatteryStorageDT.js +53 -0
  120. package/dist/cjs/standard/elements/BatteryStorageDT.js.map +6 -0
  121. package/dist/cjs/standard/elements/BooleanStateConfiguration.js +2 -2
  122. package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
  123. package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.js +102 -31
  124. package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.js.map +2 -2
  125. package/dist/cjs/standard/elements/BridgedNodeDT.d.ts.map +1 -1
  126. package/dist/cjs/standard/elements/BridgedNodeDT.js +24 -2
  127. package/dist/cjs/standard/elements/BridgedNodeDT.js.map +2 -2
  128. package/dist/cjs/standard/elements/Channel.d.ts.map +1 -1
  129. package/dist/cjs/standard/elements/Channel.js +13 -14
  130. package/dist/cjs/standard/elements/Channel.js.map +1 -1
  131. package/dist/cjs/standard/elements/ColorControl.d.ts.map +1 -1
  132. package/dist/cjs/standard/elements/ColorControl.js +607 -478
  133. package/dist/cjs/standard/elements/ColorControl.js.map +1 -1
  134. package/dist/cjs/standard/elements/{PulseWidthModulation.d.ts → CommissionerControl.d.ts} +2 -2
  135. package/dist/cjs/standard/elements/CommissionerControl.d.ts.map +1 -0
  136. package/dist/cjs/standard/elements/CommissionerControl.js +130 -0
  137. package/dist/cjs/standard/elements/CommissionerControl.js.map +6 -0
  138. package/dist/cjs/standard/elements/ConcentrationMeasurement.js +0 -1
  139. package/dist/cjs/standard/elements/ConcentrationMeasurement.js.map +1 -1
  140. package/dist/cjs/standard/elements/ContentControl.d.ts.map +1 -1
  141. package/dist/cjs/standard/elements/ContentControl.js +34 -39
  142. package/dist/cjs/standard/elements/ContentControl.js.map +1 -1
  143. package/dist/cjs/standard/elements/ContentLauncher.d.ts.map +1 -1
  144. package/dist/cjs/standard/elements/ContentLauncher.js +13 -11
  145. package/dist/cjs/standard/elements/ContentLauncher.js.map +1 -1
  146. package/dist/cjs/standard/elements/DeviceEnergyManagement.d.ts.map +1 -1
  147. package/dist/cjs/standard/elements/DeviceEnergyManagement.js +154 -118
  148. package/dist/cjs/standard/elements/DeviceEnergyManagement.js.map +1 -1
  149. package/dist/cjs/standard/elements/DeviceEnergyManagementDT.d.ts.map +1 -1
  150. package/dist/cjs/standard/elements/DeviceEnergyManagementDT.js +26 -11
  151. package/dist/cjs/standard/elements/DeviceEnergyManagementDT.js.map +2 -2
  152. package/dist/cjs/standard/elements/DeviceEnergyManagementMode.d.ts.map +1 -1
  153. package/dist/cjs/standard/elements/DeviceEnergyManagementMode.js +38 -9
  154. package/dist/cjs/standard/elements/DeviceEnergyManagementMode.js.map +2 -2
  155. package/dist/cjs/standard/elements/DishwasherAlarm.d.ts.map +1 -1
  156. package/dist/cjs/standard/elements/DishwasherAlarm.js +1 -1
  157. package/dist/cjs/standard/elements/DishwasherAlarm.js.map +1 -1
  158. package/dist/cjs/standard/elements/DishwasherMode.d.ts.map +1 -1
  159. package/dist/cjs/standard/elements/DishwasherMode.js +35 -15
  160. package/dist/cjs/standard/elements/DishwasherMode.js.map +2 -2
  161. package/dist/cjs/standard/elements/DoorLock.d.ts.map +1 -1
  162. package/dist/cjs/standard/elements/DoorLock.js +505 -629
  163. package/dist/cjs/standard/elements/DoorLock.js.map +1 -1
  164. package/dist/cjs/standard/elements/DoorLockControllerDT.js +1 -1
  165. package/dist/cjs/standard/elements/DoorLockControllerDT.js.map +1 -1
  166. package/dist/cjs/standard/elements/DoorLockDT.js +2 -2
  167. package/dist/cjs/standard/elements/DoorLockDT.js.map +1 -1
  168. package/dist/{esm/standard/elements/PulseWidthModulation.d.ts → cjs/standard/elements/EcosystemInformation.d.ts} +2 -2
  169. package/dist/cjs/standard/elements/EcosystemInformation.d.ts.map +1 -0
  170. package/dist/cjs/standard/elements/EcosystemInformation.js +147 -0
  171. package/dist/cjs/standard/elements/EcosystemInformation.js.map +6 -0
  172. package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.d.ts.map +1 -1
  173. package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.js +9 -18
  174. package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.js.map +1 -1
  175. package/dist/cjs/standard/elements/ElectricalMeasurementNS.js +1 -1
  176. package/dist/cjs/standard/elements/ElectricalPowerMeasurement.js +5 -5
  177. package/dist/cjs/standard/elements/ElectricalPowerMeasurement.js.map +1 -1
  178. package/dist/cjs/standard/elements/EnergyEvse.d.ts.map +1 -1
  179. package/dist/cjs/standard/elements/EnergyEvse.js +98 -51
  180. package/dist/cjs/standard/elements/EnergyEvse.js.map +1 -1
  181. package/dist/cjs/standard/elements/EnergyEvseDT.d.ts +8 -0
  182. package/dist/cjs/standard/elements/EnergyEvseDT.d.ts.map +1 -0
  183. package/dist/cjs/standard/elements/EnergyEvseDT.js +74 -0
  184. package/dist/cjs/standard/elements/EnergyEvseDT.js.map +6 -0
  185. package/dist/cjs/standard/elements/EnergyEvseMode.d.ts.map +1 -1
  186. package/dist/cjs/standard/elements/EnergyEvseMode.js +49 -8
  187. package/dist/cjs/standard/elements/EnergyEvseMode.js.map +2 -2
  188. package/dist/cjs/standard/elements/EnergyPreference.d.ts.map +1 -1
  189. package/dist/cjs/standard/elements/EnergyPreference.js +22 -19
  190. package/dist/cjs/standard/elements/EnergyPreference.js.map +1 -1
  191. package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
  192. package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js +1 -1
  193. package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
  194. package/dist/cjs/standard/elements/EventList.d.ts.map +1 -1
  195. package/dist/cjs/standard/elements/EventList.js +1 -12
  196. package/dist/cjs/standard/elements/EventList.js.map +2 -2
  197. package/dist/cjs/standard/elements/FabricIndex.js +1 -1
  198. package/dist/cjs/standard/elements/FanControl.js +8 -10
  199. package/dist/cjs/standard/elements/FanControl.js.map +1 -1
  200. package/dist/cjs/standard/elements/FanDT.d.ts.map +1 -1
  201. package/dist/cjs/standard/elements/FanDT.js +8 -1
  202. package/dist/cjs/standard/elements/FanDT.js.map +1 -1
  203. package/dist/cjs/standard/elements/FeatureMap.d.ts.map +1 -1
  204. package/dist/cjs/standard/elements/FeatureMap.js +1 -1
  205. package/dist/cjs/standard/elements/FeatureMap.js.map +1 -1
  206. package/dist/cjs/standard/elements/FixedLabel.d.ts.map +1 -1
  207. package/dist/cjs/standard/elements/FixedLabel.js +1 -1
  208. package/dist/cjs/standard/elements/FixedLabel.js.map +1 -1
  209. package/dist/cjs/standard/elements/FlowMeasurement.d.ts.map +1 -1
  210. package/dist/cjs/standard/elements/FlowMeasurement.js +6 -6
  211. package/dist/cjs/standard/elements/FlowMeasurement.js.map +1 -1
  212. package/dist/cjs/standard/elements/GeneralCommissioning.d.ts.map +1 -1
  213. package/dist/cjs/standard/elements/GeneralCommissioning.js +162 -38
  214. package/dist/cjs/standard/elements/GeneralCommissioning.js.map +2 -2
  215. package/dist/cjs/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
  216. package/dist/cjs/standard/elements/GeneralDiagnostics.js +12 -13
  217. package/dist/cjs/standard/elements/GeneralDiagnostics.js.map +1 -1
  218. package/dist/cjs/standard/elements/GeneratedCommandList.d.ts.map +1 -1
  219. package/dist/cjs/standard/elements/GeneratedCommandList.js +1 -1
  220. package/dist/cjs/standard/elements/GeneratedCommandList.js.map +1 -1
  221. package/dist/cjs/standard/elements/GroupKeyManagement.d.ts.map +1 -1
  222. package/dist/cjs/standard/elements/GroupKeyManagement.js +13 -12
  223. package/dist/cjs/standard/elements/GroupKeyManagement.js.map +1 -1
  224. package/dist/cjs/standard/elements/Groups.d.ts.map +1 -1
  225. package/dist/cjs/standard/elements/Groups.js +1 -1
  226. package/dist/cjs/standard/elements/Groups.js.map +1 -1
  227. package/dist/cjs/standard/elements/HeatPumpDT.d.ts +8 -0
  228. package/dist/cjs/standard/elements/HeatPumpDT.d.ts.map +1 -0
  229. package/dist/cjs/standard/elements/HeatPumpDT.js +60 -0
  230. package/dist/cjs/standard/elements/HeatPumpDT.js.map +6 -0
  231. package/dist/cjs/standard/elements/IcdManagement.d.ts.map +1 -1
  232. package/dist/cjs/standard/elements/IcdManagement.js +74 -20
  233. package/dist/cjs/standard/elements/IcdManagement.js.map +1 -1
  234. package/dist/cjs/standard/elements/Identify.js +5 -5
  235. package/dist/cjs/standard/elements/IlluminanceMeasurement.d.ts.map +1 -1
  236. package/dist/cjs/standard/elements/IlluminanceMeasurement.js +7 -7
  237. package/dist/cjs/standard/elements/IlluminanceMeasurement.js.map +1 -1
  238. package/dist/cjs/standard/elements/JointFabricAdministratorDT.d.ts +8 -0
  239. package/dist/cjs/standard/elements/JointFabricAdministratorDT.d.ts.map +1 -0
  240. package/dist/cjs/standard/elements/JointFabricAdministratorDT.js +60 -0
  241. package/dist/cjs/standard/elements/JointFabricAdministratorDT.js.map +6 -0
  242. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.d.ts +8 -0
  243. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.d.ts.map +1 -0
  244. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.js +687 -0
  245. package/dist/cjs/standard/elements/JointFabricDatastoreCluster.js.map +6 -0
  246. package/dist/cjs/standard/elements/JointFabricPki.d.ts +8 -0
  247. package/dist/cjs/standard/elements/JointFabricPki.d.ts.map +1 -0
  248. package/dist/cjs/standard/elements/JointFabricPki.js +167 -0
  249. package/dist/cjs/standard/elements/JointFabricPki.js.map +6 -0
  250. package/dist/cjs/standard/elements/KeypadInput.d.ts.map +1 -1
  251. package/dist/cjs/standard/elements/KeypadInput.js +1 -1
  252. package/dist/cjs/standard/elements/KeypadInput.js.map +1 -1
  253. package/dist/cjs/standard/elements/LandmarkNamespaceNS.d.ts +8 -0
  254. package/dist/cjs/standard/elements/LandmarkNamespaceNS.d.ts.map +1 -0
  255. package/dist/cjs/standard/elements/LandmarkNamespaceNS.js +91 -0
  256. package/dist/cjs/standard/elements/LandmarkNamespaceNS.js.map +6 -0
  257. package/dist/cjs/standard/elements/LaundryDryerControls.js +2 -1
  258. package/dist/cjs/standard/elements/LaundryDryerControls.js.map +1 -1
  259. package/dist/cjs/standard/elements/LaundryNS.js +1 -1
  260. package/dist/cjs/standard/elements/LaundryWasherControls.d.ts.map +1 -1
  261. package/dist/cjs/standard/elements/LaundryWasherControls.js +8 -8
  262. package/dist/cjs/standard/elements/LaundryWasherControls.js.map +1 -1
  263. package/dist/cjs/standard/elements/LaundryWasherMode.d.ts.map +1 -1
  264. package/dist/cjs/standard/elements/LaundryWasherMode.js +36 -16
  265. package/dist/cjs/standard/elements/LaundryWasherMode.js.map +2 -2
  266. package/dist/cjs/standard/elements/LevelControl.d.ts.map +1 -1
  267. package/dist/cjs/standard/elements/LevelControl.js +14 -13
  268. package/dist/cjs/standard/elements/LevelControl.js.map +1 -1
  269. package/dist/cjs/standard/elements/LocalizationConfiguration.d.ts.map +1 -1
  270. package/dist/cjs/standard/elements/LocalizationConfiguration.js +11 -13
  271. package/dist/cjs/standard/elements/LocalizationConfiguration.js.map +1 -1
  272. package/dist/cjs/standard/elements/MediaInput.d.ts.map +1 -1
  273. package/dist/cjs/standard/elements/MediaInput.js +1 -1
  274. package/dist/cjs/standard/elements/MediaInput.js.map +1 -1
  275. package/dist/cjs/standard/elements/MediaPlayback.d.ts.map +1 -1
  276. package/dist/cjs/standard/elements/MediaPlayback.js +3 -2
  277. package/dist/cjs/standard/elements/MediaPlayback.js.map +1 -1
  278. package/dist/cjs/standard/elements/MicrowaveOvenControl.d.ts.map +1 -1
  279. package/dist/cjs/standard/elements/MicrowaveOvenControl.js +12 -12
  280. package/dist/cjs/standard/elements/MicrowaveOvenControl.js.map +1 -1
  281. package/dist/cjs/standard/elements/MicrowaveOvenMode.d.ts.map +1 -1
  282. package/dist/cjs/standard/elements/MicrowaveOvenMode.js +37 -12
  283. package/dist/cjs/standard/elements/MicrowaveOvenMode.js.map +2 -2
  284. package/dist/cjs/standard/elements/ModeBase.d.ts.map +1 -1
  285. package/dist/cjs/standard/elements/ModeBase.js +18 -69
  286. package/dist/cjs/standard/elements/ModeBase.js.map +1 -1
  287. package/dist/cjs/standard/elements/ModeSelect.js +10 -10
  288. package/dist/cjs/standard/elements/ModeSelect.js.map +1 -1
  289. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts +8 -0
  290. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -0
  291. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.js +104 -0
  292. package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.js.map +6 -0
  293. package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts +8 -0
  294. package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts.map +1 -0
  295. package/dist/cjs/standard/elements/MountedOnOffControlDT.js +104 -0
  296. package/dist/cjs/standard/elements/MountedOnOffControlDT.js.map +6 -0
  297. package/dist/cjs/standard/elements/NetworkCommissioning.d.ts.map +1 -1
  298. package/dist/cjs/standard/elements/NetworkCommissioning.js +50 -37
  299. package/dist/cjs/standard/elements/NetworkCommissioning.js.map +1 -1
  300. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts +8 -0
  301. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -0
  302. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.js +67 -0
  303. package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.js.map +6 -0
  304. package/dist/cjs/standard/elements/OccupancySensing.d.ts.map +1 -1
  305. package/dist/cjs/standard/elements/OccupancySensing.js +194 -41
  306. package/dist/cjs/standard/elements/OccupancySensing.js.map +2 -2
  307. package/dist/cjs/standard/elements/OccupancySensorDT.d.ts.map +1 -1
  308. package/dist/cjs/standard/elements/OccupancySensorDT.js +8 -1
  309. package/dist/cjs/standard/elements/OccupancySensorDT.js.map +1 -1
  310. package/dist/cjs/standard/elements/OnOff.d.ts.map +1 -1
  311. package/dist/cjs/standard/elements/OnOff.js +1 -1
  312. package/dist/cjs/standard/elements/OnOff.js.map +1 -1
  313. package/dist/cjs/standard/elements/OperationalCredentials.d.ts.map +1 -1
  314. package/dist/cjs/standard/elements/OperationalCredentials.js +7 -7
  315. package/dist/cjs/standard/elements/OperationalCredentials.js.map +1 -1
  316. package/dist/cjs/standard/elements/OperationalState.d.ts.map +1 -1
  317. package/dist/cjs/standard/elements/OperationalState.js +22 -22
  318. package/dist/cjs/standard/elements/OperationalState.js.map +1 -1
  319. package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.d.ts.map +1 -1
  320. package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js +11 -12
  321. package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js.map +1 -1
  322. package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
  323. package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.js +2 -1
  324. package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.js.map +1 -1
  325. package/dist/cjs/standard/elements/OvenCavityOperationalState.d.ts.map +1 -1
  326. package/dist/cjs/standard/elements/OvenCavityOperationalState.js +7 -2
  327. package/dist/cjs/standard/elements/OvenCavityOperationalState.js.map +2 -2
  328. package/dist/cjs/standard/elements/OvenDT.js +1 -1
  329. package/dist/cjs/standard/elements/OvenMode.d.ts.map +1 -1
  330. package/dist/cjs/standard/elements/OvenMode.js +47 -12
  331. package/dist/cjs/standard/elements/OvenMode.js.map +2 -2
  332. package/dist/cjs/standard/elements/PowerSource.d.ts.map +1 -1
  333. package/dist/cjs/standard/elements/PowerSource.js +12 -12
  334. package/dist/cjs/standard/elements/PowerSource.js.map +1 -1
  335. package/dist/cjs/standard/elements/PowerSourceNS.js +5 -5
  336. package/dist/cjs/standard/elements/PressureMeasurement.js +7 -7
  337. package/dist/cjs/standard/elements/PressureMeasurement.js.map +1 -1
  338. package/dist/cjs/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
  339. package/dist/cjs/standard/elements/PumpConfigurationAndControl.js +9 -19
  340. package/dist/cjs/standard/elements/PumpConfigurationAndControl.js.map +1 -1
  341. package/dist/cjs/standard/elements/PumpControllerDT.d.ts.map +1 -1
  342. package/dist/cjs/standard/elements/PumpControllerDT.js +1 -8
  343. package/dist/cjs/standard/elements/PumpControllerDT.js.map +1 -1
  344. package/dist/cjs/standard/elements/PumpDT.js +14 -14
  345. package/dist/cjs/standard/elements/RefrigeratorAlarm.d.ts.map +1 -1
  346. package/dist/cjs/standard/elements/RefrigeratorAlarm.js +1 -1
  347. package/dist/cjs/standard/elements/RefrigeratorAlarm.js.map +1 -1
  348. package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
  349. package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js +36 -10
  350. package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js.map +2 -2
  351. package/dist/cjs/standard/elements/RefrigeratorDT.js +1 -1
  352. package/dist/cjs/standard/elements/RefrigeratorNS.js +1 -1
  353. package/dist/cjs/standard/elements/RelativeHumidityMeasurement.d.ts.map +1 -1
  354. package/dist/cjs/standard/elements/RelativeHumidityMeasurement.js +3 -3
  355. package/dist/cjs/standard/elements/RelativeHumidityMeasurement.js.map +1 -1
  356. package/dist/cjs/standard/elements/RelativePositionNS.d.ts +8 -0
  357. package/dist/cjs/standard/elements/RelativePositionNS.d.ts.map +1 -0
  358. package/dist/cjs/standard/elements/RelativePositionNS.js +47 -0
  359. package/dist/cjs/standard/elements/RelativePositionNS.js.map +6 -0
  360. package/dist/cjs/standard/elements/ResourceMonitoring.d.ts.map +1 -1
  361. package/dist/cjs/standard/elements/ResourceMonitoring.js +1 -1
  362. package/dist/cjs/standard/elements/ResourceMonitoring.js.map +1 -1
  363. package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.d.ts.map +1 -1
  364. package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.js +8 -1
  365. package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.js.map +1 -1
  366. package/dist/cjs/standard/elements/RoomAirConditionerNS.js +1 -1
  367. package/dist/cjs/standard/elements/RootNodeDT.d.ts.map +1 -1
  368. package/dist/cjs/standard/elements/RootNodeDT.js +20 -15
  369. package/dist/cjs/standard/elements/RootNodeDT.js.map +1 -1
  370. package/dist/cjs/standard/elements/RvcCleanMode.d.ts.map +1 -1
  371. package/dist/cjs/standard/elements/RvcCleanMode.js +30 -5
  372. package/dist/cjs/standard/elements/RvcCleanMode.js.map +2 -2
  373. package/dist/cjs/standard/elements/RvcOperationalState.d.ts.map +1 -1
  374. package/dist/cjs/standard/elements/RvcOperationalState.js +28 -5
  375. package/dist/cjs/standard/elements/RvcOperationalState.js.map +1 -1
  376. package/dist/cjs/standard/elements/RvcRunMode.d.ts.map +1 -1
  377. package/dist/cjs/standard/elements/RvcRunMode.js +30 -5
  378. package/dist/cjs/standard/elements/RvcRunMode.js.map +2 -2
  379. package/dist/cjs/standard/elements/ScenesManagement.d.ts.map +1 -1
  380. package/dist/cjs/standard/elements/ScenesManagement.js +4 -4
  381. package/dist/cjs/standard/elements/ScenesManagement.js.map +1 -1
  382. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.d.ts +8 -0
  383. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.d.ts.map +1 -0
  384. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.js +74 -0
  385. package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.js.map +6 -0
  386. package/dist/cjs/standard/elements/ServiceArea.d.ts +8 -0
  387. package/dist/cjs/standard/elements/ServiceArea.d.ts.map +1 -0
  388. package/dist/cjs/standard/elements/ServiceArea.js +455 -0
  389. package/dist/cjs/standard/elements/ServiceArea.js.map +6 -0
  390. package/dist/cjs/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
  391. package/dist/cjs/standard/elements/SmokeCoAlarm.js +13 -17
  392. package/dist/cjs/standard/elements/SmokeCoAlarm.js.map +1 -1
  393. package/dist/cjs/standard/elements/SoftwareVersionCertificationStatusEnum.js +1 -1
  394. package/dist/cjs/standard/elements/SolarPowerDT.d.ts +8 -0
  395. package/dist/cjs/standard/elements/SolarPowerDT.d.ts.map +1 -0
  396. package/dist/cjs/standard/elements/SolarPowerDT.js +53 -0
  397. package/dist/cjs/standard/elements/SolarPowerDT.js.map +6 -0
  398. package/dist/cjs/standard/elements/Switch.d.ts.map +1 -1
  399. package/dist/cjs/standard/elements/Switch.js +39 -25
  400. package/dist/cjs/standard/elements/Switch.js.map +1 -1
  401. package/dist/cjs/standard/elements/SwitchesNS.js +2 -2
  402. package/dist/cjs/standard/elements/TargetNavigator.js +2 -1
  403. package/dist/cjs/standard/elements/TargetNavigator.js.map +1 -1
  404. package/dist/cjs/standard/elements/TemperatureControl.js +3 -3
  405. package/dist/cjs/standard/elements/TemperatureControl.js.map +1 -1
  406. package/dist/cjs/standard/elements/TemperatureControlledCabinetDT.js +1 -1
  407. package/dist/cjs/standard/elements/TemperatureMeasurement.js +3 -3
  408. package/dist/cjs/standard/elements/TemperatureMeasurement.js.map +1 -1
  409. package/dist/cjs/standard/elements/Thermostat.d.ts.map +1 -1
  410. package/dist/cjs/standard/elements/Thermostat.js +673 -124
  411. package/dist/cjs/standard/elements/Thermostat.js.map +1 -1
  412. package/dist/cjs/standard/elements/ThermostatDT.d.ts.map +1 -1
  413. package/dist/cjs/standard/elements/ThermostatDT.js +20 -35
  414. package/dist/cjs/standard/elements/ThermostatDT.js.map +1 -1
  415. package/dist/cjs/standard/elements/ThermostatUserInterfaceConfiguration.js +0 -3
  416. package/dist/cjs/standard/elements/ThermostatUserInterfaceConfiguration.js.map +1 -1
  417. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.d.ts +8 -0
  418. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.d.ts.map +1 -0
  419. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.js +198 -0
  420. package/dist/cjs/standard/elements/ThreadBorderRouterManagement.js.map +6 -0
  421. package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
  422. package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js +26 -8
  423. package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
  424. package/dist/cjs/standard/elements/ThreadNetworkDirectory.d.ts +8 -0
  425. package/dist/cjs/standard/elements/ThreadNetworkDirectory.d.ts.map +1 -0
  426. package/dist/cjs/standard/elements/ThreadNetworkDirectory.js +181 -0
  427. package/dist/cjs/standard/elements/ThreadNetworkDirectory.js.map +6 -0
  428. package/dist/cjs/standard/elements/TimeFormatLocalization.js +1 -1
  429. package/dist/cjs/standard/elements/TimeSynchronization.d.ts.map +1 -1
  430. package/dist/cjs/standard/elements/TimeSynchronization.js +23 -11
  431. package/dist/cjs/standard/elements/TimeSynchronization.js.map +1 -1
  432. package/dist/cjs/standard/elements/UnitLocalization.d.ts.map +1 -1
  433. package/dist/cjs/standard/elements/UnitLocalization.js +1 -1
  434. package/dist/cjs/standard/elements/UnitLocalization.js.map +1 -1
  435. package/dist/cjs/standard/elements/UserLabel.d.ts.map +1 -1
  436. package/dist/cjs/standard/elements/UserLabel.js +1 -1
  437. package/dist/cjs/standard/elements/UserLabel.js.map +1 -1
  438. package/dist/cjs/standard/elements/ValidProxies.js +0 -1
  439. package/dist/cjs/standard/elements/ValidProxies.js.map +1 -1
  440. package/dist/cjs/standard/elements/ValveConfigurationAndControl.js +1 -0
  441. package/dist/cjs/standard/elements/ValveConfigurationAndControl.js.map +1 -1
  442. package/dist/cjs/standard/elements/WaterHeaterDT.d.ts +8 -0
  443. package/dist/cjs/standard/elements/WaterHeaterDT.d.ts.map +1 -0
  444. package/dist/cjs/standard/elements/WaterHeaterDT.js +77 -0
  445. package/dist/cjs/standard/elements/WaterHeaterDT.js.map +6 -0
  446. package/dist/cjs/standard/elements/WaterHeaterManagement.d.ts +8 -0
  447. package/dist/cjs/standard/elements/WaterHeaterManagement.d.ts.map +1 -0
  448. package/dist/cjs/standard/elements/WaterHeaterManagement.js +239 -0
  449. package/dist/cjs/standard/elements/WaterHeaterManagement.js.map +6 -0
  450. package/dist/cjs/standard/elements/WaterHeaterMode.d.ts +8 -0
  451. package/dist/cjs/standard/elements/WaterHeaterMode.d.ts.map +1 -0
  452. package/dist/cjs/standard/elements/WaterHeaterMode.js +100 -0
  453. package/dist/cjs/standard/elements/WaterHeaterMode.js.map +6 -0
  454. package/dist/cjs/standard/elements/WaterTankLevelMonitoring.d.ts +8 -0
  455. package/dist/cjs/standard/elements/WaterTankLevelMonitoring.d.ts.map +1 -0
  456. package/dist/cjs/standard/elements/{PulseWidthModulation.js → WaterTankLevelMonitoring.js} +9 -7
  457. package/dist/cjs/standard/elements/WaterTankLevelMonitoring.js.map +6 -0
  458. package/dist/cjs/standard/elements/WaterValveDT.js +5 -5
  459. package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.d.ts.map +1 -1
  460. package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.js +2 -2
  461. package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.js.map +1 -1
  462. package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts +8 -0
  463. package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts.map +1 -0
  464. package/dist/cjs/standard/elements/WiFiNetworkManagement.js +84 -0
  465. package/dist/cjs/standard/elements/WiFiNetworkManagement.js.map +6 -0
  466. package/dist/cjs/standard/elements/WindowCovering.js +35 -36
  467. package/dist/cjs/standard/elements/WindowCovering.js.map +1 -1
  468. package/dist/cjs/standard/elements/WindowCoveringControllerDT.d.ts.map +1 -1
  469. package/dist/cjs/standard/elements/WindowCoveringControllerDT.js +0 -7
  470. package/dist/cjs/standard/elements/WindowCoveringControllerDT.js.map +1 -1
  471. package/dist/cjs/standard/elements/WindowCoveringDT.d.ts.map +1 -1
  472. package/dist/cjs/standard/elements/WindowCoveringDT.js +4 -15
  473. package/dist/cjs/standard/elements/WindowCoveringDT.js.map +1 -1
  474. package/dist/cjs/standard/elements/action-id.js +1 -1
  475. package/dist/cjs/standard/elements/amperage-mA.js +1 -1
  476. package/dist/cjs/standard/elements/attrib-id.js +1 -1
  477. package/dist/cjs/standard/elements/bool.js +1 -1
  478. package/dist/cjs/standard/elements/cluster-id.js +1 -1
  479. package/dist/cjs/standard/elements/command-id.js +1 -1
  480. package/dist/cjs/standard/elements/data-ver.js +2 -2
  481. package/dist/cjs/standard/elements/date.js +5 -5
  482. package/dist/cjs/standard/elements/definitions.d.ts +27 -1
  483. package/dist/cjs/standard/elements/definitions.d.ts.map +1 -1
  484. package/dist/cjs/standard/elements/definitions.js +27 -1
  485. package/dist/cjs/standard/elements/definitions.js.map +1 -1
  486. package/dist/cjs/standard/elements/devtype-id.js +1 -1
  487. package/dist/cjs/standard/elements/double.js +1 -1
  488. package/dist/cjs/standard/elements/elapsed-s.js +1 -1
  489. package/dist/cjs/standard/elements/endpoint-no.d.ts.map +1 -1
  490. package/dist/cjs/standard/elements/endpoint-no.js +2 -2
  491. package/dist/cjs/standard/elements/endpoint-no.js.map +1 -1
  492. package/dist/cjs/standard/elements/energy-mWh.js +1 -1
  493. package/dist/cjs/standard/elements/entry-idx.js +1 -1
  494. package/dist/cjs/standard/elements/enum16.js +1 -1
  495. package/dist/cjs/standard/elements/enum8.js +1 -1
  496. package/dist/cjs/standard/elements/epoch-s.js +1 -1
  497. package/dist/cjs/standard/elements/epoch-us.js +1 -1
  498. package/dist/cjs/standard/elements/event-id.js +1 -1
  499. package/dist/cjs/standard/elements/event-no.js +1 -1
  500. package/dist/cjs/standard/elements/fabric-id.js +1 -1
  501. package/dist/cjs/standard/elements/fabric-idx.js +1 -1
  502. package/dist/cjs/standard/elements/field-id.js +1 -1
  503. package/dist/cjs/standard/elements/group-id.js +1 -1
  504. package/dist/cjs/standard/elements/hwadr.js +1 -1
  505. package/dist/cjs/standard/elements/int16.js +1 -1
  506. package/dist/cjs/standard/elements/int24.js +1 -1
  507. package/dist/cjs/standard/elements/int32.js +1 -1
  508. package/dist/cjs/standard/elements/int40.js +1 -1
  509. package/dist/cjs/standard/elements/int48.js +1 -1
  510. package/dist/cjs/standard/elements/int56.js +1 -1
  511. package/dist/cjs/standard/elements/int64.js +1 -1
  512. package/dist/cjs/standard/elements/int8.js +1 -1
  513. package/dist/cjs/standard/elements/ipadr.d.ts.map +1 -1
  514. package/dist/cjs/standard/elements/ipadr.js +1 -2
  515. package/dist/cjs/standard/elements/ipadr.js.map +1 -1
  516. package/dist/cjs/standard/elements/ipv4adr.js +1 -1
  517. package/dist/cjs/standard/elements/ipv6adr.js +1 -1
  518. package/dist/cjs/standard/elements/ipv6pre.js +1 -1
  519. package/dist/cjs/standard/elements/list.d.ts.map +1 -1
  520. package/dist/cjs/standard/elements/list.js +8 -10
  521. package/dist/cjs/standard/elements/list.js.map +1 -1
  522. package/dist/cjs/standard/elements/locationdesc.d.ts +8 -0
  523. package/dist/cjs/standard/elements/locationdesc.d.ts.map +1 -0
  524. package/dist/cjs/standard/elements/locationdesc.js +69 -0
  525. package/dist/cjs/standard/elements/locationdesc.js.map +6 -0
  526. package/dist/cjs/standard/elements/map16.js +1 -1
  527. package/dist/cjs/standard/elements/map32.js +1 -1
  528. package/dist/cjs/standard/elements/map64.js +1 -1
  529. package/dist/cjs/standard/elements/map8.js +1 -1
  530. package/dist/cjs/standard/elements/models.d.ts +27 -1
  531. package/dist/cjs/standard/elements/models.d.ts.map +1 -1
  532. package/dist/cjs/standard/elements/models.js +54 -2
  533. package/dist/cjs/standard/elements/models.js.map +1 -1
  534. package/dist/cjs/standard/elements/namespace.js +1 -1
  535. package/dist/cjs/standard/elements/node-id.js +1 -1
  536. package/dist/cjs/standard/elements/octstr.js +1 -1
  537. package/dist/cjs/standard/elements/percent.js +1 -1
  538. package/dist/cjs/standard/elements/percent100ths.js +1 -1
  539. package/dist/cjs/standard/elements/posix-ms.js +1 -1
  540. package/dist/cjs/standard/elements/power-mW.js +1 -1
  541. package/dist/cjs/standard/elements/priority.js +1 -1
  542. package/dist/cjs/standard/elements/semtag.js +5 -5
  543. package/dist/cjs/standard/elements/single.js +1 -1
  544. package/dist/cjs/standard/elements/status.d.ts.map +1 -1
  545. package/dist/cjs/standard/elements/status.js +19 -1
  546. package/dist/cjs/standard/elements/status.js.map +1 -1
  547. package/dist/cjs/standard/elements/string.js +1 -1
  548. package/dist/cjs/standard/elements/struct.js +1 -1
  549. package/dist/cjs/standard/elements/systime-ms.js +1 -1
  550. package/dist/cjs/standard/elements/systime-us.js +1 -1
  551. package/dist/cjs/standard/elements/tag.js +1 -1
  552. package/dist/cjs/standard/elements/temperature.js +1 -1
  553. package/dist/cjs/standard/elements/tod.js +1 -1
  554. package/dist/cjs/standard/elements/trans-id.js +1 -1
  555. package/dist/cjs/standard/elements/uint16.js +1 -1
  556. package/dist/cjs/standard/elements/uint24.js +1 -1
  557. package/dist/cjs/standard/elements/uint32.js +1 -1
  558. package/dist/cjs/standard/elements/uint40.js +1 -1
  559. package/dist/cjs/standard/elements/uint48.js +1 -1
  560. package/dist/cjs/standard/elements/uint56.js +1 -1
  561. package/dist/cjs/standard/elements/uint64.js +1 -1
  562. package/dist/cjs/standard/elements/uint8.js +1 -1
  563. package/dist/cjs/standard/elements/vendor-id.js +1 -1
  564. package/dist/cjs/standard/elements/voltage-mV.js +1 -1
  565. package/dist/esm/aspects/Conformance.d.ts +5 -3
  566. package/dist/esm/aspects/Conformance.d.ts.map +1 -1
  567. package/dist/esm/aspects/Conformance.js +24 -3
  568. package/dist/esm/aspects/Conformance.js.map +1 -1
  569. package/dist/esm/aspects/Quality.d.ts +9 -2
  570. package/dist/esm/aspects/Quality.d.ts.map +1 -1
  571. package/dist/esm/aspects/Quality.js +3 -1
  572. package/dist/esm/aspects/Quality.js.map +1 -1
  573. package/dist/esm/common/Specification.d.ts +3 -3
  574. package/dist/esm/common/Specification.d.ts.map +1 -1
  575. package/dist/esm/common/Specification.js +3 -3
  576. package/dist/esm/logic/cluster-variance/IllegalFeatureCombinations.js +82 -66
  577. package/dist/esm/logic/cluster-variance/IllegalFeatureCombinations.js.map +1 -1
  578. package/dist/esm/logic/cluster-variance/InferredComponents.js +24 -1
  579. package/dist/esm/logic/cluster-variance/InferredComponents.js.map +1 -1
  580. package/dist/esm/logic/definition-validation/ValueValidator.d.ts.map +1 -1
  581. package/dist/esm/logic/definition-validation/ValueValidator.js +11 -6
  582. package/dist/esm/logic/definition-validation/ValueValidator.js.map +1 -1
  583. package/dist/esm/models/AttributeModel.d.ts.map +1 -1
  584. package/dist/esm/models/AttributeModel.js +1 -4
  585. package/dist/esm/models/AttributeModel.js.map +1 -1
  586. package/dist/esm/models/ClusterModel.d.ts.map +1 -1
  587. package/dist/esm/models/ClusterModel.js +1 -3
  588. package/dist/esm/models/ClusterModel.js.map +1 -1
  589. package/dist/esm/models/CommandModel.d.ts.map +1 -1
  590. package/dist/esm/models/CommandModel.js +1 -4
  591. package/dist/esm/models/CommandModel.js.map +1 -1
  592. package/dist/esm/models/DatatypeModel.d.ts +1 -0
  593. package/dist/esm/models/DatatypeModel.d.ts.map +1 -1
  594. package/dist/esm/models/DatatypeModel.js +2 -4
  595. package/dist/esm/models/DatatypeModel.js.map +1 -1
  596. package/dist/esm/models/DeviceTypeModel.d.ts +1 -0
  597. package/dist/esm/models/DeviceTypeModel.d.ts.map +1 -1
  598. package/dist/esm/models/DeviceTypeModel.js +2 -3
  599. package/dist/esm/models/DeviceTypeModel.js.map +1 -1
  600. package/dist/esm/models/EndpointModel.d.ts +1 -0
  601. package/dist/esm/models/EndpointModel.d.ts.map +1 -1
  602. package/dist/esm/models/EndpointModel.js +2 -3
  603. package/dist/esm/models/EndpointModel.js.map +1 -1
  604. package/dist/esm/models/EventModel.d.ts.map +1 -1
  605. package/dist/esm/models/EventModel.js +1 -4
  606. package/dist/esm/models/EventModel.js.map +1 -1
  607. package/dist/esm/models/FabricModel.d.ts +1 -0
  608. package/dist/esm/models/FabricModel.d.ts.map +1 -1
  609. package/dist/esm/models/FabricModel.js +2 -3
  610. package/dist/esm/models/FabricModel.js.map +1 -1
  611. package/dist/esm/models/FieldModel.d.ts +1 -0
  612. package/dist/esm/models/FieldModel.d.ts.map +1 -1
  613. package/dist/esm/models/FieldModel.js +2 -4
  614. package/dist/esm/models/FieldModel.js.map +1 -1
  615. package/dist/esm/models/Globals.d.ts +27 -1
  616. package/dist/esm/models/Globals.d.ts.map +1 -1
  617. package/dist/esm/models/MatterModel.d.ts +1 -0
  618. package/dist/esm/models/MatterModel.d.ts.map +1 -1
  619. package/dist/esm/models/MatterModel.js +2 -4
  620. package/dist/esm/models/MatterModel.js.map +1 -1
  621. package/dist/esm/models/Model.d.ts +26 -2
  622. package/dist/esm/models/Model.d.ts.map +1 -1
  623. package/dist/esm/models/Model.js +45 -6
  624. package/dist/esm/models/Model.js.map +1 -1
  625. package/dist/esm/models/NodeModel.d.ts +1 -0
  626. package/dist/esm/models/NodeModel.d.ts.map +1 -1
  627. package/dist/esm/models/NodeModel.js +2 -3
  628. package/dist/esm/models/NodeModel.js.map +1 -1
  629. package/dist/esm/models/RequirementModel.d.ts +1 -0
  630. package/dist/esm/models/RequirementModel.d.ts.map +1 -1
  631. package/dist/esm/models/RequirementModel.js +2 -3
  632. package/dist/esm/models/RequirementModel.js.map +1 -1
  633. package/dist/esm/models/SemanticNamespaceModel.d.ts +1 -0
  634. package/dist/esm/models/SemanticNamespaceModel.d.ts.map +1 -1
  635. package/dist/esm/models/SemanticNamespaceModel.js +2 -3
  636. package/dist/esm/models/SemanticNamespaceModel.js.map +1 -1
  637. package/dist/esm/models/SemanticTagModel.d.ts +1 -0
  638. package/dist/esm/models/SemanticTagModel.d.ts.map +1 -1
  639. package/dist/esm/models/SemanticTagModel.js +2 -3
  640. package/dist/esm/models/SemanticTagModel.js.map +1 -1
  641. package/dist/esm/standard/elements/AcceptedCommandList.d.ts.map +1 -1
  642. package/dist/esm/standard/elements/AcceptedCommandList.js +1 -1
  643. package/dist/esm/standard/elements/AcceptedCommandList.js.map +1 -1
  644. package/dist/esm/standard/elements/AccessControl.d.ts.map +1 -1
  645. package/dist/esm/standard/elements/AccessControl.js +299 -37
  646. package/dist/esm/standard/elements/AccessControl.js.map +1 -1
  647. package/dist/esm/standard/elements/Actions.d.ts.map +1 -1
  648. package/dist/esm/standard/elements/Actions.js +6 -6
  649. package/dist/esm/standard/elements/Actions.js.map +1 -1
  650. package/dist/esm/standard/elements/AdministratorCommissioning.d.ts.map +1 -1
  651. package/dist/esm/standard/elements/AdministratorCommissioning.js +18 -12
  652. package/dist/esm/standard/elements/AdministratorCommissioning.js.map +1 -1
  653. package/dist/esm/standard/elements/AggregatorDT.d.ts.map +1 -1
  654. package/dist/esm/standard/elements/AggregatorDT.js +23 -4
  655. package/dist/esm/standard/elements/AggregatorDT.js.map +1 -1
  656. package/dist/esm/standard/elements/AirPurifierDT.d.ts.map +1 -1
  657. package/dist/esm/standard/elements/AirPurifierDT.js +8 -1
  658. package/dist/esm/standard/elements/AirPurifierDT.js.map +1 -1
  659. package/dist/esm/standard/elements/AlarmBase.d.ts.map +1 -1
  660. package/dist/esm/standard/elements/AlarmBase.js +1 -1
  661. package/dist/esm/standard/elements/AlarmBase.js.map +1 -1
  662. package/dist/esm/standard/elements/ApplicationLauncher.d.ts.map +1 -1
  663. package/dist/esm/standard/elements/ApplicationLauncher.js +12 -4
  664. package/dist/esm/standard/elements/ApplicationLauncher.js.map +1 -1
  665. package/dist/esm/standard/elements/AreaNamespaceNS.d.ts +8 -0
  666. package/dist/esm/standard/elements/AreaNamespaceNS.d.ts.map +1 -0
  667. package/dist/esm/standard/elements/AreaNamespaceNS.js +130 -0
  668. package/dist/esm/standard/elements/AreaNamespaceNS.js.map +6 -0
  669. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.d.ts +8 -0
  670. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.d.ts.map +1 -0
  671. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.js +36 -0
  672. package/dist/esm/standard/elements/AtomicAttributeStatusStruct.js.map +6 -0
  673. package/dist/esm/standard/elements/AtomicRequestTypeEnum.d.ts +8 -0
  674. package/dist/esm/standard/elements/AtomicRequestTypeEnum.d.ts.map +1 -0
  675. package/dist/esm/standard/elements/AtomicRequestTypeEnum.js +23 -0
  676. package/dist/esm/standard/elements/AtomicRequestTypeEnum.js.map +6 -0
  677. package/dist/esm/standard/elements/BallastConfiguration.js +1 -1
  678. package/dist/esm/standard/elements/BasicInformation.d.ts.map +1 -1
  679. package/dist/esm/standard/elements/BasicInformation.js +17 -19
  680. package/dist/esm/standard/elements/BasicInformation.js.map +1 -1
  681. package/dist/esm/standard/elements/BatteryStorageDT.d.ts +8 -0
  682. package/dist/esm/standard/elements/BatteryStorageDT.d.ts.map +1 -0
  683. package/dist/esm/standard/elements/BatteryStorageDT.js +33 -0
  684. package/dist/esm/standard/elements/BatteryStorageDT.js.map +6 -0
  685. package/dist/esm/standard/elements/BooleanStateConfiguration.js +2 -2
  686. package/dist/esm/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
  687. package/dist/esm/standard/elements/BridgedDeviceBasicInformation.js +104 -32
  688. package/dist/esm/standard/elements/BridgedDeviceBasicInformation.js.map +1 -1
  689. package/dist/esm/standard/elements/BridgedNodeDT.d.ts.map +1 -1
  690. package/dist/esm/standard/elements/BridgedNodeDT.js +29 -3
  691. package/dist/esm/standard/elements/BridgedNodeDT.js.map +1 -1
  692. package/dist/esm/standard/elements/Channel.d.ts.map +1 -1
  693. package/dist/esm/standard/elements/Channel.js +13 -14
  694. package/dist/esm/standard/elements/Channel.js.map +1 -1
  695. package/dist/esm/standard/elements/ColorControl.d.ts.map +1 -1
  696. package/dist/esm/standard/elements/ColorControl.js +607 -478
  697. package/dist/esm/standard/elements/ColorControl.js.map +1 -1
  698. package/dist/esm/standard/elements/CommissionerControl.d.ts +8 -0
  699. package/dist/esm/standard/elements/CommissionerControl.d.ts.map +1 -0
  700. package/dist/esm/standard/elements/CommissionerControl.js +117 -0
  701. package/dist/esm/standard/elements/CommissionerControl.js.map +6 -0
  702. package/dist/esm/standard/elements/ConcentrationMeasurement.js +0 -1
  703. package/dist/esm/standard/elements/ConcentrationMeasurement.js.map +1 -1
  704. package/dist/esm/standard/elements/ContentControl.d.ts.map +1 -1
  705. package/dist/esm/standard/elements/ContentControl.js +34 -39
  706. package/dist/esm/standard/elements/ContentControl.js.map +1 -1
  707. package/dist/esm/standard/elements/ContentLauncher.d.ts.map +1 -1
  708. package/dist/esm/standard/elements/ContentLauncher.js +13 -11
  709. package/dist/esm/standard/elements/ContentLauncher.js.map +1 -1
  710. package/dist/esm/standard/elements/DeviceEnergyManagement.d.ts.map +1 -1
  711. package/dist/esm/standard/elements/DeviceEnergyManagement.js +154 -118
  712. package/dist/esm/standard/elements/DeviceEnergyManagement.js.map +1 -1
  713. package/dist/esm/standard/elements/DeviceEnergyManagementDT.d.ts.map +1 -1
  714. package/dist/esm/standard/elements/DeviceEnergyManagementDT.js +31 -12
  715. package/dist/esm/standard/elements/DeviceEnergyManagementDT.js.map +1 -1
  716. package/dist/esm/standard/elements/DeviceEnergyManagementMode.d.ts.map +1 -1
  717. package/dist/esm/standard/elements/DeviceEnergyManagementMode.js +40 -11
  718. package/dist/esm/standard/elements/DeviceEnergyManagementMode.js.map +1 -1
  719. package/dist/esm/standard/elements/DishwasherAlarm.d.ts.map +1 -1
  720. package/dist/esm/standard/elements/DishwasherAlarm.js +1 -1
  721. package/dist/esm/standard/elements/DishwasherAlarm.js.map +1 -1
  722. package/dist/esm/standard/elements/DishwasherMode.d.ts.map +1 -1
  723. package/dist/esm/standard/elements/DishwasherMode.js +37 -17
  724. package/dist/esm/standard/elements/DishwasherMode.js.map +1 -1
  725. package/dist/esm/standard/elements/DoorLock.d.ts.map +1 -1
  726. package/dist/esm/standard/elements/DoorLock.js +505 -629
  727. package/dist/esm/standard/elements/DoorLock.js.map +1 -1
  728. package/dist/esm/standard/elements/DoorLockControllerDT.js +1 -1
  729. package/dist/esm/standard/elements/DoorLockControllerDT.js.map +1 -1
  730. package/dist/esm/standard/elements/DoorLockDT.js +2 -2
  731. package/dist/esm/standard/elements/DoorLockDT.js.map +1 -1
  732. package/dist/esm/standard/elements/EcosystemInformation.d.ts +8 -0
  733. package/dist/esm/standard/elements/EcosystemInformation.d.ts.map +1 -0
  734. package/dist/esm/standard/elements/EcosystemInformation.js +132 -0
  735. package/dist/esm/standard/elements/EcosystemInformation.js.map +6 -0
  736. package/dist/esm/standard/elements/ElectricalEnergyMeasurement.d.ts.map +1 -1
  737. package/dist/esm/standard/elements/ElectricalEnergyMeasurement.js +9 -18
  738. package/dist/esm/standard/elements/ElectricalEnergyMeasurement.js.map +1 -1
  739. package/dist/esm/standard/elements/ElectricalMeasurementNS.js +1 -1
  740. package/dist/esm/standard/elements/ElectricalPowerMeasurement.js +5 -5
  741. package/dist/esm/standard/elements/ElectricalPowerMeasurement.js.map +1 -1
  742. package/dist/esm/standard/elements/EnergyEvse.d.ts.map +1 -1
  743. package/dist/esm/standard/elements/EnergyEvse.js +98 -51
  744. package/dist/esm/standard/elements/EnergyEvse.js.map +1 -1
  745. package/dist/esm/standard/elements/EnergyEvseDT.d.ts +8 -0
  746. package/dist/esm/standard/elements/EnergyEvseDT.d.ts.map +1 -0
  747. package/dist/esm/standard/elements/EnergyEvseDT.js +54 -0
  748. package/dist/esm/standard/elements/EnergyEvseDT.js.map +6 -0
  749. package/dist/esm/standard/elements/EnergyEvseMode.d.ts.map +1 -1
  750. package/dist/esm/standard/elements/EnergyEvseMode.js +51 -10
  751. package/dist/esm/standard/elements/EnergyEvseMode.js.map +1 -1
  752. package/dist/esm/standard/elements/EnergyPreference.d.ts.map +1 -1
  753. package/dist/esm/standard/elements/EnergyPreference.js +22 -19
  754. package/dist/esm/standard/elements/EnergyPreference.js.map +1 -1
  755. package/dist/esm/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
  756. package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js +1 -1
  757. package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
  758. package/dist/esm/standard/elements/EventList.d.ts.map +1 -1
  759. package/dist/esm/standard/elements/EventList.js +2 -13
  760. package/dist/esm/standard/elements/EventList.js.map +1 -1
  761. package/dist/esm/standard/elements/FabricIndex.js +1 -1
  762. package/dist/esm/standard/elements/FanControl.js +8 -10
  763. package/dist/esm/standard/elements/FanControl.js.map +1 -1
  764. package/dist/esm/standard/elements/FanDT.d.ts.map +1 -1
  765. package/dist/esm/standard/elements/FanDT.js +8 -1
  766. package/dist/esm/standard/elements/FanDT.js.map +1 -1
  767. package/dist/esm/standard/elements/FeatureMap.d.ts.map +1 -1
  768. package/dist/esm/standard/elements/FeatureMap.js +1 -1
  769. package/dist/esm/standard/elements/FeatureMap.js.map +1 -1
  770. package/dist/esm/standard/elements/FixedLabel.d.ts.map +1 -1
  771. package/dist/esm/standard/elements/FixedLabel.js +1 -1
  772. package/dist/esm/standard/elements/FixedLabel.js.map +1 -1
  773. package/dist/esm/standard/elements/FlowMeasurement.d.ts.map +1 -1
  774. package/dist/esm/standard/elements/FlowMeasurement.js +6 -6
  775. package/dist/esm/standard/elements/FlowMeasurement.js.map +1 -1
  776. package/dist/esm/standard/elements/GeneralCommissioning.d.ts.map +1 -1
  777. package/dist/esm/standard/elements/GeneralCommissioning.js +163 -39
  778. package/dist/esm/standard/elements/GeneralCommissioning.js.map +1 -1
  779. package/dist/esm/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
  780. package/dist/esm/standard/elements/GeneralDiagnostics.js +12 -13
  781. package/dist/esm/standard/elements/GeneralDiagnostics.js.map +1 -1
  782. package/dist/esm/standard/elements/GeneratedCommandList.d.ts.map +1 -1
  783. package/dist/esm/standard/elements/GeneratedCommandList.js +1 -1
  784. package/dist/esm/standard/elements/GeneratedCommandList.js.map +1 -1
  785. package/dist/esm/standard/elements/GroupKeyManagement.d.ts.map +1 -1
  786. package/dist/esm/standard/elements/GroupKeyManagement.js +13 -12
  787. package/dist/esm/standard/elements/GroupKeyManagement.js.map +1 -1
  788. package/dist/esm/standard/elements/Groups.d.ts.map +1 -1
  789. package/dist/esm/standard/elements/Groups.js +1 -1
  790. package/dist/esm/standard/elements/Groups.js.map +1 -1
  791. package/dist/esm/standard/elements/HeatPumpDT.d.ts +8 -0
  792. package/dist/esm/standard/elements/HeatPumpDT.d.ts.map +1 -0
  793. package/dist/esm/standard/elements/HeatPumpDT.js +40 -0
  794. package/dist/esm/standard/elements/HeatPumpDT.js.map +6 -0
  795. package/dist/esm/standard/elements/IcdManagement.d.ts.map +1 -1
  796. package/dist/esm/standard/elements/IcdManagement.js +74 -20
  797. package/dist/esm/standard/elements/IcdManagement.js.map +1 -1
  798. package/dist/esm/standard/elements/Identify.js +5 -5
  799. package/dist/esm/standard/elements/IlluminanceMeasurement.d.ts.map +1 -1
  800. package/dist/esm/standard/elements/IlluminanceMeasurement.js +7 -7
  801. package/dist/esm/standard/elements/IlluminanceMeasurement.js.map +1 -1
  802. package/dist/esm/standard/elements/JointFabricAdministratorDT.d.ts +8 -0
  803. package/dist/esm/standard/elements/JointFabricAdministratorDT.d.ts.map +1 -0
  804. package/dist/esm/standard/elements/JointFabricAdministratorDT.js +40 -0
  805. package/dist/esm/standard/elements/JointFabricAdministratorDT.js.map +6 -0
  806. package/dist/esm/standard/elements/JointFabricDatastoreCluster.d.ts +8 -0
  807. package/dist/esm/standard/elements/JointFabricDatastoreCluster.d.ts.map +1 -0
  808. package/dist/esm/standard/elements/JointFabricDatastoreCluster.js +673 -0
  809. package/dist/esm/standard/elements/JointFabricDatastoreCluster.js.map +6 -0
  810. package/dist/esm/standard/elements/JointFabricPki.d.ts +8 -0
  811. package/dist/esm/standard/elements/JointFabricPki.d.ts.map +1 -0
  812. package/dist/esm/standard/elements/JointFabricPki.js +153 -0
  813. package/dist/esm/standard/elements/JointFabricPki.js.map +6 -0
  814. package/dist/esm/standard/elements/KeypadInput.d.ts.map +1 -1
  815. package/dist/esm/standard/elements/KeypadInput.js +1 -1
  816. package/dist/esm/standard/elements/KeypadInput.js.map +1 -1
  817. package/dist/esm/standard/elements/LandmarkNamespaceNS.d.ts +8 -0
  818. package/dist/esm/standard/elements/LandmarkNamespaceNS.d.ts.map +1 -0
  819. package/dist/esm/standard/elements/LandmarkNamespaceNS.js +74 -0
  820. package/dist/esm/standard/elements/LandmarkNamespaceNS.js.map +6 -0
  821. package/dist/esm/standard/elements/LaundryDryerControls.js +2 -1
  822. package/dist/esm/standard/elements/LaundryDryerControls.js.map +1 -1
  823. package/dist/esm/standard/elements/LaundryNS.js +1 -1
  824. package/dist/esm/standard/elements/LaundryWasherControls.d.ts.map +1 -1
  825. package/dist/esm/standard/elements/LaundryWasherControls.js +8 -8
  826. package/dist/esm/standard/elements/LaundryWasherControls.js.map +1 -1
  827. package/dist/esm/standard/elements/LaundryWasherMode.d.ts.map +1 -1
  828. package/dist/esm/standard/elements/LaundryWasherMode.js +38 -18
  829. package/dist/esm/standard/elements/LaundryWasherMode.js.map +1 -1
  830. package/dist/esm/standard/elements/LevelControl.d.ts.map +1 -1
  831. package/dist/esm/standard/elements/LevelControl.js +14 -13
  832. package/dist/esm/standard/elements/LevelControl.js.map +1 -1
  833. package/dist/esm/standard/elements/LocalizationConfiguration.d.ts.map +1 -1
  834. package/dist/esm/standard/elements/LocalizationConfiguration.js +11 -13
  835. package/dist/esm/standard/elements/LocalizationConfiguration.js.map +1 -1
  836. package/dist/esm/standard/elements/MediaInput.d.ts.map +1 -1
  837. package/dist/esm/standard/elements/MediaInput.js +1 -1
  838. package/dist/esm/standard/elements/MediaInput.js.map +1 -1
  839. package/dist/esm/standard/elements/MediaPlayback.d.ts.map +1 -1
  840. package/dist/esm/standard/elements/MediaPlayback.js +3 -2
  841. package/dist/esm/standard/elements/MediaPlayback.js.map +1 -1
  842. package/dist/esm/standard/elements/MicrowaveOvenControl.d.ts.map +1 -1
  843. package/dist/esm/standard/elements/MicrowaveOvenControl.js +12 -12
  844. package/dist/esm/standard/elements/MicrowaveOvenControl.js.map +1 -1
  845. package/dist/esm/standard/elements/MicrowaveOvenMode.d.ts.map +1 -1
  846. package/dist/esm/standard/elements/MicrowaveOvenMode.js +39 -14
  847. package/dist/esm/standard/elements/MicrowaveOvenMode.js.map +1 -1
  848. package/dist/esm/standard/elements/ModeBase.d.ts.map +1 -1
  849. package/dist/esm/standard/elements/ModeBase.js +18 -69
  850. package/dist/esm/standard/elements/ModeBase.js.map +1 -1
  851. package/dist/esm/standard/elements/ModeSelect.js +10 -10
  852. package/dist/esm/standard/elements/ModeSelect.js.map +1 -1
  853. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts +8 -0
  854. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -0
  855. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.js +84 -0
  856. package/dist/esm/standard/elements/MountedDimmableLoadControlDT.js.map +6 -0
  857. package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts +8 -0
  858. package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts.map +1 -0
  859. package/dist/esm/standard/elements/MountedOnOffControlDT.js +84 -0
  860. package/dist/esm/standard/elements/MountedOnOffControlDT.js.map +6 -0
  861. package/dist/esm/standard/elements/NetworkCommissioning.d.ts.map +1 -1
  862. package/dist/esm/standard/elements/NetworkCommissioning.js +50 -37
  863. package/dist/esm/standard/elements/NetworkCommissioning.js.map +1 -1
  864. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts +8 -0
  865. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -0
  866. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.js +47 -0
  867. package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.js.map +6 -0
  868. package/dist/esm/standard/elements/OccupancySensing.d.ts.map +1 -1
  869. package/dist/esm/standard/elements/OccupancySensing.js +197 -43
  870. package/dist/esm/standard/elements/OccupancySensing.js.map +1 -1
  871. package/dist/esm/standard/elements/OccupancySensorDT.d.ts.map +1 -1
  872. package/dist/esm/standard/elements/OccupancySensorDT.js +8 -1
  873. package/dist/esm/standard/elements/OccupancySensorDT.js.map +1 -1
  874. package/dist/esm/standard/elements/OnOff.d.ts.map +1 -1
  875. package/dist/esm/standard/elements/OnOff.js +1 -1
  876. package/dist/esm/standard/elements/OnOff.js.map +1 -1
  877. package/dist/esm/standard/elements/OperationalCredentials.d.ts.map +1 -1
  878. package/dist/esm/standard/elements/OperationalCredentials.js +7 -7
  879. package/dist/esm/standard/elements/OperationalCredentials.js.map +1 -1
  880. package/dist/esm/standard/elements/OperationalState.d.ts.map +1 -1
  881. package/dist/esm/standard/elements/OperationalState.js +22 -22
  882. package/dist/esm/standard/elements/OperationalState.js.map +1 -1
  883. package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.d.ts.map +1 -1
  884. package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js +11 -12
  885. package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js.map +1 -1
  886. package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
  887. package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.js +2 -1
  888. package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.js.map +1 -1
  889. package/dist/esm/standard/elements/OvenCavityOperationalState.d.ts.map +1 -1
  890. package/dist/esm/standard/elements/OvenCavityOperationalState.js +12 -3
  891. package/dist/esm/standard/elements/OvenCavityOperationalState.js.map +1 -1
  892. package/dist/esm/standard/elements/OvenDT.js +1 -1
  893. package/dist/esm/standard/elements/OvenMode.d.ts.map +1 -1
  894. package/dist/esm/standard/elements/OvenMode.js +49 -14
  895. package/dist/esm/standard/elements/OvenMode.js.map +1 -1
  896. package/dist/esm/standard/elements/PowerSource.d.ts.map +1 -1
  897. package/dist/esm/standard/elements/PowerSource.js +12 -12
  898. package/dist/esm/standard/elements/PowerSource.js.map +1 -1
  899. package/dist/esm/standard/elements/PowerSourceNS.js +5 -5
  900. package/dist/esm/standard/elements/PressureMeasurement.js +7 -7
  901. package/dist/esm/standard/elements/PressureMeasurement.js.map +1 -1
  902. package/dist/esm/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
  903. package/dist/esm/standard/elements/PumpConfigurationAndControl.js +9 -19
  904. package/dist/esm/standard/elements/PumpConfigurationAndControl.js.map +1 -1
  905. package/dist/esm/standard/elements/PumpControllerDT.d.ts.map +1 -1
  906. package/dist/esm/standard/elements/PumpControllerDT.js +1 -8
  907. package/dist/esm/standard/elements/PumpControllerDT.js.map +1 -1
  908. package/dist/esm/standard/elements/PumpDT.js +14 -14
  909. package/dist/esm/standard/elements/RefrigeratorAlarm.d.ts.map +1 -1
  910. package/dist/esm/standard/elements/RefrigeratorAlarm.js +1 -1
  911. package/dist/esm/standard/elements/RefrigeratorAlarm.js.map +1 -1
  912. package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
  913. package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js +38 -12
  914. package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js.map +1 -1
  915. package/dist/esm/standard/elements/RefrigeratorDT.js +1 -1
  916. package/dist/esm/standard/elements/RefrigeratorNS.js +1 -1
  917. package/dist/esm/standard/elements/RelativeHumidityMeasurement.d.ts.map +1 -1
  918. package/dist/esm/standard/elements/RelativeHumidityMeasurement.js +3 -3
  919. package/dist/esm/standard/elements/RelativeHumidityMeasurement.js.map +1 -1
  920. package/dist/esm/standard/elements/RelativePositionNS.d.ts +8 -0
  921. package/dist/esm/standard/elements/RelativePositionNS.d.ts.map +1 -0
  922. package/dist/esm/standard/elements/RelativePositionNS.js +30 -0
  923. package/dist/esm/standard/elements/RelativePositionNS.js.map +6 -0
  924. package/dist/esm/standard/elements/ResourceMonitoring.d.ts.map +1 -1
  925. package/dist/esm/standard/elements/ResourceMonitoring.js +1 -1
  926. package/dist/esm/standard/elements/ResourceMonitoring.js.map +1 -1
  927. package/dist/esm/standard/elements/RoboticVacuumCleanerDT.d.ts.map +1 -1
  928. package/dist/esm/standard/elements/RoboticVacuumCleanerDT.js +8 -1
  929. package/dist/esm/standard/elements/RoboticVacuumCleanerDT.js.map +1 -1
  930. package/dist/esm/standard/elements/RoomAirConditionerNS.js +1 -1
  931. package/dist/esm/standard/elements/RootNodeDT.d.ts.map +1 -1
  932. package/dist/esm/standard/elements/RootNodeDT.js +20 -15
  933. package/dist/esm/standard/elements/RootNodeDT.js.map +1 -1
  934. package/dist/esm/standard/elements/RvcCleanMode.d.ts.map +1 -1
  935. package/dist/esm/standard/elements/RvcCleanMode.js +32 -7
  936. package/dist/esm/standard/elements/RvcCleanMode.js.map +1 -1
  937. package/dist/esm/standard/elements/RvcOperationalState.d.ts.map +1 -1
  938. package/dist/esm/standard/elements/RvcOperationalState.js +28 -5
  939. package/dist/esm/standard/elements/RvcOperationalState.js.map +1 -1
  940. package/dist/esm/standard/elements/RvcRunMode.d.ts.map +1 -1
  941. package/dist/esm/standard/elements/RvcRunMode.js +32 -7
  942. package/dist/esm/standard/elements/RvcRunMode.js.map +1 -1
  943. package/dist/esm/standard/elements/ScenesManagement.d.ts.map +1 -1
  944. package/dist/esm/standard/elements/ScenesManagement.js +4 -4
  945. package/dist/esm/standard/elements/ScenesManagement.js.map +1 -1
  946. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.d.ts +8 -0
  947. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.d.ts.map +1 -0
  948. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.js +54 -0
  949. package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.js.map +6 -0
  950. package/dist/esm/standard/elements/ServiceArea.d.ts +8 -0
  951. package/dist/esm/standard/elements/ServiceArea.d.ts.map +1 -0
  952. package/dist/esm/standard/elements/ServiceArea.js +441 -0
  953. package/dist/esm/standard/elements/ServiceArea.js.map +6 -0
  954. package/dist/esm/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
  955. package/dist/esm/standard/elements/SmokeCoAlarm.js +13 -17
  956. package/dist/esm/standard/elements/SmokeCoAlarm.js.map +1 -1
  957. package/dist/esm/standard/elements/SoftwareVersionCertificationStatusEnum.js +1 -1
  958. package/dist/esm/standard/elements/SolarPowerDT.d.ts +8 -0
  959. package/dist/esm/standard/elements/SolarPowerDT.d.ts.map +1 -0
  960. package/dist/esm/standard/elements/SolarPowerDT.js +33 -0
  961. package/dist/esm/standard/elements/SolarPowerDT.js.map +6 -0
  962. package/dist/esm/standard/elements/Switch.d.ts.map +1 -1
  963. package/dist/esm/standard/elements/Switch.js +39 -25
  964. package/dist/esm/standard/elements/Switch.js.map +1 -1
  965. package/dist/esm/standard/elements/SwitchesNS.js +2 -2
  966. package/dist/esm/standard/elements/TargetNavigator.js +2 -1
  967. package/dist/esm/standard/elements/TargetNavigator.js.map +1 -1
  968. package/dist/esm/standard/elements/TemperatureControl.js +3 -3
  969. package/dist/esm/standard/elements/TemperatureControl.js.map +1 -1
  970. package/dist/esm/standard/elements/TemperatureControlledCabinetDT.js +1 -1
  971. package/dist/esm/standard/elements/TemperatureMeasurement.js +3 -3
  972. package/dist/esm/standard/elements/TemperatureMeasurement.js.map +1 -1
  973. package/dist/esm/standard/elements/Thermostat.d.ts.map +1 -1
  974. package/dist/esm/standard/elements/Thermostat.js +673 -124
  975. package/dist/esm/standard/elements/Thermostat.js.map +1 -1
  976. package/dist/esm/standard/elements/ThermostatDT.d.ts.map +1 -1
  977. package/dist/esm/standard/elements/ThermostatDT.js +20 -35
  978. package/dist/esm/standard/elements/ThermostatDT.js.map +1 -1
  979. package/dist/esm/standard/elements/ThermostatUserInterfaceConfiguration.js +0 -3
  980. package/dist/esm/standard/elements/ThermostatUserInterfaceConfiguration.js.map +1 -1
  981. package/dist/esm/standard/elements/ThreadBorderRouterManagement.d.ts +8 -0
  982. package/dist/esm/standard/elements/ThreadBorderRouterManagement.d.ts.map +1 -0
  983. package/dist/esm/standard/elements/ThreadBorderRouterManagement.js +183 -0
  984. package/dist/esm/standard/elements/ThreadBorderRouterManagement.js.map +6 -0
  985. package/dist/esm/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
  986. package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js +26 -8
  987. package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
  988. package/dist/esm/standard/elements/ThreadNetworkDirectory.d.ts +8 -0
  989. package/dist/esm/standard/elements/ThreadNetworkDirectory.d.ts.map +1 -0
  990. package/dist/esm/standard/elements/ThreadNetworkDirectory.js +167 -0
  991. package/dist/esm/standard/elements/ThreadNetworkDirectory.js.map +6 -0
  992. package/dist/esm/standard/elements/TimeFormatLocalization.js +1 -1
  993. package/dist/esm/standard/elements/TimeSynchronization.d.ts.map +1 -1
  994. package/dist/esm/standard/elements/TimeSynchronization.js +23 -11
  995. package/dist/esm/standard/elements/TimeSynchronization.js.map +1 -1
  996. package/dist/esm/standard/elements/UnitLocalization.d.ts.map +1 -1
  997. package/dist/esm/standard/elements/UnitLocalization.js +1 -1
  998. package/dist/esm/standard/elements/UnitLocalization.js.map +1 -1
  999. package/dist/esm/standard/elements/UserLabel.d.ts.map +1 -1
  1000. package/dist/esm/standard/elements/UserLabel.js +1 -1
  1001. package/dist/esm/standard/elements/UserLabel.js.map +1 -1
  1002. package/dist/esm/standard/elements/ValidProxies.js +0 -1
  1003. package/dist/esm/standard/elements/ValidProxies.js.map +1 -1
  1004. package/dist/esm/standard/elements/ValveConfigurationAndControl.js +1 -0
  1005. package/dist/esm/standard/elements/ValveConfigurationAndControl.js.map +1 -1
  1006. package/dist/esm/standard/elements/WaterHeaterDT.d.ts +8 -0
  1007. package/dist/esm/standard/elements/WaterHeaterDT.d.ts.map +1 -0
  1008. package/dist/esm/standard/elements/WaterHeaterDT.js +57 -0
  1009. package/dist/esm/standard/elements/WaterHeaterDT.js.map +6 -0
  1010. package/dist/esm/standard/elements/WaterHeaterManagement.d.ts +8 -0
  1011. package/dist/esm/standard/elements/WaterHeaterManagement.d.ts.map +1 -0
  1012. package/dist/esm/standard/elements/WaterHeaterManagement.js +226 -0
  1013. package/dist/esm/standard/elements/WaterHeaterManagement.js.map +6 -0
  1014. package/dist/esm/standard/elements/WaterHeaterMode.d.ts +8 -0
  1015. package/dist/esm/standard/elements/WaterHeaterMode.d.ts.map +1 -0
  1016. package/dist/esm/standard/elements/WaterHeaterMode.js +85 -0
  1017. package/dist/esm/standard/elements/WaterHeaterMode.js.map +6 -0
  1018. package/dist/esm/standard/elements/WaterTankLevelMonitoring.d.ts +8 -0
  1019. package/dist/esm/standard/elements/WaterTankLevelMonitoring.d.ts.map +1 -0
  1020. package/dist/esm/standard/elements/WaterTankLevelMonitoring.js +15 -0
  1021. package/dist/esm/standard/elements/WaterTankLevelMonitoring.js.map +6 -0
  1022. package/dist/esm/standard/elements/WaterValveDT.js +5 -5
  1023. package/dist/esm/standard/elements/WiFiNetworkDiagnostics.d.ts.map +1 -1
  1024. package/dist/esm/standard/elements/WiFiNetworkDiagnostics.js +2 -2
  1025. package/dist/esm/standard/elements/WiFiNetworkDiagnostics.js.map +1 -1
  1026. package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts +8 -0
  1027. package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts.map +1 -0
  1028. package/dist/esm/standard/elements/WiFiNetworkManagement.js +68 -0
  1029. package/dist/esm/standard/elements/WiFiNetworkManagement.js.map +6 -0
  1030. package/dist/esm/standard/elements/WindowCovering.js +35 -36
  1031. package/dist/esm/standard/elements/WindowCovering.js.map +1 -1
  1032. package/dist/esm/standard/elements/WindowCoveringControllerDT.d.ts.map +1 -1
  1033. package/dist/esm/standard/elements/WindowCoveringControllerDT.js +0 -7
  1034. package/dist/esm/standard/elements/WindowCoveringControllerDT.js.map +1 -1
  1035. package/dist/esm/standard/elements/WindowCoveringDT.d.ts.map +1 -1
  1036. package/dist/esm/standard/elements/WindowCoveringDT.js +4 -15
  1037. package/dist/esm/standard/elements/WindowCoveringDT.js.map +1 -1
  1038. package/dist/esm/standard/elements/action-id.js +1 -1
  1039. package/dist/esm/standard/elements/amperage-mA.js +1 -1
  1040. package/dist/esm/standard/elements/attrib-id.js +1 -1
  1041. package/dist/esm/standard/elements/bool.js +1 -1
  1042. package/dist/esm/standard/elements/cluster-id.js +1 -1
  1043. package/dist/esm/standard/elements/command-id.js +1 -1
  1044. package/dist/esm/standard/elements/data-ver.js +2 -2
  1045. package/dist/esm/standard/elements/date.js +5 -5
  1046. package/dist/esm/standard/elements/definitions.d.ts +27 -1
  1047. package/dist/esm/standard/elements/definitions.d.ts.map +1 -1
  1048. package/dist/esm/standard/elements/definitions.js +27 -1
  1049. package/dist/esm/standard/elements/definitions.js.map +1 -1
  1050. package/dist/esm/standard/elements/devtype-id.js +1 -1
  1051. package/dist/esm/standard/elements/double.js +1 -1
  1052. package/dist/esm/standard/elements/elapsed-s.js +1 -1
  1053. package/dist/esm/standard/elements/endpoint-no.d.ts.map +1 -1
  1054. package/dist/esm/standard/elements/endpoint-no.js +2 -2
  1055. package/dist/esm/standard/elements/endpoint-no.js.map +1 -1
  1056. package/dist/esm/standard/elements/energy-mWh.js +1 -1
  1057. package/dist/esm/standard/elements/entry-idx.js +1 -1
  1058. package/dist/esm/standard/elements/enum16.js +1 -1
  1059. package/dist/esm/standard/elements/enum8.js +1 -1
  1060. package/dist/esm/standard/elements/epoch-s.js +1 -1
  1061. package/dist/esm/standard/elements/epoch-us.js +1 -1
  1062. package/dist/esm/standard/elements/event-id.js +1 -1
  1063. package/dist/esm/standard/elements/event-no.js +1 -1
  1064. package/dist/esm/standard/elements/fabric-id.js +1 -1
  1065. package/dist/esm/standard/elements/fabric-idx.js +1 -1
  1066. package/dist/esm/standard/elements/field-id.js +1 -1
  1067. package/dist/esm/standard/elements/group-id.js +1 -1
  1068. package/dist/esm/standard/elements/hwadr.js +1 -1
  1069. package/dist/esm/standard/elements/int16.js +1 -1
  1070. package/dist/esm/standard/elements/int24.js +1 -1
  1071. package/dist/esm/standard/elements/int32.js +1 -1
  1072. package/dist/esm/standard/elements/int40.js +1 -1
  1073. package/dist/esm/standard/elements/int48.js +1 -1
  1074. package/dist/esm/standard/elements/int56.js +1 -1
  1075. package/dist/esm/standard/elements/int64.js +1 -1
  1076. package/dist/esm/standard/elements/int8.js +1 -1
  1077. package/dist/esm/standard/elements/ipadr.d.ts.map +1 -1
  1078. package/dist/esm/standard/elements/ipadr.js +1 -2
  1079. package/dist/esm/standard/elements/ipadr.js.map +1 -1
  1080. package/dist/esm/standard/elements/ipv4adr.js +1 -1
  1081. package/dist/esm/standard/elements/ipv6adr.js +1 -1
  1082. package/dist/esm/standard/elements/ipv6pre.js +1 -1
  1083. package/dist/esm/standard/elements/list.d.ts.map +1 -1
  1084. package/dist/esm/standard/elements/list.js +8 -10
  1085. package/dist/esm/standard/elements/list.js.map +1 -1
  1086. package/dist/esm/standard/elements/locationdesc.d.ts +8 -0
  1087. package/dist/esm/standard/elements/locationdesc.d.ts.map +1 -0
  1088. package/dist/esm/standard/elements/locationdesc.js +49 -0
  1089. package/dist/esm/standard/elements/locationdesc.js.map +6 -0
  1090. package/dist/esm/standard/elements/map16.js +1 -1
  1091. package/dist/esm/standard/elements/map32.js +1 -1
  1092. package/dist/esm/standard/elements/map64.js +1 -1
  1093. package/dist/esm/standard/elements/map8.js +1 -1
  1094. package/dist/esm/standard/elements/models.d.ts +27 -1
  1095. package/dist/esm/standard/elements/models.d.ts.map +1 -1
  1096. package/dist/esm/standard/elements/models.js +54 -2
  1097. package/dist/esm/standard/elements/models.js.map +1 -1
  1098. package/dist/esm/standard/elements/namespace.js +1 -1
  1099. package/dist/esm/standard/elements/node-id.js +1 -1
  1100. package/dist/esm/standard/elements/octstr.js +1 -1
  1101. package/dist/esm/standard/elements/percent.js +1 -1
  1102. package/dist/esm/standard/elements/percent100ths.js +1 -1
  1103. package/dist/esm/standard/elements/posix-ms.js +1 -1
  1104. package/dist/esm/standard/elements/power-mW.js +1 -1
  1105. package/dist/esm/standard/elements/priority.js +1 -1
  1106. package/dist/esm/standard/elements/semtag.js +5 -5
  1107. package/dist/esm/standard/elements/single.js +1 -1
  1108. package/dist/esm/standard/elements/status.d.ts.map +1 -1
  1109. package/dist/esm/standard/elements/status.js +19 -1
  1110. package/dist/esm/standard/elements/status.js.map +1 -1
  1111. package/dist/esm/standard/elements/string.js +1 -1
  1112. package/dist/esm/standard/elements/struct.js +1 -1
  1113. package/dist/esm/standard/elements/systime-ms.js +1 -1
  1114. package/dist/esm/standard/elements/systime-us.js +1 -1
  1115. package/dist/esm/standard/elements/tag.js +1 -1
  1116. package/dist/esm/standard/elements/temperature.js +1 -1
  1117. package/dist/esm/standard/elements/tod.js +1 -1
  1118. package/dist/esm/standard/elements/trans-id.js +1 -1
  1119. package/dist/esm/standard/elements/uint16.js +1 -1
  1120. package/dist/esm/standard/elements/uint24.js +1 -1
  1121. package/dist/esm/standard/elements/uint32.js +1 -1
  1122. package/dist/esm/standard/elements/uint40.js +1 -1
  1123. package/dist/esm/standard/elements/uint48.js +1 -1
  1124. package/dist/esm/standard/elements/uint56.js +1 -1
  1125. package/dist/esm/standard/elements/uint64.js +1 -1
  1126. package/dist/esm/standard/elements/uint8.js +1 -1
  1127. package/dist/esm/standard/elements/vendor-id.js +1 -1
  1128. package/dist/esm/standard/elements/voltage-mV.js +1 -1
  1129. package/package.json +4 -4
  1130. package/src/aspects/Conformance.ts +34 -6
  1131. package/src/aspects/Quality.ts +9 -1
  1132. package/src/common/Specification.ts +3 -3
  1133. package/src/logic/cluster-variance/IllegalFeatureCombinations.ts +104 -81
  1134. package/src/logic/cluster-variance/InferredComponents.ts +27 -1
  1135. package/src/logic/definition-validation/ValueValidator.ts +16 -6
  1136. package/src/models/AttributeModel.ts +2 -4
  1137. package/src/models/ClusterModel.ts +2 -4
  1138. package/src/models/CommandModel.ts +2 -5
  1139. package/src/models/DatatypeModel.ts +3 -4
  1140. package/src/models/DeviceTypeModel.ts +3 -3
  1141. package/src/models/EndpointModel.ts +3 -3
  1142. package/src/models/EventModel.ts +2 -5
  1143. package/src/models/FabricModel.ts +3 -3
  1144. package/src/models/FieldModel.ts +3 -4
  1145. package/src/models/MatterModel.ts +3 -3
  1146. package/src/models/Model.ts +61 -6
  1147. package/src/models/NodeModel.ts +3 -3
  1148. package/src/models/RequirementModel.ts +4 -4
  1149. package/src/models/SemanticNamespaceModel.ts +3 -3
  1150. package/src/models/SemanticTagModel.ts +3 -3
  1151. package/src/standard/elements/AcceptedCommandList.ts +6 -2
  1152. package/src/standard/elements/AccessControl.ts +578 -39
  1153. package/src/standard/elements/Actions.ts +16 -13
  1154. package/src/standard/elements/AdministratorCommissioning.ts +60 -44
  1155. package/src/standard/elements/AggregatorDT.ts +21 -4
  1156. package/src/standard/elements/AirPurifierDT.ts +5 -1
  1157. package/src/standard/elements/AlarmBase.ts +1 -2
  1158. package/src/standard/elements/ApplicationLauncher.ts +12 -6
  1159. package/src/standard/elements/AreaNamespaceNS.ts +129 -0
  1160. package/src/standard/elements/AtomicAttributeStatusStruct.ts +30 -0
  1161. package/src/standard/elements/AtomicRequestTypeEnum.ts +22 -0
  1162. package/src/standard/elements/BallastConfiguration.ts +3 -3
  1163. package/src/standard/elements/BasicInformation.ts +33 -25
  1164. package/src/standard/elements/BatteryStorageDT.ts +36 -0
  1165. package/src/standard/elements/BooleanStateConfiguration.ts +2 -2
  1166. package/src/standard/elements/BridgedDeviceBasicInformation.ts +170 -35
  1167. package/src/standard/elements/BridgedNodeDT.ts +25 -3
  1168. package/src/standard/elements/Channel.ts +28 -30
  1169. package/src/standard/elements/ColorControl.ts +757 -651
  1170. package/src/standard/elements/CommissionerControl.ts +194 -0
  1171. package/src/standard/elements/ConcentrationMeasurement.ts +2 -2
  1172. package/src/standard/elements/ContentControl.ts +41 -49
  1173. package/src/standard/elements/ContentLauncher.ts +21 -20
  1174. package/src/standard/elements/DeviceEnergyManagement.ts +254 -193
  1175. package/src/standard/elements/DeviceEnergyManagementDT.ts +31 -8
  1176. package/src/standard/elements/DeviceEnergyManagementMode.ts +52 -15
  1177. package/src/standard/elements/DishwasherAlarm.ts +2 -1
  1178. package/src/standard/elements/DishwasherMode.ts +34 -20
  1179. package/src/standard/elements/DoorLock.ts +574 -668
  1180. package/src/standard/elements/DoorLockControllerDT.ts +1 -1
  1181. package/src/standard/elements/DoorLockDT.ts +2 -2
  1182. package/src/standard/elements/EcosystemInformation.ts +191 -0
  1183. package/src/standard/elements/ElectricalEnergyMeasurement.ts +33 -34
  1184. package/src/standard/elements/ElectricalMeasurementNS.ts +1 -1
  1185. package/src/standard/elements/ElectricalPowerMeasurement.ts +5 -5
  1186. package/src/standard/elements/EnergyEvse.ts +156 -86
  1187. package/src/standard/elements/EnergyEvseDT.ts +43 -0
  1188. package/src/standard/elements/EnergyEvseMode.ts +79 -14
  1189. package/src/standard/elements/EnergyPreference.ts +28 -31
  1190. package/src/standard/elements/EthernetNetworkDiagnostics.ts +1 -2
  1191. package/src/standard/elements/EventList.ts +2 -11
  1192. package/src/standard/elements/FabricIndex.ts +1 -1
  1193. package/src/standard/elements/FanControl.ts +12 -12
  1194. package/src/standard/elements/FanDT.ts +5 -1
  1195. package/src/standard/elements/FeatureMap.ts +5 -3
  1196. package/src/standard/elements/FixedLabel.ts +7 -3
  1197. package/src/standard/elements/FlowMeasurement.ts +10 -9
  1198. package/src/standard/elements/GeneralCommissioning.ts +214 -48
  1199. package/src/standard/elements/GeneralDiagnostics.ts +26 -31
  1200. package/src/standard/elements/GeneratedCommandList.ts +4 -1
  1201. package/src/standard/elements/GroupKeyManagement.ts +26 -27
  1202. package/src/standard/elements/Groups.ts +2 -1
  1203. package/src/standard/elements/HeatPumpDT.ts +41 -0
  1204. package/src/standard/elements/IcdManagement.ts +71 -35
  1205. package/src/standard/elements/Identify.ts +12 -12
  1206. package/src/standard/elements/IlluminanceMeasurement.ts +10 -12
  1207. package/src/standard/elements/JointFabricAdministratorDT.ts +40 -0
  1208. package/src/standard/elements/JointFabricDatastoreCluster.ts +520 -0
  1209. package/src/standard/elements/JointFabricPki.ts +131 -0
  1210. package/src/standard/elements/KeypadInput.ts +3 -1
  1211. package/src/standard/elements/LandmarkNamespaceNS.ts +76 -0
  1212. package/src/standard/elements/LaundryDryerControls.ts +6 -6
  1213. package/src/standard/elements/LaundryNS.ts +1 -1
  1214. package/src/standard/elements/LaundryWasherControls.ts +23 -21
  1215. package/src/standard/elements/LaundryWasherMode.ts +35 -21
  1216. package/src/standard/elements/LevelControl.ts +61 -20
  1217. package/src/standard/elements/LocalizationConfiguration.ts +13 -16
  1218. package/src/standard/elements/MediaInput.ts +2 -1
  1219. package/src/standard/elements/MediaPlayback.ts +7 -4
  1220. package/src/standard/elements/MicrowaveOvenControl.ts +26 -22
  1221. package/src/standard/elements/MicrowaveOvenMode.ts +45 -15
  1222. package/src/standard/elements/ModeBase.ts +25 -58
  1223. package/src/standard/elements/ModeSelect.ts +13 -13
  1224. package/src/standard/elements/MountedDimmableLoadControlDT.ts +75 -0
  1225. package/src/standard/elements/MountedOnOffControlDT.ts +73 -0
  1226. package/src/standard/elements/NetworkCommissioning.ts +88 -80
  1227. package/src/standard/elements/NetworkInfrastructureManagerDT.ts +54 -0
  1228. package/src/standard/elements/OccupancySensing.ts +200 -55
  1229. package/src/standard/elements/OccupancySensorDT.ts +5 -1
  1230. package/src/standard/elements/OnOff.ts +1 -2
  1231. package/src/standard/elements/OperationalCredentials.ts +59 -55
  1232. package/src/standard/elements/OperationalState.ts +100 -69
  1233. package/src/standard/elements/OtaSoftwareUpdateProvider.ts +22 -24
  1234. package/src/standard/elements/OtaSoftwareUpdateRequestor.ts +2 -3
  1235. package/src/standard/elements/OvenCavityOperationalState.ts +13 -3
  1236. package/src/standard/elements/OvenDT.ts +1 -1
  1237. package/src/standard/elements/OvenMode.ts +50 -14
  1238. package/src/standard/elements/PowerSource.ts +44 -12
  1239. package/src/standard/elements/PowerSourceNS.ts +5 -5
  1240. package/src/standard/elements/PressureMeasurement.ts +8 -8
  1241. package/src/standard/elements/PumpConfigurationAndControl.ts +32 -22
  1242. package/src/standard/elements/PumpControllerDT.ts +1 -5
  1243. package/src/standard/elements/PumpDT.ts +14 -14
  1244. package/src/standard/elements/RefrigeratorAlarm.ts +2 -1
  1245. package/src/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.ts +37 -15
  1246. package/src/standard/elements/RefrigeratorDT.ts +1 -1
  1247. package/src/standard/elements/RefrigeratorNS.ts +1 -1
  1248. package/src/standard/elements/RelativeHumidityMeasurement.ts +3 -4
  1249. package/src/standard/elements/RelativePositionNS.ts +35 -0
  1250. package/src/standard/elements/ResourceMonitoring.ts +2 -1
  1251. package/src/standard/elements/RoboticVacuumCleanerDT.ts +5 -1
  1252. package/src/standard/elements/RoomAirConditionerNS.ts +1 -1
  1253. package/src/standard/elements/RootNodeDT.ts +18 -11
  1254. package/src/standard/elements/RvcCleanMode.ts +33 -11
  1255. package/src/standard/elements/RvcOperationalState.ts +24 -6
  1256. package/src/standard/elements/RvcRunMode.ts +37 -15
  1257. package/src/standard/elements/ScenesManagement.ts +42 -23
  1258. package/src/standard/elements/SecondaryNetworkInterfaceDT.ts +49 -0
  1259. package/src/standard/elements/ServiceArea.ts +708 -0
  1260. package/src/standard/elements/SmokeCoAlarm.ts +13 -15
  1261. package/src/standard/elements/SoftwareVersionCertificationStatusEnum.ts +1 -1
  1262. package/src/standard/elements/SolarPowerDT.ts +31 -0
  1263. package/src/standard/elements/Switch.ts +121 -38
  1264. package/src/standard/elements/SwitchesNS.ts +2 -2
  1265. package/src/standard/elements/TargetNavigator.ts +2 -2
  1266. package/src/standard/elements/TemperatureControl.ts +3 -3
  1267. package/src/standard/elements/TemperatureControlledCabinetDT.ts +1 -1
  1268. package/src/standard/elements/TemperatureMeasurement.ts +4 -4
  1269. package/src/standard/elements/Thermostat.ts +997 -182
  1270. package/src/standard/elements/ThermostatDT.ts +17 -21
  1271. package/src/standard/elements/ThermostatUserInterfaceConfiguration.ts +3 -3
  1272. package/src/standard/elements/ThreadBorderRouterManagement.ts +207 -0
  1273. package/src/standard/elements/ThreadNetworkDiagnostics.ts +28 -14
  1274. package/src/standard/elements/ThreadNetworkDirectory.ts +175 -0
  1275. package/src/standard/elements/TimeFormatLocalization.ts +1 -1
  1276. package/src/standard/elements/TimeSynchronization.ts +36 -34
  1277. package/src/standard/elements/UnitLocalization.ts +1 -2
  1278. package/src/standard/elements/UserLabel.ts +2 -1
  1279. package/src/standard/elements/ValidProxies.ts +2 -2
  1280. package/src/standard/elements/ValveConfigurationAndControl.ts +1 -1
  1281. package/src/standard/elements/WaterHeaterDT.ts +47 -0
  1282. package/src/standard/elements/WaterHeaterManagement.ts +283 -0
  1283. package/src/standard/elements/WaterHeaterMode.ts +95 -0
  1284. package/src/standard/elements/{PulseWidthModulation.ts → WaterTankLevelMonitoring.ts} +4 -2
  1285. package/src/standard/elements/WaterValveDT.ts +5 -5
  1286. package/src/standard/elements/WiFiNetworkDiagnostics.ts +5 -7
  1287. package/src/standard/elements/WiFiNetworkManagement.ts +98 -0
  1288. package/src/standard/elements/WindowCovering.ts +35 -35
  1289. package/src/standard/elements/WindowCoveringControllerDT.ts +0 -4
  1290. package/src/standard/elements/WindowCoveringDT.ts +2 -11
  1291. package/src/standard/elements/action-id.ts +1 -1
  1292. package/src/standard/elements/amperage-mA.ts +1 -1
  1293. package/src/standard/elements/attrib-id.ts +1 -1
  1294. package/src/standard/elements/bool.ts +1 -1
  1295. package/src/standard/elements/cluster-id.ts +1 -1
  1296. package/src/standard/elements/command-id.ts +1 -1
  1297. package/src/standard/elements/data-ver.ts +2 -2
  1298. package/src/standard/elements/date.ts +5 -5
  1299. package/src/standard/elements/definitions.ts +27 -1
  1300. package/src/standard/elements/devtype-id.ts +1 -1
  1301. package/src/standard/elements/double.ts +1 -1
  1302. package/src/standard/elements/elapsed-s.ts +1 -1
  1303. package/src/standard/elements/endpoint-no.ts +4 -2
  1304. package/src/standard/elements/energy-mWh.ts +1 -1
  1305. package/src/standard/elements/entry-idx.ts +1 -1
  1306. package/src/standard/elements/enum16.ts +1 -1
  1307. package/src/standard/elements/enum8.ts +1 -1
  1308. package/src/standard/elements/epoch-s.ts +1 -1
  1309. package/src/standard/elements/epoch-us.ts +1 -1
  1310. package/src/standard/elements/event-id.ts +1 -1
  1311. package/src/standard/elements/event-no.ts +1 -1
  1312. package/src/standard/elements/fabric-id.ts +1 -1
  1313. package/src/standard/elements/fabric-idx.ts +1 -1
  1314. package/src/standard/elements/field-id.ts +1 -1
  1315. package/src/standard/elements/group-id.ts +1 -1
  1316. package/src/standard/elements/hwadr.ts +1 -1
  1317. package/src/standard/elements/int16.ts +1 -1
  1318. package/src/standard/elements/int24.ts +1 -1
  1319. package/src/standard/elements/int32.ts +1 -1
  1320. package/src/standard/elements/int40.ts +1 -1
  1321. package/src/standard/elements/int48.ts +1 -1
  1322. package/src/standard/elements/int56.ts +1 -1
  1323. package/src/standard/elements/int64.ts +1 -1
  1324. package/src/standard/elements/int8.ts +1 -1
  1325. package/src/standard/elements/ipadr.ts +1 -2
  1326. package/src/standard/elements/ipv4adr.ts +1 -1
  1327. package/src/standard/elements/ipv6adr.ts +1 -1
  1328. package/src/standard/elements/ipv6pre.ts +1 -1
  1329. package/src/standard/elements/list.ts +77 -91
  1330. package/src/standard/elements/locationdesc.ts +80 -0
  1331. package/src/standard/elements/map16.ts +1 -1
  1332. package/src/standard/elements/map32.ts +1 -1
  1333. package/src/standard/elements/map64.ts +1 -1
  1334. package/src/standard/elements/map8.ts +1 -1
  1335. package/src/standard/elements/models.ts +27 -1
  1336. package/src/standard/elements/namespace.ts +1 -1
  1337. package/src/standard/elements/node-id.ts +1 -1
  1338. package/src/standard/elements/octstr.ts +1 -1
  1339. package/src/standard/elements/percent.ts +1 -1
  1340. package/src/standard/elements/percent100ths.ts +1 -1
  1341. package/src/standard/elements/posix-ms.ts +1 -1
  1342. package/src/standard/elements/power-mW.ts +1 -1
  1343. package/src/standard/elements/priority.ts +1 -1
  1344. package/src/standard/elements/semtag.ts +5 -5
  1345. package/src/standard/elements/single.ts +1 -1
  1346. package/src/standard/elements/status.ts +16 -1
  1347. package/src/standard/elements/string.ts +1 -1
  1348. package/src/standard/elements/struct.ts +1 -1
  1349. package/src/standard/elements/systime-ms.ts +1 -1
  1350. package/src/standard/elements/systime-us.ts +1 -1
  1351. package/src/standard/elements/tag.ts +1 -1
  1352. package/src/standard/elements/temperature.ts +1 -1
  1353. package/src/standard/elements/tod.ts +1 -1
  1354. package/src/standard/elements/trans-id.ts +1 -1
  1355. package/src/standard/elements/uint16.ts +1 -1
  1356. package/src/standard/elements/uint24.ts +1 -1
  1357. package/src/standard/elements/uint32.ts +1 -1
  1358. package/src/standard/elements/uint40.ts +1 -1
  1359. package/src/standard/elements/uint48.ts +1 -1
  1360. package/src/standard/elements/uint56.ts +1 -1
  1361. package/src/standard/elements/uint64.ts +1 -1
  1362. package/src/standard/elements/uint8.ts +1 -1
  1363. package/src/standard/elements/vendor-id.ts +1 -1
  1364. package/src/standard/elements/voltage-mV.ts +1 -1
  1365. package/dist/cjs/standard/elements/PulseWidthModulation.d.ts.map +0 -1
  1366. package/dist/cjs/standard/elements/PulseWidthModulation.js.map +0 -6
  1367. package/dist/esm/standard/elements/PulseWidthModulation.d.ts.map +0 -1
  1368. package/dist/esm/standard/elements/PulseWidthModulation.js +0 -13
  1369. package/dist/esm/standard/elements/PulseWidthModulation.js.map +0 -6
@@ -34,10 +34,10 @@ const DoorLock = (0, import_elements.ClusterElement)(
34
34
  id: 257,
35
35
  classification: "application",
36
36
  pics: "DRLK",
37
- details: "The door lock cluster provides an interface to a generic way to secure a door. The physical object that provides the locking functionality is abstracted from the cluster. The cluster has a small list of mandatory attributes and functions and a list of optional features.",
37
+ details: "The door lock cluster provides an interface to a generic way to secure a door. The physical object that provides the locking functionality is abstracted from the cluster. The cluster has a small list of mandatory attributes and functions and a list of optional features.\nFigure 16. Typical Usage of the Door Lock Cluster",
38
38
  xref: { document: "cluster", section: "5.2" }
39
39
  },
40
- (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 7 }),
40
+ (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 8 }),
41
41
  (0, import_elements.AttributeElement)(
42
42
  { name: "FeatureMap", id: 65532, type: "FeatureMap", xref: { document: "cluster", section: "5.2.4" } },
43
43
  (0, import_elements.FieldElement)({
@@ -53,7 +53,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
53
53
  conformance: "O",
54
54
  constraint: "1",
55
55
  description: "RfidCredential",
56
- details: "If the User Feature is also supported then any RFID credential stored in the lock shall be associated with a User.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User\nIndex may have several credentials associated with it.",
56
+ details: "If the User Feature is also supported then any RFID credential stored in the lock shall be associated with a User.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User Index may have several credentials associated with it.",
57
57
  xref: { document: "cluster", section: "5.2.4.2" }
58
58
  }),
59
59
  (0, import_elements.FieldElement)({
@@ -64,21 +64,13 @@ const DoorLock = (0, import_elements.ClusterElement)(
64
64
  details: "Currently the cluster only defines the metadata format for notifications when a fingerprint/ finger vein credential is used to access the lock and doesn\u2019t describe how to create fingerprint/finger vein credentials. If the Users feature is also supported then the User that a fingerprint/finger vein is associated with can also have its UserType, UserStatus and Schedule modified.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User index and not directly with a Finger index. A User Index may have several credentials associated with it.",
65
65
  xref: { document: "cluster", section: "5.2.4.3" }
66
66
  }),
67
- (0, import_elements.FieldElement)({
68
- name: "LOG",
69
- conformance: "O",
70
- constraint: "3",
71
- description: "Logging",
72
- details: "If Events are not supported the logging feature shall replace the Event reporting structure. If Events are supported the logging feature shall NOT be supported.",
73
- xref: { document: "cluster", section: "5.2.4.4" }
74
- }),
75
67
  (0, import_elements.FieldElement)({
76
68
  name: "WDSCH",
77
69
  conformance: "O",
78
70
  constraint: "4",
79
71
  description: "WeekDayAccessSchedules",
80
- details: "If the User feature is supported then Week Day Schedules are applied to a User and not a credential.\nWeek Day Schedules are used to restrict access to a specified time window on certain days of the week. The schedule is repeated each week. When a schedule is cleared this clears the access restrictions and grants unrestricted access to the user. The lock may automatically adjust the UserType when a schedule is created or cleared.",
81
- xref: { document: "cluster", section: "5.2.4.5" }
72
+ details: "If the User feature is supported then Week Day Schedules are applied to a User and not a credential.\nWeek Day Schedules are used to restrict access to a specified time window on certain days of the week. The schedule is repeated each week.\nThe lock may automatically adjust the UserType when a schedule is created or cleared.\nSupport for WeekDayAccessSchedules requires that the lock has the capability of keeping track of local time.",
73
+ xref: { document: "cluster", section: "5.2.4.4" }
82
74
  }),
83
75
  (0, import_elements.FieldElement)({
84
76
  name: "DPS",
@@ -86,7 +78,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
86
78
  constraint: "5",
87
79
  description: "DoorPositionSensor",
88
80
  details: "If this feature is supported this indicates that the lock has the ability to determine the position of the door which is separate from the state of the lock.",
89
- xref: { document: "cluster", section: "5.2.4.6" }
81
+ xref: { document: "cluster", section: "5.2.4.5" }
90
82
  }),
91
83
  (0, import_elements.FieldElement)({
92
84
  name: "FACE",
@@ -94,47 +86,39 @@ const DoorLock = (0, import_elements.ClusterElement)(
94
86
  constraint: "6",
95
87
  description: "FaceCredentials",
96
88
  details: "Currently the cluster only defines the metadata format for notifications when a face recognition, iris, or retina credential is used to access the lock and doesn\u2019t describe how to create face recognition, iris, or retina credentials. If the Users feature is also supported then the User that a face recognition, iris, or retina credential is associated with can also have its UserType, UserStatus and Schedule modified.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User and not directly with a credential.",
97
- xref: { document: "cluster", section: "5.2.4.7" }
89
+ xref: { document: "cluster", section: "5.2.4.6" }
98
90
  }),
99
91
  (0, import_elements.FieldElement)({
100
92
  name: "COTA",
101
93
  conformance: "O",
102
94
  constraint: "7",
103
95
  description: "CredentialOverTheAirAccess",
104
- details: "If this feature is supported then the lock supports the ability to verify a credential provided in a lock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock commands. If this feature is supported then the PIN Credential feature shall also be supported.",
105
- xref: { document: "cluster", section: "5.2.4.8" }
96
+ details: "If this feature is supported then the lock supports the ability to verify a credential provided in a\nlock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock commands. If this feature is supported then the PIN Credential feature shall also be supported.",
97
+ xref: { document: "cluster", section: "5.2.4.7" }
106
98
  }),
107
99
  (0, import_elements.FieldElement)({
108
100
  name: "USR",
109
- conformance: "[PIN | RID | FGP | FACE]",
101
+ conformance: "ALIRO, [PIN | RID | FGP | FACE]",
110
102
  constraint: "8",
111
103
  description: "User",
112
104
  details: "If the User Feature is supported then a lock employs a User database. A User within the User database is used to associate credentials and schedules to single user record within the lock. This also means the UserType and UserStatus fields are associated with a User and not a credential.",
113
- xref: { document: "cluster", section: "5.2.4.9" }
114
- }),
115
- (0, import_elements.FieldElement)({
116
- name: "NOT",
117
- conformance: "O",
118
- constraint: "9",
119
- description: "Notification",
120
- details: "This is a feature used before support of events. This feature supports notification commands and masks used to filter these notifications.",
121
- xref: { document: "cluster", section: "5.2.4.10" }
105
+ xref: { document: "cluster", section: "5.2.4.8" }
122
106
  }),
123
107
  (0, import_elements.FieldElement)({
124
108
  name: "YDSCH",
125
109
  conformance: "O",
126
110
  constraint: "10",
127
111
  description: "YearDayAccessSchedules",
128
- details: "If the User feature is supported then Year Day Schedules are applied to a User and not a credential.\nYear Day Schedules are used to restrict access to a specified date and time window. When a schedule is cleared this clears the access restrictions and grants unrestricted access to the user. The lock may automatically adjust the UserType when a schedule is created or cleared.",
129
- xref: { document: "cluster", section: "5.2.4.11" }
112
+ details: "If the User feature is supported then Year Day Schedules are applied to a User and not a credential. Year Day Schedules are used to restrict access to a specified date and time window.\nThe lock may automatically adjust the UserType when a schedule is created or cleared.\nSupport for YearDayAccessSchedules requires that the lock has the capability of keeping track of local time.",
113
+ xref: { document: "cluster", section: "5.2.4.9" }
130
114
  }),
131
115
  (0, import_elements.FieldElement)({
132
116
  name: "HDSCH",
133
117
  conformance: "O",
134
118
  constraint: "11",
135
119
  description: "HolidaySchedules",
136
- details: "This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.",
137
- xref: { document: "cluster", section: "5.2.4.12" }
120
+ details: "This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.\nSupport for HolidaySchedules requires that the lock has the capability of keeping track of local time.",
121
+ xref: { document: "cluster", section: "5.2.4.10" }
138
122
  }),
139
123
  (0, import_elements.FieldElement)({
140
124
  name: "UBOLT",
@@ -142,6 +126,22 @@ const DoorLock = (0, import_elements.ClusterElement)(
142
126
  constraint: "12",
143
127
  description: "Unbolting",
144
128
  details: "Locks that support this feature differentiate between unbolting and unlocking. The Unbolt Door command retracts the bolt without pulling the latch. The Unlock Door command fully unlocks the door by retracting the bolt and briefly pulling the latch. While the latch is pulled, the lock state changes to Unlatched. Locks without unbolting support don\u2019t differentiate between unbolting and unlocking and perform the same operation for both commands.",
129
+ xref: { document: "cluster", section: "5.2.4.11" }
130
+ }),
131
+ (0, import_elements.FieldElement)({
132
+ name: "ALIRO",
133
+ conformance: "O",
134
+ constraint: "13",
135
+ description: "AliroProvisioning",
136
+ details: "Locks that support this feature implement the Aliro specification as defined in [Aliro] and support Matter as a method for provisioning Aliro credentials.",
137
+ xref: { document: "cluster", section: "5.2.4.12" }
138
+ }),
139
+ (0, import_elements.FieldElement)({
140
+ name: "ALBU",
141
+ conformance: "[ALIRO]",
142
+ constraint: "14",
143
+ description: "AliroBleuwb",
144
+ details: "Locks that support this feature implement the Bluetooth LE + UWB Access Control Flow as defined in [Aliro].",
145
145
  xref: { document: "cluster", section: "5.2.4.13" }
146
146
  })
147
147
  ),
@@ -152,9 +152,9 @@ const DoorLock = (0, import_elements.ClusterElement)(
152
152
  access: "R V",
153
153
  conformance: "M",
154
154
  constraint: "desc",
155
- quality: "X S P",
155
+ quality: "X P",
156
156
  details: "This attribute may be NULL if the lock hardware does not currently know the status of the locking mechanism. For example, a lock may not know the LockState status after a power cycle until the first lock actuation is completed.\nThe Not Fully Locked value is used by a lock to indicate that the state of the lock is somewhere between Locked and Unlocked so it is only partially secured. For example, a deadbolt could be partially extended and not in a dead latched state.",
157
- xref: { document: "cluster", section: "5.2.9.2" }
157
+ xref: { document: "cluster", section: "5.2.9.1" }
158
158
  }),
159
159
  (0, import_elements.AttributeElement)({
160
160
  name: "LockType",
@@ -164,7 +164,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
164
164
  conformance: "M",
165
165
  constraint: "desc",
166
166
  details: "Indicates the type of door lock as defined in LockTypeEnum.",
167
- xref: { document: "cluster", section: "5.2.9.3" }
167
+ xref: { document: "cluster", section: "5.2.9.2" }
168
168
  }),
169
169
  (0, import_elements.AttributeElement)({
170
170
  name: "ActuatorEnabled",
@@ -173,7 +173,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
173
173
  access: "R V",
174
174
  conformance: "M",
175
175
  details: "Indicates if the lock is currently able to (Enabled) or not able to (Disabled) process remote Lock, Unlock, or Unlock with Timeout commands.",
176
- xref: { document: "cluster", section: "5.2.9.4" }
176
+ xref: { document: "cluster", section: "5.2.9.3" }
177
177
  }),
178
178
  (0, import_elements.AttributeElement)({
179
179
  name: "DoorState",
@@ -184,7 +184,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
184
184
  constraint: "desc",
185
185
  quality: "X P",
186
186
  details: "Indicates the current door state as defined in DoorStateEnum.\nNull only if an internal error prevents the retrieval of the current door state.",
187
- xref: { document: "cluster", section: "5.2.9.5" }
187
+ xref: { document: "cluster", section: "5.2.9.4" }
188
188
  }),
189
189
  (0, import_elements.AttributeElement)({
190
190
  name: "DoorOpenEvents",
@@ -193,7 +193,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
193
193
  access: "RW VM",
194
194
  conformance: "[DPS]",
195
195
  details: "This attribute shall hold the number of door open events that have occurred since it was last zeroed.",
196
- xref: { document: "cluster", section: "5.2.9.6" }
196
+ xref: { document: "cluster", section: "5.2.9.5" }
197
197
  }),
198
198
  (0, import_elements.AttributeElement)({
199
199
  name: "DoorClosedEvents",
@@ -202,7 +202,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
202
202
  access: "RW VM",
203
203
  conformance: "[DPS]",
204
204
  details: "This attribute shall hold the number of door closed events that have occurred since it was last zeroed.",
205
- xref: { document: "cluster", section: "5.2.9.7" }
205
+ xref: { document: "cluster", section: "5.2.9.6" }
206
206
  }),
207
207
  (0, import_elements.AttributeElement)({
208
208
  name: "OpenPeriod",
@@ -211,18 +211,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
211
211
  access: "RW VM",
212
212
  conformance: "[DPS]",
213
213
  details: "This attribute shall hold the number of minutes the door has been open since the last time it transitioned from closed to open.",
214
- xref: { document: "cluster", section: "5.2.9.8" }
215
- }),
216
- (0, import_elements.AttributeElement)({
217
- name: "NumberOfLogRecordsSupported",
218
- id: 16,
219
- type: "uint16",
220
- access: "R V",
221
- conformance: "LOG",
222
- default: 0,
223
- quality: "F",
224
- details: "Indicates the number of available log records.",
225
- xref: { document: "cluster", section: "5.2.9.9" }
214
+ xref: { document: "cluster", section: "5.2.9.7" }
226
215
  }),
227
216
  (0, import_elements.AttributeElement)({
228
217
  name: "NumberOfTotalUsersSupported",
@@ -233,7 +222,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
233
222
  default: 0,
234
223
  quality: "F",
235
224
  details: "Indicates the number of total users supported by the lock.",
236
- xref: { document: "cluster", section: "5.2.9.10" }
225
+ xref: { document: "cluster", section: "5.2.9.8" }
237
226
  }),
238
227
  (0, import_elements.AttributeElement)({
239
228
  name: "NumberOfPinUsersSupported",
@@ -244,7 +233,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
244
233
  default: 0,
245
234
  quality: "F",
246
235
  details: "Indicates the number of PIN users supported.",
247
- xref: { document: "cluster", section: "5.2.9.11" }
236
+ xref: { document: "cluster", section: "5.2.9.9" }
248
237
  }),
249
238
  (0, import_elements.AttributeElement)({
250
239
  name: "NumberOfRfidUsersSupported",
@@ -255,7 +244,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
255
244
  default: 0,
256
245
  quality: "F",
257
246
  details: "Indicates the number of RFID users supported.",
258
- xref: { document: "cluster", section: "5.2.9.12" }
247
+ xref: { document: "cluster", section: "5.2.9.10" }
259
248
  }),
260
249
  (0, import_elements.AttributeElement)({
261
250
  name: "NumberOfWeekDaySchedulesSupportedPerUser",
@@ -263,10 +252,11 @@ const DoorLock = (0, import_elements.ClusterElement)(
263
252
  type: "uint8",
264
253
  access: "R V",
265
254
  conformance: "WDSCH",
255
+ constraint: "max 253",
266
256
  default: 0,
267
257
  quality: "F",
268
258
  details: "Indicates the number of configurable week day schedule supported per user.",
269
- xref: { document: "cluster", section: "5.2.9.13" }
259
+ xref: { document: "cluster", section: "5.2.9.11" }
270
260
  }),
271
261
  (0, import_elements.AttributeElement)({
272
262
  name: "NumberOfYearDaySchedulesSupportedPerUser",
@@ -274,10 +264,11 @@ const DoorLock = (0, import_elements.ClusterElement)(
274
264
  type: "uint8",
275
265
  access: "R V",
276
266
  conformance: "YDSCH",
267
+ constraint: "max 253",
277
268
  default: 0,
278
269
  quality: "F",
279
270
  details: "Indicates the number of configurable year day schedule supported per user.",
280
- xref: { document: "cluster", section: "5.2.9.14" }
271
+ xref: { document: "cluster", section: "5.2.9.12" }
281
272
  }),
282
273
  (0, import_elements.AttributeElement)({
283
274
  name: "NumberOfHolidaySchedulesSupported",
@@ -285,10 +276,11 @@ const DoorLock = (0, import_elements.ClusterElement)(
285
276
  type: "uint8",
286
277
  access: "R V",
287
278
  conformance: "HDSCH",
279
+ constraint: "max 253",
288
280
  default: 0,
289
281
  quality: "F",
290
282
  details: "Indicates the number of holiday schedules supported for the entire door lock device.",
291
- xref: { document: "cluster", section: "5.2.9.15" }
283
+ xref: { document: "cluster", section: "5.2.9.13" }
292
284
  }),
293
285
  (0, import_elements.AttributeElement)({
294
286
  name: "MaxPinCodeLength",
@@ -298,7 +290,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
298
290
  conformance: "PIN",
299
291
  quality: "F",
300
292
  details: "Indicates the maximum length in bytes of a PIN Code on this device.",
301
- xref: { document: "cluster", section: "5.2.9.16" }
293
+ xref: { document: "cluster", section: "5.2.9.14" }
302
294
  }),
303
295
  (0, import_elements.AttributeElement)({
304
296
  name: "MinPinCodeLength",
@@ -308,7 +300,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
308
300
  conformance: "PIN",
309
301
  quality: "F",
310
302
  details: "Indicates the minimum length in bytes of a PIN Code on this device.",
311
- xref: { document: "cluster", section: "5.2.9.17" }
303
+ xref: { document: "cluster", section: "5.2.9.15" }
312
304
  }),
313
305
  (0, import_elements.AttributeElement)({
314
306
  name: "MaxRfidCodeLength",
@@ -318,7 +310,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
318
310
  conformance: "RID",
319
311
  quality: "F",
320
312
  details: "Indicates the maximum length in bytes of a RFID Code on this device. The value depends on the RFID code range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a value of 20 (equals 10 Byte ISO 14443A UID) is recommended.",
321
- xref: { document: "cluster", section: "5.2.9.18" }
313
+ xref: { document: "cluster", section: "5.2.9.16" }
322
314
  }),
323
315
  (0, import_elements.AttributeElement)({
324
316
  name: "MinRfidCodeLength",
@@ -328,7 +320,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
328
320
  conformance: "RID",
329
321
  quality: "F",
330
322
  details: "Indicates the minimum length in bytes of a RFID Code on this device. The value depends on the RFID code range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a value of 8 (equals 4 Byte ISO 14443A UID) is recommended.",
331
- xref: { document: "cluster", section: "5.2.9.19" }
323
+ xref: { document: "cluster", section: "5.2.9.17" }
332
324
  }),
333
325
  (0, import_elements.AttributeElement)({
334
326
  name: "CredentialRulesSupport",
@@ -339,7 +331,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
339
331
  default: 1,
340
332
  quality: "F",
341
333
  details: "This attribute shall contain a bitmap with the bits set for the values of CredentialRuleEnum supported on this device.",
342
- xref: { document: "cluster", section: "5.2.9.20" }
334
+ xref: { document: "cluster", section: "5.2.9.18" }
343
335
  }),
344
336
  (0, import_elements.AttributeElement)({
345
337
  name: "NumberOfCredentialsSupportedPerUser",
@@ -350,18 +342,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
350
342
  default: 0,
351
343
  quality: "F",
352
344
  details: "Indicates the number of credentials that could be assigned for each user.\nDepending on the value of NumberOfRFIDUsersSupported and NumberOfPINUsersSupported it may not be possible to assign that number of credentials for a user.\nFor example, if the device supports only PIN and RFID credential types, NumberOfCredentialsSupportedPerUser is set to 10, NumberOfPINUsersSupported is set to 5 and NumberOfRFIDUsersSupported is set to 3, it will not be possible to actually assign 10 credentials for a user because maximum number of credentials in the database is 8.",
353
- xref: { document: "cluster", section: "5.2.9.21" }
354
- }),
355
- (0, import_elements.AttributeElement)({
356
- name: "EnableLogging",
357
- id: 32,
358
- type: "bool",
359
- access: "R[W] VA",
360
- conformance: "LOG",
361
- default: true,
362
- quality: "P",
363
- details: "This attribute shall enable/disable event logging.\nWhen event logging is enabled, all event messages are stored on the lock for retrieval. Logging events can be, but are not limited to, Tamper Alarm, Lock, Unlock, AutoRelock, User Code Added, User Code Cleared, Schedule Added, and Schedule Cleared. For a full detail of all the possible alarms and events, please refer to the full list in the Alarm and Event Masks Attribute Set.",
364
- xref: { document: "cluster", section: "5.2.9.22" }
345
+ xref: { document: "cluster", section: "5.2.9.19" }
365
346
  }),
366
347
  (0, import_elements.AttributeElement)({
367
348
  name: "Language",
@@ -372,7 +353,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
372
353
  constraint: "max 3",
373
354
  quality: "P",
374
355
  details: "Indicates the language for the on-screen or audible user interface using a 2- byte language code from ISO-639-1.",
375
- xref: { document: "cluster", section: "5.2.9.23" }
356
+ xref: { document: "cluster", section: "5.2.9.20" }
376
357
  }),
377
358
  (0, import_elements.AttributeElement)({
378
359
  name: "LedSettings",
@@ -383,7 +364,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
383
364
  default: 0,
384
365
  quality: "P",
385
366
  details: "Indicates the settings for the LED support, as defined by LEDSettingEnum.",
386
- xref: { document: "cluster", section: "5.2.9.24" }
367
+ xref: { document: "cluster", section: "5.2.9.21" }
387
368
  }),
388
369
  (0, import_elements.AttributeElement)({
389
370
  name: "AutoRelockTime",
@@ -393,7 +374,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
393
374
  conformance: "O",
394
375
  quality: "P",
395
376
  details: "Indicates the number of seconds to wait after unlocking a lock before it automatically locks again. 0=disabled. If set, unlock operations from any source will be timed. For one time unlock with timeout use the specific command.",
396
- xref: { document: "cluster", section: "5.2.9.25" }
377
+ xref: { document: "cluster", section: "5.2.9.22" }
397
378
  }),
398
379
  (0, import_elements.AttributeElement)({
399
380
  name: "SoundVolume",
@@ -404,7 +385,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
404
385
  default: 0,
405
386
  quality: "P",
406
387
  details: "Indicates the sound volume on a door lock as defined by SoundVolumeEnum.",
407
- xref: { document: "cluster", section: "5.2.9.26" }
388
+ xref: { document: "cluster", section: "5.2.9.23" }
408
389
  }),
409
390
  (0, import_elements.AttributeElement)({
410
391
  name: "OperatingMode",
@@ -416,7 +397,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
416
397
  default: 0,
417
398
  quality: "P",
418
399
  details: "Indicates the current operating mode of the lock as defined in OperatingModeEnum.",
419
- xref: { document: "cluster", section: "5.2.9.27" }
400
+ xref: { document: "cluster", section: "5.2.9.24" }
420
401
  }),
421
402
  (0, import_elements.AttributeElement)({
422
403
  name: "SupportedOperatingModes",
@@ -427,7 +408,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
427
408
  default: 65526,
428
409
  quality: "F",
429
410
  details: "This attribute shall contain a bitmap with all operating bits of the OperatingMode attribute supported by the lock. All operating modes NOT supported by a lock shall be set to one. The value of the OperatingMode enumeration defines the related bit to be set.",
430
- xref: { document: "cluster", section: "5.2.9.28" }
411
+ xref: { document: "cluster", section: "5.2.9.25" }
431
412
  }),
432
413
  (0, import_elements.AttributeElement)({
433
414
  name: "DefaultConfigurationRegister",
@@ -437,8 +418,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
437
418
  conformance: "O",
438
419
  default: 0,
439
420
  quality: "P",
440
- details: "Indicates the default configurations as they are physically set on the device (example: hardware dip switch setting, etc\u2026) and represents the default setting for some of the attributes within this cluster (for example: LED, Auto Lock, Sound Volume, and Operating Mode attributes).\nThis is a read-only attribute and is intended to allow clients to determine what changes may need to be made without having to query all the included attributes. It may be beneficial for the clients to know what the device\u2019s original settings were in the event that the device needs to be restored to factory default settings.\nIf the Client device would like to query and modify the door lock server\u2019s operating settings, it SHOULD send read and write attribute requests to the specific attributes.\nFor example, the Sound Volume attribute default value is Silent Mode. However, it is possible that the current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current Sound Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.",
441
- xref: { document: "cluster", section: "5.2.9.29" }
421
+ details: "Indicates the default configurations as they are physically set on the device (example: hardware dip switch setting, etc\u2026) and represents the default setting for some of the\nattributes within this cluster (for example: LED, Auto Lock, Sound Volume, and Operating Mode attributes).\nThis is a read-only attribute and is intended to allow clients to determine what changes may need to be made without having to query all the included attributes. It may be beneficial for the clients to know what the device\u2019s original settings were in the event that the device needs to be restored to factory default settings.\nIf the Client device would like to query and modify the door lock server\u2019s operating settings, it SHOULD send read and write attribute requests to the specific attributes.\nFor example, the Sound Volume attribute default value is Silent Mode. However, it is possible that the current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current Sound Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.",
422
+ xref: { document: "cluster", section: "5.2.9.26" }
442
423
  }),
443
424
  (0, import_elements.AttributeElement)({
444
425
  name: "EnableLocalProgramming",
@@ -449,7 +430,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
449
430
  default: true,
450
431
  quality: "P",
451
432
  details: "This attribute shall enable/disable local programming on the door lock of certain features (see LocalProgrammingFeatures attribute). If this value is set to TRUE then local programming is enabled on the door lock for all features. If it is set to FALSE then local programming is disabled on the door lock for those features whose bit is set to 0 in the LocalProgrammingFeatures attribute. Local programming shall be enabled by default.",
452
- xref: { document: "cluster", section: "5.2.9.30" }
433
+ xref: { document: "cluster", section: "5.2.9.27" }
453
434
  }),
454
435
  (0, import_elements.AttributeElement)({
455
436
  name: "EnableOneTouchLocking",
@@ -460,7 +441,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
460
441
  default: true,
461
442
  quality: "P",
462
443
  details: "This attribute shall enable/disable the ability to lock the door lock with a single touch on the door lock.",
463
- xref: { document: "cluster", section: "5.2.9.31" }
444
+ xref: { document: "cluster", section: "5.2.9.28" }
464
445
  }),
465
446
  (0, import_elements.AttributeElement)({
466
447
  name: "EnableInsideStatusLed",
@@ -471,7 +452,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
471
452
  default: true,
472
453
  quality: "P",
473
454
  details: "This attribute shall enable/disable an inside LED that allows the user to see at a glance if the door is locked.",
474
- xref: { document: "cluster", section: "5.2.9.32" }
455
+ xref: { document: "cluster", section: "5.2.9.29" }
475
456
  }),
476
457
  (0, import_elements.AttributeElement)({
477
458
  name: "EnablePrivacyModeButton",
@@ -482,7 +463,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
482
463
  default: true,
483
464
  quality: "P",
484
465
  details: "This attribute shall enable/disable a button inside the door that is used to put the lock into privacy mode. When the lock is in privacy mode it cannot be manipulated from the outside.",
485
- xref: { document: "cluster", section: "5.2.9.33" }
466
+ xref: { document: "cluster", section: "5.2.9.30" }
486
467
  }),
487
468
  (0, import_elements.AttributeElement)({
488
469
  name: "LocalProgrammingFeatures",
@@ -493,7 +474,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
493
474
  default: 0,
494
475
  quality: "P",
495
476
  details: "Indicates the local programming features that will be disabled when EnableLocalProgramming attribute is set to False. If a door lock doesn\u2019t support disabling one aspect of local programming it shall return CONSTRAINT_ERROR during a write operation of this attribute. If the EnableLocalProgramming attribute is set to True then all local programming features shall be enabled regardless of the bits set to 0 in this attribute.\nThe features that can be disabled from local programming are defined in LocalProgrammingFeaturesBitmap.",
496
- xref: { document: "cluster", section: "5.2.9.34" }
477
+ xref: { document: "cluster", section: "5.2.9.31" }
497
478
  }),
498
479
  (0, import_elements.AttributeElement)({
499
480
  name: "WrongCodeEntryLimit",
@@ -504,7 +485,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
504
485
  constraint: "1 to 255",
505
486
  quality: "P",
506
487
  details: "Indicates the number of incorrect Pin codes or RFID presentment attempts a user is allowed to enter before the lock will enter a lockout state. The value of this attribute is compared to all failing forms of credential presentation, including Pin codes used in an Unlock Command when RequirePINforRemoteOperation is set to true. Valid range is 1-255 incorrect attempts. The lockout state will be for the duration of UserCodeTemporaryDisableTime. If the attribute accepts writes and an attempt to write the value 0 is made, the device shall respond with CONSTRAINT_ERROR.\nThe lock may reset the counter used to track incorrect credential presentations as required by internal logic, environmental events, or other reasons. The lock shall reset the counter if a valid credential is presented.",
507
- xref: { document: "cluster", section: "5.2.9.35" }
488
+ xref: { document: "cluster", section: "5.2.9.32" }
508
489
  }),
509
490
  (0, import_elements.AttributeElement)({
510
491
  name: "UserCodeTemporaryDisableTime",
@@ -515,7 +496,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
515
496
  constraint: "1 to 255",
516
497
  quality: "P",
517
498
  details: "Indicates the number of seconds that the lock shuts down following wrong code entry. Valid range is 1-255 seconds. Device can shut down to lock user out for specified amount of time. (Makes it difficult to try and guess a PIN for the device.) If the attribute accepts writes and an attempt to write the attribute to 0 is made, the device shall respond with CONSTRAINT_ERROR.",
518
- xref: { document: "cluster", section: "5.2.9.36" }
499
+ xref: { document: "cluster", section: "5.2.9.33" }
519
500
  }),
520
501
  (0, import_elements.AttributeElement)({
521
502
  name: "SendPinOverTheAir",
@@ -525,8 +506,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
525
506
  conformance: "[!USR & PIN]",
526
507
  default: true,
527
508
  quality: "P",
528
- details: 'Indicates the door locks ability to send PINs over the air. If the attribute is True it is ok for the door lock server to send PINs over the air. This attribute determines the behavior of the server\u2019s TX operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.\nThe PIN field within any door lock cluster message shall keep the first octet unchanged and masks the actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True, 0x04 0x31 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the attribute value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.',
529
- xref: { document: "cluster", section: "5.2.9.37" }
509
+ details: 'Indicates the door locks ability to send PINs over the air. If the attribute is True it is ok for the door lock server to send PINs over the air. This attribute determines the behavior of the server\u2019s TX operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.\nThe PIN field within any door lock cluster message shall keep the first octet unchanged and\nmasks the actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True, 0x04 0x31 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the attribute value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.',
510
+ xref: { document: "cluster", section: "5.2.9.34" }
530
511
  }),
531
512
  (0, import_elements.AttributeElement)({
532
513
  name: "RequirePinForRemoteOperation",
@@ -537,11 +518,12 @@ const DoorLock = (0, import_elements.ClusterElement)(
537
518
  default: true,
538
519
  quality: "P",
539
520
  details: "Indicates if the door lock requires an optional PIN. If this attribute is set to True, the door lock server requires that an optional PINs be included in the payload of remote lock operation events like Lock, Unlock, Unlock with Timeout and Toggle in order to function.",
540
- xref: { document: "cluster", section: "5.2.9.38" }
521
+ xref: { document: "cluster", section: "5.2.9.35" }
541
522
  }),
542
523
  (0, import_elements.AttributeElement)({
543
524
  name: "SecurityLevel",
544
525
  id: 52,
526
+ access: "R V",
545
527
  conformance: "D",
546
528
  default: "0",
547
529
  xref: { document: "cluster", section: "5.2.9" }
@@ -555,7 +537,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
555
537
  constraint: "1 to 2880",
556
538
  quality: "P",
557
539
  details: "Indicates the number of minutes a PIN, RFID, Fingerprint, or other credential associated with a user of type ExpiringUser shall remain valid after its first use before expiring. When the credential expires the UserStatus for the corresponding user record shall be set to OccupiedDisabled.",
558
- xref: { document: "cluster", section: "5.2.9.39" }
540
+ xref: { document: "cluster", section: "5.2.9.36" }
559
541
  }),
560
542
  (0, import_elements.AttributeElement)({
561
543
  name: "AlarmMask",
@@ -566,105 +548,118 @@ const DoorLock = (0, import_elements.ClusterElement)(
566
548
  default: 65535,
567
549
  quality: "P",
568
550
  details: "This attribute is only supported if the Alarms cluster is on the same endpoint. The alarm mask is used to turn on/off alarms for particular functions. Alarms for an alarm group are enabled if the associated alarm mask bit is set. Each bit represents a group of alarms. Entire alarm groups can be turned on or off by setting or clearing the associated bit in the alarm mask.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
569
- xref: { document: "cluster", section: "5.2.9.40" }
570
- }),
571
- (0, import_elements.AttributeElement)({
572
- name: "KeypadOperationEventMask",
573
- id: 65,
574
- type: "EventMaskBitmap",
575
- access: "RW VA",
576
- conformance: "[NOT & PIN]",
577
- default: 65535,
578
- quality: "P",
579
- details: "Event mask used to turn on and off the transmission of keypad operation events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Operation Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
580
- xref: { document: "cluster", section: "5.2.9.41" }
551
+ xref: { document: "cluster", section: "5.2.9.37" }
581
552
  }),
582
553
  (0, import_elements.AttributeElement)({
583
- name: "RemoteOperationEventMask",
584
- id: 66,
585
- type: "EventMaskBitmap",
586
- access: "RW VA",
587
- conformance: "[NOT]",
588
- default: 65535,
589
- quality: "P",
590
- details: "Event mask used to turn on and off the transmission of remote operation events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Operation Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
591
- xref: { document: "cluster", section: "5.2.9.42" }
554
+ name: "AliroReaderVerificationKey",
555
+ id: 128,
556
+ type: "octstr",
557
+ access: "R A",
558
+ conformance: "ALIRO",
559
+ constraint: "65",
560
+ default: null,
561
+ quality: "X",
562
+ details: "Indicates the verification key component of the Reader\u2019s key pair as defined in [Aliro]. The value, if not null, shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.\nNull if no Reader key pair has been configured on the lock. See SetAliroReaderConfig.",
563
+ xref: { document: "cluster", section: "5.2.9.38" }
592
564
  }),
593
565
  (0, import_elements.AttributeElement)({
594
- name: "ManualOperationEventMask",
595
- id: 67,
596
- type: "EventMaskBitmap",
597
- access: "RW VA",
598
- conformance: "[NOT]",
599
- default: 65535,
600
- quality: "P",
601
- details: "Event mask used to turn on and off manual operation events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Operation Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
602
- xref: { document: "cluster", section: "5.2.9.43" }
566
+ name: "AliroReaderGroupIdentifier",
567
+ id: 129,
568
+ type: "octstr",
569
+ access: "R A",
570
+ conformance: "ALIRO",
571
+ constraint: "16",
572
+ default: null,
573
+ quality: "X",
574
+ details: "Indicates the reader_group_identifier as defined in [Aliro].\nNull if no reader_group_identifier has been configured on the lock. See SetAliroReaderConfig.",
575
+ xref: { document: "cluster", section: "5.2.9.39" }
603
576
  }),
604
577
  (0, import_elements.AttributeElement)({
605
- name: "RfidOperationEventMask",
606
- id: 68,
607
- type: "EventMaskBitmap",
608
- access: "RW VA",
609
- conformance: "[NOT & RID]",
610
- default: 65535,
611
- quality: "P",
612
- details: "Event mask used to turn on and off RFID operation events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Operation Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
613
- xref: { document: "cluster", section: "5.2.9.44" }
578
+ name: "AliroReaderGroupSubIdentifier",
579
+ id: 130,
580
+ type: "octstr",
581
+ access: "R A",
582
+ conformance: "ALIRO",
583
+ constraint: "16",
584
+ quality: "F",
585
+ details: "Indicates the reader_group_sub_identifier as defined in [Aliro].",
586
+ xref: { document: "cluster", section: "5.2.9.40" }
614
587
  }),
615
588
  (0, import_elements.AttributeElement)(
616
589
  {
617
- name: "KeypadProgrammingEventMask",
618
- id: 69,
619
- type: "EventMaskBitmap",
620
- access: "RW VA",
621
- conformance: "[NOT & PIN]",
622
- default: 65535,
623
- quality: "P",
624
- details: "Event mask used to turn on and off keypad programming events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Programming Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
625
- xref: { document: "cluster", section: "5.2.9.45" }
626
- },
627
- (0, import_elements.FieldElement)({ name: "Unknown", constraint: "0" }),
628
- (0, import_elements.FieldElement)({ name: "PinCodeChanged", constraint: "1" }),
629
- (0, import_elements.FieldElement)({ name: "PinAdded", constraint: "2" }),
630
- (0, import_elements.FieldElement)({ name: "PinCleared", constraint: "3" }),
631
- (0, import_elements.FieldElement)({ name: "PinChanged", constraint: "4" })
632
- ),
633
- (0, import_elements.AttributeElement)(
634
- {
635
- name: "RemoteProgrammingEventMask",
636
- id: 70,
637
- type: "EventMaskBitmap",
638
- access: "RW VA",
639
- conformance: "[NOT]",
640
- default: 65535,
641
- quality: "P",
642
- details: "Event mask used to turn on and off remote programming events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Programming Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
643
- xref: { document: "cluster", section: "5.2.9.46" }
590
+ name: "AliroExpeditedTransactionSupportedProtocolVersions",
591
+ id: 131,
592
+ type: "list",
593
+ access: "R A",
594
+ conformance: "ALIRO",
595
+ constraint: "max 16[2]",
596
+ default: [],
597
+ quality: "F",
598
+ details: "Indicates the list of protocol versions supported for expedited transactions as defined in [Aliro].",
599
+ xref: { document: "cluster", section: "5.2.9.41" }
644
600
  },
645
- (0, import_elements.FieldElement)({ name: "Unknown", constraint: "0" }),
646
- (0, import_elements.FieldElement)({ name: "PinAdded", constraint: "2" }),
647
- (0, import_elements.FieldElement)({ name: "PinCleared", constraint: "3" }),
648
- (0, import_elements.FieldElement)({ name: "PinChanged", constraint: "4" }),
649
- (0, import_elements.FieldElement)({ name: "RfidCodeAdded", constraint: "5" }),
650
- (0, import_elements.FieldElement)({ name: "RfidCodeCleared", constraint: "6" })
601
+ (0, import_elements.FieldElement)({ name: "entry", type: "octstr" })
651
602
  ),
603
+ (0, import_elements.AttributeElement)({
604
+ name: "AliroGroupResolvingKey",
605
+ id: 132,
606
+ type: "octstr",
607
+ access: "R A",
608
+ conformance: "ALBU",
609
+ constraint: "16",
610
+ default: null,
611
+ quality: "X",
612
+ details: "Indicates the Group Resolving Key as defined in [Aliro].\nNull if no group resolving key has been configured on the lock. See SetAliroReaderConfig.",
613
+ xref: { document: "cluster", section: "5.2.9.42" }
614
+ }),
652
615
  (0, import_elements.AttributeElement)(
653
616
  {
654
- name: "RfidProgrammingEventMask",
655
- id: 71,
656
- type: "EventMaskBitmap",
657
- access: "RW VA",
658
- conformance: "[NOT & RID]",
659
- default: 65535,
660
- quality: "P",
661
- details: "Event mask used to turn on and off RFID programming events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Programming Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
662
- xref: { document: "cluster", section: "5.2.9.47" }
617
+ name: "AliroSupportedBleuwbProtocolVersions",
618
+ id: 133,
619
+ type: "list",
620
+ access: "R A",
621
+ conformance: "ALBU",
622
+ constraint: "max 16[2]",
623
+ default: [],
624
+ quality: "F",
625
+ details: "Indicates the list of protocol versions supported for the Bluetooth LE + UWB Access Control Flow as defined in [Aliro].",
626
+ xref: { document: "cluster", section: "5.2.9.43" }
663
627
  },
664
- (0, import_elements.FieldElement)({ name: "Unknown", constraint: "0" }),
665
- (0, import_elements.FieldElement)({ name: "IdAdded", constraint: "5" }),
666
- (0, import_elements.FieldElement)({ name: "IdCleared", constraint: "6" })
628
+ (0, import_elements.FieldElement)({ name: "entry", type: "octstr" })
667
629
  ),
630
+ (0, import_elements.AttributeElement)({
631
+ name: "AliroBleAdvertisingVersion",
632
+ id: 134,
633
+ type: "uint8",
634
+ access: "R A",
635
+ conformance: "ALBU",
636
+ default: 0,
637
+ quality: "F",
638
+ details: "Indicates the version of the Bluetooth LE advertisement as defined in [Aliro].",
639
+ xref: { document: "cluster", section: "5.2.9.44" }
640
+ }),
641
+ (0, import_elements.AttributeElement)({
642
+ name: "NumberOfAliroCredentialIssuerKeysSupported",
643
+ id: 135,
644
+ type: "uint16",
645
+ access: "R V",
646
+ conformance: "ALIRO",
647
+ default: 0,
648
+ quality: "F",
649
+ details: "Indicates the maximum number of AliroCredentialIssuerKey credentials that can be stored on the lock.",
650
+ xref: { document: "cluster", section: "5.2.9.45" }
651
+ }),
652
+ (0, import_elements.AttributeElement)({
653
+ name: "NumberOfAliroEndpointKeysSupported",
654
+ id: 136,
655
+ type: "uint16",
656
+ access: "R V",
657
+ conformance: "ALIRO",
658
+ default: 0,
659
+ quality: "F",
660
+ details: "Indicates the maximum number of endpoint key credentials that can be stored on the lock. This limit applies to the sum of the number of AliroEvictableEndpointKey credentials and the number of AliroNonEvictableEndpointKey credentials.\nNOTE\nThe credential indices used for these two credential types are independent of each other, similar to all other credential types. As long as NumberOfAliroEndpointKeysSupported is at least 2 a client could add a credential of type AliroEvictableEndpointKey at any index from 1 to NumberOfAliroEndpointKeysSupported and also add a credential of type AliroNonEvictableEndpointKey at the same index, and both credentials would exist on the server.",
661
+ xref: { document: "cluster", section: "5.2.9.46" }
662
+ }),
668
663
  (0, import_elements.EventElement)(
669
664
  {
670
665
  name: "DoorLockAlarm",
@@ -710,7 +705,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
710
705
  access: "V",
711
706
  conformance: "M",
712
707
  priority: "critical",
713
- details: "The door lock server sends out a LockOperation event when the event is triggered by the various lock operation sources.\n \u2022 If the door lock server supports the Unbolt Door command, it shall generate a LockOperation event with LockOperationType set to Unlock after an Unbolt Door command succeeds.\n \u2022 If the door lock server supports the Unbolting feature and an Unlock Door command is performed, it shall generate a LockOperation event with LockOperationType set to Unlatch when the unlatched state is reached and a LockOperation event with LockOperationType set to Unlock when the lock successfully completes the unlock \u2192 hold latch \u2192 release latch and return to unlock state operation.\n \u2022 If the command fails during holding or releasing the latch but after passing the unlocked state, the door lock server shall generate a LockOperationError event with LockOperationType set to Unlatch and a LockOperation event with LockOperationType set to Unlock.\n \u25E6 If it fails before reaching the unlocked state, the door lock server shall generate only a LockOperationError event with LockOperationType set to Unlock.\n \u2022 Upon manual actuation, a door lock server that supports the Unbolting feature:\n \u25E6 shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the outside.\n \u25E6 may generate a LockOperation event of LockOperationType Unlatch when it is actuated from the inside.",
708
+ details: "The door lock server sends out a LockOperation event when the event is triggered by the various lock operation sources.\n \u2022 If the door lock server supports the Unbolt Door command, it shall generate a LockOperation event with LockOperationType set to Unlock after an Unbolt Door command succeeds.\n \u2022 If the door lock server supports the Unbolting feature and an Unlock Door command is performed, it shall generate a LockOperation event with LockOperationType set to Unlatch when the unlatched state is reached and a LockOperation event with LockOperationType set to Unlock when the lock successfully completes the unlock \u2192 hold latch \u2192 release latch and return to unlock state operation.\n \u2022 If the command fails during holding or releasing the latch but after passing the unlocked state, the door lock server shall generate a LockOperationError event with LockOperationType set to Unlatch and a LockOperation event with LockOperationType set to Unlock.\n \u25E6 If it fails before reaching the unlocked state, the door lock server shall generate only a LockOperationError event with LockOperationType set to Unlock.\n \u2022 Upon manual actuation, a door lock server that supports the Unbolting feature:\n \u25E6 shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the outside.\n \u25E6 may generate a LockOperation event of LockOperationType Unlatch when it is actuated\nfrom the inside.",
714
709
  xref: { document: "cluster", section: "5.2.11.3" }
715
710
  },
716
711
  (0, import_elements.FieldElement)({
@@ -876,7 +871,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
876
871
  id: 2,
877
872
  type: "OperationSourceEnum",
878
873
  conformance: "M",
879
- constraint: "unspecified, keypad, remote",
874
+ constraint: "aliro, unspecified, keypad, remote",
880
875
  details: "This field shall indicate the source of the user data change.",
881
876
  xref: { document: "cluster", section: "5.2.11.5.3" }
882
877
  }),
@@ -925,7 +920,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
925
920
  conformance: "M",
926
921
  direction: "request",
927
922
  response: "status",
928
- details: "This command causes the lock device to lock the door. This command includes an optional code for the lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation attribute.\n\u2020 The PIN/RFID Code is an obsolete field name, use PINCode instead.",
923
+ details: "This command causes the lock device to lock the door. This command includes an optional code for the lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation attribute.",
929
924
  xref: { document: "cluster", section: "5.2.10.1" }
930
925
  },
931
926
  (0, import_elements.FieldElement)({
@@ -945,7 +940,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
945
940
  conformance: "M",
946
941
  direction: "request",
947
942
  response: "status",
948
- details: "This command causes the lock device to unlock the door. This command includes an optional code for the lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation attribute.\nNOTE\nIf the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto relock time has expired.\n\u2020 The PIN/RFID Code is an obsolete field name, use PINCode instead.",
943
+ details: "This command causes the lock device to unlock the door. This command includes an optional code for the lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation attribute.\nNOTE\nIf the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto relock time has expired.",
949
944
  xref: { document: "cluster", section: "5.2.10.2" }
950
945
  },
951
946
  (0, import_elements.FieldElement)({
@@ -974,7 +969,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
974
969
  conformance: "O",
975
970
  direction: "request",
976
971
  response: "status",
977
- details: "This command causes the lock device to unlock the door with a timeout parameter. After the time in seconds specified in the timeout field, the lock device will relock itself automatically. This timeout parameter is only temporary for this message transition and overrides the default relock time\nas specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want to support temporary Relock Timeout, it SHOULD NOT support this optional command.\n\u2020 The PIN/RFID Code is an obsolete field name, use PINCode instead.",
972
+ details: "This command causes the lock device to unlock the door with a timeout parameter. After the time in seconds specified in the timeout field, the lock device will relock itself automatically. This timeout parameter is only temporary for this message transition and overrides the default relock time as specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want to support temporary Relock Timeout, it SHOULD NOT support this optional command.",
978
973
  xref: { document: "cluster", section: "5.2.10.3" }
979
974
  },
980
975
  (0, import_elements.FieldElement)({
@@ -994,88 +989,6 @@ const DoorLock = (0, import_elements.ClusterElement)(
994
989
  xref: { document: "cluster", section: "5.2.10.3.2" }
995
990
  })
996
991
  ),
997
- (0, import_elements.CommandElement)(
998
- {
999
- name: "GetLogRecord",
1000
- id: 4,
1001
- access: "M",
1002
- conformance: "LOG",
1003
- direction: "request",
1004
- response: "GetLogRecordResponse",
1005
- details: "Request a log record. Log number is between 1 \u2013 [Number of Log Records Supported attribute]. If log number 0 is requested then the most recent log entry is returned.\nLog record format: The log record format is defined in the description of the GetLogRecordResponse command.",
1006
- xref: { document: "cluster", section: "5.2.10.4" }
1007
- },
1008
- (0, import_elements.FieldElement)({ name: "LogIndex", id: 0, type: "uint16", conformance: "M", constraint: "desc" })
1009
- ),
1010
- (0, import_elements.CommandElement)(
1011
- {
1012
- name: "GetLogRecordResponse",
1013
- id: 4,
1014
- conformance: "LOG",
1015
- direction: "response",
1016
- details: "Returns the specified log record. If an invalid log entry ID was requested, it is set to 0 and the most recent log entry will be returned.",
1017
- xref: { document: "cluster", section: "5.2.10.5" }
1018
- },
1019
- (0, import_elements.FieldElement)({
1020
- name: "LogEntryId",
1021
- id: 0,
1022
- type: "uint16",
1023
- conformance: "M",
1024
- constraint: "desc",
1025
- details: "This field shall indicate the index into the log table where this log entry is stored. If the log entry requested is 0, the most recent log is returned with the appropriate log entry ID.",
1026
- xref: { document: "cluster", section: "5.2.10.5.1" }
1027
- }),
1028
- (0, import_elements.FieldElement)({
1029
- name: "Timestamp",
1030
- id: 1,
1031
- type: "epoch-s",
1032
- conformance: "M",
1033
- details: "This field shall indicate the timestamp for all events and alarms on the door lock in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day of the event.",
1034
- xref: { document: "cluster", section: "5.2.10.5.2" }
1035
- }),
1036
- (0, import_elements.FieldElement)({
1037
- name: "EventType",
1038
- id: 2,
1039
- type: "EventTypeEnum",
1040
- conformance: "M",
1041
- details: "This field shall indicate the type of event that took place on the door lock, as defined in EventTypeEnum.",
1042
- xref: { document: "cluster", section: "5.2.10.5.3" }
1043
- }),
1044
- (0, import_elements.FieldElement)({
1045
- name: "Source",
1046
- id: 3,
1047
- type: "EventSourceEnum",
1048
- conformance: "M",
1049
- details: "This field shall indicate the source value as defined in EventSourceEnum.\nIf the EventType is 2 (Alarm) then the source SHOULD be, but does not have to be 255 (Indeterminate).",
1050
- xref: { document: "cluster", section: "5.2.10.5.4" }
1051
- }),
1052
- (0, import_elements.FieldElement)({
1053
- name: "EventId",
1054
- id: 4,
1055
- type: "uint8",
1056
- conformance: "M",
1057
- constraint: "desc",
1058
- details: "This field shall indicate the type of event that took place on the door lock depending on the event code table provided for a given event type and source. See Operation Event Codes.",
1059
- xref: { document: "cluster", section: "5.2.10.5.5" }
1060
- }),
1061
- (0, import_elements.FieldElement)({
1062
- name: "UserId",
1063
- id: 5,
1064
- type: "uint16",
1065
- conformance: "M",
1066
- constraint: "desc",
1067
- details: "This field shall indicate the ID of the user who generated the event on the door lock if one is available. Otherwise, the value is 0xFFFF.",
1068
- xref: { document: "cluster", section: "5.2.10.5.6" }
1069
- }),
1070
- (0, import_elements.FieldElement)({
1071
- name: "Pin",
1072
- id: 6,
1073
- type: "octstr",
1074
- conformance: "M",
1075
- details: "This field shall indicate the PIN code or RFID code that was used to create the event on the door lock if one is available.",
1076
- xref: { document: "cluster", section: "5.2.10.5.7" }
1077
- })
1078
- ),
1079
992
  (0, import_elements.CommandElement)(
1080
993
  {
1081
994
  name: "SetPinCode",
@@ -1085,7 +998,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1085
998
  direction: "request",
1086
999
  response: "status",
1087
1000
  details: "Set a PIN Code into the lock.\nReturn status is a global status code or a cluster-specific status code from the Status Codes table and shall be one of the following values:",
1088
- xref: { document: "cluster", section: "5.2.10.6" }
1001
+ xref: { document: "cluster", section: "5.2.10.4" }
1089
1002
  },
1090
1003
  (0, import_elements.FieldElement)({
1091
1004
  name: "UserId",
@@ -1094,7 +1007,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1094
1007
  conformance: "M",
1095
1008
  constraint: "desc",
1096
1009
  details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
1097
- xref: { document: "cluster", section: "5.2.10.6.1" }
1010
+ xref: { document: "cluster", section: "5.2.10.4.1" }
1098
1011
  }),
1099
1012
  (0, import_elements.FieldElement)({
1100
1013
  name: "UserStatus",
@@ -1105,7 +1018,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1105
1018
  default: 1,
1106
1019
  quality: "X",
1107
1020
  details: "This field shall indicate the user status. Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.",
1108
- xref: { document: "cluster", section: "5.2.10.6.2" }
1021
+ xref: { document: "cluster", section: "5.2.10.4.2" }
1109
1022
  }),
1110
1023
  (0, import_elements.FieldElement)({ name: "UserType", id: 2, type: "UserTypeEnum", conformance: "M", default: 0, quality: "X" }),
1111
1024
  (0, import_elements.FieldElement)({ name: "Pin", id: 3, type: "octstr", conformance: "M" })
@@ -1119,7 +1032,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1119
1032
  direction: "request",
1120
1033
  response: "GetPinCodeResponse",
1121
1034
  details: "Retrieve a PIN Code.",
1122
- xref: { document: "cluster", section: "5.2.10.7" }
1035
+ xref: { document: "cluster", section: "5.2.10.5" }
1123
1036
  },
1124
1037
  (0, import_elements.FieldElement)({
1125
1038
  name: "UserId",
@@ -1128,7 +1041,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1128
1041
  conformance: "M",
1129
1042
  constraint: "desc",
1130
1043
  details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
1131
- xref: { document: "cluster", section: "5.2.10.7.1" }
1044
+ xref: { document: "cluster", section: "5.2.10.5.1" }
1132
1045
  })
1133
1046
  ),
1134
1047
  (0, import_elements.CommandElement)(
@@ -1138,7 +1051,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1138
1051
  conformance: "!USR & PIN",
1139
1052
  direction: "response",
1140
1053
  details: "Returns the PIN for the specified user ID.\nIf the requested UserID is valid and the Code doesn\u2019t exist, Get RFID Code Response shall have the following format:\nUserID = requested User ID UserStatus = 0 (Available) UserType = Null (Not supported) PINCode = 0 (zero length)\nIf the requested UserID is invalid, send Default Response with an error status. The error status shall be equal to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than or equal to the max number of users supported.",
1141
- xref: { document: "cluster", section: "5.2.10.8" }
1054
+ xref: { document: "cluster", section: "5.2.10.6" }
1142
1055
  },
1143
1056
  (0, import_elements.FieldElement)({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" }),
1144
1057
  (0, import_elements.FieldElement)({
@@ -1161,8 +1074,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1161
1074
  conformance: "!USR & PIN",
1162
1075
  direction: "request",
1163
1076
  response: "status",
1164
- details: "Clear a PIN code or all PIN codes.\n\u2020 The User ID is an obsolete field name, use PINSlotIndex instead.\nFor each PIN Code cleared whose user doesn\u2019t have a RFID Code or other credential type, then corresponding user record\u2019s UserStatus value shall be set to Available, and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.",
1165
- xref: { document: "cluster", section: "5.2.10.9" }
1077
+ details: "Clear a PIN code or all PIN codes.\nFor each PIN Code cleared whose user doesn\u2019t have a RFID Code or other credential type, then corresponding user record\u2019s UserStatus value shall be set to Available, and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.",
1078
+ xref: { document: "cluster", section: "5.2.10.7" }
1166
1079
  },
1167
1080
  (0, import_elements.FieldElement)({
1168
1081
  name: "PinSlotIndex",
@@ -1171,7 +1084,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1171
1084
  conformance: "M",
1172
1085
  constraint: "1 to numberOfPinUsersSupported, 65534",
1173
1086
  details: "This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall be cleared.",
1174
- xref: { document: "cluster", section: "5.2.10.9.1" }
1087
+ xref: { document: "cluster", section: "5.2.10.7.1" }
1175
1088
  })
1176
1089
  ),
1177
1090
  (0, import_elements.CommandElement)({
@@ -1182,7 +1095,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1182
1095
  direction: "request",
1183
1096
  response: "status",
1184
1097
  details: "Clear out all PINs on the lock.\nNOTE\nOn the server, the clear all PIN codes command SHOULD have the same effect as the ClearPINCode command with respect to the setting of user status, user type and schedules.",
1185
- xref: { document: "cluster", section: "5.2.10.10" }
1098
+ xref: { document: "cluster", section: "5.2.10.8" }
1186
1099
  }),
1187
1100
  (0, import_elements.CommandElement)(
1188
1101
  {
@@ -1193,7 +1106,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1193
1106
  direction: "request",
1194
1107
  response: "status",
1195
1108
  details: "Set the status of a user ID.",
1196
- xref: { document: "cluster", section: "5.2.10.11" }
1109
+ xref: { document: "cluster", section: "5.2.10.9" }
1197
1110
  },
1198
1111
  (0, import_elements.FieldElement)({
1199
1112
  name: "UserId",
@@ -1202,7 +1115,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1202
1115
  conformance: "M",
1203
1116
  constraint: "desc",
1204
1117
  details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
1205
- xref: { document: "cluster", section: "5.2.10.11.1" }
1118
+ xref: { document: "cluster", section: "5.2.10.9.1" }
1206
1119
  }),
1207
1120
  (0, import_elements.FieldElement)({
1208
1121
  name: "UserStatus",
@@ -1211,7 +1124,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1211
1124
  conformance: "M",
1212
1125
  constraint: "desc",
1213
1126
  details: "UserStatus value of Available is not allowed. In order to clear a user id, the ClearUser Command shall be used. For user status value please refer to UserStatusEnum.",
1214
- xref: { document: "cluster", section: "5.2.10.11.2" }
1127
+ xref: { document: "cluster", section: "5.2.10.9.2" }
1215
1128
  })
1216
1129
  ),
1217
1130
  (0, import_elements.CommandElement)(
@@ -1223,7 +1136,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1223
1136
  direction: "request",
1224
1137
  response: "GetUserStatusResponse",
1225
1138
  details: "Get the status of a user.",
1226
- xref: { document: "cluster", section: "5.2.10.12" }
1139
+ xref: { document: "cluster", section: "5.2.10.10" }
1227
1140
  },
1228
1141
  (0, import_elements.FieldElement)({
1229
1142
  name: "UserId",
@@ -1232,7 +1145,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1232
1145
  conformance: "M",
1233
1146
  constraint: "desc",
1234
1147
  details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
1235
- xref: { document: "cluster", section: "5.2.10.12.1" }
1148
+ xref: { document: "cluster", section: "5.2.10.10.1" }
1236
1149
  })
1237
1150
  ),
1238
1151
  (0, import_elements.CommandElement)(
@@ -1242,7 +1155,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1242
1155
  conformance: "!USR",
1243
1156
  direction: "response",
1244
1157
  details: "Returns the user status for the specified user ID.",
1245
- xref: { document: "cluster", section: "5.2.10.13" }
1158
+ xref: { document: "cluster", section: "5.2.10.11" }
1246
1159
  },
1247
1160
  (0, import_elements.FieldElement)({
1248
1161
  name: "UserId",
@@ -1251,7 +1164,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1251
1164
  conformance: "M",
1252
1165
  constraint: "desc",
1253
1166
  details: "This field shall indicate the user ID provided in the request.",
1254
- xref: { document: "cluster", section: "5.2.10.13.1" }
1167
+ xref: { document: "cluster", section: "5.2.10.11.1" }
1255
1168
  }),
1256
1169
  (0, import_elements.FieldElement)({
1257
1170
  name: "UserStatus",
@@ -1259,7 +1172,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1259
1172
  type: "UserStatusEnum",
1260
1173
  conformance: "M",
1261
1174
  details: "This field shall indicate the current status of the requested user ID.",
1262
- xref: { document: "cluster", section: "5.2.10.13.2" }
1175
+ xref: { document: "cluster", section: "5.2.10.11.2" }
1263
1176
  })
1264
1177
  ),
1265
1178
  (0, import_elements.CommandElement)(
@@ -1270,8 +1183,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1270
1183
  conformance: "WDSCH",
1271
1184
  direction: "request",
1272
1185
  response: "status",
1273
- details: "Set a weekly repeating schedule for a specified user.\n\u2020 The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, respectively.\nThe associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day schedule is set.\nReturn status shall be one of the following values:",
1274
- xref: { document: "cluster", section: "5.2.10.14" }
1186
+ details: "Set a weekly repeating schedule for a specified user.\nThe associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day schedule is set.\nReturn status shall be one of the following values:",
1187
+ xref: { document: "cluster", section: "5.2.10.12" }
1275
1188
  },
1276
1189
  (0, import_elements.FieldElement)({
1277
1190
  name: "WeekDayIndex",
@@ -1280,14 +1193,16 @@ const DoorLock = (0, import_elements.ClusterElement)(
1280
1193
  conformance: "M",
1281
1194
  constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser",
1282
1195
  details: "This field shall indicate the index of the Week Day schedule.",
1283
- xref: { document: "cluster", section: "5.2.10.14.1" }
1196
+ xref: { document: "cluster", section: "5.2.10.12.1" }
1284
1197
  }),
1285
1198
  (0, import_elements.FieldElement)({
1286
- name: "UserIndexUserId",
1199
+ name: "UserIndex",
1287
1200
  id: 1,
1288
1201
  type: "uint16",
1289
1202
  conformance: "M",
1290
- constraint: "1 to numberOfTotalUsersSupported"
1203
+ constraint: "1 to numberOfTotalUsersSupported",
1204
+ details: "This field shall indicate the user ID.",
1205
+ xref: { document: "cluster", section: "5.2.10.12.2" }
1291
1206
  }),
1292
1207
  (0, import_elements.FieldElement)({
1293
1208
  name: "DaysMask",
@@ -1295,43 +1210,43 @@ const DoorLock = (0, import_elements.ClusterElement)(
1295
1210
  type: "DaysMaskBitmap",
1296
1211
  conformance: "M",
1297
1212
  details: "This field shall indicate which week days the schedule is active.",
1298
- xref: { document: "cluster", section: "5.2.10.14.3" }
1213
+ xref: { document: "cluster", section: "5.2.10.12.3" }
1299
1214
  }),
1300
1215
  (0, import_elements.FieldElement)({
1301
1216
  name: "StartHour",
1302
1217
  id: 3,
1303
1218
  type: "uint8",
1304
1219
  conformance: "M",
1305
- constraint: "0 to 23",
1220
+ constraint: "max 23",
1306
1221
  details: "This field shall indicate the starting hour for the Week Day schedule.",
1307
- xref: { document: "cluster", section: "5.2.10.14.4" }
1222
+ xref: { document: "cluster", section: "5.2.10.12.4" }
1308
1223
  }),
1309
1224
  (0, import_elements.FieldElement)({
1310
1225
  name: "StartMinute",
1311
1226
  id: 4,
1312
1227
  type: "uint8",
1313
1228
  conformance: "M",
1314
- constraint: "0 to 59",
1229
+ constraint: "max 59",
1315
1230
  details: "This field shall indicate the starting minute for the Week Day schedule.",
1316
- xref: { document: "cluster", section: "5.2.10.14.5" }
1231
+ xref: { document: "cluster", section: "5.2.10.12.5" }
1317
1232
  }),
1318
1233
  (0, import_elements.FieldElement)({
1319
1234
  name: "EndHour",
1320
1235
  id: 5,
1321
1236
  type: "uint8",
1322
1237
  conformance: "M",
1323
- constraint: "0 to 23",
1238
+ constraint: "max 23",
1324
1239
  details: "This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater than StartHour.",
1325
- xref: { document: "cluster", section: "5.2.10.14.6" }
1240
+ xref: { document: "cluster", section: "5.2.10.12.6" }
1326
1241
  }),
1327
1242
  (0, import_elements.FieldElement)({
1328
1243
  name: "EndMinute",
1329
1244
  id: 6,
1330
1245
  type: "uint8",
1331
1246
  conformance: "M",
1332
- constraint: "0 to 59",
1247
+ constraint: "max 59",
1333
1248
  details: "This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then EndMinute shall be greater than StartMinute.\nIf the EndHour is equal to 23 and the EndMinute is equal to 59 the Lock shall grant access to the user up until 23:59:59.",
1334
- xref: { document: "cluster", section: "5.2.10.14.7" }
1249
+ xref: { document: "cluster", section: "5.2.10.12.7" }
1335
1250
  })
1336
1251
  ),
1337
1252
  (0, import_elements.CommandElement)(
@@ -1342,8 +1257,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1342
1257
  conformance: "WDSCH",
1343
1258
  direction: "request",
1344
1259
  response: "GetWeekDayScheduleResponse",
1345
- details: "Retrieve the specific weekly schedule for the specific user.\n\u2020 The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, respectively.",
1346
- xref: { document: "cluster", section: "5.2.10.15" }
1260
+ details: "Retrieve the specific weekly schedule for the specific user.",
1261
+ xref: { document: "cluster", section: "5.2.10.13" }
1347
1262
  },
1348
1263
  (0, import_elements.FieldElement)({
1349
1264
  name: "WeekDayIndex",
@@ -1353,7 +1268,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1353
1268
  constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser"
1354
1269
  }),
1355
1270
  (0, import_elements.FieldElement)({
1356
- name: "UserIndexUserId",
1271
+ name: "UserIndex",
1357
1272
  id: 1,
1358
1273
  type: "uint16",
1359
1274
  conformance: "M",
@@ -1366,8 +1281,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1366
1281
  id: 12,
1367
1282
  conformance: "WDSCH",
1368
1283
  direction: "response",
1369
- details: "Returns the weekly repeating schedule data for the specified schedule index.\n\u2020 The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, respectively.",
1370
- xref: { document: "cluster", section: "5.2.10.16" }
1284
+ details: "Returns the weekly repeating schedule data for the specified schedule index.",
1285
+ xref: { document: "cluster", section: "5.2.10.14" }
1371
1286
  },
1372
1287
  (0, import_elements.FieldElement)({
1373
1288
  name: "WeekDayIndex",
@@ -1376,14 +1291,16 @@ const DoorLock = (0, import_elements.ClusterElement)(
1376
1291
  conformance: "M",
1377
1292
  constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser",
1378
1293
  details: "This field shall indicate the index of the Week Day schedule.",
1379
- xref: { document: "cluster", section: "5.2.10.16.1" }
1294
+ xref: { document: "cluster", section: "5.2.10.14.1" }
1380
1295
  }),
1381
1296
  (0, import_elements.FieldElement)({
1382
- name: "UserIndexUserId",
1297
+ name: "UserIndex",
1383
1298
  id: 1,
1384
1299
  type: "uint16",
1385
1300
  conformance: "M",
1386
- constraint: "1 to numberOfTotalUsersSupported"
1301
+ constraint: "1 to numberOfTotalUsersSupported",
1302
+ details: "This field shall indicate the user ID.",
1303
+ xref: { document: "cluster", section: "5.2.10.14.2" }
1387
1304
  }),
1388
1305
  (0, import_elements.FieldElement)({
1389
1306
  name: "Status",
@@ -1393,7 +1310,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1393
1310
  constraint: "desc",
1394
1311
  default: 0,
1395
1312
  details: "Status shall be one of the following values:\n \u2022 SUCCESS if both WeekDayIndex and UserIndex are valid and there is a corresponding schedule entry.\n \u2022 INVALID_COMMAND if either WeekDayIndex and/or UserIndex values are not within valid range\n \u2022 NOT_FOUND if no corresponding schedule entry found for WeekDayIndex.\n \u2022 NOT_FOUND if no corresponding user entry found for UserIndex.\nIf this field is SUCCESS, the optional fields for this command shall be present. For other (error) status values, only the fields up to the status field shall be present.",
1396
- xref: { document: "cluster", section: "5.2.10.16.3" }
1313
+ xref: { document: "cluster", section: "5.2.10.14.3" }
1397
1314
  }),
1398
1315
  (0, import_elements.FieldElement)({ name: "DaysMask", id: 3, type: "DaysMaskBitmap", conformance: "O" }),
1399
1316
  (0, import_elements.FieldElement)({
@@ -1401,36 +1318,36 @@ const DoorLock = (0, import_elements.ClusterElement)(
1401
1318
  id: 4,
1402
1319
  type: "uint8",
1403
1320
  conformance: "O",
1404
- constraint: "0 to 23",
1321
+ constraint: "max 23",
1405
1322
  details: "This field shall indicate the starting hour for the Week Day schedule.",
1406
- xref: { document: "cluster", section: "5.2.10.16.4" }
1323
+ xref: { document: "cluster", section: "5.2.10.14.4" }
1407
1324
  }),
1408
1325
  (0, import_elements.FieldElement)({
1409
1326
  name: "StartMinute",
1410
1327
  id: 5,
1411
1328
  type: "uint8",
1412
1329
  conformance: "O",
1413
- constraint: "0 to 59",
1330
+ constraint: "max 59",
1414
1331
  details: "This field shall indicate the starting minute for the Week Day schedule.",
1415
- xref: { document: "cluster", section: "5.2.10.16.5" }
1332
+ xref: { document: "cluster", section: "5.2.10.14.5" }
1416
1333
  }),
1417
1334
  (0, import_elements.FieldElement)({
1418
1335
  name: "EndHour",
1419
1336
  id: 6,
1420
1337
  type: "uint8",
1421
1338
  conformance: "O",
1422
- constraint: "0 to 23",
1339
+ constraint: "max 23",
1423
1340
  details: "This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater than StartHour.",
1424
- xref: { document: "cluster", section: "5.2.10.16.6" }
1341
+ xref: { document: "cluster", section: "5.2.10.14.6" }
1425
1342
  }),
1426
1343
  (0, import_elements.FieldElement)({
1427
1344
  name: "EndMinute",
1428
1345
  id: 7,
1429
1346
  type: "uint8",
1430
1347
  conformance: "O",
1431
- constraint: "0 to 59",
1348
+ constraint: "max 59",
1432
1349
  details: "This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then EndMinute shall be greater than StartMinute.",
1433
- xref: { document: "cluster", section: "5.2.10.16.7" }
1350
+ xref: { document: "cluster", section: "5.2.10.14.7" }
1434
1351
  })
1435
1352
  ),
1436
1353
  (0, import_elements.CommandElement)(
@@ -1441,8 +1358,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1441
1358
  conformance: "WDSCH",
1442
1359
  direction: "request",
1443
1360
  response: "status",
1444
- details: "Clear the specific weekly schedule or all weekly schedules for the specific user.\n\u2020 The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, respectively.\nReturn status shall be one of the following values:",
1445
- xref: { document: "cluster", section: "5.2.10.17" }
1361
+ details: "Clear the specific weekly schedule or all weekly schedules for the specific user.\nReturn status shall be one of the following values:",
1362
+ xref: { document: "cluster", section: "5.2.10.15" }
1446
1363
  },
1447
1364
  (0, import_elements.FieldElement)({
1448
1365
  name: "WeekDayIndex",
@@ -1451,14 +1368,16 @@ const DoorLock = (0, import_elements.ClusterElement)(
1451
1368
  conformance: "M",
1452
1369
  constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser, 254",
1453
1370
  details: "This field shall indicate the Week Day schedule index to clear or 0xFE to clear all Week Day schedules for the specified user.",
1454
- xref: { document: "cluster", section: "5.2.10.17.1" }
1371
+ xref: { document: "cluster", section: "5.2.10.15.1" }
1455
1372
  }),
1456
1373
  (0, import_elements.FieldElement)({
1457
- name: "UserIndexUserId",
1374
+ name: "UserIndex",
1458
1375
  id: 1,
1459
1376
  type: "uint16",
1460
1377
  conformance: "M",
1461
- constraint: "1 to numberOfTotalUsersSupported"
1378
+ constraint: "1 to numberOfTotalUsersSupported",
1379
+ details: "This field shall indicate the user ID.",
1380
+ xref: { document: "cluster", section: "5.2.10.15.2" }
1462
1381
  })
1463
1382
  ),
1464
1383
  (0, import_elements.CommandElement)(
@@ -1469,8 +1388,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1469
1388
  conformance: "YDSCH",
1470
1389
  direction: "request",
1471
1390
  response: "status",
1472
- details: "Set a time-specific schedule ID for a specified user.\n\u2020 The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, respectively.\nThe associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day schedule is set.\nReturn status shall be one of the following values:",
1473
- xref: { document: "cluster", section: "5.2.10.18" }
1391
+ details: "Set a time-specific schedule ID for a specified user.\nThe associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day schedule is set.\nReturn status shall be one of the following values:",
1392
+ xref: { document: "cluster", section: "5.2.10.16" }
1474
1393
  },
1475
1394
  (0, import_elements.FieldElement)({
1476
1395
  name: "YearDayIndex",
@@ -1479,14 +1398,16 @@ const DoorLock = (0, import_elements.ClusterElement)(
1479
1398
  conformance: "M",
1480
1399
  constraint: "1 to numberOfYearDaySchedulesSupportedPerUser",
1481
1400
  details: "This field shall indicate the index of the Year Day schedule.",
1482
- xref: { document: "cluster", section: "5.2.10.18.1" }
1401
+ xref: { document: "cluster", section: "5.2.10.16.1" }
1483
1402
  }),
1484
1403
  (0, import_elements.FieldElement)({
1485
- name: "UserIndexUserId",
1404
+ name: "UserIndex",
1486
1405
  id: 1,
1487
1406
  type: "uint16",
1488
1407
  conformance: "M",
1489
- constraint: "1 to numberOfTotalUsersSupported"
1408
+ constraint: "1 to numberOfTotalUsersSupported",
1409
+ details: "This field shall indicate the user ID.",
1410
+ xref: { document: "cluster", section: "5.2.10.16.2" }
1490
1411
  }),
1491
1412
  (0, import_elements.FieldElement)({
1492
1413
  name: "LocalStartTime",
@@ -1494,7 +1415,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1494
1415
  type: "epoch-s",
1495
1416
  conformance: "M",
1496
1417
  details: "This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value.",
1497
- xref: { document: "cluster", section: "5.2.10.18.3" }
1418
+ xref: { document: "cluster", section: "5.2.10.16.3" }
1498
1419
  }),
1499
1420
  (0, import_elements.FieldElement)({
1500
1421
  name: "LocalEndTime",
@@ -1502,7 +1423,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1502
1423
  type: "epoch-s",
1503
1424
  conformance: "M",
1504
1425
  details: "This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime.",
1505
- xref: { document: "cluster", section: "5.2.10.18.4" }
1426
+ xref: { document: "cluster", section: "5.2.10.16.4" }
1506
1427
  })
1507
1428
  ),
1508
1429
  (0, import_elements.CommandElement)(
@@ -1513,8 +1434,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1513
1434
  conformance: "YDSCH",
1514
1435
  direction: "request",
1515
1436
  response: "GetYearDayScheduleResponse",
1516
- details: "Retrieve the specific year day schedule for the specific schedule and user indexes.\n\u2020 The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, respectively.",
1517
- xref: { document: "cluster", section: "5.2.10.19" }
1437
+ details: "Retrieve the specific year day schedule for the specific schedule and user indexes.",
1438
+ xref: { document: "cluster", section: "5.2.10.17" }
1518
1439
  },
1519
1440
  (0, import_elements.FieldElement)({
1520
1441
  name: "YearDayIndex",
@@ -1524,7 +1445,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1524
1445
  constraint: "1 to numberOfYearDaySchedulesSupportedPerUser"
1525
1446
  }),
1526
1447
  (0, import_elements.FieldElement)({
1527
- name: "UserIndexUserId",
1448
+ name: "UserIndex",
1528
1449
  id: 1,
1529
1450
  type: "uint16",
1530
1451
  conformance: "M",
@@ -1537,8 +1458,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1537
1458
  id: 15,
1538
1459
  conformance: "YDSCH",
1539
1460
  direction: "response",
1540
- details: "Returns the year day schedule data for the specified schedule and user indexes.\n\u2020 The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, respectively.",
1541
- xref: { document: "cluster", section: "5.2.10.20" }
1461
+ details: "Returns the year day schedule data for the specified schedule and user indexes.",
1462
+ xref: { document: "cluster", section: "5.2.10.18" }
1542
1463
  },
1543
1464
  (0, import_elements.FieldElement)({
1544
1465
  name: "YearDayIndex",
@@ -1547,14 +1468,16 @@ const DoorLock = (0, import_elements.ClusterElement)(
1547
1468
  conformance: "M",
1548
1469
  constraint: "1 to numberOfYearDaySchedulesSupportedPerUser",
1549
1470
  details: "This field shall indicate the index of the Year Day schedule.",
1550
- xref: { document: "cluster", section: "5.2.10.20.1" }
1471
+ xref: { document: "cluster", section: "5.2.10.18.1" }
1551
1472
  }),
1552
1473
  (0, import_elements.FieldElement)({
1553
- name: "UserIndexUserId",
1474
+ name: "UserIndex",
1554
1475
  id: 1,
1555
1476
  type: "uint16",
1556
1477
  conformance: "M",
1557
- constraint: "1 to numberOfTotalUsersSupported"
1478
+ constraint: "1 to numberOfTotalUsersSupported",
1479
+ details: "This field shall indicate the user ID.",
1480
+ xref: { document: "cluster", section: "5.2.10.18.2" }
1558
1481
  }),
1559
1482
  (0, import_elements.FieldElement)({
1560
1483
  name: "Status",
@@ -1564,7 +1487,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1564
1487
  constraint: "desc",
1565
1488
  default: 0,
1566
1489
  details: "Status shall be one of the following values:\n \u2022 SUCCESS if both YearDayIndex and UserIndex are valid and there is a corresponding schedule entry.\n \u2022 INVALID_COMMAND if either YearDayIndex and/or UserIndex values are not within valid range\n \u2022 NOT_FOUND if no corresponding schedule entry found for YearDayIndex.\n \u2022 NOT_FOUND if no corresponding user entry found for UserIndex.\nIf this field is SUCCESS, the optional fields for this command shall be present. For other (error) status values, only the fields up to the status field shall be present.",
1567
- xref: { document: "cluster", section: "5.2.10.20.3" }
1490
+ xref: { document: "cluster", section: "5.2.10.18.3" }
1568
1491
  }),
1569
1492
  (0, import_elements.FieldElement)({
1570
1493
  name: "LocalStartTime",
@@ -1572,7 +1495,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1572
1495
  type: "epoch-s",
1573
1496
  conformance: "O",
1574
1497
  details: "This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. This shall be null if the schedule is not set for the YearDayIndex and UserIndex provided.",
1575
- xref: { document: "cluster", section: "5.2.10.20.4" }
1498
+ xref: { document: "cluster", section: "5.2.10.18.4" }
1576
1499
  }),
1577
1500
  (0, import_elements.FieldElement)({
1578
1501
  name: "LocalEndTime",
@@ -1580,7 +1503,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1580
1503
  type: "epoch-s",
1581
1504
  conformance: "O",
1582
1505
  details: "This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime. This shall be null if the schedule is not set for the YearDayIndex and UserIndex provided.",
1583
- xref: { document: "cluster", section: "5.2.10.20.5" }
1506
+ xref: { document: "cluster", section: "5.2.10.18.5" }
1584
1507
  })
1585
1508
  ),
1586
1509
  (0, import_elements.CommandElement)(
@@ -1591,8 +1514,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1591
1514
  conformance: "YDSCH",
1592
1515
  direction: "request",
1593
1516
  response: "status",
1594
- details: "Clears the specific year day schedule or all year day schedules for the specific user.\n\u2020 The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, respectively.\nReturn status shall be one of the following values:",
1595
- xref: { document: "cluster", section: "5.2.10.21" }
1517
+ details: "Clears the specific year day schedule or all year day schedules for the specific user.\nReturn status shall be one of the following values:",
1518
+ xref: { document: "cluster", section: "5.2.10.19" }
1596
1519
  },
1597
1520
  (0, import_elements.FieldElement)({
1598
1521
  name: "YearDayIndex",
@@ -1601,14 +1524,16 @@ const DoorLock = (0, import_elements.ClusterElement)(
1601
1524
  conformance: "M",
1602
1525
  constraint: "1 to numberOfYearDaySchedulesSupportedPerUser, 254",
1603
1526
  details: "This field shall indicate the Year Day schedule index to clear or 0xFE to clear all Year Day schedules for the specified user.",
1604
- xref: { document: "cluster", section: "5.2.10.21.1" }
1527
+ xref: { document: "cluster", section: "5.2.10.19.1" }
1605
1528
  }),
1606
1529
  (0, import_elements.FieldElement)({
1607
- name: "UserIndexUserId",
1530
+ name: "UserIndex",
1608
1531
  id: 1,
1609
1532
  type: "uint16",
1610
1533
  conformance: "M",
1611
- constraint: "1 to numberOfTotalUsersSupported"
1534
+ constraint: "1 to numberOfTotalUsersSupported",
1535
+ details: "This field shall indicate the user ID.",
1536
+ xref: { document: "cluster", section: "5.2.10.19.2" }
1612
1537
  })
1613
1538
  ),
1614
1539
  (0, import_elements.CommandElement)(
@@ -1619,8 +1544,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1619
1544
  conformance: "HDSCH",
1620
1545
  direction: "request",
1621
1546
  response: "status",
1622
- details: "Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode.\n\u2020 The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead. Return status shall be one of the following values:",
1623
- xref: { document: "cluster", section: "5.2.10.22" }
1547
+ details: "Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode.\nReturn status shall be one of the following values:",
1548
+ xref: { document: "cluster", section: "5.2.10.20" }
1624
1549
  },
1625
1550
  (0, import_elements.FieldElement)({
1626
1551
  name: "HolidayIndex",
@@ -1629,7 +1554,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1629
1554
  conformance: "M",
1630
1555
  constraint: "1 to numberOfHolidaySchedulesSupported",
1631
1556
  details: "This field shall indicate the index of the Holiday schedule.",
1632
- xref: { document: "cluster", section: "5.2.10.22.1" }
1557
+ xref: { document: "cluster", section: "5.2.10.20.1" }
1633
1558
  }),
1634
1559
  (0, import_elements.FieldElement)({
1635
1560
  name: "LocalStartTime",
@@ -1637,7 +1562,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1637
1562
  type: "epoch-s",
1638
1563
  conformance: "M",
1639
1564
  details: "This field shall indicate the starting time for the Holiday Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value.",
1640
- xref: { document: "cluster", section: "5.2.10.22.2" }
1565
+ xref: { document: "cluster", section: "5.2.10.20.2" }
1641
1566
  }),
1642
1567
  (0, import_elements.FieldElement)({
1643
1568
  name: "LocalEndTime",
@@ -1645,7 +1570,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1645
1570
  type: "epoch-s",
1646
1571
  conformance: "M",
1647
1572
  details: "This field shall indicate the ending time for the Holiday Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime.",
1648
- xref: { document: "cluster", section: "5.2.10.22.3" }
1573
+ xref: { document: "cluster", section: "5.2.10.20.3" }
1649
1574
  }),
1650
1575
  (0, import_elements.FieldElement)({
1651
1576
  name: "OperatingMode",
@@ -1653,7 +1578,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1653
1578
  type: "OperatingModeEnum",
1654
1579
  conformance: "M",
1655
1580
  details: "This field shall indicate the operating mode to use during this Holiday schedule start/end time.",
1656
- xref: { document: "cluster", section: "5.2.10.22.4" }
1581
+ xref: { document: "cluster", section: "5.2.10.20.4" }
1657
1582
  })
1658
1583
  ),
1659
1584
  (0, import_elements.CommandElement)(
@@ -1664,8 +1589,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1664
1589
  conformance: "HDSCH",
1665
1590
  direction: "request",
1666
1591
  response: "GetHolidayScheduleResponse",
1667
- details: "Get the holiday schedule for the specified index.\n\u2020 The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.",
1668
- xref: { document: "cluster", section: "5.2.10.23" }
1592
+ details: "Get the holiday schedule for the specified index.",
1593
+ xref: { document: "cluster", section: "5.2.10.21" }
1669
1594
  },
1670
1595
  (0, import_elements.FieldElement)({
1671
1596
  name: "HolidayIndex",
@@ -1681,8 +1606,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1681
1606
  id: 18,
1682
1607
  conformance: "HDSCH",
1683
1608
  direction: "response",
1684
- details: "Returns the Holiday Schedule Entry for the specified Holiday ID.\n\u2020 The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.",
1685
- xref: { document: "cluster", section: "5.2.10.24" }
1609
+ details: "Returns the Holiday Schedule Entry for the specified Holiday ID.",
1610
+ xref: { document: "cluster", section: "5.2.10.22" }
1686
1611
  },
1687
1612
  (0, import_elements.FieldElement)({
1688
1613
  name: "HolidayIndex",
@@ -1691,7 +1616,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1691
1616
  conformance: "M",
1692
1617
  constraint: "1 to numberOfHolidaySchedulesSupported",
1693
1618
  details: "This field shall indicate the index of the Holiday schedule.",
1694
- xref: { document: "cluster", section: "5.2.10.24.1" }
1619
+ xref: { document: "cluster", section: "5.2.10.22.1" }
1695
1620
  }),
1696
1621
  (0, import_elements.FieldElement)({
1697
1622
  name: "Status",
@@ -1701,7 +1626,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1701
1626
  constraint: "desc",
1702
1627
  default: 0,
1703
1628
  details: "Status shall be one of the following values:\n \u2022 FAILURE if the attribute NumberOfHolidaySchedulesSupported is zero.\n \u2022 SUCCESS if the HolidayIndex is valid and there is a corresponding schedule entry.\n \u2022 INVALID_COMMAND if the HolidayIndex is not within valid range\n \u2022 NOT_FOUND if the HolidayIndex is within the valid range, however, there is not corresponding schedule entry found.\nIf this field is SUCCESS, the optional fields for this command shall be present. For other (error) status values, only the fields up to the status field shall be present.",
1704
- xref: { document: "cluster", section: "5.2.10.24.2" }
1629
+ xref: { document: "cluster", section: "5.2.10.22.2" }
1705
1630
  }),
1706
1631
  (0, import_elements.FieldElement)({
1707
1632
  name: "LocalStartTime",
@@ -1710,7 +1635,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1710
1635
  conformance: "O",
1711
1636
  quality: "X",
1712
1637
  details: "This field shall indicate the starting time for the Holiday schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. This shall be null if the schedule is not set for the HolidayIndex provided.",
1713
- xref: { document: "cluster", section: "5.2.10.24.3" }
1638
+ xref: { document: "cluster", section: "5.2.10.22.3" }
1714
1639
  }),
1715
1640
  (0, import_elements.FieldElement)({
1716
1641
  name: "LocalEndTime",
@@ -1719,7 +1644,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1719
1644
  conformance: "O",
1720
1645
  quality: "X",
1721
1646
  details: "This field shall indicate the ending time for the Holiday schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime. This shall be null if the schedule is not set for the HolidayIndex provided.",
1722
- xref: { document: "cluster", section: "5.2.10.24.4" }
1647
+ xref: { document: "cluster", section: "5.2.10.22.4" }
1723
1648
  }),
1724
1649
  (0, import_elements.FieldElement)({
1725
1650
  name: "OperatingMode",
@@ -1728,7 +1653,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1728
1653
  conformance: "O",
1729
1654
  quality: "X",
1730
1655
  details: "This field shall indicate the operating mode to use during this Holiday schedule start/end time. This shall be null if the schedule is not set for the HolidayIndex provided.",
1731
- xref: { document: "cluster", section: "5.2.10.24.5" }
1656
+ xref: { document: "cluster", section: "5.2.10.22.5" }
1732
1657
  })
1733
1658
  ),
1734
1659
  (0, import_elements.CommandElement)(
@@ -1739,8 +1664,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1739
1664
  conformance: "HDSCH",
1740
1665
  direction: "request",
1741
1666
  response: "status",
1742
- details: "Clears the holiday schedule or all holiday schedules.\n\u2020 The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.",
1743
- xref: { document: "cluster", section: "5.2.10.25" }
1667
+ details: "Clears the holiday schedule or all holiday schedules.",
1668
+ xref: { document: "cluster", section: "5.2.10.23" }
1744
1669
  },
1745
1670
  (0, import_elements.FieldElement)({
1746
1671
  name: "HolidayIndex",
@@ -1749,7 +1674,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1749
1674
  conformance: "M",
1750
1675
  constraint: "1 to numberOfHolidaySchedulesSupported, 254",
1751
1676
  details: "This field shall indicate the Holiday schedule index to clear or 0xFE to clear all Holiday schedules.",
1752
- xref: { document: "cluster", section: "5.2.10.25.1" }
1677
+ xref: { document: "cluster", section: "5.2.10.23.1" }
1753
1678
  })
1754
1679
  ),
1755
1680
  (0, import_elements.CommandElement)(
@@ -1761,7 +1686,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1761
1686
  direction: "request",
1762
1687
  response: "status",
1763
1688
  details: "Set the user type for a specified user.\nFor user type value please refer to User Type Value.\nReturn status shall be one of the following values:",
1764
- xref: { document: "cluster", section: "5.2.10.26" }
1689
+ xref: { document: "cluster", section: "5.2.10.24" }
1765
1690
  },
1766
1691
  (0, import_elements.FieldElement)({
1767
1692
  name: "UserId",
@@ -1770,15 +1695,15 @@ const DoorLock = (0, import_elements.ClusterElement)(
1770
1695
  conformance: "M",
1771
1696
  constraint: "desc",
1772
1697
  details: "This field shall indicate the user ID.",
1773
- xref: { document: "cluster", section: "5.2.10.26.1" }
1698
+ xref: { document: "cluster", section: "5.2.10.24.1" }
1774
1699
  }),
1775
1700
  (0, import_elements.FieldElement)({
1776
1701
  name: "UserType",
1777
1702
  id: 1,
1778
1703
  type: "UserTypeEnum",
1779
1704
  conformance: "M",
1780
- details: "This field shall indicate the user type.\nIf UserType is currently YearDayScheduleUser, WeekDayScheduleUser, or ScheduleRestrictedUser and the new UserType is UnrestrictedUser then all existing Year Day and/or Week Day schedules shall be ignored or disabled (if this transition is supported by the door lock). If UserType is ScheduleRestrictedUser and the new UserType is ScheduleRestrictedUser then all existing Year Day and/or Week Day schedules shall be applied or enabled.",
1781
- xref: { document: "cluster", section: "5.2.10.26.2" }
1705
+ details: "This field shall indicate the user type.",
1706
+ xref: { document: "cluster", section: "5.2.10.24.2" }
1782
1707
  })
1783
1708
  ),
1784
1709
  (0, import_elements.CommandElement)(
@@ -1790,7 +1715,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1790
1715
  direction: "request",
1791
1716
  response: "GetUserTypeResponse",
1792
1717
  details: "Retrieve the user type for a specific user.",
1793
- xref: { document: "cluster", section: "5.2.10.27" }
1718
+ xref: { document: "cluster", section: "5.2.10.25" }
1794
1719
  },
1795
1720
  (0, import_elements.FieldElement)({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" })
1796
1721
  ),
@@ -1801,7 +1726,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1801
1726
  conformance: "!USR",
1802
1727
  direction: "response",
1803
1728
  details: "Returns the user type for the specified user ID. If the requested User ID is invalid, send Default Response with an error status equal to FAILURE.",
1804
- xref: { document: "cluster", section: "5.2.10.28" }
1729
+ xref: { document: "cluster", section: "5.2.10.26" }
1805
1730
  },
1806
1731
  (0, import_elements.FieldElement)({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" }),
1807
1732
  (0, import_elements.FieldElement)({ name: "UserType", id: 1, type: "UserTypeEnum", conformance: "M" })
@@ -1815,7 +1740,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1815
1740
  direction: "request",
1816
1741
  response: "status",
1817
1742
  details: "Set an ID for RFID access into the lock.\nReturn status is a global status code or a cluster-specific status code from the Status Codes table and shall be one of the following values:",
1818
- xref: { document: "cluster", section: "5.2.10.29" }
1743
+ xref: { document: "cluster", section: "5.2.10.27" }
1819
1744
  },
1820
1745
  (0, import_elements.FieldElement)({
1821
1746
  name: "UserId",
@@ -1824,7 +1749,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1824
1749
  conformance: "M",
1825
1750
  constraint: "desc",
1826
1751
  details: "This field shall indicate the user ID.\nThe value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.",
1827
- xref: { document: "cluster", section: "5.2.10.29.1" }
1752
+ xref: { document: "cluster", section: "5.2.10.27.1" }
1828
1753
  }),
1829
1754
  (0, import_elements.FieldElement)({
1830
1755
  name: "UserStatus",
@@ -1835,7 +1760,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1835
1760
  default: 1,
1836
1761
  quality: "X",
1837
1762
  details: "This field shall indicate what the status is for a specific user ID. The values are according to \u201CSet PIN\u201D while not all are supported.\nOnly the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.",
1838
- xref: { document: "cluster", section: "5.2.10.29.2" }
1763
+ xref: { document: "cluster", section: "5.2.10.27.2" }
1839
1764
  }),
1840
1765
  (0, import_elements.FieldElement)({
1841
1766
  name: "UserType",
@@ -1846,7 +1771,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1846
1771
  default: 0,
1847
1772
  quality: "X",
1848
1773
  details: "The values are the same as used for SetPINCode command.",
1849
- xref: { document: "cluster", section: "5.2.10.29.3" }
1774
+ xref: { document: "cluster", section: "5.2.10.27.3" }
1850
1775
  }),
1851
1776
  (0, import_elements.FieldElement)({ name: "RfidCode", id: 3, type: "octstr", conformance: "M" })
1852
1777
  ),
@@ -1859,7 +1784,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1859
1784
  direction: "request",
1860
1785
  response: "GetRfidCodeResponse",
1861
1786
  details: "Retrieve an RFID code.",
1862
- xref: { document: "cluster", section: "5.2.10.30" }
1787
+ xref: { document: "cluster", section: "5.2.10.28" }
1863
1788
  },
1864
1789
  (0, import_elements.FieldElement)({
1865
1790
  name: "UserId",
@@ -1868,7 +1793,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1868
1793
  conformance: "M",
1869
1794
  constraint: "desc",
1870
1795
  details: "This field shall indicate the user ID.\nThe value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.",
1871
- xref: { document: "cluster", section: "5.2.10.30.1" }
1796
+ xref: { document: "cluster", section: "5.2.10.28.1" }
1872
1797
  })
1873
1798
  ),
1874
1799
  (0, import_elements.CommandElement)(
@@ -1878,7 +1803,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1878
1803
  conformance: "!USR & RID",
1879
1804
  direction: "response",
1880
1805
  details: "Returns the RFID code for the specified user ID.\nIf the requested User ID is valid and the Code doesn\u2019t exist, Get RFID Code Response shall have the following format:\nUser ID = requested User ID UserStatus = 0 (available) UserType = 0xFF (not supported) RFID Code = 0 (zero length)\nIf requested User ID is invalid, send Default Response with an error status. The error status shall be equal to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than or equal to the max number of users supported.",
1881
- xref: { document: "cluster", section: "5.2.10.31" }
1806
+ xref: { document: "cluster", section: "5.2.10.29" }
1882
1807
  },
1883
1808
  (0, import_elements.FieldElement)({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" }),
1884
1809
  (0, import_elements.FieldElement)({
@@ -1901,8 +1826,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
1901
1826
  conformance: "!USR & RID",
1902
1827
  direction: "request",
1903
1828
  response: "status",
1904
- details: "Clear an RFID code or all RFID codes.\n\u2020 The User ID is an obsolete field name, use RFIDSlotIndex instead.\nFor each RFID Code cleared whose user doesn\u2019t have a PIN Code or other credential type, then the corresponding user record\u2019s UserStatus value shall be set to Available, and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.",
1905
- xref: { document: "cluster", section: "5.2.10.32" }
1829
+ details: "Clear an RFID code or all RFID codes.\nFor each RFID Code cleared whose user doesn\u2019t have a PIN Code or other credential type, then the corresponding user record\u2019s UserStatus value shall be set to Available, and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.",
1830
+ xref: { document: "cluster", section: "5.2.10.30" }
1906
1831
  },
1907
1832
  (0, import_elements.FieldElement)({
1908
1833
  name: "RfidSlotIndex",
@@ -1911,7 +1836,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1911
1836
  conformance: "M",
1912
1837
  constraint: "1 to numberOfRfidUsersSupported, 65534",
1913
1838
  details: "This field shall indicate a valid RFID code slot index or 0xFFFE to indicate all RFID code slots shall be cleared.",
1914
- xref: { document: "cluster", section: "5.2.10.32.1" }
1839
+ xref: { document: "cluster", section: "5.2.10.30.1" }
1915
1840
  })
1916
1841
  ),
1917
1842
  (0, import_elements.CommandElement)({
@@ -1922,7 +1847,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1922
1847
  direction: "request",
1923
1848
  response: "status",
1924
1849
  details: 'Clear out all RFIDs on the lock. If you clear all RFID codes and this user didn\u2019t have a PIN code, the user status has to be set to "0 Available", the user type has to be set to the default value, and all schedules which are supported have to be set to the default values.',
1925
- xref: { document: "cluster", section: "5.2.10.33" }
1850
+ xref: { document: "cluster", section: "5.2.10.31" }
1926
1851
  }),
1927
1852
  (0, import_elements.CommandElement)(
1928
1853
  {
@@ -1933,7 +1858,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1933
1858
  direction: "request",
1934
1859
  response: "status",
1935
1860
  details: "Set user into the lock.\nFields used for different use cases:\nReturn status is a global status code or a cluster-specific status code from the Status Codes table and\nshall be one of the following values:\n \u2022 SUCCESS, if setting User was successful.\n \u2022 FAILURE, if some unexpected internal error occurred setting User.\n \u2022 OCCUPIED, if OperationType is Add and UserIndex points to an occupied slot.\n \u2022 INVALID_COMMAND, if one or more fields violate constraints or are invalid or if OperationType is Modify and UserIndex points to an available slot.",
1936
- xref: { document: "cluster", section: "5.2.10.34" }
1861
+ xref: { document: "cluster", section: "5.2.10.32" }
1937
1862
  },
1938
1863
  (0, import_elements.FieldElement)({
1939
1864
  name: "OperationType",
@@ -1942,7 +1867,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1942
1867
  conformance: "M",
1943
1868
  constraint: "add, modify",
1944
1869
  details: "This field shall indicate the type of operation.",
1945
- xref: { document: "cluster", section: "5.2.10.34.1" }
1870
+ xref: { document: "cluster", section: "5.2.10.32.1" }
1946
1871
  }),
1947
1872
  (0, import_elements.FieldElement)({
1948
1873
  name: "UserIndex",
@@ -1951,7 +1876,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1951
1876
  conformance: "M",
1952
1877
  constraint: "1 to numberOfTotalUsersSupported",
1953
1878
  details: "This field shall indicate the user ID.",
1954
- xref: { document: "cluster", section: "5.2.10.34.2" }
1879
+ xref: { document: "cluster", section: "5.2.10.32.2" }
1955
1880
  }),
1956
1881
  (0, import_elements.FieldElement)({
1957
1882
  name: "UserName",
@@ -1961,7 +1886,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1961
1886
  constraint: "max 10",
1962
1887
  quality: "X",
1963
1888
  details: "This field shall contain a string to use as a human readable identifier for the user. If UserName is null then:\n \u2022 If the OperationType is Add, the UserName in the resulting user record shall be set to an empty string.\n \u2022 If the OperationType is Modify, the UserName in the user record shall NOT be changed from the current value.\nIf UserName is not null, the UserName in the user record shall be set to the provided value.",
1964
- xref: { document: "cluster", section: "5.2.10.34.3" }
1889
+ xref: { document: "cluster", section: "5.2.10.32.3" }
1965
1890
  }),
1966
1891
  (0, import_elements.FieldElement)({
1967
1892
  name: "UserUniqueId",
@@ -1971,7 +1896,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1971
1896
  default: 4294967295,
1972
1897
  quality: "X",
1973
1898
  details: "This field shall indicate the fabric assigned number to use for connecting this user to other users on other devices from the fabric\u2019s perspective.\nIf UserUniqueID is null then:\n \u2022 If the OperationType is Add, the UserUniqueID in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the UserUniqueID in the user record shall NOT be changed from the current value.\nIf UserUniqueID is not null, the UserUniqueID in the user record shall be set to the provided value.",
1974
- xref: { document: "cluster", section: "5.2.10.34.4" }
1899
+ xref: { document: "cluster", section: "5.2.10.32.4" }
1975
1900
  }),
1976
1901
  (0, import_elements.FieldElement)({
1977
1902
  name: "UserStatus",
@@ -1982,7 +1907,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1982
1907
  default: 1,
1983
1908
  quality: "X",
1984
1909
  details: "This field shall indicate the UserStatus to assign to this user when created or modified. If UserStatus is null then:\n \u2022 If the OperationType is Add, the UserStatus in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the UserStatus in the user record shall NOT be changed from the current value.\nIf UserStatus is not null, the UserStatus in the user record shall be set to the provided value.",
1985
- xref: { document: "cluster", section: "5.2.10.34.5" }
1910
+ xref: { document: "cluster", section: "5.2.10.32.5" }
1986
1911
  }),
1987
1912
  (0, import_elements.FieldElement)({
1988
1913
  name: "UserType",
@@ -1993,7 +1918,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
1993
1918
  default: 0,
1994
1919
  quality: "X",
1995
1920
  details: "This field shall indicate the UserType to assign to this user when created or modified. If UserType is null then:\n \u2022 If the OperationType is Add, the UserType in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the UserType in the user record shall NOT be changed from the current value.\nIf UserType is not null, the UserType in the user record shall be set to the provided value.",
1996
- xref: { document: "cluster", section: "5.2.10.34.6" }
1921
+ xref: { document: "cluster", section: "5.2.10.32.6" }
1997
1922
  }),
1998
1923
  (0, import_elements.FieldElement)({
1999
1924
  name: "CredentialRule",
@@ -2003,7 +1928,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2003
1928
  default: 0,
2004
1929
  quality: "X",
2005
1930
  details: "This field shall indicate the CredentialRule to use for this user.\nThe valid CredentialRule enumeration values depends on the bits in the CredentialRulesBitmap map. Each bit in the map identifies a valid CredentialRule that can be used.\nIf CredentialRule is null then:\n \u2022 If the OperationType is Add, the CredentialRule in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the CredentialRule in the user record shall NOT be changed from the current value.\nIf CredentialRule is not null, the CredentialRule in the user record shall be set to the provided value.",
2006
- xref: { document: "cluster", section: "5.2.10.34.7" }
1931
+ xref: { document: "cluster", section: "5.2.10.32.7" }
2007
1932
  })
2008
1933
  ),
2009
1934
  (0, import_elements.CommandElement)(
@@ -2015,7 +1940,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2015
1940
  direction: "request",
2016
1941
  response: "GetUserResponse",
2017
1942
  details: "Retrieve user.\nAn InvokeResponse command shall be sent with an appropriate error\nCOMMAND, etc.) as needed otherwise the GetUserResponse Command shall be sent implying a status of SUCCESS.",
2018
- xref: { document: "cluster", section: "5.2.10.35" }
1943
+ xref: { document: "cluster", section: "5.2.10.33" }
2019
1944
  },
2020
1945
  (0, import_elements.FieldElement)({
2021
1946
  name: "UserIndex",
@@ -2032,7 +1957,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2032
1957
  conformance: "USR",
2033
1958
  direction: "response",
2034
1959
  details: "Returns the user for the specified UserIndex.\nIf the requested UserIndex is valid and the UserStatus is Available for the requested UserIndex then UserName, UserUniqueID, UserStatus, UserType, CredentialRule, Credentials, CreatorFabricIndex, and LastModifiedFabricIndex shall all be null in the response.",
2035
- xref: { document: "cluster", section: "5.2.10.36" }
1960
+ xref: { document: "cluster", section: "5.2.10.34" }
2036
1961
  },
2037
1962
  (0, import_elements.FieldElement)({
2038
1963
  name: "UserIndex",
@@ -2041,7 +1966,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2041
1966
  conformance: "M",
2042
1967
  constraint: "1 to numberOfTotalUsersSupported",
2043
1968
  details: "This field shall indicate the user ID.",
2044
- xref: { document: "cluster", section: "5.2.10.36.1" }
1969
+ xref: { document: "cluster", section: "5.2.10.34.1" }
2045
1970
  }),
2046
1971
  (0, import_elements.FieldElement)({
2047
1972
  name: "UserName",
@@ -2051,7 +1976,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2051
1976
  constraint: "max 10",
2052
1977
  quality: "X",
2053
1978
  details: "This field shall contain a string to use as a human readable identifier for the user.",
2054
- xref: { document: "cluster", section: "5.2.10.36.2" }
1979
+ xref: { document: "cluster", section: "5.2.10.34.2" }
2055
1980
  }),
2056
1981
  (0, import_elements.FieldElement)({
2057
1982
  name: "UserUniqueId",
@@ -2061,7 +1986,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2061
1986
  default: 0,
2062
1987
  quality: "X",
2063
1988
  details: "See UserUniqueID field.",
2064
- xref: { document: "cluster", section: "5.2.10.36.3" }
1989
+ xref: { document: "cluster", section: "5.2.10.34.3" }
2065
1990
  }),
2066
1991
  (0, import_elements.FieldElement)({
2067
1992
  name: "UserStatus",
@@ -2071,7 +1996,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2071
1996
  default: 0,
2072
1997
  quality: "X",
2073
1998
  details: "This field shall indicate the UserStatus assigned to the user when created or modified.",
2074
- xref: { document: "cluster", section: "5.2.10.36.4" }
1999
+ xref: { document: "cluster", section: "5.2.10.34.4" }
2075
2000
  }),
2076
2001
  (0, import_elements.FieldElement)({
2077
2002
  name: "UserType",
@@ -2081,7 +2006,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2081
2006
  default: 0,
2082
2007
  quality: "X",
2083
2008
  details: "This field shall indicate the UserType assigned to this user when created or modified.",
2084
- xref: { document: "cluster", section: "5.2.10.36.5" }
2009
+ xref: { document: "cluster", section: "5.2.10.34.5" }
2085
2010
  }),
2086
2011
  (0, import_elements.FieldElement)({
2087
2012
  name: "CredentialRule",
@@ -2092,7 +2017,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2092
2017
  default: 0,
2093
2018
  quality: "X",
2094
2019
  details: "This field shall indicate the CredentialRule set for this user.",
2095
- xref: { document: "cluster", section: "5.2.10.36.6" }
2020
+ xref: { document: "cluster", section: "5.2.10.34.6" }
2096
2021
  }),
2097
2022
  (0, import_elements.FieldElement)(
2098
2023
  {
@@ -2103,7 +2028,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2103
2028
  constraint: "0 to numberOfCredentialsSupportedPerUser",
2104
2029
  quality: "X",
2105
2030
  details: "This field shall contain a list of credentials for this user.",
2106
- xref: { document: "cluster", section: "5.2.10.36.7" }
2031
+ xref: { document: "cluster", section: "5.2.10.34.7" }
2107
2032
  },
2108
2033
  (0, import_elements.FieldElement)({ name: "entry", type: "CredentialStruct" })
2109
2034
  ),
@@ -2114,7 +2039,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2114
2039
  conformance: "M",
2115
2040
  quality: "X",
2116
2041
  details: "This field shall indicate the user\u2019s creator fabric index. CreatorFabricIndex shall be null if UserStatus is set to Available or when the creator fabric cannot be determined (for example, when user was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator fabric was deleted.",
2117
- xref: { document: "cluster", section: "5.2.10.36.8" }
2042
+ xref: { document: "cluster", section: "5.2.10.34.8" }
2118
2043
  }),
2119
2044
  (0, import_elements.FieldElement)({
2120
2045
  name: "LastModifiedFabricIndex",
@@ -2123,7 +2048,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2123
2048
  conformance: "M",
2124
2049
  quality: "X",
2125
2050
  details: "This field shall indicate the user\u2019s last modifier fabric index. LastModifiedFabricIndex shall be null if UserStatus is set to Available or when the modifier fabric cannot be determined (for example, when user was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the last modifier fabric was deleted.",
2126
- xref: { document: "cluster", section: "5.2.10.36.9" }
2051
+ xref: { document: "cluster", section: "5.2.10.34.9" }
2127
2052
  }),
2128
2053
  (0, import_elements.FieldElement)({
2129
2054
  name: "NextUserIndex",
@@ -2133,7 +2058,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2133
2058
  constraint: "1 to numberOfTotalUsersSupported",
2134
2059
  quality: "X",
2135
2060
  details: "This field shall indicate the next occupied UserIndex in the database which is useful for quickly identifying occupied user slots in the database. This shall NOT be null if there is at least one occupied entry after the requested UserIndex in the User database and shall be null if there are no more occupied entries.",
2136
- xref: { document: "cluster", section: "5.2.10.36.10" }
2061
+ xref: { document: "cluster", section: "5.2.10.34.10" }
2137
2062
  })
2138
2063
  ),
2139
2064
  (0, import_elements.CommandElement)(
@@ -2145,7 +2070,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2145
2070
  direction: "request",
2146
2071
  response: "status",
2147
2072
  details: "Clears a user or all Users.\nFor each user to clear, all associated credentials (e.g. PIN, RFID, fingerprint, etc.) shall be cleared and the user entry values shall be reset to their default values (e.g. UserStatus shall be Available, UserType shall be UnrestrictedUser) and all associated schedules shall be cleared.\nA LockUserChange event with the provided UserIndex shall be generated after successfully clearing users.",
2148
- xref: { document: "cluster", section: "5.2.10.37" }
2073
+ xref: { document: "cluster", section: "5.2.10.35" }
2149
2074
  },
2150
2075
  (0, import_elements.FieldElement)({
2151
2076
  name: "UserIndex",
@@ -2154,85 +2079,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2154
2079
  conformance: "M",
2155
2080
  constraint: "1 to numberOfTotalUsersSupported, 65534",
2156
2081
  details: "This field shall specify a valid User index or 0xFFFE to indicate all user slots shall be cleared.",
2157
- xref: { document: "cluster", section: "5.2.10.37.1" }
2158
- })
2159
- ),
2160
- (0, import_elements.CommandElement)({
2161
- name: "OperatingEventNotification",
2162
- id: 32,
2163
- conformance: "[NOT]",
2164
- direction: "response",
2165
- xref: { document: "cluster", section: "5.2.10" }
2166
- }),
2167
- (0, import_elements.CommandElement)(
2168
- {
2169
- name: "ProgrammingEventNotification",
2170
- id: 33,
2171
- conformance: "[NOT]",
2172
- direction: "response",
2173
- details: "The door lock server sends out a programming event notification whenever a programming event takes place on the door lock.\nAs with operational events, all programming events can be turned on and off by flipping bits in the associated event mask.\nThe programming event notification command includes an optional string of data that can be used by the manufacturer to pass some manufacturer-specific information if that is required.",
2174
- xref: { document: "cluster", section: "5.2.10.39" }
2175
- },
2176
- (0, import_elements.FieldElement)({
2177
- name: "ProgramEventSource",
2178
- id: 0,
2179
- type: "EventSourceEnum",
2180
- conformance: "M",
2181
- constraint: "desc",
2182
- details: "This field shall indicate where the event was triggered from.",
2183
- xref: { document: "cluster", section: "5.2.10.39.1" }
2184
- }),
2185
- (0, import_elements.FieldElement)({ name: "ProgramEventCode", id: 1, type: "ProgrammingEventCodeEnum", conformance: "M", constraint: "desc" }),
2186
- (0, import_elements.FieldElement)({
2187
- name: "UserId",
2188
- id: 2,
2189
- type: "uint16",
2190
- conformance: "M",
2191
- constraint: "desc",
2192
- details: "This field shall indicate the UserID who performed the event",
2193
- xref: { document: "cluster", section: "5.2.10.39.6" }
2194
- }),
2195
- (0, import_elements.FieldElement)({
2196
- name: "Pin",
2197
- id: 3,
2198
- type: "octstr",
2199
- conformance: "M",
2200
- details: "This field shall indicate the PIN that is associated with the UserID who performed the event",
2201
- xref: { document: "cluster", section: "5.2.10.39.7" }
2202
- }),
2203
- (0, import_elements.FieldElement)({
2204
- name: "UserType",
2205
- id: 4,
2206
- type: "UserTypeEnum",
2207
- conformance: "M",
2208
- constraint: "desc",
2209
- details: "This field shall indicate the UserType that is associated with the UserID who performed the event",
2210
- xref: { document: "cluster", section: "5.2.10.39.8" }
2211
- }),
2212
- (0, import_elements.FieldElement)({
2213
- name: "UserStatus",
2214
- id: 5,
2215
- type: "UserStatusEnum",
2216
- conformance: "M",
2217
- constraint: "desc",
2218
- details: "This field shall indicate the UserStatus that is associated with the UserID who performed the event",
2219
- xref: { document: "cluster", section: "5.2.10.39.9" }
2220
- }),
2221
- (0, import_elements.FieldElement)({
2222
- name: "LocalTime",
2223
- id: 6,
2224
- type: "epoch-s",
2225
- conformance: "M",
2226
- details: "This field shall indicate the time when the event was triggered in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. If time is not supported, the field shall be populated with default not used value 0xFFFFFFFF.",
2227
- xref: { document: "cluster", section: "5.2.10.39.10" }
2228
- }),
2229
- (0, import_elements.FieldElement)({
2230
- name: "Data",
2231
- id: 7,
2232
- type: "string",
2233
- conformance: "O",
2234
- details: "This field may contain a variable string, which can be used to pass data associated with a particular event. Generally this field will be left empty. However, manufacturer can choose to use this field to store/display manufacturer-specific information.",
2235
- xref: { document: "cluster", section: "5.2.10.39.11" }
2082
+ xref: { document: "cluster", section: "5.2.10.35.1" }
2236
2083
  })
2237
2084
  ),
2238
2085
  (0, import_elements.CommandElement)(
@@ -2244,7 +2091,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2244
2091
  direction: "request",
2245
2092
  response: "SetCredentialResponse",
2246
2093
  details: "Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or ProgrammingUser.\nFields used for different use cases:",
2247
- xref: { document: "cluster", section: "5.2.10.40" }
2094
+ xref: { document: "cluster", section: "5.2.10.36" }
2248
2095
  },
2249
2096
  (0, import_elements.FieldElement)({
2250
2097
  name: "OperationType",
@@ -2253,7 +2100,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2253
2100
  conformance: "M",
2254
2101
  constraint: "add, modify",
2255
2102
  details: "This field shall indicate the set credential operation type requested.",
2256
- xref: { document: "cluster", section: "5.2.10.40.1" }
2103
+ xref: { document: "cluster", section: "5.2.10.36.1" }
2257
2104
  }),
2258
2105
  (0, import_elements.FieldElement)({
2259
2106
  name: "Credential",
@@ -2261,7 +2108,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2261
2108
  type: "CredentialStruct",
2262
2109
  conformance: "M",
2263
2110
  details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the credential index (if applicable or 0 if not) to set.",
2264
- xref: { document: "cluster", section: "5.2.10.40.2" }
2111
+ xref: { document: "cluster", section: "5.2.10.36.2" }
2265
2112
  }),
2266
2113
  (0, import_elements.FieldElement)({
2267
2114
  name: "CredentialData",
@@ -2270,7 +2117,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2270
2117
  conformance: "M",
2271
2118
  constraint: "desc",
2272
2119
  details: "This field shall indicate the credential data to set for the credential being added or modified. The length of the credential data shall conform to the limits of the CredentialType specified in the Credential structure otherwise an INVALID_COMMAND status shall be returned in the SetCredentialResponse command.",
2273
- xref: { document: "cluster", section: "5.2.10.40.3" }
2120
+ xref: { document: "cluster", section: "5.2.10.36.3" }
2274
2121
  }),
2275
2122
  (0, import_elements.FieldElement)({
2276
2123
  name: "UserIndex",
@@ -2280,7 +2127,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2280
2127
  constraint: "1 to numberOfTotalUsersSupported",
2281
2128
  quality: "X",
2282
2129
  details: "This field shall indicate the user index to the user record that corresponds to the credential being added or modified. This shall be null if OperationType is add and a new credential and user is being added at the same time.",
2283
- xref: { document: "cluster", section: "5.2.10.40.4" }
2130
+ xref: { document: "cluster", section: "5.2.10.36.4" }
2284
2131
  }),
2285
2132
  (0, import_elements.FieldElement)({
2286
2133
  name: "UserStatus",
@@ -2291,7 +2138,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2291
2138
  default: 1,
2292
2139
  quality: "X",
2293
2140
  details: "This field shall indicate the user status to use in the new user record if a new user is being created. This shall be null if OperationType is Modify. This may be null when adding a new credential and user.",
2294
- xref: { document: "cluster", section: "5.2.10.40.5" }
2141
+ xref: { document: "cluster", section: "5.2.10.36.5" }
2295
2142
  }),
2296
2143
  (0, import_elements.FieldElement)({
2297
2144
  name: "UserType",
@@ -2302,7 +2149,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2302
2149
  default: 0,
2303
2150
  quality: "X",
2304
2151
  details: "This field shall indicate the user type to use in the new user record if a new user is being created. This shall be null if OperationType is Modify. This may be null when adding a new credential and user.",
2305
- xref: { document: "cluster", section: "5.2.10.40.6" }
2152
+ xref: { document: "cluster", section: "5.2.10.36.6" }
2306
2153
  })
2307
2154
  ),
2308
2155
  (0, import_elements.CommandElement)(
@@ -2312,7 +2159,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2312
2159
  conformance: "USR",
2313
2160
  direction: "response",
2314
2161
  details: "Returns the status for setting the specified credential.",
2315
- xref: { document: "cluster", section: "5.2.10.41" }
2162
+ xref: { document: "cluster", section: "5.2.10.37" }
2316
2163
  },
2317
2164
  (0, import_elements.FieldElement)({
2318
2165
  name: "Status",
@@ -2320,8 +2167,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
2320
2167
  type: "status",
2321
2168
  conformance: "M",
2322
2169
  constraint: "desc",
2323
- details: "Status comes from the Status Codes table and shall be one of the following values:\n \u2022 SUCCESS, if setting user credential was successful.\n \u2022 FAILURE, if some unexpected internal error occurred setting user credential.\n \u2022 OCCUPIED, if OperationType is Add and CredentialIndex in Credential structure points to an occupied slot.\n \u2022 OCCUPIED, if OperationType is Modify and CredentialIndex in Credential structure does not match the CredentialIndex that is already associated with the provided UserIndex.\n \u2022 DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType (e.g. duplicate PIN code).\n \u2022 RESOURCE_EXHAUSTED, if OperationType is Add and the user referred to by UserIndex already has NumberOfCredentialsSupportedPerUser credentials associated.\n \u2022 INVALID_COMMAND, if one or more fields violate constraints or are invalid.\n \u2022 INVALID_COMMAND, if the CredentialIndex in the Credential provided exceeds the number of credentials of the provided CredentialType supported by the lock.\n \u2022 INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.",
2324
- xref: { document: "cluster", section: "5.2.10.41.1" }
2170
+ details: "Status comes from the Status Codes table and shall be one of the following values:\n \u2022 SUCCESS, if setting user credential was successful.\n \u2022 FAILURE, if some unexpected internal error occurred setting user credential.\n \u2022 OCCUPIED, if OperationType is Add and CredentialIndex in Credential structure points to an occupied slot.\n \u2022 OCCUPIED, if OperationType is Modify and CredentialIndex in Credential structure does not match the CredentialIndex that is already associated with the provided UserIndex.\n \u2022 DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType (e.g. duplicate PIN code).\n \u2022 RESOURCE_EXHAUSTED, if OperationType is Add and the new credential cannot be added due to resource constraints such as:\n \u25E6 The user referred to by UserIndex already has NumberOfCredentialsSupportedPerUser credentials associated.\n \u25E6 The credential is of type AliroEvictableEndpointKey or AliroNonEvictableEndpointKey, and adding it would cause the total number of credentials of those two types to exceed NumberOfAliroEndpointKeysSupported.\n \u2022 INVALID_COMMAND, if one or more fields violate constraints or are invalid.\n \u2022 INVALID_COMMAND, if the CredentialIndex in the Credential provided exceeds the number of credentials of the provided CredentialType supported by the lock.\n \u2022 INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.",
2171
+ xref: { document: "cluster", section: "5.2.10.37.1" }
2325
2172
  }),
2326
2173
  (0, import_elements.FieldElement)({
2327
2174
  name: "UserIndex",
@@ -2332,7 +2179,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2332
2179
  default: 0,
2333
2180
  quality: "X",
2334
2181
  details: "This field shall indicate the user index that was created with the new credential. If the status being returned is not success then this shall be null. This shall be null if OperationType was Modify; if the OperationType was Add and a new User was created this shall NOT be null and shall provide the UserIndex created. If the OperationType was Add and an existing User was associated with the new credential then this shall be null.",
2335
- xref: { document: "cluster", section: "5.2.10.41.2" }
2182
+ xref: { document: "cluster", section: "5.2.10.37.2" }
2336
2183
  }),
2337
2184
  (0, import_elements.FieldElement)({
2338
2185
  name: "NextCredentialIndex",
@@ -2342,7 +2189,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2342
2189
  constraint: "desc",
2343
2190
  quality: "X",
2344
2191
  details: "This field shall indicate the next available index in the database for the credential type set, which is useful for quickly identifying available credential slots in the database. This shall NOT be null if there is at least one available entry after the requested credential index in the corresponding database and shall be null if there are no more available entries. The NextCredentialIndex reported shall NOT exceed the maximum number of credentials for a particular credential type.",
2345
- xref: { document: "cluster", section: "5.2.10.41.3" }
2192
+ xref: { document: "cluster", section: "5.2.10.37.3" }
2346
2193
  })
2347
2194
  ),
2348
2195
  (0, import_elements.CommandElement)(
@@ -2354,7 +2201,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2354
2201
  direction: "request",
2355
2202
  response: "GetCredentialStatusResponse",
2356
2203
  details: "Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index.\nAn InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, etc.) as needed otherwise the GetCredentialStatusResponse command shall be sent implying a status of SUCCESS.",
2357
- xref: { document: "cluster", section: "5.2.10.42" }
2204
+ xref: { document: "cluster", section: "5.2.10.38" }
2358
2205
  },
2359
2206
  (0, import_elements.FieldElement)({
2360
2207
  name: "Credential",
@@ -2362,7 +2209,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2362
2209
  type: "CredentialStruct",
2363
2210
  conformance: "M",
2364
2211
  details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the credential index (if applicable or 0 if not) to retrieve the status for.",
2365
- xref: { document: "cluster", section: "5.2.10.42.1" }
2212
+ xref: { document: "cluster", section: "5.2.10.38.1" }
2366
2213
  })
2367
2214
  ),
2368
2215
  (0, import_elements.CommandElement)(
@@ -2372,7 +2219,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2372
2219
  conformance: "USR",
2373
2220
  direction: "response",
2374
2221
  details: "Returns the status for the specified credential.",
2375
- xref: { document: "cluster", section: "5.2.10.43" }
2222
+ xref: { document: "cluster", section: "5.2.10.39" }
2376
2223
  },
2377
2224
  (0, import_elements.FieldElement)({
2378
2225
  name: "CredentialExists",
@@ -2380,7 +2227,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2380
2227
  type: "bool",
2381
2228
  conformance: "M",
2382
2229
  details: "This field shall indicate if the requested credential type and index exists and is populated for the requested user index.",
2383
- xref: { document: "cluster", section: "5.2.10.43.1" }
2230
+ xref: { document: "cluster", section: "5.2.10.39.1" }
2384
2231
  }),
2385
2232
  (0, import_elements.FieldElement)({
2386
2233
  name: "UserIndex",
@@ -2390,7 +2237,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2390
2237
  constraint: "1 to numberOfTotalUsersSupported",
2391
2238
  quality: "X",
2392
2239
  details: "This field shall indicate the credential\u2019s corresponding user index value if the credential exists. If CredentialType requested was ProgrammingPIN then UserIndex shall be null; otherwise, UserIndex shall be null if CredentialExists is set to False and shall NOT be null if CredentialExists is set to True.",
2393
- xref: { document: "cluster", section: "5.2.10.43.2" }
2240
+ xref: { document: "cluster", section: "5.2.10.39.2" }
2394
2241
  }),
2395
2242
  (0, import_elements.FieldElement)({
2396
2243
  name: "CreatorFabricIndex",
@@ -2399,7 +2246,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2399
2246
  conformance: "M",
2400
2247
  quality: "X",
2401
2248
  details: "This field shall indicate the credential\u2019s creator fabric index. CreatorFabricIndex shall be null if CredentialExists is set to False or when the creator fabric cannot be determined (for example, when credential was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator fabric was deleted.",
2402
- xref: { document: "cluster", section: "5.2.10.43.3" }
2249
+ xref: { document: "cluster", section: "5.2.10.39.3" }
2403
2250
  }),
2404
2251
  (0, import_elements.FieldElement)({
2405
2252
  name: "LastModifiedFabricIndex",
@@ -2408,7 +2255,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2408
2255
  conformance: "M",
2409
2256
  quality: "X",
2410
2257
  details: "This field shall indicate the credential\u2019s last modifier fabric index. LastModifiedFabricIndex shall be null if CredentialExists is set to False or when the modifier fabric cannot be determined (for example, when credential was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the last modifier fabric was deleted.",
2411
- xref: { document: "cluster", section: "5.2.10.43.4" }
2258
+ xref: { document: "cluster", section: "5.2.10.39.4" }
2412
2259
  }),
2413
2260
  (0, import_elements.FieldElement)({
2414
2261
  name: "NextCredentialIndex",
@@ -2417,8 +2264,18 @@ const DoorLock = (0, import_elements.ClusterElement)(
2417
2264
  conformance: "O",
2418
2265
  constraint: "desc",
2419
2266
  quality: "X",
2420
- details: "This field shall indicate the next occupied index in the database for the credential type requested, which is useful for quickly identifying occupied credential slots in the database. This shall NOT be null if there is at least one occupied entry after the requested credential index in the corresponding database and shall be null if there are no more occupied entries. The NextCredentialIndex reported shall NOT exceed the maximum number of credentials for a particular credential type.",
2421
- xref: { document: "cluster", section: "5.2.10.43.5" }
2267
+ details: "This field shall indicate the next occupied index in the database for the credential type requested, which is useful for quickly identifying occupied credential slots in the database. This shall NOT be null if there is at least one occupied entry after the requested credential index in the corresponding\ndatabase and shall be null if there are no more occupied entries. The NextCredentialIndex reported shall NOT exceed the maximum number of credentials for a particular credential type.",
2268
+ xref: { document: "cluster", section: "5.2.10.39.5" }
2269
+ }),
2270
+ (0, import_elements.FieldElement)({
2271
+ name: "CredentialData",
2272
+ id: 5,
2273
+ type: "octstr",
2274
+ conformance: "[ALIRO]",
2275
+ constraint: "desc",
2276
+ quality: "X",
2277
+ details: "This field shall indicate the credential data for the requested user index.\nIf the CredentialType in the GetCredentialStatus command was not AliroCredentialIssuerKey, AliroEvictableEndpointKey, or AliroNonEvictableEndpointKey, this field shall NOT be included.\nOtherwise, if CredentialExists is false this field shall be null.\nOtherwise, the value of this field shall be the value of the relevant credential, as a 65-byte uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.\nNOTE\nSince the Aliro credentials are public keys, there is no security risk in allowing them to be read. Possession of the credential octet string does not allow operating the lock.",
2278
+ xref: { document: "cluster", section: "5.2.10.39.6" }
2422
2279
  })
2423
2280
  ),
2424
2281
  (0, import_elements.CommandElement)(
@@ -2429,8 +2286,8 @@ const DoorLock = (0, import_elements.ClusterElement)(
2429
2286
  conformance: "USR",
2430
2287
  direction: "request",
2431
2288
  response: "status",
2432
- details: "Clear one, one type, or all credentials except ProgrammingPIN credential.\nFields used for different use cases:\nFor each credential cleared whose user doesn\u2019t have another valid credential, the corresponding user record shall be reset back to default values and its UserStatus value shall be set to Available and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In\nthis case a LockUserChange event shall be generated for the user being cleared. Return status shall be one of the following values:",
2433
- xref: { document: "cluster", section: "5.2.10.44" }
2289
+ details: "Clear one, one type, or all credentials except ProgrammingPIN credential.\nFields used for different use cases:\nFor each credential cleared whose user doesn\u2019t have another valid credential, the corresponding user record shall be reset back to default values and its UserStatus value shall be set to Available and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In this case a LockUserChange event shall be generated for the user being cleared.\nReturn status shall be one of the following values:",
2290
+ xref: { document: "cluster", section: "5.2.10.40" }
2434
2291
  },
2435
2292
  (0, import_elements.FieldElement)({
2436
2293
  name: "Credential",
@@ -2440,7 +2297,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2440
2297
  constraint: "desc",
2441
2298
  quality: "X",
2442
2299
  details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the credential index (0xFFFE for all credentials or 0 if not applicable) to clear. This shall be null if clearing all credential types otherwise it shall NOT be null.",
2443
- xref: { document: "cluster", section: "5.2.10.44.1" }
2300
+ xref: { document: "cluster", section: "5.2.10.40.1" }
2444
2301
  })
2445
2302
  ),
2446
2303
  (0, import_elements.CommandElement)(
@@ -2452,7 +2309,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2452
2309
  direction: "request",
2453
2310
  response: "status",
2454
2311
  details: "This command causes the lock device to unlock the door without pulling the latch. This command includes an optional code for the lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation attribute.\nNOTE\nIf the attribute AutoRelockTime is supported, the lock will transition to the locked state when the auto relock time has expired.",
2455
- xref: { document: "cluster", section: "5.2.10.45" }
2312
+ xref: { document: "cluster", section: "5.2.10.41" }
2456
2313
  },
2457
2314
  (0, import_elements.FieldElement)({
2458
2315
  name: "PinCode",
@@ -2460,9 +2317,67 @@ const DoorLock = (0, import_elements.ClusterElement)(
2460
2317
  type: "octstr",
2461
2318
  conformance: "[COTA & PIN]",
2462
2319
  details: "See PINCode field.",
2463
- xref: { document: "cluster", section: "5.2.10.45.1" }
2320
+ xref: { document: "cluster", section: "5.2.10.41.1" }
2321
+ })
2322
+ ),
2323
+ (0, import_elements.CommandElement)(
2324
+ {
2325
+ name: "SetAliroReaderConfig",
2326
+ id: 40,
2327
+ access: "A T",
2328
+ conformance: "ALIRO",
2329
+ direction: "request",
2330
+ response: "status",
2331
+ details: "This command allows communicating an Aliro Reader configuration, as defined in [Aliro], to the lock.",
2332
+ xref: { document: "cluster", section: "5.2.10.42" }
2333
+ },
2334
+ (0, import_elements.FieldElement)({
2335
+ name: "SigningKey",
2336
+ id: 0,
2337
+ type: "octstr",
2338
+ conformance: "M",
2339
+ constraint: "32",
2340
+ details: "This field shall indicate the signing key component of the Reader\u2019s key pair.",
2341
+ xref: { document: "cluster", section: "5.2.10.42.1" }
2342
+ }),
2343
+ (0, import_elements.FieldElement)({
2344
+ name: "VerificationKey",
2345
+ id: 1,
2346
+ type: "octstr",
2347
+ conformance: "M",
2348
+ constraint: "65",
2349
+ details: "This field shall indicate the verification key component of the Reader\u2019s key pair. This shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.",
2350
+ xref: { document: "cluster", section: "5.2.10.42.2" }
2351
+ }),
2352
+ (0, import_elements.FieldElement)({
2353
+ name: "GroupIdentifier",
2354
+ id: 2,
2355
+ type: "octstr",
2356
+ conformance: "M",
2357
+ constraint: "16",
2358
+ details: "This field shall indicate the reader group identifier for the lock.",
2359
+ xref: { document: "cluster", section: "5.2.10.42.3" }
2360
+ }),
2361
+ (0, import_elements.FieldElement)({
2362
+ name: "GroupResolvingKey",
2363
+ id: 3,
2364
+ type: "octstr",
2365
+ conformance: "ALBU",
2366
+ constraint: "16",
2367
+ details: "This field shall indicate the group resolving key for the lock.",
2368
+ xref: { document: "cluster", section: "5.2.10.42.4" }
2464
2369
  })
2465
2370
  ),
2371
+ (0, import_elements.CommandElement)({
2372
+ name: "ClearAliroReaderConfig",
2373
+ id: 41,
2374
+ access: "A T",
2375
+ conformance: "ALIRO",
2376
+ direction: "request",
2377
+ response: "status",
2378
+ details: "This command allows clearing an existing Aliro Reader configuration for the lock. Administrators shall NOT clear an Aliro Reader configuration without explicit user permission.\nNOTE\nUsing this command will revoke the ability of all existing Aliro user devices that have the old verification key to interact with the lock. This effect is not restricted to a single fabric or otherwise scoped in any way.",
2379
+ xref: { document: "cluster", section: "5.2.10.43" }
2380
+ }),
2466
2381
  (0, import_elements.DatatypeElement)(
2467
2382
  {
2468
2383
  name: "DaysMaskBitmap",
@@ -2592,7 +2507,6 @@ const DoorLock = (0, import_elements.ClusterElement)(
2592
2507
  { name: "AlarmMaskBitmap", type: "map16", xref: { document: "cluster", section: "5.2.6.6" } },
2593
2508
  (0, import_elements.FieldElement)({ name: "LockJammed", constraint: "0", description: "Locking Mechanism Jammed" }),
2594
2509
  (0, import_elements.FieldElement)({ name: "LockFactoryReset", constraint: "1", description: "Lock Reset to Factory Defaults" }),
2595
- (0, import_elements.FieldElement)({ name: "NA", constraint: "2", description: "Reserved" }),
2596
2510
  (0, import_elements.FieldElement)({ name: "LockRadioPowerCycled", constraint: "3", description: "RF Module Power Cycled" }),
2597
2511
  (0, import_elements.FieldElement)({ name: "WrongCodeEntryLimit", constraint: "4", description: "Tamper Alarm - wrong code entry limit" }),
2598
2512
  (0, import_elements.FieldElement)({
@@ -2602,31 +2516,12 @@ const DoorLock = (0, import_elements.ClusterElement)(
2602
2516
  }),
2603
2517
  (0, import_elements.FieldElement)({ name: "DoorForcedOpen", constraint: "6", description: "Forced Door Open under Door Locked Condition" })
2604
2518
  ),
2605
- (0, import_elements.DatatypeElement)(
2606
- { name: "EventMaskBitmap", type: "map16", xref: { document: "cluster", section: "5.2.6.7" } },
2607
- (0, import_elements.FieldElement)({ name: "Bit0", constraint: "0", description: "State of bit 0" }),
2608
- (0, import_elements.FieldElement)({ name: "Bit1", constraint: "1", description: "State of bit 1" }),
2609
- (0, import_elements.FieldElement)({ name: "Bit2", constraint: "2", description: "State of bit 2" }),
2610
- (0, import_elements.FieldElement)({ name: "Bit3", constraint: "3", description: "State of bit 3" }),
2611
- (0, import_elements.FieldElement)({ name: "Bit4", constraint: "4", description: "State of bit 4" }),
2612
- (0, import_elements.FieldElement)({ name: "Bit5", constraint: "5", description: "State of bit 5" }),
2613
- (0, import_elements.FieldElement)({ name: "Bit6", constraint: "6", description: "State of bit 6" }),
2614
- (0, import_elements.FieldElement)({ name: "Bit7", constraint: "7", description: "State of bit 7" }),
2615
- (0, import_elements.FieldElement)({ name: "Bit8", constraint: "8", description: "State of bit 8" }),
2616
- (0, import_elements.FieldElement)({ name: "Bit9", constraint: "9", description: "State of bit 9" }),
2617
- (0, import_elements.FieldElement)({ name: "Bit10", constraint: "10", description: "State of bit 10" }),
2618
- (0, import_elements.FieldElement)({ name: "Bit11", constraint: "11", description: "State of bit 11" }),
2619
- (0, import_elements.FieldElement)({ name: "Bit12", constraint: "12", description: "State of bit 12" }),
2620
- (0, import_elements.FieldElement)({ name: "Bit13", constraint: "13", description: "State of bit 13" }),
2621
- (0, import_elements.FieldElement)({ name: "Bit14", constraint: "14", description: "State of bit 14" }),
2622
- (0, import_elements.FieldElement)({ name: "Bit15", constraint: "15", description: "State of bit 15" })
2623
- ),
2624
2519
  (0, import_elements.DatatypeElement)(
2625
2520
  {
2626
2521
  name: "AlarmCodeEnum",
2627
2522
  type: "enum8",
2628
2523
  details: "This enumeration shall indicate the alarm type.",
2629
- xref: { document: "cluster", section: "5.2.6.8" }
2524
+ xref: { document: "cluster", section: "5.2.6.7" }
2630
2525
  },
2631
2526
  (0, import_elements.FieldElement)({ name: "LockJammed", id: 0, conformance: "M", description: "Locking Mechanism Jammed" }),
2632
2527
  (0, import_elements.FieldElement)({ name: "LockFactoryReset", id: 1, conformance: "O", description: "Lock Reset to Factory Defaults" }),
@@ -2657,7 +2552,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2657
2552
  name: "CredentialRuleEnum",
2658
2553
  type: "enum8",
2659
2554
  details: "This enumeration shall indicate the credential rule that can be applied to a particular user.",
2660
- xref: { document: "cluster", section: "5.2.6.9" }
2555
+ xref: { document: "cluster", section: "5.2.6.8" }
2661
2556
  },
2662
2557
  (0, import_elements.FieldElement)({
2663
2558
  name: "Single",
@@ -2683,21 +2578,45 @@ const DoorLock = (0, import_elements.ClusterElement)(
2683
2578
  name: "CredentialTypeEnum",
2684
2579
  type: "enum8",
2685
2580
  details: "This enumeration shall indicate the credential type.",
2686
- xref: { document: "cluster", section: "5.2.6.10" }
2581
+ xref: { document: "cluster", section: "5.2.6.9" }
2687
2582
  },
2688
2583
  (0, import_elements.FieldElement)({ name: "ProgrammingPin", id: 0, conformance: "O", description: "Programming PIN code credential type" }),
2689
2584
  (0, import_elements.FieldElement)({ name: "Pin", id: 1, conformance: "PIN", description: "PIN code credential type" }),
2690
2585
  (0, import_elements.FieldElement)({ name: "Rfid", id: 2, conformance: "RID", description: "RFID identifier credential type" }),
2691
2586
  (0, import_elements.FieldElement)({ name: "Fingerprint", id: 3, conformance: "FGP", description: "Fingerprint identifier credential type" }),
2692
2587
  (0, import_elements.FieldElement)({ name: "FingerVein", id: 4, conformance: "FGP", description: "Finger vein identifier credential type" }),
2693
- (0, import_elements.FieldElement)({ name: "Face", id: 5, conformance: "FACE", description: "Face identifier credential type" })
2588
+ (0, import_elements.FieldElement)({ name: "Face", id: 5, conformance: "FACE", description: "Face identifier credential type" }),
2589
+ (0, import_elements.FieldElement)({
2590
+ name: "AliroCredentialIssuerKey",
2591
+ id: 6,
2592
+ conformance: "ALIRO",
2593
+ description: "A Credential Issuer public key as defined in [Aliro]",
2594
+ details: 'Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section 2.3.3 of SEC 1.\nCredentials of this type shall NOT be used to allow operating the lock. They shall be used, as defined in [Aliro], to create new credentials of type AliroEvictableEndpointKey via a step-up transaction.\nWhen performing the step-up transaction, the lock shall request the data element with identifier "matter1", and shall attempt to create a new credential of type AliroEvictableEndpointKey if and only if the data element is returned and the Access Credential can be validated using the AliroCredentialIssuerKey.\nWhen a new credential of type AliroEvictableEndpointKey is added in this manner, it shall be associated with the same user record as the AliroCredentialIssuerKey credential that allowed the new credential to be added.\nIf there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. either the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has been reached) but there exist credentials of type AliroEvictableEndpointKey associated with the user record, the server shall remove one of those credentials using the same procedure it would follow for the ClearCredential command before adding the new credential.\nIf there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. either the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has been reached) and there do not exist credentials of type AliroEvictableEndpointKey associated with the user record, a new AliroEvictableEndpointKey credential shall NOT be created.\nIf the step-up process results in addition of new credentials, the corresponding LockUserChange event shall have OperationSource set to Aliro.\nIf the step-up process results in the lock state changing (e.g. locking or unlocking), the credential associated with those changes in the LockOperation events shall be the newly provisioned AliroEvictableEndpointKey credential if one was created. If no new AliroEvictableEndpointKey credential was created, the credential associated with the changes in the LockOperation events shall be the AliroCredentialIssuerKey credential used for the step-up.',
2595
+ xref: { document: "cluster", section: "5.2.6.9.1" }
2596
+ }),
2597
+ (0, import_elements.FieldElement)({
2598
+ name: "AliroEvictableEndpointKey",
2599
+ id: 7,
2600
+ conformance: "ALIRO",
2601
+ description: "An Endpoint public key as defined in [Aliro] which can be evicted if space is needed for another endpoint key",
2602
+ details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section 2.3.3 of SEC 1.",
2603
+ xref: { document: "cluster", section: "5.2.6.9.2" }
2604
+ }),
2605
+ (0, import_elements.FieldElement)({
2606
+ name: "AliroNonEvictableEndpointKey",
2607
+ id: 8,
2608
+ conformance: "ALIRO",
2609
+ description: "An Endpoint public key as defined in [Aliro] which cannot be evicted if space is needed for another endpoint key",
2610
+ details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section 2.3.3 of SEC 1.",
2611
+ xref: { document: "cluster", section: "5.2.6.9.3" }
2612
+ })
2694
2613
  ),
2695
2614
  (0, import_elements.DatatypeElement)(
2696
2615
  {
2697
2616
  name: "DataOperationTypeEnum",
2698
2617
  type: "enum8",
2699
2618
  details: "This enumeration shall indicate the data operation performed.",
2700
- xref: { document: "cluster", section: "5.2.6.11" }
2619
+ xref: { document: "cluster", section: "5.2.6.10" }
2701
2620
  },
2702
2621
  (0, import_elements.FieldElement)({ name: "Add", id: 0, conformance: "M", description: "Data is being added or was added" }),
2703
2622
  (0, import_elements.FieldElement)({ name: "Clear", id: 1, conformance: "M", description: "Data is being cleared or was cleared" }),
@@ -2708,7 +2627,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2708
2627
  name: "DoorStateEnum",
2709
2628
  type: "enum8",
2710
2629
  details: "This enumeration shall indicate the current door state.",
2711
- xref: { document: "cluster", section: "5.2.6.12" }
2630
+ xref: { document: "cluster", section: "5.2.6.11" }
2712
2631
  },
2713
2632
  (0, import_elements.FieldElement)({ name: "DoorOpen", id: 0, conformance: "DPS", description: "Door state is open" }),
2714
2633
  (0, import_elements.FieldElement)({ name: "DoorClosed", id: 1, conformance: "DPS", description: "Door state is closed" }),
@@ -2727,7 +2646,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2727
2646
  name: "LockDataTypeEnum",
2728
2647
  type: "enum8",
2729
2648
  details: "This enumeration shall indicate the data type that is being or has changed.",
2730
- xref: { document: "cluster", section: "5.2.6.13" }
2649
+ xref: { document: "cluster", section: "5.2.6.12" }
2731
2650
  },
2732
2651
  (0, import_elements.FieldElement)({
2733
2652
  name: "Unspecified",
@@ -2794,6 +2713,24 @@ const DoorLock = (0, import_elements.ClusterElement)(
2794
2713
  id: 10,
2795
2714
  conformance: "FACE",
2796
2715
  description: "Lock user face information was added, cleared, or modified."
2716
+ }),
2717
+ (0, import_elements.FieldElement)({
2718
+ name: "AliroCredentialIssuerKey",
2719
+ id: 11,
2720
+ conformance: "ALIRO",
2721
+ description: "An Aliro credential issuer key credential was added, cleared, or modified."
2722
+ }),
2723
+ (0, import_elements.FieldElement)({
2724
+ name: "AliroEvictableEndpointKey",
2725
+ id: 12,
2726
+ conformance: "ALIRO",
2727
+ description: "An Aliro endpoint key credential which can be evicted credential was added, cleared, or modified."
2728
+ }),
2729
+ (0, import_elements.FieldElement)({
2730
+ name: "AliroNonEvictableEndpointKey",
2731
+ id: 13,
2732
+ conformance: "ALIRO",
2733
+ description: "An Aliro endpoint key credential which cannot be evicted was added, cleared, or modified."
2797
2734
  })
2798
2735
  ),
2799
2736
  (0, import_elements.DatatypeElement)(
@@ -2801,7 +2738,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2801
2738
  name: "LockOperationTypeEnum",
2802
2739
  type: "enum8",
2803
2740
  details: "This enumeration shall indicate the type of Lock operation performed.",
2804
- xref: { document: "cluster", section: "5.2.6.14" }
2741
+ xref: { document: "cluster", section: "5.2.6.13" }
2805
2742
  },
2806
2743
  (0, import_elements.FieldElement)({ name: "Lock", id: 0, conformance: "M", description: "Lock operation" }),
2807
2744
  (0, import_elements.FieldElement)({ name: "Unlock", id: 1, conformance: "M", description: "Unlock operation" }),
@@ -2824,7 +2761,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2824
2761
  name: "OperationErrorEnum",
2825
2762
  type: "enum8",
2826
2763
  details: "This enumeration shall indicate the error cause of the Lock/Unlock operation performed.",
2827
- xref: { document: "cluster", section: "5.2.6.15" }
2764
+ xref: { document: "cluster", section: "5.2.6.14" }
2828
2765
  },
2829
2766
  (0, import_elements.FieldElement)({
2830
2767
  name: "Unspecified",
@@ -2862,42 +2799,42 @@ const DoorLock = (0, import_elements.ClusterElement)(
2862
2799
  name: "OperatingModeEnum",
2863
2800
  type: "enum8",
2864
2801
  details: "This enumeration shall indicate the lock operating mode.\nThe table below shows the operating mode and which interfaces are enabled, if supported, for each mode.\n* Interface Operational: Yes, No or N/A\nNOTE\nFor modes that disable the remote interface, the door lock shall respond to Lock, Unlock, Toggle, and Unlock with Timeout commands with a response status Failure and not take the action requested by those commands. The door lock shall NOT disable the radio or otherwise unbind or leave the network. It shall still respond to all other commands and requests.",
2865
- xref: { document: "cluster", section: "5.2.6.16" }
2802
+ xref: { document: "cluster", section: "5.2.6.15" }
2866
2803
  },
2867
2804
  (0, import_elements.FieldElement)({
2868
2805
  name: "Normal",
2869
2806
  id: 0,
2870
2807
  conformance: "M",
2871
2808
  details: "The lock operates normally. All interfaces are enabled.",
2872
- xref: { document: "cluster", section: "5.2.6.16.1" }
2809
+ xref: { document: "cluster", section: "5.2.6.15.1" }
2873
2810
  }),
2874
2811
  (0, import_elements.FieldElement)({
2875
2812
  name: "Vacation",
2876
2813
  id: 1,
2877
2814
  conformance: "O",
2878
2815
  details: "Only remote interaction is enabled. The keypad shall only be operable by the master user.",
2879
- xref: { document: "cluster", section: "5.2.6.16.2" }
2816
+ xref: { document: "cluster", section: "5.2.6.15.2" }
2880
2817
  }),
2881
2818
  (0, import_elements.FieldElement)({
2882
2819
  name: "Privacy",
2883
2820
  id: 2,
2884
2821
  conformance: "O",
2885
2822
  details: "This mode is only possible if the door is locked. Manual unlocking changes the mode to Normal operating mode. All external interaction with the door lock is disabled. This mode is intended to be used so that users, presumably inside the property, will have control over the entrance.",
2886
- xref: { document: "cluster", section: "5.2.6.16.3" }
2823
+ xref: { document: "cluster", section: "5.2.6.15.3" }
2887
2824
  }),
2888
2825
  (0, import_elements.FieldElement)({
2889
2826
  name: "NoRemoteLockUnlock",
2890
2827
  id: 3,
2891
2828
  conformance: "M",
2892
2829
  details: "This mode only disables remote interaction with the lock. This does not apply to any remote proprietary means of communication. It specifically applies to the Lock, Unlock, Toggle, and Unlock with Timeout Commands.",
2893
- xref: { document: "cluster", section: "5.2.6.16.4" }
2830
+ xref: { document: "cluster", section: "5.2.6.15.4" }
2894
2831
  }),
2895
2832
  (0, import_elements.FieldElement)({
2896
2833
  name: "Passage",
2897
2834
  id: 4,
2898
2835
  conformance: "O",
2899
2836
  details: "The lock is open or can be opened or closed at will without the use of a Keypad or other means of user validation (e.g. a lock for a business during work hours).",
2900
- xref: { document: "cluster", section: "5.2.6.16.5" }
2837
+ xref: { document: "cluster", section: "5.2.6.15.5" }
2901
2838
  })
2902
2839
  ),
2903
2840
  (0, import_elements.DatatypeElement)(
@@ -2905,7 +2842,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2905
2842
  name: "OperationSourceEnum",
2906
2843
  type: "enum8",
2907
2844
  details: "This enumeration shall indicate the source of the Lock/Unlock or user change operation performed.",
2908
- xref: { document: "cluster", section: "5.2.6.17" }
2845
+ xref: { document: "cluster", section: "5.2.6.16" }
2909
2846
  },
2910
2847
  (0, import_elements.FieldElement)({
2911
2848
  name: "Unspecified",
@@ -2951,6 +2888,12 @@ const DoorLock = (0, import_elements.ClusterElement)(
2951
2888
  id: 9,
2952
2889
  conformance: "[USR]",
2953
2890
  description: "Lock/unlock operation came from biometric source (e.g. face, fingerprint/fingervein)"
2891
+ }),
2892
+ (0, import_elements.FieldElement)({
2893
+ name: "Aliro",
2894
+ id: 10,
2895
+ conformance: "ALIRO",
2896
+ description: "Lock/unlock operation came from an interaction defined in [Aliro], or user change operation was a step-up credential provisioning as defined in [Aliro]"
2954
2897
  })
2955
2898
  ),
2956
2899
  (0, import_elements.DatatypeElement)(
@@ -2958,7 +2901,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2958
2901
  name: "UserStatusEnum",
2959
2902
  type: "enum8",
2960
2903
  details: "This enumeration shall indicate what the status is for a specific user ID.",
2961
- xref: { document: "cluster", section: "5.2.6.18" }
2904
+ xref: { document: "cluster", section: "5.2.6.17" }
2962
2905
  },
2963
2906
  (0, import_elements.FieldElement)({ name: "Available", id: 0, conformance: "M", description: "The user ID is available" }),
2964
2907
  (0, import_elements.FieldElement)({ name: "OccupiedEnabled", id: 1, conformance: "M", description: "The user ID is occupied and enabled" }),
@@ -2969,7 +2912,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
2969
2912
  name: "UserTypeEnum",
2970
2913
  type: "enum8",
2971
2914
  details: "This enumeration shall indicate what the type is for a specific user ID.",
2972
- xref: { document: "cluster", section: "5.2.6.19" }
2915
+ xref: { document: "cluster", section: "5.2.6.18" }
2973
2916
  },
2974
2917
  (0, import_elements.FieldElement)({
2975
2918
  name: "UnrestrictedUser",
@@ -2977,23 +2920,23 @@ const DoorLock = (0, import_elements.ClusterElement)(
2977
2920
  conformance: "M",
2978
2921
  description: "The user ID type is unrestricted",
2979
2922
  details: "This value shall indicate the user has access 24/7 provided proper PIN or RFID is supplied (e.g., owner).",
2980
- xref: { document: "cluster", section: "5.2.6.19.1" }
2923
+ xref: { document: "cluster", section: "5.2.6.18.1" }
2981
2924
  }),
2982
2925
  (0, import_elements.FieldElement)({
2983
2926
  name: "YearDayScheduleUser",
2984
2927
  id: 1,
2985
2928
  conformance: "O",
2986
2929
  description: "The user ID type is schedule",
2987
- details: "This value shall indicate the user has the ability to open lock within a specific time period (e.g., guest).",
2988
- xref: { document: "cluster", section: "5.2.6.19.2" }
2930
+ details: "This value shall indicate the user has the ability to open lock within a specific time period (e.g., guest).\nWhen UserType is set to YearDayScheduleUser, user access shall be restricted as follows:\n \u2022 If no YearDaySchedules are set for the user, then access shall be denied\n \u2022 If one or more YearDaySchedules are set, user access shall be granted if and only if the current time falls within at least one of the YearDaySchedules. If current time is not known, user access shall NOT be granted.",
2931
+ xref: { document: "cluster", section: "5.2.6.18.2" }
2989
2932
  }),
2990
2933
  (0, import_elements.FieldElement)({
2991
2934
  name: "WeekDayScheduleUser",
2992
2935
  id: 2,
2993
2936
  conformance: "O",
2994
2937
  description: "The user ID type is schedule",
2995
- details: "This value shall indicate the user has the ability to open lock based on specific time period within a reoccurring weekly schedule (e.g., cleaning worker).",
2996
- xref: { document: "cluster", section: "5.2.6.19.3" }
2938
+ details: "This value shall indicate the user has the ability to open lock based on specific time period within a reoccurring weekly schedule (e.g., cleaning worker).\nWhen UserType is set to WeekDayScheduleUser, user access shall be restricted as follows:\n \u2022 If no WeekDaySchedules are set for the user, then access shall be denied\n \u2022 If one or more WeekDaySchedules are set, user access shall be granted if and only if the current time falls within at least one of the WeekDaySchedules. If current time is not known, user access shall NOT be granted.",
2939
+ xref: { document: "cluster", section: "5.2.6.18.3" }
2997
2940
  }),
2998
2941
  (0, import_elements.FieldElement)({
2999
2942
  name: "ProgrammingUser",
@@ -3001,7 +2944,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3001
2944
  conformance: "O",
3002
2945
  description: "The user ID type is programming",
3003
2946
  details: "This value shall indicate the user has the ability to both program and operate the door lock. This user can manage the users and user schedules. In all other respects this user matches the unrestricted (default) user. ProgrammingUser is the only user that can disable the user interface (keypad, remote, etc\u2026).",
3004
- xref: { document: "cluster", section: "5.2.6.19.4" }
2947
+ xref: { document: "cluster", section: "5.2.6.18.4" }
3005
2948
  }),
3006
2949
  (0, import_elements.FieldElement)({
3007
2950
  name: "NonAccessUser",
@@ -3009,7 +2952,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3009
2952
  conformance: "O",
3010
2953
  description: "The user ID type is non access",
3011
2954
  details: "This value shall indicate the user is recognized by the lock but does not have the ability to open the lock. This user will only cause the lock to generate the appropriate event notification to any bound devices.",
3012
- xref: { document: "cluster", section: "5.2.6.19.5" }
2955
+ xref: { document: "cluster", section: "5.2.6.18.5" }
3013
2956
  }),
3014
2957
  (0, import_elements.FieldElement)({
3015
2958
  name: "ForcedUser",
@@ -3017,7 +2960,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3017
2960
  conformance: "[USR]",
3018
2961
  description: "The user ID type is forced",
3019
2962
  details: "This value shall indicate the user has the ability to open lock but a ForcedUser LockOperationType and ForcedUser silent alarm will be emitted to allow a notified Node to alert emergency services or contacts on the user account when used.",
3020
- xref: { document: "cluster", section: "5.2.6.19.6" }
2963
+ xref: { document: "cluster", section: "5.2.6.18.6" }
3021
2964
  }),
3022
2965
  (0, import_elements.FieldElement)({
3023
2966
  name: "DisposableUser",
@@ -3025,7 +2968,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3025
2968
  conformance: "[USR]",
3026
2969
  description: "The user ID type is disposable",
3027
2970
  details: "This value shall indicate the user has the ability to open lock once after which the lock shall change the corresponding user record UserStatus value to OccupiedDisabled automatically.",
3028
- xref: { document: "cluster", section: "5.2.6.19.7" }
2971
+ xref: { document: "cluster", section: "5.2.6.18.7" }
3029
2972
  }),
3030
2973
  (0, import_elements.FieldElement)({
3031
2974
  name: "ExpiringUser",
@@ -3033,15 +2976,15 @@ const DoorLock = (0, import_elements.ClusterElement)(
3033
2976
  conformance: "[USR]",
3034
2977
  description: "The user ID type is expiring",
3035
2978
  details: "This value shall indicate the user has the ability to open lock for ExpiringUserTimeout attribute minutes after the first use of the PIN code, RFID code, Fingerprint, or other credential. After ExpiringUserTimeout minutes the corresponding user record UserStatus value shall be set to OccupiedDisabled automatically by the lock. The lock shall persist the timeout across reboots such that the ExpiringUserTimeout is honored.",
3036
- xref: { document: "cluster", section: "5.2.6.19.8" }
2979
+ xref: { document: "cluster", section: "5.2.6.18.8" }
3037
2980
  }),
3038
2981
  (0, import_elements.FieldElement)({
3039
2982
  name: "ScheduleRestrictedUser",
3040
2983
  id: 8,
3041
2984
  conformance: "WDSCH | YDSCH",
3042
2985
  description: "The user ID type is schedule restricted",
3043
- details: "This value shall indicate the user access is restricted by Week Day and/or Year Day schedule.",
3044
- xref: { document: "cluster", section: "5.2.6.19.9" }
2986
+ details: "This value shall indicate the user access is restricted by Week Day and/or Year Day schedule. When UserType is set to ScheduleRestrictedUser, user access shall be restricted as follows:\n \u2022 If no WeekDaySchedules and no YearDaySchedules are set for the user, then access shall be denied\n \u2022 If one or more WeekDaySchedules are set, but no YearDaySchedules are set for the user, then user access shall be equivalent to the WeekDayScheduleUser UserType\n \u2022 If one or more YearDaySchedules are set, but no WeekDaySchedules are set for the user, then user access shall be equivalent to the YearDayScheduleUser UserType\n \u2022 If one or WeekDaySchedules are set AND one or more YearDaySchedules are set, then user access shall be granted if and only if the current time falls within at least one of the WeekDaySchedules AND the current time falls within at least one of the YearDaySchedules.",
2987
+ xref: { document: "cluster", section: "5.2.6.18.9" }
3045
2988
  }),
3046
2989
  (0, import_elements.FieldElement)({
3047
2990
  name: "RemoteOnlyUser",
@@ -3049,11 +2992,11 @@ const DoorLock = (0, import_elements.ClusterElement)(
3049
2992
  conformance: "USR & COTA & PIN",
3050
2993
  description: "The user ID type is remote only",
3051
2994
  details: "This value shall indicate the user access and PIN code is restricted to remote lock/unlock commands only. This type of user might be useful for regular delivery services or voice assistant unlocking operations to prevent a PIN code credential created for them from being used at the keypad. The PIN code credential would only be provided over-the-air for the lock/unlock commands.",
3052
- xref: { document: "cluster", section: "5.2.6.19.10" }
2995
+ xref: { document: "cluster", section: "5.2.6.18.10" }
3053
2996
  })
3054
2997
  ),
3055
2998
  (0, import_elements.DatatypeElement)(
3056
- { name: "LockStateEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.20" } },
2999
+ { name: "LockStateEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.19" } },
3057
3000
  (0, import_elements.FieldElement)({ name: "NotFullyLocked", id: 0, conformance: "M", description: "Lock state is not fully locked" }),
3058
3001
  (0, import_elements.FieldElement)({ name: "Locked", id: 1, conformance: "M", description: "Lock state is fully locked" }),
3059
3002
  (0, import_elements.FieldElement)({ name: "Unlocked", id: 2, conformance: "M", description: "Lock state is fully unlocked" }),
@@ -3065,7 +3008,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3065
3008
  })
3066
3009
  ),
3067
3010
  (0, import_elements.DatatypeElement)(
3068
- { name: "LockTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.21" } },
3011
+ { name: "LockTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.20" } },
3069
3012
  (0, import_elements.FieldElement)({ name: "DeadBolt", id: 0, conformance: "M", description: "Physical lock type is dead bolt" }),
3070
3013
  (0, import_elements.FieldElement)({ name: "Magnetic", id: 1, conformance: "M", description: "Physical lock type is magnetic" }),
3071
3014
  (0, import_elements.FieldElement)({ name: "Other", id: 2, conformance: "M", description: "Physical lock type is other" }),
@@ -3085,7 +3028,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3085
3028
  (0, import_elements.FieldElement)({ name: "Eurocylinder", id: 11, conformance: "M", description: "Physical lock type is euro cylinder" })
3086
3029
  ),
3087
3030
  (0, import_elements.DatatypeElement)(
3088
- { name: "LEDSettingEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.22" } },
3031
+ { name: "LEDSettingEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.21" } },
3089
3032
  (0, import_elements.FieldElement)({ name: "NoLedSignal", id: 0, conformance: "M", description: "Never use LED for signalization" }),
3090
3033
  (0, import_elements.FieldElement)({
3091
3034
  name: "NoLedSignalAccessAllowed",
@@ -3096,91 +3039,24 @@ const DoorLock = (0, import_elements.ClusterElement)(
3096
3039
  (0, import_elements.FieldElement)({ name: "LedSignalAll", id: 2, conformance: "M", description: "Use LED signalization for all events" })
3097
3040
  ),
3098
3041
  (0, import_elements.DatatypeElement)(
3099
- { name: "SoundVolumeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.23" } },
3042
+ { name: "SoundVolumeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.22" } },
3100
3043
  (0, import_elements.FieldElement)({ name: "Silent", id: 0, conformance: "M", description: "Silent Mode" }),
3101
3044
  (0, import_elements.FieldElement)({ name: "Low", id: 1, conformance: "M", description: "Low Volume" }),
3102
3045
  (0, import_elements.FieldElement)({ name: "High", id: 2, conformance: "M", description: "High Volume" }),
3103
3046
  (0, import_elements.FieldElement)({ name: "Medium", id: 3, conformance: "M", description: "Medium Volume" })
3104
3047
  ),
3105
3048
  (0, import_elements.DatatypeElement)(
3106
- { name: "EventTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.24" } },
3049
+ { name: "EventTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.23" } },
3107
3050
  (0, import_elements.FieldElement)({ name: "Operation", id: 0, conformance: "M", description: "Event type is operation" }),
3108
3051
  (0, import_elements.FieldElement)({ name: "Programming", id: 1, conformance: "M", description: "Event type is programming" }),
3109
3052
  (0, import_elements.FieldElement)({ name: "Alarm", id: 2, conformance: "M", description: "Event type is alarm" })
3110
3053
  ),
3111
- (0, import_elements.DatatypeElement)(
3112
- { name: "EventSourceEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25" } },
3113
- (0, import_elements.FieldElement)({ name: "Keypad", id: 0, conformance: "M", description: "Event source is keypad" }),
3114
- (0, import_elements.FieldElement)({ name: "Remote", id: 1, conformance: "M", description: "Event source is remote" }),
3115
- (0, import_elements.FieldElement)({ name: "Manual", id: 2, conformance: "M", description: "Event source is manual" }),
3116
- (0, import_elements.FieldElement)({ name: "Rfid", id: 3, conformance: "M", description: "Event source is RFID" }),
3117
- (0, import_elements.FieldElement)({ name: "Indeterminate", id: 255, conformance: "M", description: "Event source is unknown" })
3118
- ),
3119
- (0, import_elements.DatatypeElement)(
3120
- { name: "OperationEventCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25.1" } },
3121
- (0, import_elements.FieldElement)({ name: "UnknownOrMfgSpecific", id: 0, conformance: "O", description: "Event code is unknown" }),
3122
- (0, import_elements.FieldElement)({ name: "Lock", id: 1, conformance: "O", description: "Event code is lock" }),
3123
- (0, import_elements.FieldElement)({ name: "Unlock", id: 2, conformance: "O", description: "Event code is unlock" }),
3124
- (0, import_elements.FieldElement)({
3125
- name: "LockFailureInvalidPiNorRfid",
3126
- id: 3,
3127
- conformance: "O",
3128
- description: "Event code is lock failure due to invalid PIN or RFID"
3129
- }),
3130
- (0, import_elements.FieldElement)({
3131
- name: "LockFailureInvalidSchedule",
3132
- id: 4,
3133
- conformance: "O",
3134
- description: "Event code is lock failure due to invalid schedule"
3135
- }),
3136
- (0, import_elements.FieldElement)({
3137
- name: "UnlockFailureInvalidPiNorRfid",
3138
- id: 5,
3139
- conformance: "O",
3140
- description: "Event code is unlock failure due to invalid PIN or RFID"
3141
- }),
3142
- (0, import_elements.FieldElement)({
3143
- name: "UnlockFailureInvalidSchedule",
3144
- id: 6,
3145
- conformance: "O",
3146
- description: "Event code is unlock failure due to invalid schedule"
3147
- }),
3148
- (0, import_elements.FieldElement)({ name: "OneTouchLock", id: 7, conformance: "O", description: "Event code is one touch lock" }),
3149
- (0, import_elements.FieldElement)({ name: "KeyLock", id: 8, conformance: "O", description: "Event code is key lock" }),
3150
- (0, import_elements.FieldElement)({ name: "KeyUnlock", id: 9, conformance: "O", description: "Event code is key unlock" }),
3151
- (0, import_elements.FieldElement)({ name: "AutoLock", id: 10, conformance: "O", description: "Event code is auto lock" }),
3152
- (0, import_elements.FieldElement)({ name: "ScheduleLock", id: 11, conformance: "WDSCH | YDSCH", description: "Event code is schedule lock" }),
3153
- (0, import_elements.FieldElement)({ name: "ScheduleUnlock", id: 12, conformance: "WDSCH | YDSCH", description: "Event code is schedule unlock" }),
3154
- (0, import_elements.FieldElement)({ name: "ManualLock", id: 13, conformance: "O", description: "Event code is manual lock (Key or Thumbturn)" }),
3155
- (0, import_elements.FieldElement)({
3156
- name: "ManualUnlock",
3157
- id: 14,
3158
- conformance: "O",
3159
- description: "Event code is manual unlock (Key or Thumbturn)"
3160
- }),
3161
- (0, import_elements.FieldElement)({
3162
- name: "NonAccessUserOperationEvent",
3163
- id: 15,
3164
- conformance: "O",
3165
- description: "Event code is non access user operation"
3166
- })
3167
- ),
3168
- (0, import_elements.DatatypeElement)(
3169
- { name: "ProgrammingEventCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25.2" } },
3170
- (0, import_elements.FieldElement)({ name: "UnknownOrMfgSpecific", id: 0, conformance: "O", description: "Event code is unknown" }),
3171
- (0, import_elements.FieldElement)({ name: "ProgrammingCodeChanged", id: 1, conformance: "O", description: "Event code is code changed" }),
3172
- (0, import_elements.FieldElement)({ name: "PinCodeAdded", id: 2, conformance: "O", description: "Event code is PIN added" }),
3173
- (0, import_elements.FieldElement)({ name: "PinCodeCleared", id: 3, conformance: "O", description: "Event code is PIN cleared" }),
3174
- (0, import_elements.FieldElement)({ name: "PinCodeChanged", id: 4, conformance: "O", description: "Event code is PIN changed" }),
3175
- (0, import_elements.FieldElement)({ name: "RfidCodeAdded", id: 5, conformance: "O", description: "Event code is RFID added" }),
3176
- (0, import_elements.FieldElement)({ name: "RfidCodeCleared", id: 6, conformance: "O", description: "Event code is RFID cleared" })
3177
- ),
3178
3054
  (0, import_elements.DatatypeElement)(
3179
3055
  {
3180
3056
  name: "CredentialStruct",
3181
3057
  type: "struct",
3182
3058
  details: "This struct shall indicate the credential types and their corresponding indices (if any) for the event or user record.",
3183
- xref: { document: "cluster", section: "5.2.6.26" }
3059
+ xref: { document: "cluster", section: "5.2.6.24" }
3184
3060
  },
3185
3061
  (0, import_elements.FieldElement)({
3186
3062
  name: "CredentialType",
@@ -3188,7 +3064,7 @@ const DoorLock = (0, import_elements.ClusterElement)(
3188
3064
  type: "CredentialTypeEnum",
3189
3065
  conformance: "M",
3190
3066
  details: "This field shall indicate the credential field used to authorize the lock operation.",
3191
- xref: { document: "cluster", section: "5.2.6.26.1" }
3067
+ xref: { document: "cluster", section: "5.2.6.24.1" }
3192
3068
  }),
3193
3069
  (0, import_elements.FieldElement)({
3194
3070
  name: "CredentialIndex",
@@ -3197,13 +3073,13 @@ const DoorLock = (0, import_elements.ClusterElement)(
3197
3073
  conformance: "M",
3198
3074
  default: 0,
3199
3075
  details: "This field shall indicate the index of the specific credential used to authorize the lock operation in the list of credentials identified by CredentialType (e.g. PIN, RFID, etc.). This field shall be set to 0 if CredentialType is ProgrammingPIN or does not correspond to a list that can be indexed into.",
3200
- xref: { document: "cluster", section: "5.2.6.26.2" }
3076
+ xref: { document: "cluster", section: "5.2.6.24.2" }
3201
3077
  })
3202
3078
  ),
3203
3079
  (0, import_elements.DatatypeElement)(
3204
3080
  { name: "StatusCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.7.1" } },
3205
- (0, import_elements.FieldElement)({ name: "Duplicate", id: 2, description: "Entry would cause a duplicate credential/ID." }),
3206
- (0, import_elements.FieldElement)({ name: "Occupied", id: 3, description: "Entry would replace an occupied slot." })
3081
+ (0, import_elements.FieldElement)({ name: "Duplicate", id: 2, conformance: "M", description: "Entry would cause a duplicate credential/ID." }),
3082
+ (0, import_elements.FieldElement)({ name: "Occupied", id: 3, conformance: "M", description: "Entry would replace an occupied slot." })
3207
3083
  )
3208
3084
  );
3209
3085
  import_MatterDefinition.MatterDefinition.children.push(DoorLock);