@zwave-js/cc 15.25.1 → 15.25.3

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 (314) hide show
  1. package/build/cjs/cc/AlarmSensorCC.js +15 -17
  2. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  3. package/build/cjs/cc/AssociationCC.d.ts +1 -1
  4. package/build/cjs/cc/AssociationCC.js +5 -2
  5. package/build/cjs/cc/AssociationCC.js.map +2 -2
  6. package/build/cjs/cc/AssociationGroupInfoCC.js +23 -18
  7. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  8. package/build/cjs/cc/BarrierOperatorCC.js +9 -7
  9. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  10. package/build/cjs/cc/BasicCC.js +3 -2
  11. package/build/cjs/cc/BasicCC.js.map +2 -2
  12. package/build/cjs/cc/BatteryCC.js +3 -2
  13. package/build/cjs/cc/BatteryCC.js.map +2 -2
  14. package/build/cjs/cc/BinarySensorCC.js +8 -6
  15. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  16. package/build/cjs/cc/BinarySwitchCC.js +3 -2
  17. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  18. package/build/cjs/cc/CentralSceneCC.js +9 -7
  19. package/build/cjs/cc/CentralSceneCC.js.map +2 -2
  20. package/build/cjs/cc/ClockCC.js +3 -2
  21. package/build/cjs/cc/ClockCC.js.map +2 -2
  22. package/build/cjs/cc/ColorSwitchCC.js +9 -6
  23. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  24. package/build/cjs/cc/ConfigurationCC.js +27 -27
  25. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  26. package/build/cjs/cc/DoorLockCC.js +49 -63
  27. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  28. package/build/cjs/cc/DoorLockLoggingCC.js +3 -2
  29. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  30. package/build/cjs/cc/EnergyProductionCC.js +3 -2
  31. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  32. package/build/cjs/cc/EntryControlCC.js +5 -3
  33. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  34. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +2 -1
  35. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
  36. package/build/cjs/cc/HumidityControlModeCC.js +9 -8
  37. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  38. package/build/cjs/cc/HumidityControlOperatingStateCC.js +3 -2
  39. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  40. package/build/cjs/cc/HumidityControlSetpointCC.js +19 -17
  41. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  42. package/build/cjs/cc/IndicatorCC.js +5 -2
  43. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  44. package/build/cjs/cc/IrrigationCC.js +26 -27
  45. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  46. package/build/cjs/cc/LanguageCC.js +3 -2
  47. package/build/cjs/cc/LanguageCC.js.map +2 -2
  48. package/build/cjs/cc/LockCC.js +3 -2
  49. package/build/cjs/cc/LockCC.js.map +2 -2
  50. package/build/cjs/cc/ManufacturerSpecificCC.js +4 -1
  51. package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
  52. package/build/cjs/cc/MeterCC.js +14 -13
  53. package/build/cjs/cc/MeterCC.js.map +2 -2
  54. package/build/cjs/cc/MultiChannelAssociationCC.js +5 -2
  55. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  56. package/build/cjs/cc/MultiChannelCC.d.ts +1 -1
  57. package/build/cjs/cc/MultiChannelCC.js +19 -22
  58. package/build/cjs/cc/MultiChannelCC.js.map +2 -2
  59. package/build/cjs/cc/MultilevelSensorCC.js +13 -8
  60. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  61. package/build/cjs/cc/MultilevelSwitchCC.js +5 -3
  62. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  63. package/build/cjs/cc/NodeNamingCC.js +3 -2
  64. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  65. package/build/cjs/cc/NotificationCC.js +11 -11
  66. package/build/cjs/cc/NotificationCC.js.map +2 -2
  67. package/build/cjs/cc/ProtectionCC.js +16 -15
  68. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  69. package/build/cjs/cc/SceneControllerConfigurationCC.js +2 -1
  70. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  71. package/build/cjs/cc/ScheduleEntryLockCC.js +2 -1
  72. package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
  73. package/build/cjs/cc/Security2CC.js +15 -24
  74. package/build/cjs/cc/Security2CC.js.map +2 -2
  75. package/build/cjs/cc/SecurityCC.js +10 -17
  76. package/build/cjs/cc/SecurityCC.js.map +2 -2
  77. package/build/cjs/cc/SoundSwitchCC.js +2 -1
  78. package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
  79. package/build/cjs/cc/ThermostatFanModeCC.js +9 -7
  80. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  81. package/build/cjs/cc/ThermostatFanStateCC.js +3 -2
  82. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  83. package/build/cjs/cc/ThermostatModeCC.js +9 -7
  84. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  85. package/build/cjs/cc/ThermostatOperatingStateCC.js +4 -4
  86. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  87. package/build/cjs/cc/ThermostatSetbackCC.js +3 -2
  88. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  89. package/build/cjs/cc/ThermostatSetpointCC.js +9 -5
  90. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  91. package/build/cjs/cc/TimeCC.js +2 -1
  92. package/build/cjs/cc/TimeCC.js.map +2 -2
  93. package/build/cjs/cc/TimeParametersCC.js +2 -1
  94. package/build/cjs/cc/TimeParametersCC.js.map +2 -2
  95. package/build/cjs/cc/UserCodeCC.js +6 -6
  96. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  97. package/build/cjs/cc/UserCredentialCC.js +5 -2
  98. package/build/cjs/cc/UserCredentialCC.js.map +2 -2
  99. package/build/cjs/cc/VersionCC.js +2 -1
  100. package/build/cjs/cc/VersionCC.js.map +2 -2
  101. package/build/cjs/cc/WakeUpCC.js +2 -1
  102. package/build/cjs/cc/WakeUpCC.js.map +2 -2
  103. package/build/cjs/cc/WindowCoveringCC.js +10 -7
  104. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  105. package/build/cjs/cc/ZWavePlusCC.js +2 -1
  106. package/build/cjs/cc/ZWavePlusCC.js.map +2 -2
  107. package/build/cjs/cc/_CCValues.generated.d.ts +4 -4
  108. package/build/cjs/cc/_CCValues.generated.js +2 -2
  109. package/build/cjs/cc/_CCValues.generated.js.map +1 -1
  110. package/build/cjs/cc/index.d.ts +3 -3
  111. package/build/cjs/cc/index.js.map +2 -2
  112. package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +1 -1
  113. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +2 -2
  114. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +3 -2
  115. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  116. package/build/cjs/lib/API.js.map +2 -2
  117. package/build/cjs/lib/CommandClass.d.ts +5 -1
  118. package/build/cjs/lib/CommandClass.js +25 -3
  119. package/build/cjs/lib/CommandClass.js.map +2 -2
  120. package/build/cjs/lib/CommandClassDecorators.d.ts +4 -4
  121. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  122. package/build/cjs/lib/Security2/Extension.d.ts +6 -4
  123. package/build/cjs/lib/Security2/Extension.js +22 -20
  124. package/build/cjs/lib/Security2/Extension.js.map +2 -2
  125. package/build/cjs/lib/_Types.js.map +1 -1
  126. package/build/cjs/lib/utils.js +14 -8
  127. package/build/cjs/lib/utils.js.map +2 -2
  128. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  129. package/build/esm/cc/AlarmSensorCC.js +14 -18
  130. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  131. package/build/esm/cc/AssociationCC.d.ts +1 -1
  132. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  133. package/build/esm/cc/AssociationCC.js +3 -0
  134. package/build/esm/cc/AssociationCC.js.map +1 -1
  135. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  136. package/build/esm/cc/AssociationGroupInfoCC.js +24 -22
  137. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  138. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  139. package/build/esm/cc/BarrierOperatorCC.js +8 -8
  140. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  141. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  142. package/build/esm/cc/BasicCC.js +2 -1
  143. package/build/esm/cc/BasicCC.js.map +1 -1
  144. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  145. package/build/esm/cc/BatteryCC.js +2 -1
  146. package/build/esm/cc/BatteryCC.js.map +1 -1
  147. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  148. package/build/esm/cc/BinarySensorCC.js +7 -7
  149. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  150. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  151. package/build/esm/cc/BinarySwitchCC.js +2 -1
  152. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  153. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  154. package/build/esm/cc/CentralSceneCC.js +9 -8
  155. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  156. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  157. package/build/esm/cc/ClockCC.js +2 -1
  158. package/build/esm/cc/ClockCC.js.map +1 -1
  159. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  160. package/build/esm/cc/ColorSwitchCC.js +8 -7
  161. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  162. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  163. package/build/esm/cc/ConfigurationCC.js +32 -29
  164. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  165. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  166. package/build/esm/cc/DoorLockCC.js +73 -74
  167. package/build/esm/cc/DoorLockCC.js.map +1 -1
  168. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  169. package/build/esm/cc/DoorLockLoggingCC.js +2 -1
  170. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  171. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  172. package/build/esm/cc/EnergyProductionCC.js +2 -1
  173. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  174. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  175. package/build/esm/cc/EntryControlCC.js +3 -1
  176. package/build/esm/cc/EntryControlCC.js.map +1 -1
  177. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  178. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -0
  179. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  180. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  181. package/build/esm/cc/HumidityControlModeCC.js +8 -9
  182. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  183. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  184. package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -1
  185. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  186. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  187. package/build/esm/cc/HumidityControlSetpointCC.js +18 -23
  188. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  189. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  190. package/build/esm/cc/IndicatorCC.js +3 -0
  191. package/build/esm/cc/IndicatorCC.js.map +1 -1
  192. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  193. package/build/esm/cc/IrrigationCC.js +29 -24
  194. package/build/esm/cc/IrrigationCC.js.map +1 -1
  195. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  196. package/build/esm/cc/LanguageCC.js +2 -1
  197. package/build/esm/cc/LanguageCC.js.map +1 -1
  198. package/build/esm/cc/LockCC.d.ts.map +1 -1
  199. package/build/esm/cc/LockCC.js +2 -1
  200. package/build/esm/cc/LockCC.js.map +1 -1
  201. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  202. package/build/esm/cc/ManufacturerSpecificCC.js +4 -1
  203. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  204. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  205. package/build/esm/cc/MeterCC.js +15 -19
  206. package/build/esm/cc/MeterCC.js.map +1 -1
  207. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  208. package/build/esm/cc/MultiChannelAssociationCC.js +3 -0
  209. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  210. package/build/esm/cc/MultiChannelCC.d.ts +1 -1
  211. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  212. package/build/esm/cc/MultiChannelCC.js +19 -23
  213. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  214. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  215. package/build/esm/cc/MultilevelSensorCC.js +14 -19
  216. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  217. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  218. package/build/esm/cc/MultilevelSwitchCC.js +3 -1
  219. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  220. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  221. package/build/esm/cc/NodeNamingCC.js +2 -1
  222. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  223. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  224. package/build/esm/cc/NotificationCC.js +11 -14
  225. package/build/esm/cc/NotificationCC.js.map +1 -1
  226. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  227. package/build/esm/cc/ProtectionCC.js +15 -22
  228. package/build/esm/cc/ProtectionCC.js.map +1 -1
  229. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  230. package/build/esm/cc/SceneControllerConfigurationCC.js +1 -0
  231. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  232. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  233. package/build/esm/cc/ScheduleEntryLockCC.js +1 -0
  234. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  235. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  236. package/build/esm/cc/Security2CC.js +15 -32
  237. package/build/esm/cc/Security2CC.js.map +1 -1
  238. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  239. package/build/esm/cc/SecurityCC.js +10 -21
  240. package/build/esm/cc/SecurityCC.js.map +1 -1
  241. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  242. package/build/esm/cc/SoundSwitchCC.js +1 -0
  243. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  244. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  245. package/build/esm/cc/ThermostatFanModeCC.js +8 -8
  246. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  247. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  248. package/build/esm/cc/ThermostatFanStateCC.js +2 -1
  249. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  250. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  251. package/build/esm/cc/ThermostatModeCC.js +8 -8
  252. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  253. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  254. package/build/esm/cc/ThermostatOperatingStateCC.js +4 -5
  255. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  256. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  257. package/build/esm/cc/ThermostatSetbackCC.js +2 -1
  258. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  259. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  260. package/build/esm/cc/ThermostatSetpointCC.js +8 -9
  261. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  262. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  263. package/build/esm/cc/TimeCC.js +1 -0
  264. package/build/esm/cc/TimeCC.js.map +1 -1
  265. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  266. package/build/esm/cc/TimeParametersCC.js +1 -0
  267. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  268. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  269. package/build/esm/cc/UserCodeCC.js +5 -7
  270. package/build/esm/cc/UserCodeCC.js.map +1 -1
  271. package/build/esm/cc/UserCredentialCC.d.ts.map +1 -1
  272. package/build/esm/cc/UserCredentialCC.js +4 -1
  273. package/build/esm/cc/UserCredentialCC.js.map +1 -1
  274. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  275. package/build/esm/cc/VersionCC.js +1 -0
  276. package/build/esm/cc/VersionCC.js.map +1 -1
  277. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  278. package/build/esm/cc/WakeUpCC.js +1 -0
  279. package/build/esm/cc/WakeUpCC.js.map +1 -1
  280. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  281. package/build/esm/cc/WindowCoveringCC.js +9 -9
  282. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  283. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  284. package/build/esm/cc/ZWavePlusCC.js +1 -0
  285. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  286. package/build/esm/cc/_CCValues.generated.d.ts +4 -4
  287. package/build/esm/cc/_CCValues.generated.js +2 -2
  288. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  289. package/build/esm/cc/index.d.ts +3 -3
  290. package/build/esm/cc/index.d.ts.map +1 -1
  291. package/build/esm/cc/index.js.map +1 -1
  292. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +1 -1
  293. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
  294. package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -1
  295. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  296. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +2 -1
  297. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  298. package/build/esm/lib/API.js.map +1 -1
  299. package/build/esm/lib/CommandClass.d.ts +5 -1
  300. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  301. package/build/esm/lib/CommandClass.js +30 -4
  302. package/build/esm/lib/CommandClass.js.map +1 -1
  303. package/build/esm/lib/CommandClassDecorators.d.ts +4 -4
  304. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  305. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  306. package/build/esm/lib/Security2/Extension.d.ts +6 -4
  307. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  308. package/build/esm/lib/Security2/Extension.js +23 -21
  309. package/build/esm/lib/Security2/Extension.js.map +1 -1
  310. package/build/esm/lib/_Types.js +1 -1
  311. package/build/esm/lib/utils.d.ts.map +1 -1
  312. package/build/esm/lib/utils.js +15 -9
  313. package/build/esm/lib/utils.js.map +1 -1
  314. package/package.json +7 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/_CCValues.generated.ts"],
4
- "sourcesContent": ["/// This file is auto-generated. All manual changes will be lost!\n\nimport {\n\tCommandClasses,\n\ttype EndpointId,\n\ttype GetValueDB,\n\tMAX_NODES,\n\ttype ValueID,\n\tValueMetadata,\n\tZWaveLibraryTypes,\n\tenumValuesToMetadataStates,\n} from \"@zwave-js/core\";\nimport { getEnumMemberName, num2hex } from \"@zwave-js/shared\";\nimport {\n\tirrigationValveIdToMetadataPrefix,\n\tmeterTypesToPropertyKey,\n\tmultilevelSwitchTypeProperties,\n\tmultilevelSwitchTypeToActions,\n\twindowCoveringParameterToLevelChangeLabel,\n\twindowCoveringParameterToMetadataStates,\n} from \"../lib/CCValueUtils.js\";\nimport { type CCValueOptions } from \"../lib/Values.js\";\nimport {\n\tAlarmSensorType,\n\tBarrierState,\n\tBatteryChargingStatus,\n\tBatteryReplacementStatus,\n\tBinarySensorType,\n\tColorComponent,\n\tDeviceIdType,\n\tDoorLockMode,\n\tDoorLockOperationType,\n\tEnergyProductionParameter,\n\tHumidityControlMode,\n\tHumidityControlOperatingState,\n\tHumidityControlSetpointType,\n\tIrrigationSensorPolarity,\n\tLocalProtectionState,\n\tRFProtectionState,\n\tRateType,\n\ttype ScheduleEntryLockScheduleKind,\n\tScheduleOverrideType,\n\tSubsystemState,\n\tSubsystemType,\n\tSwitchType,\n\tThermostatFanMode,\n\tThermostatFanState,\n\tThermostatMode,\n\tThermostatOperatingState,\n\tThermostatSetpointType,\n\ttype UserCredentialKeyLockerEntryType,\n\ttype UserCredentialType,\n\ttype ValveId,\n\tWeekday,\n\tWindowCoveringParameter,\n} from \"../lib/_Types.js\";\n\nexport const AlarmSensorCCValues = Object.freeze({\n\tstate: Object.assign(\n\t\t(sensorType: AlarmSensorType) => {\n\t\t\tconst property = \"state\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst alarmName = getEnumMemberName(\n\t\t\t\t\t\tAlarmSensorType,\n\t\t\t\t\t\tsensorType,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${alarmName} state`,\n\t\t\t\t\t\tdescription: \"Whether the alarm is active\",\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"state\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tseverity: Object.assign(\n\t\t(sensorType: AlarmSensorType) => {\n\t\t\tconst property = \"severity\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst alarmName = getEnumMemberName(\n\t\t\t\t\t\tAlarmSensorType,\n\t\t\t\t\t\tsensorType,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\tunit: \"%\",\n\t\t\t\t\t\tlabel: `${alarmName} severity`,\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"severity\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tduration: Object.assign(\n\t\t(sensorType: AlarmSensorType) => {\n\t\t\tconst property = \"duration\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst alarmName = getEnumMemberName(\n\t\t\t\t\t\tAlarmSensorType,\n\t\t\t\t\t\tsensorType,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tunit: \"s\",\n\t\t\t\t\t\tlabel: `${alarmName} duration`,\n\t\t\t\t\t\tdescription: \"For how long the alarm should be active\",\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"duration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tsupportedSensorTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t&& valueId.property === \"supportedSensorTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const AssociationCCValues = Object.freeze({\n\thasLifeline: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tproperty: \"hasLifeline\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tendpoint,\n\t\t\tproperty: \"hasLifeline\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t&& valueId.property === \"hasLifeline\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tgroupCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tproperty: \"groupCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tendpoint,\n\t\t\tproperty: \"groupCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t&& valueId.property === \"groupCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxNodes: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"maxNodes\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"maxNodes\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnodeIds: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"nodeIds\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"nodeIds\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const AssociationGroupInfoCCValues = Object.freeze({\n\thasDynamicInfo: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Association Group Information\"],\n\t\t\tproperty: \"hasDynamicInfo\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Association Group Information\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"hasDynamicInfo\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t&& valueId.property === \"hasDynamicInfo\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tgroupName: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"name\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"name\" && typeof propertyKey === \"number\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tgroupInfo: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"info\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"info\" && typeof propertyKey === \"number\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcommands: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"issuedCommands\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"issuedCommands\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const BarrierOperatorCCValues = Object.freeze({\n\tsupportedSubsystemTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"supportedSubsystemTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSubsystemTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"supportedSubsystemTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tposition: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"position\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"position\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"position\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Barrier Position\",\n\t\t\t\tunit: \"%\",\n\t\t\t\tmax: 100,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"targetState\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetState\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"targetState\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Target Barrier State\",\n\t\t\t\tstates: enumValuesToMetadataStates(BarrierState, [\n\t\t\t\t\tBarrierState.Open,\n\t\t\t\t\tBarrierState.Closed,\n\t\t\t\t]),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"currentState\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentState\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"currentState\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Current Barrier State\",\n\t\t\t\tstates: enumValuesToMetadataStates(BarrierState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsignalingState: Object.assign(\n\t\t(subsystemType: SubsystemType) => {\n\t\t\tconst property = \"signalingState\";\n\t\t\tconst propertyKey = subsystemType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Signaling State (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tSubsystemType,\n\t\t\t\t\t\t\t\tsubsystemType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tstates: enumValuesToMetadataStates(SubsystemState),\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Barrier Operator\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"signalingState\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const BasicCCValues = Object.freeze({\n\tcurrentValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"currentValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\t\tlabel: \"Current value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"targetValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Target value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trestorePrevious: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"restorePrevious\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Restore previous value\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Restore\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcompatEvent: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"event\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"event\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"event\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Event value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: false,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: false,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const BasicWindowCoveringCCValues = Object.freeze({\n\tlevelChangeUp: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tproperty: \"levelChangeUp\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"levelChangeUp\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Basic Window Covering\"]\n\t\t\t\t&& valueId.property === \"levelChangeUp\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Open\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlevelChangeDown: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tproperty: \"levelChangeDown\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"levelChangeDown\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Basic Window Covering\"]\n\t\t\t\t&& valueId.property === \"levelChangeDown\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Close\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const BatteryCCValues = Object.freeze({\n\tlevel: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"level\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"level\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"level\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Battery level\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaximumCapacity: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"maximumCapacity\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"maximumCapacity\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"maximumCapacity\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Maximum capacity\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttemperature: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"temperature\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"temperature\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"temperature\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyInt8,\n\t\t\t\tlabel: \"Temperature\",\n\t\t\t\t// For now, only \u00B0C is specified as a valid unit\n\t\t\t\t// If this ever changes, update the unit in persistValues on the fly\n\t\t\t\tunit: \"\u00B0C\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tchargingStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"chargingStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"chargingStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"chargingStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Charging status\",\n\t\t\t\tstates: enumValuesToMetadataStates(BatteryChargingStatus),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trechargeable: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"rechargeable\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"rechargeable\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"rechargeable\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Rechargeable\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tbackup: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"backup\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"backup\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"backup\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Used as backup\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toverheating: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"overheating\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"overheating\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"overheating\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Overheating\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlowFluid: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"lowFluid\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"lowFluid\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"lowFluid\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Fluid is low\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trechargeOrReplace: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"rechargeOrReplace\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"rechargeOrReplace\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"rechargeOrReplace\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Recharge or replace\",\n\t\t\t\tstates: enumValuesToMetadataStates(BatteryReplacementStatus),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdisconnected: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"disconnected\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"disconnected\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"disconnected\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Battery is disconnected\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlowTemperatureStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"lowTemperatureStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"lowTemperatureStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"lowTemperatureStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Battery temperature is low\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const BinarySensorCCValues = Object.freeze({\n\tsupportedSensorTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Sensor\"]\n\t\t\t\t&& valueId.property === \"supportedSensorTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tstate: Object.assign(\n\t\t(sensorType: BinarySensorType) => {\n\t\t\tconst property = getEnumMemberName(BinarySensorType, sensorType);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `Sensor state (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tBinarySensorType,\n\t\t\t\t\t\t\t\tsensorType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Sensor\"]\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& property in BinarySensorType)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const BinarySwitchCCValues = Object.freeze({\n\tcurrentValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tproperty: \"currentValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Switch\"]\n\t\t\t\t&& valueId.property === \"currentValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Current value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tproperty: \"targetValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Switch\"]\n\t\t\t\t&& valueId.property === \"targetValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Target value\",\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Switch\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const CentralSceneCCValues = Object.freeze({\n\tsceneCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"sceneCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"sceneCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"sceneCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsSlowRefresh: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"supportsSlowRefresh\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsSlowRefresh\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"supportsSlowRefresh\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeyAttributes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"supportedKeyAttributes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeyAttributes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"supportedKeyAttributes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tslowRefresh: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"slowRefresh\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"slowRefresh\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"slowRefresh\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Send held down notifications at a slow rate\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"When this is true, KeyHeldDown notifications are sent every 55s. When this is false, the notifications are sent every 200ms.\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tscene: Object.assign(\n\t\t(sceneNumber: number) => {\n\t\t\tconst property = \"scene\";\n\t\t\tconst propertyKey = sceneNumber.toString().padStart(3, \"0\");\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Scene ${\n\t\t\t\t\t\t\tsceneNumber.toString().padStart(3, \"0\")\n\t\t\t\t\t\t}`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"scene\"\n\t\t\t\t\t\t&& typeof propertyKey === \"string\"\n\t\t\t\t\t\t&& /^\\d{3}$/.test(propertyKey))(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: false,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ClimateControlScheduleCCValues = Object.freeze({\n\toverrideType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tproperty: \"overrideType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"overrideType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Climate Control Schedule\"]\n\t\t\t\t&& valueId.property === \"overrideType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Override type\",\n\t\t\t\tstates: enumValuesToMetadataStates(ScheduleOverrideType),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toverrideState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tproperty: \"overrideState\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"overrideState\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Climate Control Schedule\"]\n\t\t\t\t&& valueId.property === \"overrideState\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Override state\",\n\t\t\t\tmin: -12.8,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tschedule: Object.assign(\n\t\t(weekday: Weekday) => {\n\t\t\tconst property = \"schedule\";\n\t\t\tconst propertyKey = weekday;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Any,\n\t\t\t\t\t\tlabel: `Schedule (${\n\t\t\t\t\t\t\tgetEnumMemberName(Weekday, weekday)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Climate Control Schedule\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"switchPoints\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\"\n\t\t\t\t\t\t&& propertyKey >= Weekday.Monday\n\t\t\t\t\t\t&& propertyKey <= Weekday.Sunday)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ColorSwitchCCValues = Object.freeze({\n\tsupportedColorComponents: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"supportedColorComponents\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedColorComponents\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"supportedColorComponents\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsHexColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"supportsHexColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsHexColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"supportsHexColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"currentColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"currentColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: `Current color`,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"targetColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"targetColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: `Target color`,\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\thexColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"hexColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"hexColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"hexColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Color,\n\t\t\t\tminLength: 6,\n\t\t\t\tmaxLength: 7, // to allow #rrggbb\n\t\t\t\tlabel: `RGB Color`,\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentColorChannel: Object.assign(\n\t\t(component: ColorComponent) => {\n\t\t\tconst property = \"currentColor\";\n\t\t\tconst propertyKey = component;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst colorName = getEnumMemberName(\n\t\t\t\t\t\tColorComponent,\n\t\t\t\t\t\tcomponent,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Current value (${colorName})`,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t`The current value of the ${colorName} channel.`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"currentColor\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\ttargetColorChannel: Object.assign(\n\t\t(component: ColorComponent) => {\n\t\t\tconst property = \"targetColor\";\n\t\t\tconst propertyKey = component;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst colorName = getEnumMemberName(\n\t\t\t\t\t\tColorComponent,\n\t\t\t\t\t\tcomponent,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Target value (${colorName})`,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t`The target value of the ${colorName} channel.`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"targetColor\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ConfigurationCCValues = Object.freeze({\n\tisParamInformationFromConfig: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\tproperty: \"isParamInformationFromConfig\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"isParamInformationFromConfig\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Configuration\n\t\t\t\t&& valueId.property === \"isParamInformationFromConfig\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tparamInformation: Object.assign(\n\t\t(parameter: number, bitMask?: number) => {\n\t\t\tconst property = parameter;\n\t\t\tconst propertyKey = bitMask;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Configuration\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"number\"\n\t\t\t\t\t\t&& (typeof propertyKey === \"number\"\n\t\t\t\t\t\t\t|| propertyKey == undefined))(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const DoorLockCCValues = Object.freeze({\n\ttargetMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"targetMode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"targetMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Target lock mode\",\n\t\t\t\tstates: enumValuesToMetadataStates(DoorLockMode),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"currentMode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"currentMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Current lock mode\",\n\t\t\t\tstates: enumValuesToMetadataStates(DoorLockMode),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration until target lock mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedOutsideHandles: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"supportedOutsideHandles\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedOutsideHandles\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"supportedOutsideHandles\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toutsideHandlesCanOpenDoorConfiguration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"outsideHandlesCanOpenDoorConfiguration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"outsideHandlesCanOpenDoorConfiguration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"outsideHandlesCanOpenDoorConfiguration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel:\n\t\t\t\t\t\"Which outside handles can open the door (configuration)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toutsideHandlesCanOpenDoor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"outsideHandlesCanOpenDoor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"outsideHandlesCanOpenDoor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"outsideHandlesCanOpenDoor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel:\n\t\t\t\t\t\"Which outside handles can open the door (actual status)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedInsideHandles: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"supportedInsideHandles\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedInsideHandles\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"supportedInsideHandles\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tinsideHandlesCanOpenDoorConfiguration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"insideHandlesCanOpenDoorConfiguration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"insideHandlesCanOpenDoorConfiguration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"insideHandlesCanOpenDoorConfiguration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: \"Which inside handles can open the door (configuration)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tinsideHandlesCanOpenDoor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"insideHandlesCanOpenDoor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"insideHandlesCanOpenDoor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"insideHandlesCanOpenDoor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Which inside handles can open the door (actual status)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toperationType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"operationType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"operationType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"operationType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Lock operation type\",\n\t\t\t\tstates: enumValuesToMetadataStates(DoorLockOperationType),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlockTimeoutConfiguration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"lockTimeoutConfiguration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"lockTimeoutConfiguration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"lockTimeoutConfiguration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\tlabel: \"Duration of timed mode in seconds\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlockTimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"lockTimeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"lockTimeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"lockTimeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Seconds until lock mode times out\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tautoRelockSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"autoRelockSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"autoRelockSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"autoRelockSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tautoRelockTime: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"autoRelockTime\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"autoRelockTime\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"autoRelockTime\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\tlabel: \"Duration in seconds until lock returns to secure state\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateAutoRelockConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tholdAndReleaseSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"holdAndReleaseSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"holdAndReleaseSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"holdAndReleaseSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tholdAndReleaseTime: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"holdAndReleaseTime\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"holdAndReleaseTime\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"holdAndReleaseTime\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\tlabel: \"Duration in seconds the latch stays retracted\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateHoldAndReleaseConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttwistAssistSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"twistAssistSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"twistAssistSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"twistAssistSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttwistAssist: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"twistAssist\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"twistAssist\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"twistAssist\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Twist Assist enabled\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateTwistAssistConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tblockToBlockSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"blockToBlockSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"blockToBlockSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"blockToBlockSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tblockToBlock: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"blockToBlock\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"blockToBlock\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"blockToBlock\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Block-to-block functionality enabled\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateBlockToBlockConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlatchSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"latchSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"latchSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"latchSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlatchStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"latchStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"latchStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"latchStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Current status of the latch\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateLatchStatusValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tboltSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"boltSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"boltSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"boltSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tboltStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"boltStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"boltStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"boltStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Current status of the bolt\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateBoltStatusValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdoorSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"doorSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"doorSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"doorSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdoorStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"doorStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"doorStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"doorStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Current status of the door\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateDoorStatusValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nfunction shouldAutoCreateAutoRelockConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.autoRelockSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateHoldAndReleaseConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateTwistAssistConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.twistAssistSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateBlockToBlockConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateLatchStatusValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.latchSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateBoltStatusValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.boltSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateDoorStatusValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.doorSupported.endpoint(endpoint.index),\n\t);\n}\n\nexport const DoorLockLoggingCCValues = Object.freeze({\n\trecordsCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock Logging\"],\n\t\t\tproperty: \"recordsCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock Logging\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"recordsCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock Logging\"]\n\t\t\t\t&& valueId.property === \"recordsCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const EnergyProductionCCValues = Object.freeze({\n\tvalue: Object.assign(\n\t\t(parameter: EnergyProductionParameter) => {\n\t\t\tconst property = \"value\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Energy Production\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Energy Production\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tlabel: getEnumMemberName(\n\t\t\t\t\t\t\tEnergyProductionParameter,\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// unit and ccSpecific are set dynamically\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Energy Production\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"value\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const EntryControlCCValues = Object.freeze({\n\tkeyCacheSize: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"keyCacheSize\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"keyCacheSize\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"keyCacheSize\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache size\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Number of character that must be stored before sending\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 32,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeyCacheTimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"keyCacheTimeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"keyCacheTimeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"keyCacheTimeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache timeout\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"How long the key cache must wait for additional characters\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 10,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedDataTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"supportedDataTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedDataTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"supportedDataTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedEventTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"supportedEventTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedEventTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"supportedEventTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeys: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"supportedKeys\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeys\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"supportedKeys\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const FirmwareUpdateMetaDataCCValues = Object.freeze({\n\tsupportsActivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"supportsActivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsActivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"supportsActivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tfirmwareUpgradable: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"firmwareUpgradable\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"firmwareUpgradable\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"firmwareUpgradable\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tadditionalFirmwareIDs: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"additionalFirmwareIDs\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"additionalFirmwareIDs\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"additionalFirmwareIDs\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcontinuesToFunction: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"continuesToFunction\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"continuesToFunction\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"continuesToFunction\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsResuming: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"supportsResuming\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsResuming\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"supportsResuming\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsNonSecureTransfer: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"supportsNonSecureTransfer\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsNonSecureTransfer\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"supportsNonSecureTransfer\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const HumidityControlModeCCValues = Object.freeze({\n\tmode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tproperty: \"mode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"mode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Mode\"]\n\t\t\t\t&& valueId.property === \"mode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(HumidityControlMode),\n\t\t\t\tlabel: \"Humidity control mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Mode\"]\n\t\t\t\t&& valueId.property === \"supportedModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const HumidityControlOperatingStateCCValues = Object.freeze({\n\tstate: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Operating State\"],\n\t\t\tproperty: \"state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Operating State\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Operating State\"]\n\t\t\t\t&& valueId.property === \"state\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(\n\t\t\t\t\tHumidityControlOperatingState,\n\t\t\t\t),\n\t\t\t\tlabel: \"Humidity control operating state\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const HumidityControlSetpointCCValues = Object.freeze({\n\tsupportedSetpointTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Setpoint\"]\n\t\t\t\t&& valueId.property === \"supportedSetpointTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsetpoint: Object.assign(\n\t\t(setpointType: number) => {\n\t\t\tconst property = \"setpoint\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t// This is the base metadata that will be extended on the fly\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { setpointType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Humidity Control Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpoint\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tsetpointScale: Object.assign(\n\t\t(setpointType: number) => {\n\t\t\tconst property = \"setpointScale\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Setpoint scale (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Humidity Control Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpointScale\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const IndicatorCCValues = Object.freeze({\n\tsupportedIndicatorIds: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tproperty: \"supportedIndicatorIds\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedIndicatorIds\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t&& valueId.property === \"supportedIndicatorIds\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tvalueV1: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tproperty: \"value\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tendpoint,\n\t\t\tproperty: \"value\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t&& valueId.property === \"value\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Indicator value\",\n\t\t\t\tccSpecific: {\n\t\t\t\t\tindicatorId: 0,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tidentify: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tproperty: \"identify\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tendpoint,\n\t\t\tproperty: \"identify\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t&& valueId.property === \"identify\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Identify\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Identify\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedPropertyIDs: Object.assign(\n\t\t(indicatorId: number) => {\n\t\t\tconst property = \"supportedPropertyIDs\";\n\t\t\tconst propertyKey = indicatorId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"supportedPropertyIDs\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalueV2: Object.assign(\n\t\t(indicatorId: number, propertyId: number) => {\n\t\t\tconst property = indicatorId;\n\t\t\tconst propertyKey = propertyId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Any,\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tindicatorId,\n\t\t\t\t\t\t\tpropertyId,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"number\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\ttimeout: Object.assign(\n\t\t(indicatorId: number) => {\n\t\t\tconst property = indicatorId;\n\t\t\tconst propertyKey = \"timeout\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.String,\n\t\t\t\t\t\tlabel: \"Timeout\",\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tindicatorId,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"number\"\n\t\t\t\t\t\t&& propertyKey === \"timeout\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 3,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tindicatorDescription: Object.assign(\n\t\t(indicatorId: number) => {\n\t\t\tconst property = indicatorId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property }) => typeof property === \"number\")(\n\t\t\t\t\t\tvalueId,\n\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 4,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const IrrigationCCValues = Object.freeze({\n\tnumValves: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"numValves\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"numValves\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"numValves\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnumValveTables: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"numValveTables\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"numValveTables\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"numValveTables\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsMasterValve: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"supportsMasterValve\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMasterValve\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"supportsMasterValve\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxValveTableSize: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"maxValveTableSize\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"maxValveTableSize\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"maxValveTableSize\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsystemVoltage: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"systemVoltage\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"systemVoltage\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"systemVoltage\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"System voltage\",\n\t\t\t\tunit: \"V\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmasterValveDelay: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"masterValveDelay\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"masterValveDelay\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"masterValveDelay\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Master valve delay\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"The delay between turning on the master valve and turning on any zone valve\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tflowSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"flowSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"flowSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"flowSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Flow sensor active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tpressureSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"pressureSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"pressureSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"pressureSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Pressure sensor active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trainSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"rainSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"rainSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"rainSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Rain sensor attached and active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trainSensorPolarity: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"rainSensorPolarity\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"rainSensorPolarity\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"rainSensorPolarity\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Rain sensor polarity\",\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t\tstates: enumValuesToMetadataStates(IrrigationSensorPolarity),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmoistureSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"moistureSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"moistureSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"moistureSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Moisture sensor attached and active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmoistureSensorPolarity: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"moistureSensorPolarity\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"moistureSensorPolarity\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"moistureSensorPolarity\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Moisture sensor polarity\",\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t\tstates: enumValuesToMetadataStates(IrrigationSensorPolarity),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tflow: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"flow\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"flow\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"flow\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Flow\",\n\t\t\t\tunit: \"l/h\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tpressure: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"pressure\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"pressure\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"pressure\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Pressure\",\n\t\t\t\tunit: \"kPa\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tshutoffDuration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"shutoffDuration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"shutoffDuration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"shutoffDuration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Remaining shutoff duration\",\n\t\t\t\tunit: \"hours\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorNotProgrammed: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorNotProgrammed\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorNotProgrammed\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorNotProgrammed\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: device not programmed\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorEmergencyShutdown: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorEmergencyShutdown\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorEmergencyShutdown\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorEmergencyShutdown\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: emergency shutdown\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorHighPressure: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorHighPressure\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorHighPressure\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorHighPressure\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: high pressure\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\thighPressureThreshold: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"highPressureThreshold\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"highPressureThreshold\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"highPressureThreshold\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"High pressure threshold\",\n\t\t\t\tunit: \"kPa\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorLowPressure: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorLowPressure\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorLowPressure\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorLowPressure\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: low pressure\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlowPressureThreshold: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"lowPressureThreshold\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"lowPressureThreshold\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"lowPressureThreshold\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Low pressure threshold\",\n\t\t\t\tunit: \"kPa\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorValve: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorValve\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorValve\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorValve\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: valve reporting error\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmasterValveOpen: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"masterValveOpen\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"masterValveOpen\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"masterValveOpen\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Master valve is open\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tfirstOpenZoneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"firstOpenZoneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"firstOpenZoneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"firstOpenZoneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"First open zone valve ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tshutoffSystem: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"shutoff\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"shutoff\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"shutoff\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: `Shutoff system`,\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Shutoff\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tvalveConnected: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"valveConnected\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Connected`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"valveConnected\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnominalCurrent: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"nominalCurrent\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Nominal current`,\n\t\t\t\t\t\tunit: \"mA\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"nominalCurrent\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnominalCurrentHighThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"nominalCurrentHighThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Nominal current - high threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 2550,\n\t\t\t\t\t\tunit: \"mA\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"nominalCurrentHighThreshold\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnominalCurrentLowThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"nominalCurrentLowThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Nominal current - low threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 2550,\n\t\t\t\t\t\tunit: \"mA\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"nominalCurrentLowThreshold\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorShortCircuit: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorShortCircuit\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Short circuit detected`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorShortCircuit\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorHighCurrent: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorHighCurrent\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Current above high threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorHighCurrent\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorLowCurrent: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorLowCurrent\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Current below low threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorLowCurrent\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tmaximumFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"maximumFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Maximum flow`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tunit: \"l/h\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"maximumFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorMaximumFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorMaximumFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Maximum flow detected`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorMaximumFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\thighFlowThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"highFlowThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: High flow threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tunit: \"l/h\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"highFlowThreshold\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorHighFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorHighFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Flow above high threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorHighFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlowFlowThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"lowFlowThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Low flow threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tunit: \"l/h\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"lowFlowThreshold\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorLowFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorLowFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Flow below high threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorLowFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuseRainSensor: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"useRainSensor\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Use rain sensor`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"useRainSensor\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuseMoistureSensor: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"useMoistureSensor\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Use moisture sensor`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"useMoistureSensor\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalveRunDuration: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"duration\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Run duration`,\n\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\tunit: \"s\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"duration\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalveRunStartStop: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"startStop\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Start/Stop`,\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"startStop\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const LanguageCCValues = Object.freeze({\n\tlanguage: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tproperty: \"language\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tendpoint,\n\t\t\tproperty: \"language\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Language\n\t\t\t\t&& valueId.property === \"language\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Language code\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcountry: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tproperty: \"country\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tendpoint,\n\t\t\tproperty: \"country\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Language\n\t\t\t\t&& valueId.property === \"country\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Country code\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const LockCCValues = Object.freeze({\n\tlocked: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Lock,\n\t\t\tproperty: \"locked\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Lock,\n\t\t\tendpoint,\n\t\t\tproperty: \"locked\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Lock\n\t\t\t\t&& valueId.property === \"locked\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Locked\",\n\t\t\t\tdescription: \"Whether the lock is locked\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ManufacturerSpecificCCValues = Object.freeze({\n\tmanufacturerId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tproperty: \"manufacturerId\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"manufacturerId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t&& valueId.property === \"manufacturerId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Manufacturer ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tproductType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tproperty: \"productType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"productType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t&& valueId.property === \"productType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Product type\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tproductId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tproperty: \"productId\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"productId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t&& valueId.property === \"productId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Product ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdeviceId: Object.assign(\n\t\t(type: DeviceIdType) => {\n\t\t\tconst property = \"deviceId\";\n\t\t\tconst propertyKey = getEnumMemberName(DeviceIdType, type);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\t\t\tlabel: `Device ID (${\n\t\t\t\t\t\t\tgetEnumMemberName(DeviceIdType, type)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"deviceId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"string\"\n\t\t\t\t\t\t&& propertyKey in DeviceIdType)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MeterCCValues = Object.freeze({\n\ttype: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"type\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"type\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"type\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsReset: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"supportsReset\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsReset\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"supportsReset\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedScales: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"supportedScales\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedScales\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"supportedScales\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedRateTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"supportedRateTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedRateTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"supportedRateTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tresetAll: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"reset\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"reset\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"reset\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: `Reset accumulated values`,\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Reset\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tresetSingle: Object.assign(\n\t\t(meterType: number, rateType: RateType, scale: number) => {\n\t\t\tconst property = \"reset\";\n\t\t\tconst propertyKey = meterTypesToPropertyKey(\n\t\t\t\tmeterType,\n\t\t\t\trateType,\n\t\t\t\tscale,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\t// This is only a placeholder label. A config manager is needed to\n\t\t\t\t\t\t// determine the actual label.\n\t\t\t\t\t\tlabel: `Reset (${\n\t\t\t\t\t\t\trateType === RateType.Consumed\n\t\t\t\t\t\t\t\t? \"Consumption, \"\n\t\t\t\t\t\t\t\t: rateType === RateType.Produced\n\t\t\t\t\t\t\t\t? \"Production, \"\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}${num2hex(scale)})`,\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Reset\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tmeterType,\n\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"reset\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalue: Object.assign(\n\t\t(meterType: number, rateType: RateType, scale: number) => {\n\t\t\tconst property = \"value\";\n\t\t\tconst propertyKey = meterTypesToPropertyKey(\n\t\t\t\tmeterType,\n\t\t\t\trateType,\n\t\t\t\tscale,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\t// Label and unit can only be determined with a config manager\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tmeterType,\n\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"value\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultiChannelAssociationCCValues = Object.freeze({\n\tgroupCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\tproperty: \"groupCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"groupCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t&& valueId.property === \"groupCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxNodes: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"maxNodes\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"maxNodes\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnodeIds: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"nodeIds\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"nodeIds\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tendpoints: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"endpoints\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"endpoints\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultiChannelCCValues = Object.freeze({\n\tendpointIndizes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"endpointIndizes\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"endpointIndizes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"endpointIndizes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tindividualEndpointCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"individualCount\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"individualCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"individualCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\taggregatedEndpointCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"aggregatedCount\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"aggregatedCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"aggregatedCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointCountIsDynamic: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"countIsDynamic\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"countIsDynamic\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"countIsDynamic\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointsHaveIdenticalCapabilities: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"identicalCapabilities\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"identicalCapabilities\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"identicalCapabilities\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointCCs: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"commandClasses\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"commandClasses\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"commandClasses\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointDeviceClass: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"deviceClass\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"deviceClass\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"deviceClass\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\taggregatedEndpointMembers: Object.assign(\n\t\t(endpointIndex: number) => {\n\t\t\tconst property = \"members\";\n\t\t\tconst propertyKey = endpointIndex;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"members\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultilevelSensorCCValues = Object.freeze({\n\tsupportedSensorTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Sensor\"]\n\t\t\t\t&& valueId.property === \"supportedSensorTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedScales: Object.assign(\n\t\t(sensorType: number) => {\n\t\t\tconst property = \"supportedScales\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"supportedScales\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalue: Object.assign(\n\t\t(sensorTypeName: string) => {\n\t\t\tconst property = sensorTypeName;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t// Just the base metadata, to be extended using a config manager\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tlabel: sensorTypeName,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& property !== \"supportedSensorTypes\"\n\t\t\t\t\t\t&& property !== \"supportedScales\"\n\t\t\t\t\t\t&& propertyKey == undefined)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultilevelSwitchCCValues = Object.freeze({\n\tcurrentValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"currentValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"currentValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\t\tlabel: \"Current value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"targetValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"targetValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Level,\n\t\t\t\tlabel: \"Target value\",\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trestorePrevious: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"restorePrevious\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Restore previous value\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Restore\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcompatEvent: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"event\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"event\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"event\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Event value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: false,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: (applHost, endpoint) =>\n\t\t\t\t!!applHost.getDeviceConfig?.(endpoint.nodeId)?.compat\n\t\t\t\t\t?.treatMultilevelSwitchSetAsEvent,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tswitchType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"switchType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"switchType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"switchType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsuperviseStartStopLevelChange: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"superviseStartStopLevelChange\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"superviseStartStopLevelChange\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"superviseStartStopLevelChange\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlevelChangeUp: Object.assign(\n\t\t(switchType: SwitchType) => {\n\t\t\tconst property = (() => {\n\t\t\t\t{\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [, up] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn up;\n\t\t\t\t}\n\t\t\t})();\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [, up] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `Perform a level change (${up})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { switchType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& multilevelSwitchTypeProperties.indexOf(property) % 2\n\t\t\t\t\t\t\t=== 1)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlevelChangeDown: Object.assign(\n\t\t(switchType: SwitchType) => {\n\t\t\tconst property = (() => {\n\t\t\t\t{\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [down] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn down;\n\t\t\t\t}\n\t\t\t})();\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [down] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `Perform a level change (${down})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { switchType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& multilevelSwitchTypeProperties.indexOf(property) % 2\n\t\t\t\t\t\t\t=== 0)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const NodeNamingAndLocationCCValues = Object.freeze({\n\tname: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tproperty: \"name\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"name\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Node Naming and Location\"]\n\t\t\t\t&& valueId.property === \"name\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Node name\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlocation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tproperty: \"location\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"location\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Node Naming and Location\"]\n\t\t\t\t&& valueId.property === \"location\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Node location\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const NotificationCCValues = Object.freeze({\n\tsupportsV1Alarm: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"supportsV1Alarm\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"supportsV1Alarm\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"supportsV1Alarm\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedNotificationTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"supportedNotificationTypes\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"supportedNotificationTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"supportedNotificationTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnotificationMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"notificationMode\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"notificationMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"notificationMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlastRefresh: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"lastRefresh\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"lastRefresh\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"lastRefresh\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\talarmType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"alarmType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"alarmType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"alarmType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Alarm Type\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\talarmLevel: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"alarmLevel\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"alarmLevel\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"alarmLevel\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Alarm Level\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\topeningState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Opening state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Opening state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"Access Control\"\n\t\t\t\t&& valueId.propertyKey == \"Opening state\";\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t// Must be a number for compatibility reasons\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Opening state\",\n\t\t\t\tstates: {\n\t\t\t\t\t[0x00]: \"Closed\",\n\t\t\t\t\t[0x01]: \"Open\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tnotificationType: 0x06,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateSyntheticDoorSensorValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdeprecated_doorStateSimple: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door state (simple)\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door state (simple)\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"Access Control\"\n\t\t\t\t&& valueId.propertyKey == \"Door state (simple)\";\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t// Must be a number for compatibility reasons\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Door state (simple)\",\n\t\t\t\tstates: {\n\t\t\t\t\t[0x16]: \"Window/door is open\",\n\t\t\t\t\t[0x17]: \"Window/door is closed\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tnotificationType: 0x06,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateSyntheticDoorSensorValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdeprecated_doorTiltState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door tilt state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door tilt state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"Access Control\"\n\t\t\t\t&& valueId.propertyKey == \"Door tilt state\";\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t// Must be a number for compatibility reasons\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Door tilt state\",\n\t\t\t\tstates: {\n\t\t\t\t\t[0x00]: \"Window/door is not tilted\",\n\t\t\t\t\t[0x01]: \"Window/door is tilted\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tnotificationType: 0x06,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: false,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedNotificationEvents: Object.assign(\n\t\t(notificationType: number) => {\n\t\t\tconst property = \"supportedNotificationEvents\";\n\t\t\tconst propertyKey = notificationType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (_endpoint?: number) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint: 0, // no endpoint support!\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"supportedNotificationEvents\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: false,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tunknownNotificationType: Object.assign(\n\t\t(notificationType: number) => {\n\t\t\tconst property = `UNKNOWN_${num2hex(notificationType)}`;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Unknown notification (${\n\t\t\t\t\t\t\tnum2hex(\n\t\t\t\t\t\t\t\tnotificationType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { notificationType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& property.startsWith(\"UNKNOWN_0x\"))(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tunknownNotificationVariable: Object.assign(\n\t\t(notificationType: number, notificationName: string) => {\n\t\t\tconst property = notificationName;\n\t\t\tconst propertyKey = \"unknown\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `${notificationName}: Unknown value`,\n\t\t\t\t\t\tccSpecific: { notificationType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& propertyKey === \"unknown\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnotificationVariable: Object.assign(\n\t\t(notificationName: string, variableName: string) => {\n\t\t\tconst property = notificationName;\n\t\t\tconst propertyKey = variableName;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& typeof propertyKey === \"string\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nfunction shouldAutoCreateSyntheticDoorSensorValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\tconst supportedACEvents = valueDB.getValue<readonly number[]>(\n\t\tNotificationCCValues.supportedNotificationEvents(\n\t\t\t// Access Control\n\t\t\t0x06,\n\t\t).endpoint(endpoint.index),\n\t);\n\tif (!supportedACEvents) return false;\n\treturn (\n\t\tsupportedACEvents.includes(\n\t\t\t// Window/door is open\n\t\t\t0x16,\n\t\t)\n\t\t&& supportedACEvents.includes(\n\t\t\t// Window/door is closed\n\t\t\t0x17,\n\t\t)\n\t);\n}\n\nexport const ProtectionCCValues = Object.freeze({\n\texclusiveControlNodeId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"exclusiveControlNodeId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"exclusiveControlNodeId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"exclusiveControlNodeId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: MAX_NODES,\n\t\t\t\tlabel: \"Node ID with exclusive control\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlocalProtectionState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"local\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"local\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"local\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Local protection state\",\n\t\t\t\tstates: enumValuesToMetadataStates(LocalProtectionState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trfProtectionState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"rf\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"rf\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"rf\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"RF protection state\",\n\t\t\t\tstates: enumValuesToMetadataStates(RFProtectionState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"timeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"timeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"timeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Timeout,\n\t\t\t\tlabel: \"RF protection timeout\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsExclusiveControl: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportsExclusiveControl\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsExclusiveControl\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportsExclusiveControl\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsTimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportsTimeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsTimeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportsTimeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedLocalStates: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportedLocalStates\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedLocalStates\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportedLocalStates\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedRFStates: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportedRFStates\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedRFStates\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportedRFStates\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const SceneActivationCCValues = Object.freeze({\n\tsceneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tproperty: \"sceneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"sceneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Scene Activation\"]\n\t\t\t\t&& valueId.property === \"sceneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 1,\n\t\t\t\tlabel: \"Scene ID\",\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: false,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdimmingDuration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tproperty: \"dimmingDuration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"dimmingDuration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Scene Activation\"]\n\t\t\t\t&& valueId.property === \"dimmingDuration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Duration,\n\t\t\t\tlabel: \"Dimming duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const SceneActuatorConfigurationCCValues = Object.freeze({\n\tlevel: Object.assign(\n\t\t(sceneId: number) => {\n\t\t\tconst property = \"level\";\n\t\t\tconst propertyKey = sceneId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Level (${sceneId})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Actuator Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"level\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tdimmingDuration: Object.assign(\n\t\t(sceneId: number) => {\n\t\t\tconst property = \"dimmingDuration\";\n\t\t\tconst propertyKey = sceneId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Duration,\n\t\t\t\t\t\tlabel: `Dimming duration (${sceneId})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Actuator Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"dimmingDuration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const SceneControllerConfigurationCCValues = Object.freeze({\n\tsceneId: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"sceneId\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Associated Scene ID (${groupId})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Controller Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"sceneId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tdimmingDuration: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"dimmingDuration\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Duration,\n\t\t\t\t\t\tlabel: `Dimming duration (${groupId})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Controller Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"dimmingDuration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ScheduleEntryLockCCValues = Object.freeze({\n\tnumWeekDaySlots: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tproperty: \"numWeekDaySlots\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"numWeekDaySlots\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t&& valueId.property === \"numWeekDaySlots\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnumYearDaySlots: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tproperty: \"numYearDaySlots\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"numYearDaySlots\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t&& valueId.property === \"numYearDaySlots\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnumDailyRepeatingSlots: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tproperty: \"numDailyRepeatingSlots\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"numDailyRepeatingSlots\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t&& valueId.property === \"numDailyRepeatingSlots\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserEnabled: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userEnabled\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userEnabled\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tscheduleKind: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"scheduleKind\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"scheduleKind\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tschedule: Object.assign(\n\t\t(\n\t\t\tscheduleKind: ScheduleEntryLockScheduleKind,\n\t\t\tuserId: number,\n\t\t\tslotId: number,\n\t\t) => {\n\t\t\tconst property = \"schedule\";\n\t\t\tconst propertyKey = (scheduleKind << 16) | (userId << 8) | slotId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"schedule\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const SoundSwitchCCValues = Object.freeze({\n\tvolume: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"volume\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"volume\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"volume\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Volume\",\n\t\t\t\tallowManualEntry: true,\n\t\t\t\tstates: {\n\t\t\t\t\t0: \"default\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttoneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"toneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"toneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"toneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Play Tone\",\n\t\t\t\tvalueChangeOptions: [\"volume\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdefaultVolume: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"defaultVolume\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"defaultVolume\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"defaultVolume\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Default volume\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdefaultToneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"defaultToneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"defaultToneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"defaultToneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 254,\n\t\t\t\tlabel: \"Default tone ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const SupervisionCCValues = Object.freeze({\n\tccSupported: Object.assign(\n\t\t(ccId: CommandClasses) => {\n\t\t\tconst property = \"ccSupported\";\n\t\t\tconst propertyKey = ccId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Supervision,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (_endpoint?: number) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Supervision,\n\t\t\t\t\tendpoint: 0, // no endpoint support!\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Supervision\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"commandSupported\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: false,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ThermostatFanModeCCValues = Object.freeze({\n\tturnedOff: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tproperty: \"off\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"off\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan Mode\"]\n\t\t\t\t&& valueId.property === \"off\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Thermostat fan turned off\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tfanMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tproperty: \"mode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"mode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan Mode\"]\n\t\t\t\t&& valueId.property === \"mode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatFanMode),\n\t\t\t\tlabel: \"Thermostat fan mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedFanModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan Mode\"]\n\t\t\t\t&& valueId.property === \"supportedModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatFanStateCCValues = Object.freeze({\n\tfanState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan State\"],\n\t\t\tproperty: \"state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan State\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan State\"]\n\t\t\t\t&& valueId.property === \"state\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatFanState),\n\t\t\t\tlabel: \"Thermostat fan state\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatModeCCValues = Object.freeze({\n\tthermostatMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tproperty: \"mode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"mode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Thermostat Mode\"]\n\t\t\t\t&& valueId.property === \"mode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatMode),\n\t\t\t\tlabel: \"Thermostat mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmanufacturerData: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tproperty: \"manufacturerData\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"manufacturerData\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Thermostat Mode\"]\n\t\t\t\t&& valueId.property === \"manufacturerData\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBuffer,\n\t\t\t\tlabel: \"Manufacturer data\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Thermostat Mode\"]\n\t\t\t\t&& valueId.property === \"supportedModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatOperatingStateCCValues = Object.freeze({\n\toperatingState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Operating State\"],\n\t\t\tproperty: \"state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Operating State\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Operating State\"]\n\t\t\t\t&& valueId.property === \"state\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Operating state\",\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatOperatingState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatSetpointCCValues = Object.freeze({\n\tsupportedSetpointTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Setpoint\"]\n\t\t\t\t&& valueId.property === \"supportedSetpointTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsetpoint: Object.assign(\n\t\t(setpointType: ThermostatSetpointType) => {\n\t\t\tconst property = \"setpoint\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { setpointType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Thermostat Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpoint\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tsetpointScale: Object.assign(\n\t\t(setpointType: ThermostatSetpointType) => {\n\t\t\tconst property = \"setpointScale\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Thermostat Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpointScale\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const TimeParametersCCValues = Object.freeze({\n\tdateAndTime: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Time Parameters\"],\n\t\t\tproperty: \"dateAndTime\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Time Parameters\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"dateAndTime\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Time Parameters\"]\n\t\t\t\t&& valueId.property === \"dateAndTime\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: \"Date and Time\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const UserCodeCCValues = Object.freeze({\n\tsupportedUsers: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedUsers\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCodeDeactivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCodeDeactivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\t_deprecated_supportsMasterCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMasterCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMasterCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMasterCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\t_deprecated_supportsMasterCodeDeactivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMasterCodeDeactivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMasterCodeDeactivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMasterCodeDeactivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsUserCodeChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsUserCodeChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsUserCodeChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsUserCodeChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsMultipleUserCodeReport: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMultipleUserCodeReport\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMultipleUserCodeReport\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMultipleUserCodeReport\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsMultipleUserCodeSet: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMultipleUserCodeSet\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMultipleUserCodeSet\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMultipleUserCodeSet\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedUserIDStatuses: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedUserIDStatuses\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUserIDStatuses\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedUserIDStatuses\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeypadModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedKeypadModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeypadModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedKeypadModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedASCIIChars: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedASCIIChars\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedASCIIChars\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedASCIIChars\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserCodeChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"userCodeChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"userCodeChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"userCodeChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeypadMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"keypadMode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"keypadMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"keypadMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Keypad Mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tadminCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"adminCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"adminCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"adminCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Admin Code\",\n\t\t\t\tminLength: 4,\n\t\t\t\tmaxLength: 10,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: true,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\t_deprecated_masterCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"masterCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"masterCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"masterCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: false,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserIdStatus: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userIdStatus\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `User ID status (${userId})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userIdStatus\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserCode: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userCode\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userCode\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: true,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const UserCredentialCCValues = Object.freeze({\n\tsupportedUsers: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedUsers\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedCredentialRules: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedCredentialRules\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedCredentialRules\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedCredentialRules\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxUserNameLength: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"maxUserNameLength\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"maxUserNameLength\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"maxUserNameLength\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsUserSchedule: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsUserSchedule\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsUserSchedule\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsUserSchedule\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAllUsersChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsAllUsersChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAllUsersChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsAllUsersChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsUserChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsUserChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsUserChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsUserChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedUserNameEncodings: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedUserNameEncodings\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUserNameEncodings\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedUserNameEncodings\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedUserTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedUserTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUserTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedUserTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsCredentialChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsCredentialChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsCredentialChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsCredentialChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCodeDeactivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCodeDeactivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedCredentialTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedCredentialTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedCredentialTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedCredentialTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcredentialCapabilities: Object.assign(\n\t\t(credentialType: UserCredentialType) => {\n\t\t\tconst property = \"credentialCapabilities\";\n\t\t\tconst propertyKey = credentialType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialCapabilities\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tallUsersChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"allUsersChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"allUsersChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"allUsersChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeyLockerEntryTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedKeyLockerEntryTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeyLockerEntryTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedKeyLockerEntryTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeyLockerCapabilities: Object.assign(\n\t\t(entryType: UserCredentialKeyLockerEntryType) => {\n\t\t\tconst property = \"keyLockerCapabilities\";\n\t\t\tconst propertyKey = entryType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"keyLockerCapabilities\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserType: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userType\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userType\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserActive: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userActive\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userActive\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialRule: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"credentialRule\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialRule\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\texpiringTimeoutMinutes: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"expiringTimeoutMinutes\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"expiringTimeoutMinutes\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserName: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userName\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userName\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserModifierType: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userModifierType\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userModifierType\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserModifierNodeId: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userModifierNodeId\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userModifierNodeId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserChecksum: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userChecksum\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userChecksum\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialOwner: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credentialOwner\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialOwner\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialModifierType: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credentialModifierType\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialModifierType\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialModifierNodeId: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credentialModifierNodeId\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialModifierNodeId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredential: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credential\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credential\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: true,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tadminPinCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"adminPinCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"adminPinCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"adminPinCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: true,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeyLockerEntry: Object.assign(\n\t\t(type: UserCredentialKeyLockerEntryType, slot: number) => {\n\t\t\tconst property = \"keyLockerEntry\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"keyLockerEntry\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const VersionCCValues = Object.freeze({\n\tfirmwareVersions: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"firmwareVersions\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"firmwareVersions\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"firmwareVersions\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\ttype: \"string[]\",\n\t\t\t\tlabel: \"Z-Wave chip firmware versions\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlibraryType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"libraryType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"libraryType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"libraryType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Library type\",\n\t\t\t\tstates: enumValuesToMetadataStates(ZWaveLibraryTypes),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tprotocolVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"protocolVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"protocolVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"protocolVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\thardwareVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"hardwareVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"hardwareVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"hardwareVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Z-Wave chip hardware version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsZWaveSoftwareGet: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"supportsZWaveSoftwareGet\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsZWaveSoftwareGet\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"supportsZWaveSoftwareGet\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsdkVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"sdkVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"sdkVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"sdkVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"SDK version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationFrameworkAPIVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationFrameworkAPIVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationFrameworkAPIVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationFrameworkAPIVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave application framework API version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationFrameworkBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationFrameworkBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationFrameworkBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationFrameworkBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave application framework API build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tserialAPIVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"hostInterfaceVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"hostInterfaceVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"hostInterfaceVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Serial API version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tserialAPIBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"hostInterfaceBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"hostInterfaceBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"hostInterfaceBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Serial API build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tzWaveProtocolVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"zWaveProtocolVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"zWaveProtocolVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"zWaveProtocolVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tzWaveProtocolBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"zWaveProtocolBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"zWaveProtocolBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"zWaveProtocolBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave protocol build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Application version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Application build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const WakeUpCCValues = Object.freeze({\n\tcontrollerNodeId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tproperty: \"controllerNodeId\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"controllerNodeId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Wake Up\"]\n\t\t\t\t&& valueId.property === \"controllerNodeId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Node ID of the controller\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\twakeUpInterval: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tproperty: \"wakeUpInterval\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"wakeUpInterval\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Wake Up\"]\n\t\t\t\t&& valueId.property === \"wakeUpInterval\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt24,\n\t\t\t\tlabel: \"Wake Up interval\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\twakeUpOnDemandSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tproperty: \"wakeUpOnDemandSupported\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"wakeUpOnDemandSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Wake Up\"]\n\t\t\t\t&& valueId.property === \"wakeUpOnDemandSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const WindowCoveringCCValues = Object.freeze({\n\tsupportedParameters: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\tproperty: \"supportedParameters\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedParameters\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Window Covering\"]\n\t\t\t\t&& valueId.property === \"supportedParameters\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentValue: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"currentValue\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\t\t\t\tlabel: `Current value - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tstates: windowCoveringParameterToMetadataStates(\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"currentValue\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\ttargetValue: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"targetValue\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\t// Only odd-numbered parameters have position support and are writable\n\t\t\t\t\tconst writeable = parameter % 2 === 1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Level,\n\t\t\t\t\t\tlabel: `Target value - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\t// Only odd-numbered parameters have position support and are writable\n\t\t\t\t\t\twriteable: parameter % 2 === 1,\n\t\t\t\t\t\tstates: windowCoveringParameterToMetadataStates(\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tallowManualEntry: writeable,\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"targetValue\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tduration: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"duration\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\t\t\tlabel: `Remaining duration - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"duration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlevelChangeUp: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"levelChangeUp\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\twindowCoveringParameterToLevelChangeLabel(\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t\t\"up\",\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"levelChangeUp\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlevelChangeDown: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"levelChangeDown\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\twindowCoveringParameterToLevelChangeLabel(\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t\t\"down\",\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"levelChangeDown\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ZWavePlusCCValues = Object.freeze({\n\tzwavePlusVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"zwavePlusVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"zwavePlusVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"zwavePlusVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnodeType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"nodeType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"nodeType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"nodeType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\troleType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"roleType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"roleType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"roleType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserIcon: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"userIcon\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"userIcon\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"userIcon\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tinstallerIcon: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"installerIcon\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"installerIcon\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"installerIcon\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const CCValues = {\n\t[CommandClasses[\"Alarm Sensor\"]]: AlarmSensorCCValues,\n\t[CommandClasses.Association]: AssociationCCValues,\n\t[CommandClasses[\"Association Group Information\"]]:\n\t\tAssociationGroupInfoCCValues,\n\t[CommandClasses[\"Barrier Operator\"]]: BarrierOperatorCCValues,\n\t[CommandClasses.Basic]: BasicCCValues,\n\t[CommandClasses[\"Basic Window Covering\"]]: BasicWindowCoveringCCValues,\n\t[CommandClasses.Battery]: BatteryCCValues,\n\t[CommandClasses[\"Binary Sensor\"]]: BinarySensorCCValues,\n\t[CommandClasses[\"Binary Switch\"]]: BinarySwitchCCValues,\n\t[CommandClasses[\"Central Scene\"]]: CentralSceneCCValues,\n\t[CommandClasses[\"Climate Control Schedule\"]]:\n\t\tClimateControlScheduleCCValues,\n\t[CommandClasses[\"Color Switch\"]]: ColorSwitchCCValues,\n\t[CommandClasses.Configuration]: ConfigurationCCValues,\n\t[CommandClasses[\"Door Lock\"]]: DoorLockCCValues,\n\t[CommandClasses[\"Door Lock Logging\"]]: DoorLockLoggingCCValues,\n\t[CommandClasses[\"Energy Production\"]]: EnergyProductionCCValues,\n\t[CommandClasses[\"Entry Control\"]]: EntryControlCCValues,\n\t[CommandClasses[\"Firmware Update Meta Data\"]]:\n\t\tFirmwareUpdateMetaDataCCValues,\n\t[CommandClasses[\"Humidity Control Mode\"]]: HumidityControlModeCCValues,\n\t[CommandClasses[\"Humidity Control Operating State\"]]:\n\t\tHumidityControlOperatingStateCCValues,\n\t[CommandClasses[\"Humidity Control Setpoint\"]]:\n\t\tHumidityControlSetpointCCValues,\n\t[CommandClasses.Indicator]: IndicatorCCValues,\n\t[CommandClasses.Irrigation]: IrrigationCCValues,\n\t[CommandClasses.Language]: LanguageCCValues,\n\t[CommandClasses.Lock]: LockCCValues,\n\t[CommandClasses[\"Manufacturer Specific\"]]: ManufacturerSpecificCCValues,\n\t[CommandClasses.Meter]: MeterCCValues,\n\t[CommandClasses[\"Multi Channel Association\"]]:\n\t\tMultiChannelAssociationCCValues,\n\t[CommandClasses[\"Multi Channel\"]]: MultiChannelCCValues,\n\t[CommandClasses[\"Multilevel Sensor\"]]: MultilevelSensorCCValues,\n\t[CommandClasses[\"Multilevel Switch\"]]: MultilevelSwitchCCValues,\n\t[CommandClasses[\"Node Naming and Location\"]]: NodeNamingAndLocationCCValues,\n\t[CommandClasses.Notification]: NotificationCCValues,\n\t[CommandClasses.Protection]: ProtectionCCValues,\n\t[CommandClasses[\"Scene Activation\"]]: SceneActivationCCValues,\n\t[CommandClasses[\"Scene Actuator Configuration\"]]:\n\t\tSceneActuatorConfigurationCCValues,\n\t[CommandClasses[\"Scene Controller Configuration\"]]:\n\t\tSceneControllerConfigurationCCValues,\n\t[CommandClasses[\"Schedule Entry Lock\"]]: ScheduleEntryLockCCValues,\n\t[CommandClasses[\"Sound Switch\"]]: SoundSwitchCCValues,\n\t[CommandClasses.Supervision]: SupervisionCCValues,\n\t[CommandClasses[\"Thermostat Fan Mode\"]]: ThermostatFanModeCCValues,\n\t[CommandClasses[\"Thermostat Fan State\"]]: ThermostatFanStateCCValues,\n\t[CommandClasses[\"Thermostat Mode\"]]: ThermostatModeCCValues,\n\t[CommandClasses[\"Thermostat Operating State\"]]:\n\t\tThermostatOperatingStateCCValues,\n\t[CommandClasses[\"Thermostat Setpoint\"]]: ThermostatSetpointCCValues,\n\t[CommandClasses[\"Time Parameters\"]]: TimeParametersCCValues,\n\t[CommandClasses[\"User Code\"]]: UserCodeCCValues,\n\t[CommandClasses[\"User Credential\"]]: UserCredentialCCValues,\n\t[CommandClasses.Version]: VersionCCValues,\n\t[CommandClasses[\"Wake Up\"]]: WakeUpCCValues,\n\t[CommandClasses[\"Window Covering\"]]: WindowCoveringCCValues,\n\t[CommandClasses[\"Z-Wave Plus Info\"]]: ZWavePlusCCValues,\n};\n"],
4
+ "sourcesContent": ["/// This file is auto-generated. All manual changes will be lost!\n\nimport {\n\tCommandClasses,\n\ttype EndpointId,\n\ttype GetValueDB,\n\tMAX_NODES,\n\ttype ValueID,\n\tValueMetadata,\n\tZWaveLibraryTypes,\n\tenumValuesToMetadataStates,\n} from \"@zwave-js/core\";\nimport { getEnumMemberName, num2hex } from \"@zwave-js/shared\";\nimport {\n\tirrigationValveIdToMetadataPrefix,\n\tmeterTypesToPropertyKey,\n\tmultilevelSwitchTypeProperties,\n\tmultilevelSwitchTypeToActions,\n\twindowCoveringParameterToLevelChangeLabel,\n\twindowCoveringParameterToMetadataStates,\n} from \"../lib/CCValueUtils.js\";\nimport { type CCValueOptions } from \"../lib/Values.js\";\nimport {\n\tAlarmSensorType,\n\tBarrierState,\n\tBatteryChargingStatus,\n\tBatteryReplacementStatus,\n\tBinarySensorType,\n\tColorComponent,\n\tDeviceIdType,\n\tDoorLockMode,\n\tDoorLockOperationType,\n\tEnergyProductionParameter,\n\tHumidityControlMode,\n\tHumidityControlOperatingState,\n\tHumidityControlSetpointType,\n\tIrrigationSensorPolarity,\n\tLocalProtectionState,\n\tRFProtectionState,\n\tRateType,\n\ttype ScheduleEntryLockScheduleKind,\n\tScheduleOverrideType,\n\tSubsystemState,\n\tSubsystemType,\n\tSwitchType,\n\tThermostatFanMode,\n\tThermostatFanState,\n\tThermostatMode,\n\tThermostatOperatingState,\n\tThermostatSetpointType,\n\ttype UserCredentialKeyLockerEntryType,\n\ttype UserCredentialType,\n\ttype ValveId,\n\tWeekday,\n\tWindowCoveringParameter,\n} from \"../lib/_Types.js\";\n\nexport const AlarmSensorCCValues = Object.freeze({\n\tstate: Object.assign(\n\t\t(sensorType: AlarmSensorType) => {\n\t\t\tconst property = \"state\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst alarmName = getEnumMemberName(\n\t\t\t\t\t\tAlarmSensorType,\n\t\t\t\t\t\tsensorType,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${alarmName} state`,\n\t\t\t\t\t\tdescription: \"Whether the alarm is active\",\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"state\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tseverity: Object.assign(\n\t\t(sensorType: AlarmSensorType) => {\n\t\t\tconst property = \"severity\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst alarmName = getEnumMemberName(\n\t\t\t\t\t\tAlarmSensorType,\n\t\t\t\t\t\tsensorType,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\tunit: \"%\",\n\t\t\t\t\t\tlabel: `${alarmName} severity`,\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"severity\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tduration: Object.assign(\n\t\t(sensorType: AlarmSensorType) => {\n\t\t\tconst property = \"duration\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst alarmName = getEnumMemberName(\n\t\t\t\t\t\tAlarmSensorType,\n\t\t\t\t\t\tsensorType,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tunit: \"s\",\n\t\t\t\t\t\tlabel: `${alarmName} duration`,\n\t\t\t\t\t\tdescription: \"For how long the alarm should be active\",\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"duration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tsupportedSensorTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Alarm Sensor\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Alarm Sensor\"]\n\t\t\t\t&& valueId.property === \"supportedSensorTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const AssociationCCValues = Object.freeze({\n\thasLifeline: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tproperty: \"hasLifeline\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tendpoint,\n\t\t\tproperty: \"hasLifeline\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t&& valueId.property === \"hasLifeline\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tgroupCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tproperty: \"groupCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Association,\n\t\t\tendpoint,\n\t\t\tproperty: \"groupCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t&& valueId.property === \"groupCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxNodes: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"maxNodes\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"maxNodes\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnodeIds: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"nodeIds\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Association,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Association\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"nodeIds\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const AssociationGroupInfoCCValues = Object.freeze({\n\thasDynamicInfo: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Association Group Information\"],\n\t\t\tproperty: \"hasDynamicInfo\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Association Group Information\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"hasDynamicInfo\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t&& valueId.property === \"hasDynamicInfo\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tgroupName: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"name\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"name\" && typeof propertyKey === \"number\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tgroupInfo: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"info\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"info\" && typeof propertyKey === \"number\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcommands: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"issuedCommands\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Association Group Information\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"issuedCommands\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const BarrierOperatorCCValues = Object.freeze({\n\tsupportedSubsystemTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"supportedSubsystemTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSubsystemTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"supportedSubsystemTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tposition: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"position\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"position\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"position\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Barrier Position\",\n\t\t\t\tunit: \"%\",\n\t\t\t\tmax: 100,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"targetState\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetState\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"targetState\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Target Barrier State\",\n\t\t\t\tstates: enumValuesToMetadataStates(BarrierState, [\n\t\t\t\t\tBarrierState.Open,\n\t\t\t\t\tBarrierState.Closed,\n\t\t\t\t]),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tproperty: \"currentState\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentState\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Barrier Operator\"]\n\t\t\t\t&& valueId.property === \"currentState\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Current Barrier State\",\n\t\t\t\tstates: enumValuesToMetadataStates(BarrierState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsignalingState: Object.assign(\n\t\t(subsystemType: SubsystemType) => {\n\t\t\tconst property = \"signalingState\";\n\t\t\tconst propertyKey = subsystemType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Barrier Operator\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Signaling State (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tSubsystemType,\n\t\t\t\t\t\t\t\tsubsystemType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tstates: enumValuesToMetadataStates(SubsystemState),\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Barrier Operator\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"signalingState\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const BasicCCValues = Object.freeze({\n\tcurrentValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"currentValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\t\tlabel: \"Current value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"targetValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Target value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trestorePrevious: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"restorePrevious\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Restore previous value\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Restore\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcompatEvent: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tproperty: \"event\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Basic,\n\t\t\tendpoint,\n\t\t\tproperty: \"event\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Basic\n\t\t\t\t&& valueId.property === \"event\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Event value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: false,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: false,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const BasicWindowCoveringCCValues = Object.freeze({\n\tlevelChangeUp: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tproperty: \"levelChangeUp\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"levelChangeUp\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Basic Window Covering\"]\n\t\t\t\t&& valueId.property === \"levelChangeUp\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Open\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlevelChangeDown: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tproperty: \"levelChangeDown\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Basic Window Covering\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"levelChangeDown\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Basic Window Covering\"]\n\t\t\t\t&& valueId.property === \"levelChangeDown\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Close\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const BatteryCCValues = Object.freeze({\n\tlevel: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"level\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"level\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"level\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Battery level\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaximumCapacity: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"maximumCapacity\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"maximumCapacity\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"maximumCapacity\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Maximum capacity\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttemperature: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"temperature\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"temperature\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"temperature\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyInt8,\n\t\t\t\tlabel: \"Temperature\",\n\t\t\t\t// For now, only \u00B0C is specified as a valid unit\n\t\t\t\t// If this ever changes, update the unit in persistValues on the fly\n\t\t\t\tunit: \"\u00B0C\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tchargingStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"chargingStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"chargingStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"chargingStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Charging status\",\n\t\t\t\tstates: enumValuesToMetadataStates(BatteryChargingStatus),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trechargeable: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"rechargeable\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"rechargeable\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"rechargeable\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Rechargeable\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tbackup: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"backup\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"backup\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"backup\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Used as backup\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toverheating: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"overheating\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"overheating\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"overheating\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Overheating\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlowFluid: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"lowFluid\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"lowFluid\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"lowFluid\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Fluid is low\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trechargeOrReplace: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"rechargeOrReplace\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"rechargeOrReplace\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"rechargeOrReplace\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Recharge or replace\",\n\t\t\t\tstates: enumValuesToMetadataStates(BatteryReplacementStatus),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdisconnected: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"disconnected\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"disconnected\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"disconnected\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Battery is disconnected\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlowTemperatureStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tproperty: \"lowTemperatureStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Battery,\n\t\t\tendpoint,\n\t\t\tproperty: \"lowTemperatureStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Battery\n\t\t\t\t&& valueId.property === \"lowTemperatureStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Battery temperature is low\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const BinarySensorCCValues = Object.freeze({\n\tsupportedSensorTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Sensor\"]\n\t\t\t\t&& valueId.property === \"supportedSensorTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tstate: Object.assign(\n\t\t(sensorType: BinarySensorType) => {\n\t\t\tconst property = getEnumMemberName(BinarySensorType, sensorType);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Binary Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `Sensor state (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tBinarySensorType,\n\t\t\t\t\t\t\t\tsensorType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { sensorType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Sensor\"]\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& property in BinarySensorType)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const BinarySwitchCCValues = Object.freeze({\n\tcurrentValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tproperty: \"currentValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Switch\"]\n\t\t\t\t&& valueId.property === \"currentValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Current value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tproperty: \"targetValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Switch\"]\n\t\t\t\t&& valueId.property === \"targetValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Target value\",\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Binary Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Binary Switch\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const CentralSceneCCValues = Object.freeze({\n\tsceneCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"sceneCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"sceneCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"sceneCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsSlowRefresh: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"supportsSlowRefresh\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsSlowRefresh\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"supportsSlowRefresh\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeyAttributes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"supportedKeyAttributes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeyAttributes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"supportedKeyAttributes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tslowRefresh: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tproperty: \"slowRefresh\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"slowRefresh\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t&& valueId.property === \"slowRefresh\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Send held down notifications at a slow rate\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"When this is true, KeyHeldDown notifications are sent every 55s. When this is false, the notifications are sent every 200ms.\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tscene: Object.assign(\n\t\t(sceneNumber: number) => {\n\t\t\tconst property = \"scene\";\n\t\t\tconst propertyKey = sceneNumber.toString().padStart(3, \"0\");\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Central Scene\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Scene ${\n\t\t\t\t\t\t\tsceneNumber.toString().padStart(3, \"0\")\n\t\t\t\t\t\t}`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Central Scene\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"scene\"\n\t\t\t\t\t\t&& typeof propertyKey === \"string\"\n\t\t\t\t\t\t&& /^\\d{3}$/.test(propertyKey))(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: false,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ClimateControlScheduleCCValues = Object.freeze({\n\toverrideType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tproperty: \"overrideType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"overrideType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Climate Control Schedule\"]\n\t\t\t\t&& valueId.property === \"overrideType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Override type\",\n\t\t\t\tstates: enumValuesToMetadataStates(ScheduleOverrideType),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toverrideState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tproperty: \"overrideState\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"overrideState\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Climate Control Schedule\"]\n\t\t\t\t&& valueId.property === \"overrideState\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Override state\",\n\t\t\t\tmin: -12.8,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tschedule: Object.assign(\n\t\t(weekday: Weekday) => {\n\t\t\tconst property = \"schedule\";\n\t\t\tconst propertyKey = weekday;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Climate Control Schedule\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Any,\n\t\t\t\t\t\tlabel: `Schedule (${\n\t\t\t\t\t\t\tgetEnumMemberName(Weekday, weekday)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Climate Control Schedule\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"switchPoints\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\"\n\t\t\t\t\t\t&& propertyKey >= Weekday.Monday\n\t\t\t\t\t\t&& propertyKey <= Weekday.Sunday)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ColorSwitchCCValues = Object.freeze({\n\tsupportedColorComponents: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"supportedColorComponents\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedColorComponents\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"supportedColorComponents\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsHexColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"supportsHexColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsHexColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"supportsHexColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"currentColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"currentColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: `Current color`,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"targetColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"targetColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: `Target color`,\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\thexColor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tproperty: \"hexColor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"hexColor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t&& valueId.property === \"hexColor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Color,\n\t\t\t\tminLength: 6,\n\t\t\t\tmaxLength: 7, // to allow #rrggbb\n\t\t\t\tlabel: `RGB Color`,\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentColorChannel: Object.assign(\n\t\t(component: ColorComponent) => {\n\t\t\tconst property = \"currentColor\";\n\t\t\tconst propertyKey = component;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst colorName = getEnumMemberName(\n\t\t\t\t\t\tColorComponent,\n\t\t\t\t\t\tcomponent,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Current value (${colorName})`,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t`The current value of the ${colorName} channel.`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"currentColor\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\ttargetColorChannel: Object.assign(\n\t\t(component: ColorComponent) => {\n\t\t\tconst property = \"targetColor\";\n\t\t\tconst propertyKey = component;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Color Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst colorName = getEnumMemberName(\n\t\t\t\t\t\tColorComponent,\n\t\t\t\t\t\tcomponent,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Target value (${colorName})`,\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t`The target value of the ${colorName} channel.`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Color Switch\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"targetColor\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ConfigurationCCValues = Object.freeze({\n\tisParamInformationFromConfig: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\tproperty: \"isParamInformationFromConfig\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"isParamInformationFromConfig\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Configuration\n\t\t\t\t&& valueId.property === \"isParamInformationFromConfig\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tparamInformation: Object.assign(\n\t\t(parameter: number, bitMask?: number) => {\n\t\t\tconst property = parameter;\n\t\t\tconst propertyKey = bitMask;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Configuration,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Configuration\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"number\"\n\t\t\t\t\t\t&& (typeof propertyKey === \"number\"\n\t\t\t\t\t\t\t|| propertyKey == undefined))(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const DoorLockCCValues = Object.freeze({\n\ttargetMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"targetMode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"targetMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Target lock mode\",\n\t\t\t\tstates: enumValuesToMetadataStates(DoorLockMode),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"currentMode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"currentMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Current lock mode\",\n\t\t\t\tstates: enumValuesToMetadataStates(DoorLockMode),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration until target lock mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedOutsideHandles: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"supportedOutsideHandles\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedOutsideHandles\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"supportedOutsideHandles\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toutsideHandlesCanOpenDoorConfiguration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"outsideHandlesCanOpenDoorConfiguration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"outsideHandlesCanOpenDoorConfiguration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"outsideHandlesCanOpenDoorConfiguration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel:\n\t\t\t\t\t\"Which outside handles can open the door (configuration)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toutsideHandlesCanOpenDoor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"outsideHandlesCanOpenDoor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"outsideHandlesCanOpenDoor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"outsideHandlesCanOpenDoor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel:\n\t\t\t\t\t\"Which outside handles can open the door (actual status)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedInsideHandles: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"supportedInsideHandles\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedInsideHandles\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"supportedInsideHandles\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tinsideHandlesCanOpenDoorConfiguration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"insideHandlesCanOpenDoorConfiguration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"insideHandlesCanOpenDoorConfiguration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"insideHandlesCanOpenDoorConfiguration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: \"Which inside handles can open the door (configuration)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tinsideHandlesCanOpenDoor: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"insideHandlesCanOpenDoor\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"insideHandlesCanOpenDoor\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"insideHandlesCanOpenDoor\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Which inside handles can open the door (actual status)\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\toperationType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"operationType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"operationType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"operationType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Lock operation type\",\n\t\t\t\tstates: enumValuesToMetadataStates(DoorLockOperationType),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlockTimeoutConfiguration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"lockTimeoutConfiguration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"lockTimeoutConfiguration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"lockTimeoutConfiguration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\tlabel: \"Duration of timed mode in seconds\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlockTimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"lockTimeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"lockTimeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"lockTimeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Seconds until lock mode times out\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tautoRelockSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"autoRelockSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"autoRelockSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"autoRelockSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tautoRelockTime: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"autoRelockTime\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"autoRelockTime\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"autoRelockTime\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\tlabel: \"Duration in seconds until lock returns to secure state\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateAutoRelockConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tholdAndReleaseSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"holdAndReleaseSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"holdAndReleaseSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"holdAndReleaseSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tholdAndReleaseTime: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"holdAndReleaseTime\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"holdAndReleaseTime\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"holdAndReleaseTime\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\tlabel: \"Duration in seconds the latch stays retracted\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateHoldAndReleaseConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttwistAssistSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"twistAssistSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"twistAssistSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"twistAssistSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttwistAssist: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"twistAssist\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"twistAssist\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"twistAssist\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Twist Assist enabled\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateTwistAssistConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tblockToBlockSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"blockToBlockSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"blockToBlockSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"blockToBlockSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tblockToBlock: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"blockToBlock\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"blockToBlock\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"blockToBlock\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Block-to-block functionality enabled\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 4,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateBlockToBlockConfigValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlatchSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"latchSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"latchSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"latchSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlatchStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"latchStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"latchStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"latchStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Current status of the latch\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateLatchStatusValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tboltSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"boltSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"boltSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"boltSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tboltStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"boltStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"boltStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"boltStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Current status of the bolt\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateBoltStatusValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdoorSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"doorSupported\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"doorSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"doorSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdoorStatus: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tproperty: \"doorStatus\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"doorStatus\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock\"]\n\t\t\t\t&& valueId.property === \"doorStatus\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Current status of the door\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateDoorStatusValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nfunction shouldAutoCreateAutoRelockConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.autoRelockSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateHoldAndReleaseConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateTwistAssistConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.twistAssistSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateBlockToBlockConfigValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateLatchStatusValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.latchSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateBoltStatusValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.boltSupported.endpoint(endpoint.index),\n\t);\n}\n\nfunction shouldAutoCreateDoorStatusValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\treturn !!valueDB.getValue(\n\t\tDoorLockCCValues.doorSupported.endpoint(endpoint.index),\n\t);\n}\n\nexport const DoorLockLoggingCCValues = Object.freeze({\n\trecordsCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Door Lock Logging\"],\n\t\t\tproperty: \"recordsCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Door Lock Logging\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"recordsCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Door Lock Logging\"]\n\t\t\t\t&& valueId.property === \"recordsCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const EnergyProductionCCValues = Object.freeze({\n\tvalue: Object.assign(\n\t\t(parameter: EnergyProductionParameter) => {\n\t\t\tconst property = \"value\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Energy Production\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Energy Production\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tlabel: getEnumMemberName(\n\t\t\t\t\t\t\tEnergyProductionParameter,\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// unit and ccSpecific are set dynamically\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Energy Production\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"value\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const EntryControlCCValues = Object.freeze({\n\tkeyCacheSize: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"keyCacheSize\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"keyCacheSize\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"keyCacheSize\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache size\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Number of character that must be stored before sending\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 32,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeyCacheTimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"keyCacheTimeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"keyCacheTimeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"keyCacheTimeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache timeout\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"How long the key cache must wait for additional characters\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 10,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedDataTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"supportedDataTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedDataTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"supportedDataTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedEventTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"supportedEventTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedEventTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"supportedEventTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeys: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tproperty: \"supportedKeys\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Entry Control\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeys\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Entry Control\"]\n\t\t\t\t&& valueId.property === \"supportedKeys\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const FirmwareUpdateMetaDataCCValues = Object.freeze({\n\tsupportsActivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"supportsActivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsActivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"supportsActivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tfirmwareUpgradable: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"firmwareUpgradable\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"firmwareUpgradable\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"firmwareUpgradable\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tadditionalFirmwareIDs: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"additionalFirmwareIDs\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"additionalFirmwareIDs\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"additionalFirmwareIDs\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcontinuesToFunction: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"continuesToFunction\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"continuesToFunction\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"continuesToFunction\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsResuming: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"supportsResuming\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsResuming\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"supportsResuming\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsNonSecureTransfer: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tproperty: \"supportsNonSecureTransfer\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Firmware Update Meta Data\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsNonSecureTransfer\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Firmware Update Meta Data\"]\n\t\t\t\t&& valueId.property === \"supportsNonSecureTransfer\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const HumidityControlModeCCValues = Object.freeze({\n\tmode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tproperty: \"mode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"mode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Mode\"]\n\t\t\t\t&& valueId.property === \"mode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(HumidityControlMode),\n\t\t\t\tlabel: \"Humidity control mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Mode\"]\n\t\t\t\t&& valueId.property === \"supportedModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const HumidityControlOperatingStateCCValues = Object.freeze({\n\tstate: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Operating State\"],\n\t\t\tproperty: \"state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Operating State\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Operating State\"]\n\t\t\t\t&& valueId.property === \"state\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(\n\t\t\t\t\tHumidityControlOperatingState,\n\t\t\t\t),\n\t\t\t\tlabel: \"Humidity control operating state\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const HumidityControlSetpointCCValues = Object.freeze({\n\tsupportedSetpointTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Humidity Control Setpoint\"]\n\t\t\t\t&& valueId.property === \"supportedSetpointTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsetpoint: Object.assign(\n\t\t(setpointType: number) => {\n\t\t\tconst property = \"setpoint\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t// This is the base metadata that will be extended on the fly\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { setpointType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Humidity Control Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpoint\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tsetpointScale: Object.assign(\n\t\t(setpointType: number) => {\n\t\t\tconst property = \"setpointScale\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Humidity Control Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Setpoint scale (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Humidity Control Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpointScale\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const IndicatorCCValues = Object.freeze({\n\tsupportedIndicatorIds: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tproperty: \"supportedIndicatorIds\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedIndicatorIds\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t&& valueId.property === \"supportedIndicatorIds\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tvalueV1: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tproperty: \"value\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tendpoint,\n\t\t\tproperty: \"value\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t&& valueId.property === \"value\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Indicator value\",\n\t\t\t\tccSpecific: {\n\t\t\t\t\tindicatorId: 0,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tidentify: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tproperty: \"identify\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\tendpoint,\n\t\t\tproperty: \"identify\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t&& valueId.property === \"identify\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Identify\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Identify\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedPropertyIDs: Object.assign(\n\t\t(indicatorId: number) => {\n\t\t\tconst property = \"supportedPropertyIDs\";\n\t\t\tconst propertyKey = indicatorId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"supportedPropertyIDs\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalueV2: Object.assign(\n\t\t(indicatorId: number, propertyId: number) => {\n\t\t\tconst property = indicatorId;\n\t\t\tconst propertyKey = propertyId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Any,\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tindicatorId,\n\t\t\t\t\t\t\tpropertyId,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"number\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\ttimeout: Object.assign(\n\t\t(indicatorId: number) => {\n\t\t\tconst property = indicatorId;\n\t\t\tconst propertyKey = \"timeout\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.String,\n\t\t\t\t\t\tlabel: \"Timeout\",\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tindicatorId,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"number\"\n\t\t\t\t\t\t&& propertyKey === \"timeout\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 3,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tindicatorDescription: Object.assign(\n\t\t(indicatorId: number) => {\n\t\t\tconst property = indicatorId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Indicator,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Indicator\n\t\t\t\t\t&& (({ property }) => typeof property === \"number\")(\n\t\t\t\t\t\tvalueId,\n\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 4,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const IrrigationCCValues = Object.freeze({\n\tnumValves: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"numValves\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"numValves\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"numValves\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnumValveTables: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"numValveTables\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"numValveTables\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"numValveTables\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsMasterValve: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"supportsMasterValve\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMasterValve\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"supportsMasterValve\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxValveTableSize: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"maxValveTableSize\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"maxValveTableSize\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"maxValveTableSize\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsystemVoltage: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"systemVoltage\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"systemVoltage\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"systemVoltage\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"System voltage\",\n\t\t\t\tunit: \"V\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmasterValveDelay: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"masterValveDelay\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"masterValveDelay\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"masterValveDelay\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Master valve delay\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"The delay between turning on the master valve and turning on any zone valve\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tflowSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"flowSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"flowSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"flowSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Flow sensor active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tpressureSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"pressureSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"pressureSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"pressureSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Pressure sensor active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trainSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"rainSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"rainSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"rainSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Rain sensor attached and active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trainSensorPolarity: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"rainSensorPolarity\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"rainSensorPolarity\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"rainSensorPolarity\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Rain sensor polarity\",\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t\tstates: enumValuesToMetadataStates(IrrigationSensorPolarity),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmoistureSensorActive: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"moistureSensorActive\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"moistureSensorActive\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"moistureSensorActive\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Moisture sensor attached and active\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmoistureSensorPolarity: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"moistureSensorPolarity\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"moistureSensorPolarity\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"moistureSensorPolarity\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Moisture sensor polarity\",\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t\tstates: enumValuesToMetadataStates(IrrigationSensorPolarity),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tflow: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"flow\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"flow\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"flow\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Flow\",\n\t\t\t\tunit: \"l/h\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tpressure: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"pressure\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"pressure\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"pressure\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Pressure\",\n\t\t\t\tunit: \"kPa\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tshutoffDuration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"shutoffDuration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"shutoffDuration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"shutoffDuration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Remaining shutoff duration\",\n\t\t\t\tunit: \"hours\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorNotProgrammed: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorNotProgrammed\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorNotProgrammed\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorNotProgrammed\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: device not programmed\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorEmergencyShutdown: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorEmergencyShutdown\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorEmergencyShutdown\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorEmergencyShutdown\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: emergency shutdown\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorHighPressure: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorHighPressure\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorHighPressure\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorHighPressure\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: high pressure\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\thighPressureThreshold: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"highPressureThreshold\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"highPressureThreshold\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"highPressureThreshold\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"High pressure threshold\",\n\t\t\t\tunit: \"kPa\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorLowPressure: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorLowPressure\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorLowPressure\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorLowPressure\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: low pressure\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlowPressureThreshold: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"lowPressureThreshold\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"lowPressureThreshold\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"lowPressureThreshold\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Low pressure threshold\",\n\t\t\t\tunit: \"kPa\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\terrorValve: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"errorValve\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"errorValve\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"errorValve\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Error: valve reporting error\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmasterValveOpen: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"masterValveOpen\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"masterValveOpen\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"masterValveOpen\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\tlabel: \"Master valve is open\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tfirstOpenZoneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"firstOpenZoneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"firstOpenZoneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"firstOpenZoneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"First open zone valve ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tshutoffSystem: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tproperty: \"shutoff\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\tendpoint,\n\t\t\tproperty: \"shutoff\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t&& valueId.property === \"shutoff\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: `Shutoff system`,\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Shutoff\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tvalveConnected: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"valveConnected\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Connected`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"valveConnected\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnominalCurrent: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"nominalCurrent\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Nominal current`,\n\t\t\t\t\t\tunit: \"mA\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"nominalCurrent\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnominalCurrentHighThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"nominalCurrentHighThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Nominal current - high threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 2550,\n\t\t\t\t\t\tunit: \"mA\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"nominalCurrentHighThreshold\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnominalCurrentLowThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"nominalCurrentLowThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Nominal current - low threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 2550,\n\t\t\t\t\t\tunit: \"mA\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"nominalCurrentLowThreshold\")(\n\t\t\t\t\t\t\tvalueId,\n\t\t\t\t\t\t);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorShortCircuit: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorShortCircuit\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Short circuit detected`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorShortCircuit\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorHighCurrent: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorHighCurrent\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Current above high threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorHighCurrent\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorLowCurrent: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorLowCurrent\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Current below low threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorLowCurrent\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tmaximumFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"maximumFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Maximum flow`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tunit: \"l/h\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"maximumFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorMaximumFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorMaximumFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Maximum flow detected`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorMaximumFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\thighFlowThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"highFlowThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: High flow threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tunit: \"l/h\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"highFlowThreshold\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorHighFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorHighFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Flow above high threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorHighFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlowFlowThreshold: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"lowFlowThreshold\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Low flow threshold`,\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tunit: \"l/h\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"lowFlowThreshold\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\terrorLowFlow: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"errorLowFlow\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Error - Flow below low threshold`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"errorLowFlow\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuseRainSensor: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"useRainSensor\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Use rain sensor`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"useRainSensor\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuseMoistureSensor: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"useMoistureSensor\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(\n\t\t\t\t\t\t\t\tvalveId,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}: Use moisture sensor`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"useMoistureSensor\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalveRunDuration: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"duration\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt16,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Run duration`,\n\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\tunit: \"s\",\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"duration\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalveRunStartStop: Object.assign(\n\t\t(valveId: ValveId) => {\n\t\t\tconst property = valveId;\n\t\t\tconst propertyKey = \"startStop\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Irrigation,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\tirrigationValveIdToMetadataPrefix(valveId)\n\t\t\t\t\t\t}: Start/Stop`,\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Irrigation\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\t(typeof property === \"number\" || property === \"master\")\n\t\t\t\t\t\t&& propertyKey === \"startStop\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const LanguageCCValues = Object.freeze({\n\tlanguage: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tproperty: \"language\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tendpoint,\n\t\t\tproperty: \"language\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Language\n\t\t\t\t&& valueId.property === \"language\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Language code\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcountry: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tproperty: \"country\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Language,\n\t\t\tendpoint,\n\t\t\tproperty: \"country\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Language\n\t\t\t\t&& valueId.property === \"country\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Country code\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const LockCCValues = Object.freeze({\n\tlocked: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Lock,\n\t\t\tproperty: \"locked\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Lock,\n\t\t\tendpoint,\n\t\t\tproperty: \"locked\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Lock\n\t\t\t\t&& valueId.property === \"locked\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Locked\",\n\t\t\t\tdescription: \"Whether the lock is locked\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ManufacturerSpecificCCValues = Object.freeze({\n\tmanufacturerId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tproperty: \"manufacturerId\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"manufacturerId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t&& valueId.property === \"manufacturerId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Manufacturer ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tproductType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tproperty: \"productType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"productType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t&& valueId.property === \"productType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Product type\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tproductId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tproperty: \"productId\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"productId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t&& valueId.property === \"productId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt16,\n\t\t\t\tlabel: \"Product ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdeviceId: Object.assign(\n\t\t(type: DeviceIdType) => {\n\t\t\tconst property = \"deviceId\";\n\t\t\tconst propertyKey = getEnumMemberName(DeviceIdType, type);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Manufacturer Specific\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\t\t\tlabel: `Device ID (${\n\t\t\t\t\t\t\tgetEnumMemberName(DeviceIdType, type)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Manufacturer Specific\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"deviceId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"string\"\n\t\t\t\t\t\t&& propertyKey in DeviceIdType)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MeterCCValues = Object.freeze({\n\ttype: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"type\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"type\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"type\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsReset: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"supportsReset\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsReset\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"supportsReset\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedScales: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"supportedScales\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedScales\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"supportedScales\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedRateTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"supportedRateTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedRateTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"supportedRateTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tresetAll: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tproperty: \"reset\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\tendpoint,\n\t\t\tproperty: \"reset\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t&& valueId.property === \"reset\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: `Reset accumulated values`,\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Reset\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tresetSingle: Object.assign(\n\t\t(meterType: number, rateType: RateType, scale: number) => {\n\t\t\tconst property = \"reset\";\n\t\t\tconst propertyKey = meterTypesToPropertyKey(\n\t\t\t\tmeterType,\n\t\t\t\trateType,\n\t\t\t\tscale,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\t// This is only a placeholder label. A config manager is needed to\n\t\t\t\t\t\t// determine the actual label.\n\t\t\t\t\t\tlabel: `Reset (${\n\t\t\t\t\t\t\trateType === RateType.Consumed\n\t\t\t\t\t\t\t\t? \"Consumption, \"\n\t\t\t\t\t\t\t\t: rateType === RateType.Produced\n\t\t\t\t\t\t\t\t? \"Production, \"\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}${num2hex(scale)})`,\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Reset\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tmeterType,\n\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"reset\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalue: Object.assign(\n\t\t(meterType: number, rateType: RateType, scale: number) => {\n\t\t\tconst property = \"value\";\n\t\t\tconst propertyKey = meterTypesToPropertyKey(\n\t\t\t\tmeterType,\n\t\t\t\trateType,\n\t\t\t\tscale,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Meter,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\t// Label and unit can only be determined with a config manager\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tmeterType,\n\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Meter\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"value\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultiChannelAssociationCCValues = Object.freeze({\n\tgroupCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\tproperty: \"groupCount\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"groupCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t&& valueId.property === \"groupCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxNodes: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"maxNodes\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"maxNodes\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnodeIds: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"nodeIds\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"nodeIds\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tendpoints: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"endpoints\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel Association\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multi Channel Association\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"endpoints\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultiChannelCCValues = Object.freeze({\n\tendpointIndizes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"endpointIndizes\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"endpointIndizes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"endpointIndizes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tindividualEndpointCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"individualCount\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"individualCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"individualCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\taggregatedEndpointCount: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"aggregatedCount\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"aggregatedCount\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"aggregatedCount\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointCountIsDynamic: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"countIsDynamic\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"countIsDynamic\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"countIsDynamic\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointsHaveIdenticalCapabilities: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"identicalCapabilities\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"identicalCapabilities\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"identicalCapabilities\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointCCs: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"commandClasses\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"commandClasses\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"commandClasses\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tendpointDeviceClass: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tproperty: \"deviceClass\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"deviceClass\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t&& valueId.property === \"deviceClass\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\taggregatedEndpointMembers: Object.assign(\n\t\t(endpointIndex: number) => {\n\t\t\tconst property = \"members\";\n\t\t\tconst propertyKey = endpointIndex;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multi Channel\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"Multi Channel\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"members\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultilevelSensorCCValues = Object.freeze({\n\tsupportedSensorTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSensorTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Sensor\"]\n\t\t\t\t&& valueId.property === \"supportedSensorTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedScales: Object.assign(\n\t\t(sensorType: number) => {\n\t\t\tconst property = \"supportedScales\";\n\t\t\tconst propertyKey = sensorType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"supportedScales\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tvalue: Object.assign(\n\t\t(sensorTypeName: string) => {\n\t\t\tconst property = sensorTypeName;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Sensor\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t// Just the base metadata, to be extended using a config manager\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t\t\tlabel: sensorTypeName,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Sensor\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& property !== \"supportedSensorTypes\"\n\t\t\t\t\t\t&& property !== \"supportedScales\"\n\t\t\t\t\t\t&& propertyKey == undefined)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const MultilevelSwitchCCValues = Object.freeze({\n\tcurrentValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"currentValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"currentValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"currentValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\t\tlabel: \"Current value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttargetValue: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"targetValue\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"targetValue\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"targetValue\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Level,\n\t\t\t\tlabel: \"Target value\",\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tduration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"duration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"duration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"duration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trestorePrevious: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"restorePrevious\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"restorePrevious\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: \"Restore previous value\",\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Restore\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcompatEvent: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"event\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"event\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"event\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Event value\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: false,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: (applHost, endpoint) =>\n\t\t\t\t!!applHost.getDeviceConfig?.(endpoint.nodeId)?.compat\n\t\t\t\t\t?.treatMultilevelSwitchSetAsEvent,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tswitchType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"switchType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"switchType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"switchType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsuperviseStartStopLevelChange: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tproperty: \"superviseStartStopLevelChange\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"superviseStartStopLevelChange\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t&& valueId.property === \"superviseStartStopLevelChange\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlevelChangeUp: Object.assign(\n\t\t(switchType: SwitchType) => {\n\t\t\tconst property = (() => {\n\t\t\t\t{\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [, up] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn up;\n\t\t\t\t}\n\t\t\t})();\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [, up] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `Perform a level change (${up})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { switchType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& multilevelSwitchTypeProperties.indexOf(property) % 2\n\t\t\t\t\t\t\t=== 1)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlevelChangeDown: Object.assign(\n\t\t(switchType: SwitchType) => {\n\t\t\tconst property = (() => {\n\t\t\t\t{\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [down] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn down;\n\t\t\t\t}\n\t\t\t})();\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Multilevel Switch\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\tconst switchTypeName = getEnumMemberName(\n\t\t\t\t\t\tSwitchType,\n\t\t\t\t\t\tswitchType,\n\t\t\t\t\t);\n\t\t\t\t\tconst [down] = multilevelSwitchTypeToActions(\n\t\t\t\t\t\tswitchTypeName,\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `Perform a level change (${down})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { switchType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Multilevel Switch\"]\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& multilevelSwitchTypeProperties.indexOf(property) % 2\n\t\t\t\t\t\t\t=== 0)(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const NodeNamingAndLocationCCValues = Object.freeze({\n\tname: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tproperty: \"name\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"name\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Node Naming and Location\"]\n\t\t\t\t&& valueId.property === \"name\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Node name\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlocation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tproperty: \"location\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Node Naming and Location\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"location\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Node Naming and Location\"]\n\t\t\t\t&& valueId.property === \"location\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Node location\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const NotificationCCValues = Object.freeze({\n\tsupportsV1Alarm: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"supportsV1Alarm\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"supportsV1Alarm\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"supportsV1Alarm\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedNotificationTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"supportedNotificationTypes\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"supportedNotificationTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"supportedNotificationTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnotificationMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"notificationMode\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"notificationMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"notificationMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlastRefresh: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"lastRefresh\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"lastRefresh\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"lastRefresh\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\talarmType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"alarmType\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"alarmType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"alarmType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Alarm Type\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\talarmLevel: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"alarmLevel\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"alarmLevel\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"alarmLevel\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Alarm Level\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\topeningState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Opening state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Opening state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"Access Control\"\n\t\t\t\t&& valueId.propertyKey == \"Opening state\";\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t// Must be a number for compatibility reasons\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Opening state\",\n\t\t\t\tstates: {\n\t\t\t\t\t[0x00]: \"Closed\",\n\t\t\t\t\t[0x01]: \"Open\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tnotificationType: 0x06,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateSyntheticDoorSensorValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdeprecated_doorStateSimple: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door state (simple)\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door state (simple)\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"Access Control\"\n\t\t\t\t&& valueId.propertyKey == \"Door state (simple)\";\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t// Must be a number for compatibility reasons\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Door state (simple)\",\n\t\t\t\tstates: {\n\t\t\t\t\t[0x16]: \"Window/door is open\",\n\t\t\t\t\t[0x17]: \"Window/door is closed\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tnotificationType: 0x06,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: shouldAutoCreateSyntheticDoorSensorValue,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdeprecated_doorTiltState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door tilt state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\tendpoint,\n\t\t\tproperty: \"Access Control\",\n\t\t\tpropertyKey: \"Door tilt state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t&& valueId.property === \"Access Control\"\n\t\t\t\t&& valueId.propertyKey == \"Door tilt state\";\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t// Must be a number for compatibility reasons\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Door tilt state\",\n\t\t\t\tstates: {\n\t\t\t\t\t[0x00]: \"Window/door is not tilted\",\n\t\t\t\t\t[0x01]: \"Window/door is tilted\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tnotificationType: 0x06,\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: false,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedNotificationEvents: Object.assign(\n\t\t(notificationType: number) => {\n\t\t\tconst property = \"supportedNotificationEvents\";\n\t\t\tconst propertyKey = notificationType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (_endpoint?: number) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint: 0, // no endpoint support!\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"supportedNotificationEvents\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: false,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tunknownNotificationType: Object.assign(\n\t\t(notificationType: number) => {\n\t\t\tconst property = `UNKNOWN_${num2hex(notificationType)}`;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `Unknown notification (${\n\t\t\t\t\t\t\tnum2hex(\n\t\t\t\t\t\t\t\tnotificationType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { notificationType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& property.startsWith(\"UNKNOWN_0x\"))(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tunknownNotificationVariable: Object.assign(\n\t\t(notificationType: number, notificationName: string) => {\n\t\t\tconst property = notificationName;\n\t\t\tconst propertyKey = \"unknown\";\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\t\tlabel: `${notificationName}: Unknown value`,\n\t\t\t\t\t\tccSpecific: { notificationType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& propertyKey === \"unknown\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tnotificationVariable: Object.assign(\n\t\t(notificationName: string, variableName: string) => {\n\t\t\tconst property = notificationName;\n\t\t\tconst propertyKey = variableName;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Notification,\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Notification\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\ttypeof property === \"string\"\n\t\t\t\t\t\t&& typeof propertyKey === \"string\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nfunction shouldAutoCreateSyntheticDoorSensorValue(\n\tctx: GetValueDB,\n\tendpoint: EndpointId,\n): boolean {\n\tconst valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n\tif (!valueDB) return false;\n\tconst supportedACEvents = valueDB.getValue<readonly number[]>(\n\t\tNotificationCCValues.supportedNotificationEvents(\n\t\t\t// Access Control\n\t\t\t0x06,\n\t\t).endpoint(endpoint.index),\n\t);\n\tif (!supportedACEvents) return false;\n\treturn (\n\t\tsupportedACEvents.includes(\n\t\t\t// Window/door is open\n\t\t\t0x16,\n\t\t)\n\t\t&& supportedACEvents.includes(\n\t\t\t// Window/door is closed\n\t\t\t0x17,\n\t\t)\n\t);\n}\n\nexport const ProtectionCCValues = Object.freeze({\n\texclusiveControlNodeId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"exclusiveControlNodeId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"exclusiveControlNodeId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"exclusiveControlNodeId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: MAX_NODES,\n\t\t\t\tlabel: \"Node ID with exclusive control\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlocalProtectionState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"local\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"local\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"local\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"Local protection state\",\n\t\t\t\tstates: enumValuesToMetadataStates(LocalProtectionState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\trfProtectionState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"rf\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"rf\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"rf\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: \"RF protection state\",\n\t\t\t\tstates: enumValuesToMetadataStates(RFProtectionState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"timeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"timeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"timeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Timeout,\n\t\t\t\tlabel: \"RF protection timeout\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsExclusiveControl: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportsExclusiveControl\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsExclusiveControl\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportsExclusiveControl\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsTimeout: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportsTimeout\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsTimeout\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportsTimeout\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedLocalStates: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportedLocalStates\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedLocalStates\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportedLocalStates\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedRFStates: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tproperty: \"supportedRFStates\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Protection,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedRFStates\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Protection\n\t\t\t\t&& valueId.property === \"supportedRFStates\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const SceneActivationCCValues = Object.freeze({\n\tsceneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tproperty: \"sceneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"sceneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Scene Activation\"]\n\t\t\t\t&& valueId.property === \"sceneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 1,\n\t\t\t\tlabel: \"Scene ID\",\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: false,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdimmingDuration: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tproperty: \"dimmingDuration\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Scene Activation\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"dimmingDuration\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Scene Activation\"]\n\t\t\t\t&& valueId.property === \"dimmingDuration\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Duration,\n\t\t\t\tlabel: \"Dimming duration\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const SceneActuatorConfigurationCCValues = Object.freeze({\n\tlevel: Object.assign(\n\t\t(sceneId: number) => {\n\t\t\tconst property = \"level\";\n\t\t\tconst propertyKey = sceneId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Level (${sceneId})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Actuator Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"level\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tdimmingDuration: Object.assign(\n\t\t(sceneId: number) => {\n\t\t\tconst property = \"dimmingDuration\";\n\t\t\tconst propertyKey = sceneId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Actuator Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Duration,\n\t\t\t\t\t\tlabel: `Dimming duration (${sceneId})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Actuator Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"dimmingDuration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const SceneControllerConfigurationCCValues = Object.freeze({\n\tsceneId: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"sceneId\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\t\tlabel: `Associated Scene ID (${groupId})`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Controller Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"sceneId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tdimmingDuration: Object.assign(\n\t\t(groupId: number) => {\n\t\t\tconst property = \"dimmingDuration\";\n\t\t\tconst propertyKey = groupId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass:\n\t\t\t\t\t\tCommandClasses[\"Scene Controller Configuration\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Duration,\n\t\t\t\t\t\tlabel: `Dimming duration (${groupId})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Scene Controller Configuration\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"dimmingDuration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ScheduleEntryLockCCValues = Object.freeze({\n\tnumWeekDaySlots: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tproperty: \"numWeekDaySlots\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"numWeekDaySlots\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t&& valueId.property === \"numWeekDaySlots\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnumYearDaySlots: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tproperty: \"numYearDaySlots\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"numYearDaySlots\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t&& valueId.property === \"numYearDaySlots\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnumDailyRepeatingSlots: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tproperty: \"numDailyRepeatingSlots\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"numDailyRepeatingSlots\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t&& valueId.property === \"numDailyRepeatingSlots\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserEnabled: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userEnabled\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userEnabled\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tscheduleKind: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"scheduleKind\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"scheduleKind\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tschedule: Object.assign(\n\t\t(\n\t\t\tscheduleKind: ScheduleEntryLockScheduleKind,\n\t\t\tuserId: number,\n\t\t\tslotId: number,\n\t\t) => {\n\t\t\tconst property = \"schedule\";\n\t\t\tconst propertyKey = (scheduleKind << 16) | (userId << 8) | slotId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Schedule Entry Lock\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Schedule Entry Lock\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"schedule\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const SoundSwitchCCValues = Object.freeze({\n\tvolume: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"volume\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"volume\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"volume\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Volume\",\n\t\t\t\tallowManualEntry: true,\n\t\t\t\tstates: {\n\t\t\t\t\t0: \"default\",\n\t\t\t\t},\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\ttoneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"toneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"toneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"toneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Play Tone\",\n\t\t\t\tvalueChangeOptions: [\"volume\"],\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdefaultVolume: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"defaultVolume\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"defaultVolume\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"defaultVolume\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Default volume\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tdefaultToneId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tproperty: \"defaultToneId\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Sound Switch\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"defaultToneId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Sound Switch\"]\n\t\t\t\t&& valueId.property === \"defaultToneId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 254,\n\t\t\t\tlabel: \"Default tone ID\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const SupervisionCCValues = Object.freeze({\n\tccSupported: Object.assign(\n\t\t(ccId: CommandClasses) => {\n\t\t\tconst property = \"ccSupported\";\n\t\t\tconst propertyKey = ccId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses.Supervision,\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (_endpoint?: number) => ({\n\t\t\t\t\tcommandClass: CommandClasses.Supervision,\n\t\t\t\t\tendpoint: 0, // no endpoint support!\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses.Supervision\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"commandSupported\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: false,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ThermostatFanModeCCValues = Object.freeze({\n\tturnedOff: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tproperty: \"off\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"off\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan Mode\"]\n\t\t\t\t&& valueId.property === \"off\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Boolean,\n\t\t\t\tlabel: \"Thermostat fan turned off\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tfanMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tproperty: \"mode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"mode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan Mode\"]\n\t\t\t\t&& valueId.property === \"mode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatFanMode),\n\t\t\t\tlabel: \"Thermostat fan mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedFanModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan Mode\"]\n\t\t\t\t&& valueId.property === \"supportedModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatFanStateCCValues = Object.freeze({\n\tfanState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan State\"],\n\t\t\tproperty: \"state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Fan State\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Fan State\"]\n\t\t\t\t&& valueId.property === \"state\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatFanState),\n\t\t\t\tlabel: \"Thermostat fan state\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatModeCCValues = Object.freeze({\n\tthermostatMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tproperty: \"mode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"mode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Thermostat Mode\"]\n\t\t\t\t&& valueId.property === \"mode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatMode),\n\t\t\t\tlabel: \"Thermostat mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmanufacturerData: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tproperty: \"manufacturerData\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"manufacturerData\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Thermostat Mode\"]\n\t\t\t\t&& valueId.property === \"manufacturerData\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyBuffer,\n\t\t\t\tlabel: \"Manufacturer data\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Mode\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Thermostat Mode\"]\n\t\t\t\t&& valueId.property === \"supportedModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatOperatingStateCCValues = Object.freeze({\n\toperatingState: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Operating State\"],\n\t\t\tproperty: \"state\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Operating State\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"state\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Operating State\"]\n\t\t\t\t&& valueId.property === \"state\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Operating state\",\n\t\t\t\tstates: enumValuesToMetadataStates(ThermostatOperatingState),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const ThermostatSetpointCCValues = Object.freeze({\n\tsupportedSetpointTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedSetpointTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass\n\t\t\t\t\t=== CommandClasses[\"Thermostat Setpoint\"]\n\t\t\t\t&& valueId.property === \"supportedSetpointTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsetpoint: Object.assign(\n\t\t(setpointType: ThermostatSetpointType) => {\n\t\t\tconst property = \"setpoint\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tThermostatSetpointType,\n\t\t\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})`,\n\t\t\t\t\t\tccSpecific: { setpointType },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Thermostat Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpoint\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tsetpointScale: Object.assign(\n\t\t(setpointType: ThermostatSetpointType) => {\n\t\t\tconst property = \"setpointScale\";\n\t\t\tconst propertyKey = setpointType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Thermostat Setpoint\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Thermostat Setpoint\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"setpointScale\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const TimeParametersCCValues = Object.freeze({\n\tdateAndTime: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Time Parameters\"],\n\t\t\tproperty: \"dateAndTime\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Time Parameters\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"dateAndTime\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Time Parameters\"]\n\t\t\t\t&& valueId.property === \"dateAndTime\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: \"Date and Time\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const UserCodeCCValues = Object.freeze({\n\tsupportedUsers: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedUsers\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCodeDeactivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCodeDeactivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\t_deprecated_supportsMasterCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMasterCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMasterCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMasterCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\t_deprecated_supportsMasterCodeDeactivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMasterCodeDeactivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMasterCodeDeactivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMasterCodeDeactivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsUserCodeChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsUserCodeChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsUserCodeChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsUserCodeChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsMultipleUserCodeReport: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMultipleUserCodeReport\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMultipleUserCodeReport\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMultipleUserCodeReport\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsMultipleUserCodeSet: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportsMultipleUserCodeSet\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsMultipleUserCodeSet\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportsMultipleUserCodeSet\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedUserIDStatuses: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedUserIDStatuses\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUserIDStatuses\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedUserIDStatuses\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeypadModes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedKeypadModes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeypadModes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedKeypadModes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedASCIIChars: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"supportedASCIIChars\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedASCIIChars\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"supportedASCIIChars\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserCodeChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"userCodeChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"userCodeChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"userCodeChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeypadMode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"keypadMode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"keypadMode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"keypadMode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Keypad Mode\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tadminCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"adminCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"adminCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"adminCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Admin Code\",\n\t\t\t\tminLength: 4,\n\t\t\t\tmaxLength: 10,\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: true,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\t_deprecated_masterCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tproperty: \"masterCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"masterCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t&& valueId.property === \"masterCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: false,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserIdStatus: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userIdStatus\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Number,\n\t\t\t\t\t\tlabel: `User ID status (${userId})`,\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userIdStatus\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserCode: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userCode\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Code\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass === CommandClasses[\"User Code\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userCode\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: true,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const UserCredentialCCValues = Object.freeze({\n\tsupportedUsers: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUsers\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedUsers\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedCredentialRules: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedCredentialRules\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedCredentialRules\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedCredentialRules\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tmaxUserNameLength: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"maxUserNameLength\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"maxUserNameLength\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"maxUserNameLength\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsUserSchedule: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsUserSchedule\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsUserSchedule\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsUserSchedule\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAllUsersChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsAllUsersChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAllUsersChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsAllUsersChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsUserChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsUserChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsUserChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsUserChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedUserNameEncodings: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedUserNameEncodings\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUserNameEncodings\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedUserNameEncodings\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedUserTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedUserTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedUserTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedUserTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsCredentialChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsCredentialChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsCredentialChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsCredentialChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsAdminCodeDeactivation: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsAdminCodeDeactivation\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportsAdminCodeDeactivation\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedCredentialTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedCredentialTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedCredentialTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedCredentialTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcredentialCapabilities: Object.assign(\n\t\t(credentialType: UserCredentialType) => {\n\t\t\tconst property = \"credentialCapabilities\";\n\t\t\tconst propertyKey = credentialType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialCapabilities\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tallUsersChecksum: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"allUsersChecksum\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"allUsersChecksum\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"allUsersChecksum\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportedKeyLockerEntryTypes: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"supportedKeyLockerEntryTypes\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedKeyLockerEntryTypes\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"supportedKeyLockerEntryTypes\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeyLockerCapabilities: Object.assign(\n\t\t(entryType: UserCredentialKeyLockerEntryType) => {\n\t\t\tconst property = \"keyLockerCapabilities\";\n\t\t\tconst propertyKey = entryType;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"keyLockerCapabilities\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserType: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userType\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userType\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserActive: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userActive\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userActive\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialRule: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"credentialRule\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialRule\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\texpiringTimeoutMinutes: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"expiringTimeoutMinutes\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"expiringTimeoutMinutes\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserName: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userName\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userName\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserModifierType: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userModifierType\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userModifierType\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserModifierNodeId: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userModifierNodeId\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userModifierNodeId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tuserChecksum: Object.assign(\n\t\t(userId: number) => {\n\t\t\tconst property = \"userChecksum\";\n\t\t\tconst propertyKey = userId;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"userChecksum\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialOwner: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credentialOwner\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialOwner\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialModifierType: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credentialModifierType\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialModifierType\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredentialModifierNodeId: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credentialModifierNodeId\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credentialModifierNodeId\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tcredential: Object.assign(\n\t\t(type: UserCredentialType, slot: number) => {\n\t\t\tconst property = \"credential\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"credential\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: true,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tadminPinCode: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tproperty: \"adminPinCode\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"adminPinCode\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"User Credential\"]\n\t\t\t\t&& valueId.property === \"adminPinCode\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: true,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tkeyLockerEntry: Object.assign(\n\t\t(type: UserCredentialKeyLockerEntryType, slot: number) => {\n\t\t\tconst property = \"keyLockerEntry\";\n\t\t\tconst propertyKey = (type << 16) | slot;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"User Credential\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn ValueMetadata.Any;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"User Credential\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"keyLockerEntry\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: true,\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const VersionCCValues = Object.freeze({\n\tfirmwareVersions: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"firmwareVersions\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"firmwareVersions\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"firmwareVersions\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\ttype: \"string[]\",\n\t\t\t\tlabel: \"Z-Wave chip firmware versions\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tlibraryType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"libraryType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"libraryType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"libraryType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Library type\",\n\t\t\t\tstates: enumValuesToMetadataStates(ZWaveLibraryTypes),\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tprotocolVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"protocolVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"protocolVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"protocolVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\thardwareVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"hardwareVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"hardwareVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"hardwareVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Z-Wave chip hardware version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 2,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsupportsZWaveSoftwareGet: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"supportsZWaveSoftwareGet\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint,\n\t\t\tproperty: \"supportsZWaveSoftwareGet\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"supportsZWaveSoftwareGet\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tsdkVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"sdkVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"sdkVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"sdkVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"SDK version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationFrameworkAPIVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationFrameworkAPIVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationFrameworkAPIVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationFrameworkAPIVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave application framework API version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationFrameworkBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationFrameworkBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationFrameworkBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationFrameworkBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave application framework API build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tserialAPIVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"hostInterfaceVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"hostInterfaceVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"hostInterfaceVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Serial API version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tserialAPIBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"hostInterfaceBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"hostInterfaceBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"hostInterfaceBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Serial API build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tzWaveProtocolVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"zWaveProtocolVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"zWaveProtocolVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"zWaveProtocolVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave protocol version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tzWaveProtocolBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"zWaveProtocolBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"zWaveProtocolBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"zWaveProtocolBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Z-Wave protocol build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Application version\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tapplicationBuildNumber: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tproperty: \"applicationBuildNumber\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses.Version,\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"applicationBuildNumber\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses.Version\n\t\t\t\t&& valueId.property === \"applicationBuildNumber\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Application build number\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const WakeUpCCValues = Object.freeze({\n\tcontrollerNodeId: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tproperty: \"controllerNodeId\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"controllerNodeId\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Wake Up\"]\n\t\t\t\t&& valueId.property === \"controllerNodeId\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Node ID of the controller\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\twakeUpInterval: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tproperty: \"wakeUpInterval\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"wakeUpInterval\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Wake Up\"]\n\t\t\t\t&& valueId.property === \"wakeUpInterval\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn {\n\t\t\t\t...ValueMetadata.UInt24,\n\t\t\t\tlabel: \"Wake Up interval\",\n\t\t\t} as const;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: false,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\twakeUpOnDemandSupported: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tproperty: \"wakeUpOnDemandSupported\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Wake Up\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"wakeUpOnDemandSupported\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Wake Up\"]\n\t\t\t\t&& valueId.property === \"wakeUpOnDemandSupported\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 3,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const WindowCoveringCCValues = Object.freeze({\n\tsupportedParameters: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\tproperty: \"supportedParameters\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"supportedParameters\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Window Covering\"]\n\t\t\t\t&& valueId.property === \"supportedParameters\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tcurrentValue: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"currentValue\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\t\t\t\tlabel: `Current value - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tstates: windowCoveringParameterToMetadataStates(\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"currentValue\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\ttargetValue: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"targetValue\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\t// Only odd-numbered parameters have position support and are writable\n\t\t\t\t\tconst writeable = parameter % 2 === 1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.Level,\n\t\t\t\t\t\tlabel: `Target value - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\t// Only odd-numbered parameters have position support and are writable\n\t\t\t\t\t\twriteable: parameter % 2 === 1,\n\t\t\t\t\t\tstates: windowCoveringParameterToMetadataStates(\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tallowManualEntry: writeable,\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"targetValue\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tduration: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"duration\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\t\t\tlabel: `Remaining duration - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tccSpecific: {\n\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"duration\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlevelChangeUp: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"levelChangeUp\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\twindowCoveringParameterToLevelChangeLabel(\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t\t\"up\",\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"levelChangeUp\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n\tlevelChangeDown: Object.assign(\n\t\t(parameter: WindowCoveringParameter) => {\n\t\t\tconst property = \"levelChangeDown\";\n\t\t\tconst propertyKey = parameter;\n\n\t\t\treturn {\n\t\t\t\tid: {\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tproperty,\n\t\t\t\t\tpropertyKey,\n\t\t\t\t} as const,\n\t\t\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\t\t\tcommandClass: CommandClasses[\"Window Covering\"],\n\t\t\t\t\tendpoint,\n\t\t\t\t\tproperty: property,\n\t\t\t\t\tpropertyKey: propertyKey,\n\t\t\t\t} as const),\n\t\t\t\tget meta() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\twindowCoveringParameterToLevelChangeLabel(\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t\t\"down\",\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} - ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tWindowCoveringParameter,\n\t\t\t\t\t\t\t\tparameter,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t\t\tstates: {\n\t\t\t\t\t\t\ttrue: \"Start\",\n\t\t\t\t\t\t\tfalse: \"Stop\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tccSpecific: { parameter },\n\t\t\t\t\t} as const;\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tis: (valueId: ValueID): boolean => {\n\t\t\t\treturn valueId.commandClass\n\t\t\t\t\t\t=== CommandClasses[\"Window Covering\"]\n\t\t\t\t\t&& (({ property, propertyKey }) =>\n\t\t\t\t\t\tproperty === \"levelChangeDown\"\n\t\t\t\t\t\t&& typeof propertyKey === \"number\")(valueId);\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tinternal: false,\n\t\t\t\tminVersion: 1,\n\t\t\t\tsecret: false,\n\t\t\t\tstateful: true,\n\t\t\t\tsupportsEndpoints: true,\n\t\t\t\tautoCreate: true,\n\t\t\t} as const satisfies CCValueOptions,\n\t\t},\n\t),\n});\n\nexport const ZWavePlusCCValues = Object.freeze({\n\tzwavePlusVersion: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"zwavePlusVersion\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"zwavePlusVersion\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"zwavePlusVersion\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tnodeType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"nodeType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"nodeType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"nodeType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\troleType: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"roleType\",\n\t\t} as const,\n\t\tendpoint: (_endpoint?: number) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint: 0, // no endpoint support!\n\t\t\tproperty: \"roleType\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"roleType\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tuserIcon: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"userIcon\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"userIcon\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"userIcon\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n\tinstallerIcon: {\n\t\tid: {\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tproperty: \"installerIcon\",\n\t\t} as const,\n\t\tendpoint: (endpoint: number = 0) => ({\n\t\t\tcommandClass: CommandClasses[\"Z-Wave Plus Info\"],\n\t\t\tendpoint,\n\t\t\tproperty: \"installerIcon\",\n\t\t} as const),\n\t\tis: (valueId: ValueID): boolean => {\n\t\t\treturn valueId.commandClass === CommandClasses[\"Z-Wave Plus Info\"]\n\t\t\t\t&& valueId.property === \"installerIcon\"\n\t\t\t\t&& valueId.propertyKey == undefined;\n\t\t},\n\t\tget meta() {\n\t\t\treturn ValueMetadata.Any;\n\t\t},\n\t\toptions: {\n\t\t\tinternal: true,\n\t\t\tminVersion: 1,\n\t\t\tsecret: false,\n\t\t\tstateful: true,\n\t\t\tsupportsEndpoints: true,\n\t\t\tautoCreate: true,\n\t\t} as const satisfies CCValueOptions,\n\t},\n});\n\nexport const CCValues = {\n\t[CommandClasses[\"Alarm Sensor\"]]: AlarmSensorCCValues,\n\t[CommandClasses.Association]: AssociationCCValues,\n\t[CommandClasses[\"Association Group Information\"]]:\n\t\tAssociationGroupInfoCCValues,\n\t[CommandClasses[\"Barrier Operator\"]]: BarrierOperatorCCValues,\n\t[CommandClasses.Basic]: BasicCCValues,\n\t[CommandClasses[\"Basic Window Covering\"]]: BasicWindowCoveringCCValues,\n\t[CommandClasses.Battery]: BatteryCCValues,\n\t[CommandClasses[\"Binary Sensor\"]]: BinarySensorCCValues,\n\t[CommandClasses[\"Binary Switch\"]]: BinarySwitchCCValues,\n\t[CommandClasses[\"Central Scene\"]]: CentralSceneCCValues,\n\t[CommandClasses[\"Climate Control Schedule\"]]:\n\t\tClimateControlScheduleCCValues,\n\t[CommandClasses[\"Color Switch\"]]: ColorSwitchCCValues,\n\t[CommandClasses.Configuration]: ConfigurationCCValues,\n\t[CommandClasses[\"Door Lock\"]]: DoorLockCCValues,\n\t[CommandClasses[\"Door Lock Logging\"]]: DoorLockLoggingCCValues,\n\t[CommandClasses[\"Energy Production\"]]: EnergyProductionCCValues,\n\t[CommandClasses[\"Entry Control\"]]: EntryControlCCValues,\n\t[CommandClasses[\"Firmware Update Meta Data\"]]:\n\t\tFirmwareUpdateMetaDataCCValues,\n\t[CommandClasses[\"Humidity Control Mode\"]]: HumidityControlModeCCValues,\n\t[CommandClasses[\"Humidity Control Operating State\"]]:\n\t\tHumidityControlOperatingStateCCValues,\n\t[CommandClasses[\"Humidity Control Setpoint\"]]:\n\t\tHumidityControlSetpointCCValues,\n\t[CommandClasses.Indicator]: IndicatorCCValues,\n\t[CommandClasses.Irrigation]: IrrigationCCValues,\n\t[CommandClasses.Language]: LanguageCCValues,\n\t[CommandClasses.Lock]: LockCCValues,\n\t[CommandClasses[\"Manufacturer Specific\"]]: ManufacturerSpecificCCValues,\n\t[CommandClasses.Meter]: MeterCCValues,\n\t[CommandClasses[\"Multi Channel Association\"]]:\n\t\tMultiChannelAssociationCCValues,\n\t[CommandClasses[\"Multi Channel\"]]: MultiChannelCCValues,\n\t[CommandClasses[\"Multilevel Sensor\"]]: MultilevelSensorCCValues,\n\t[CommandClasses[\"Multilevel Switch\"]]: MultilevelSwitchCCValues,\n\t[CommandClasses[\"Node Naming and Location\"]]: NodeNamingAndLocationCCValues,\n\t[CommandClasses.Notification]: NotificationCCValues,\n\t[CommandClasses.Protection]: ProtectionCCValues,\n\t[CommandClasses[\"Scene Activation\"]]: SceneActivationCCValues,\n\t[CommandClasses[\"Scene Actuator Configuration\"]]:\n\t\tSceneActuatorConfigurationCCValues,\n\t[CommandClasses[\"Scene Controller Configuration\"]]:\n\t\tSceneControllerConfigurationCCValues,\n\t[CommandClasses[\"Schedule Entry Lock\"]]: ScheduleEntryLockCCValues,\n\t[CommandClasses[\"Sound Switch\"]]: SoundSwitchCCValues,\n\t[CommandClasses.Supervision]: SupervisionCCValues,\n\t[CommandClasses[\"Thermostat Fan Mode\"]]: ThermostatFanModeCCValues,\n\t[CommandClasses[\"Thermostat Fan State\"]]: ThermostatFanStateCCValues,\n\t[CommandClasses[\"Thermostat Mode\"]]: ThermostatModeCCValues,\n\t[CommandClasses[\"Thermostat Operating State\"]]:\n\t\tThermostatOperatingStateCCValues,\n\t[CommandClasses[\"Thermostat Setpoint\"]]: ThermostatSetpointCCValues,\n\t[CommandClasses[\"Time Parameters\"]]: TimeParametersCCValues,\n\t[CommandClasses[\"User Code\"]]: UserCodeCCValues,\n\t[CommandClasses[\"User Credential\"]]: UserCredentialCCValues,\n\t[CommandClasses.Version]: VersionCCValues,\n\t[CommandClasses[\"Wake Up\"]]: WakeUpCCValues,\n\t[CommandClasses[\"Window Covering\"]]: WindowCoveringCCValues,\n\t[CommandClasses[\"Z-Wave Plus Info\"]]: ZWavePlusCCValues,\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }