@zwave-js/cc 14.0.0-beta.1 → 14.0.0-beta.5

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 (923) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +194 -0
  2. package/build/cjs/cc/AlarmSensorCC.js +510 -0
  3. package/build/cjs/cc/AlarmSensorCC.js.map +7 -0
  4. package/build/cjs/cc/AssociationCC.d.ts +253 -0
  5. package/build/cjs/cc/AssociationCC.js +877 -0
  6. package/build/cjs/cc/AssociationCC.js.map +7 -0
  7. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +230 -0
  8. package/build/cjs/cc/AssociationGroupInfoCC.js +887 -0
  9. package/build/cjs/cc/AssociationGroupInfoCC.js.map +7 -0
  10. package/build/cjs/cc/BarrierOperatorCC.d.ts +243 -0
  11. package/build/cjs/cc/BarrierOperatorCC.js +748 -0
  12. package/build/cjs/cc/BarrierOperatorCC.js.map +7 -0
  13. package/build/cjs/cc/BasicCC.d.ts +191 -0
  14. package/build/cjs/cc/BasicCC.js +478 -0
  15. package/build/cjs/cc/BasicCC.js.map +7 -0
  16. package/build/cjs/cc/BatteryCC.d.ts +406 -0
  17. package/build/cjs/cc/BatteryCC.js +590 -0
  18. package/build/cjs/cc/BatteryCC.js.map +7 -0
  19. package/build/cjs/cc/BinarySensorCC.d.ts +122 -0
  20. package/build/cjs/cc/BinarySensorCC.js +546 -0
  21. package/build/cjs/cc/BinarySensorCC.js.map +7 -0
  22. package/build/cjs/cc/BinarySwitchCC.d.ts +139 -0
  23. package/build/cjs/cc/BinarySwitchCC.js +472 -0
  24. package/build/cjs/cc/BinarySwitchCC.js.map +7 -0
  25. package/build/cjs/cc/CRC16CC.d.ts +29 -0
  26. package/build/cjs/cc/CRC16CC.js +208 -0
  27. package/build/cjs/cc/CRC16CC.js.map +7 -0
  28. package/build/cjs/cc/CentralSceneCC.d.ts +210 -0
  29. package/build/cjs/cc/CentralSceneCC.js +584 -0
  30. package/build/cjs/cc/CentralSceneCC.js.map +7 -0
  31. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +177 -0
  32. package/build/cjs/cc/ClimateControlScheduleCC.js +646 -0
  33. package/build/cjs/cc/ClimateControlScheduleCC.js.map +7 -0
  34. package/build/cjs/cc/ClockCC.d.ts +47 -0
  35. package/build/cjs/cc/ClockCC.js +330 -0
  36. package/build/cjs/cc/ClockCC.js.map +7 -0
  37. package/build/cjs/cc/ColorSwitchCC.d.ts +339 -0
  38. package/build/cjs/cc/ColorSwitchCC.js +1265 -0
  39. package/build/cjs/cc/ColorSwitchCC.js.map +7 -0
  40. package/build/cjs/cc/ConfigurationCC.d.ts +396 -0
  41. package/build/cjs/cc/ConfigurationCC.js +2477 -0
  42. package/build/cjs/cc/ConfigurationCC.js.map +7 -0
  43. package/build/cjs/cc/DeviceResetLocallyCC.d.ts +17 -0
  44. package/build/cjs/cc/DeviceResetLocallyCC.js +168 -0
  45. package/build/cjs/cc/DeviceResetLocallyCC.js.map +7 -0
  46. package/build/cjs/cc/DoorLockCC.d.ts +837 -0
  47. package/build/cjs/cc/DoorLockCC.js +1366 -0
  48. package/build/cjs/cc/DoorLockCC.js.map +7 -0
  49. package/build/cjs/cc/DoorLockLoggingCC.d.ts +77 -0
  50. package/build/cjs/cc/DoorLockLoggingCC.js +458 -0
  51. package/build/cjs/cc/DoorLockLoggingCC.js.map +7 -0
  52. package/build/cjs/cc/EnergyProductionCC.d.ts +77 -0
  53. package/build/cjs/cc/EnergyProductionCC.js +329 -0
  54. package/build/cjs/cc/EnergyProductionCC.js.map +7 -0
  55. package/build/cjs/cc/EntryControlCC.d.ts +231 -0
  56. package/build/cjs/cc/EntryControlCC.js +754 -0
  57. package/build/cjs/cc/EntryControlCC.js.map +7 -0
  58. package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
  59. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +1322 -0
  60. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +7 -0
  61. package/build/cjs/cc/HailCC.d.ts +6 -0
  62. package/build/cjs/cc/HailCC.js +91 -0
  63. package/build/cjs/cc/HailCC.js.map +7 -0
  64. package/build/cjs/cc/HumidityControlModeCC.d.ts +111 -0
  65. package/build/cjs/cc/HumidityControlModeCC.js +449 -0
  66. package/build/cjs/cc/HumidityControlModeCC.js.map +7 -0
  67. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +60 -0
  68. package/build/cjs/cc/HumidityControlOperatingStateCC.js +250 -0
  69. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +7 -0
  70. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +209 -0
  71. package/build/cjs/cc/HumidityControlSetpointCC.js +821 -0
  72. package/build/cjs/cc/HumidityControlSetpointCC.js.map +7 -0
  73. package/build/cjs/cc/InclusionControllerCC.d.ts +42 -0
  74. package/build/cjs/cc/InclusionControllerCC.js +251 -0
  75. package/build/cjs/cc/InclusionControllerCC.js.map +7 -0
  76. package/build/cjs/cc/IndicatorCC.d.ts +338 -0
  77. package/build/cjs/cc/IndicatorCC.js +1395 -0
  78. package/build/cjs/cc/IndicatorCC.js.map +7 -0
  79. package/build/cjs/cc/IrrigationCC.d.ts +1496 -0
  80. package/build/cjs/cc/IrrigationCC.js +2224 -0
  81. package/build/cjs/cc/IrrigationCC.js.map +7 -0
  82. package/build/cjs/cc/LanguageCC.d.ts +101 -0
  83. package/build/cjs/cc/LanguageCC.js +364 -0
  84. package/build/cjs/cc/LanguageCC.js.map +7 -0
  85. package/build/cjs/cc/LockCC.d.ts +73 -0
  86. package/build/cjs/cc/LockCC.js +322 -0
  87. package/build/cjs/cc/LockCC.js.map +7 -0
  88. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +32 -0
  89. package/build/cjs/cc/ManufacturerProprietaryCC.js +269 -0
  90. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +7 -0
  91. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +171 -0
  92. package/build/cjs/cc/ManufacturerSpecificCC.js +440 -0
  93. package/build/cjs/cc/ManufacturerSpecificCC.js.map +7 -0
  94. package/build/cjs/cc/MeterCC.d.ts +318 -0
  95. package/build/cjs/cc/MeterCC.js +1355 -0
  96. package/build/cjs/cc/MeterCC.js.map +7 -0
  97. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +241 -0
  98. package/build/cjs/cc/MultiChannelAssociationCC.js +1090 -0
  99. package/build/cjs/cc/MultiChannelAssociationCC.js.map +7 -0
  100. package/build/cjs/cc/MultiChannelCC.d.ts +394 -0
  101. package/build/cjs/cc/MultiChannelCC.js +1268 -0
  102. package/build/cjs/cc/MultiChannelCC.js.map +7 -0
  103. package/build/cjs/cc/MultiCommandCC.d.ts +27 -0
  104. package/build/cjs/cc/MultiCommandCC.js +234 -0
  105. package/build/cjs/cc/MultiCommandCC.js.map +7 -0
  106. package/build/cjs/cc/MultilevelSensorCC.d.ts +185 -0
  107. package/build/cjs/cc/MultilevelSensorCC.js +856 -0
  108. package/build/cjs/cc/MultilevelSensorCC.js.map +7 -0
  109. package/build/cjs/cc/MultilevelSwitchCC.d.ts +357 -0
  110. package/build/cjs/cc/MultilevelSwitchCC.js +928 -0
  111. package/build/cjs/cc/MultilevelSwitchCC.js.map +7 -0
  112. package/build/cjs/cc/NoOperationCC.d.ts +9 -0
  113. package/build/cjs/cc/NoOperationCC.js +126 -0
  114. package/build/cjs/cc/NoOperationCC.js.map +7 -0
  115. package/build/cjs/cc/NodeNamingCC.d.ts +118 -0
  116. package/build/cjs/cc/NodeNamingCC.js +504 -0
  117. package/build/cjs/cc/NodeNamingCC.js.map +7 -0
  118. package/build/cjs/cc/NotificationCC.d.ts +479 -0
  119. package/build/cjs/cc/NotificationCC.js +1399 -0
  120. package/build/cjs/cc/NotificationCC.js.map +7 -0
  121. package/build/cjs/cc/PowerlevelCC.d.ts +82 -0
  122. package/build/cjs/cc/PowerlevelCC.js +657 -0
  123. package/build/cjs/cc/PowerlevelCC.js.map +7 -0
  124. package/build/cjs/cc/ProtectionCC.d.ts +325 -0
  125. package/build/cjs/cc/ProtectionCC.js +859 -0
  126. package/build/cjs/cc/ProtectionCC.js.map +7 -0
  127. package/build/cjs/cc/SceneActivationCC.d.ts +89 -0
  128. package/build/cjs/cc/SceneActivationCC.js +261 -0
  129. package/build/cjs/cc/SceneActivationCC.js.map +7 -0
  130. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +120 -0
  131. package/build/cjs/cc/SceneActuatorConfigurationCC.js +473 -0
  132. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +7 -0
  133. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +129 -0
  134. package/build/cjs/cc/SceneControllerConfigurationCC.js +526 -0
  135. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +7 -0
  136. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +434 -0
  137. package/build/cjs/cc/ScheduleEntryLockCC.js +2043 -0
  138. package/build/cjs/cc/ScheduleEntryLockCC.js.map +7 -0
  139. package/build/cjs/cc/Security2CC.d.ts +251 -0
  140. package/build/cjs/cc/Security2CC.js +1853 -0
  141. package/build/cjs/cc/Security2CC.js.map +7 -0
  142. package/build/cjs/cc/SecurityCC.d.ts +128 -0
  143. package/build/cjs/cc/SecurityCC.js +977 -0
  144. package/build/cjs/cc/SecurityCC.js.map +7 -0
  145. package/build/cjs/cc/SoundSwitchCC.d.ts +232 -0
  146. package/build/cjs/cc/SoundSwitchCC.js +853 -0
  147. package/build/cjs/cc/SoundSwitchCC.js.map +7 -0
  148. package/build/cjs/cc/SupervisionCC.d.ts +104 -0
  149. package/build/cjs/cc/SupervisionCC.js +398 -0
  150. package/build/cjs/cc/SupervisionCC.js.map +7 -0
  151. package/build/cjs/cc/ThermostatFanModeCC.d.ts +141 -0
  152. package/build/cjs/cc/ThermostatFanModeCC.js +495 -0
  153. package/build/cjs/cc/ThermostatFanModeCC.js.map +7 -0
  154. package/build/cjs/cc/ThermostatFanStateCC.d.ts +60 -0
  155. package/build/cjs/cc/ThermostatFanStateCC.js +252 -0
  156. package/build/cjs/cc/ThermostatFanStateCC.js.map +7 -0
  157. package/build/cjs/cc/ThermostatModeCC.d.ts +150 -0
  158. package/build/cjs/cc/ThermostatModeCC.js +559 -0
  159. package/build/cjs/cc/ThermostatModeCC.js.map +7 -0
  160. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +61 -0
  161. package/build/cjs/cc/ThermostatOperatingStateCC.js +248 -0
  162. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +7 -0
  163. package/build/cjs/cc/ThermostatSetbackCC.d.ts +46 -0
  164. package/build/cjs/cc/ThermostatSetbackCC.js +366 -0
  165. package/build/cjs/cc/ThermostatSetbackCC.js.map +7 -0
  166. package/build/cjs/cc/ThermostatSetpointCC.d.ts +197 -0
  167. package/build/cjs/cc/ThermostatSetpointCC.js +792 -0
  168. package/build/cjs/cc/ThermostatSetpointCC.js.map +7 -0
  169. package/build/cjs/cc/TimeCC.d.ts +88 -0
  170. package/build/cjs/cc/TimeCC.js +635 -0
  171. package/build/cjs/cc/TimeCC.js.map +7 -0
  172. package/build/cjs/cc/TimeParametersCC.d.ts +72 -0
  173. package/build/cjs/cc/TimeParametersCC.js +413 -0
  174. package/build/cjs/cc/TimeParametersCC.js.map +7 -0
  175. package/build/cjs/cc/TransportServiceCC.d.ts +107 -0
  176. package/build/cjs/cc/TransportServiceCC.js +522 -0
  177. package/build/cjs/cc/TransportServiceCC.js.map +7 -0
  178. package/build/cjs/cc/UserCodeCC.d.ts +683 -0
  179. package/build/cjs/cc/UserCodeCC.js +1903 -0
  180. package/build/cjs/cc/UserCodeCC.js.map +7 -0
  181. package/build/cjs/cc/VersionCC.d.ts +469 -0
  182. package/build/cjs/cc/VersionCC.js +962 -0
  183. package/build/cjs/cc/VersionCC.js.map +7 -0
  184. package/build/cjs/cc/WakeUpCC.d.ts +150 -0
  185. package/build/cjs/cc/WakeUpCC.js +609 -0
  186. package/build/cjs/cc/WakeUpCC.js.map +7 -0
  187. package/build/cjs/cc/WindowCoveringCC.d.ts +315 -0
  188. package/build/cjs/cc/WindowCoveringCC.js +924 -0
  189. package/build/cjs/cc/WindowCoveringCC.js.map +7 -0
  190. package/build/cjs/cc/ZWaveLongRangeCC.d.ts +4 -0
  191. package/build/cjs/cc/ZWaveLongRangeCC.js +90 -0
  192. package/build/cjs/cc/ZWaveLongRangeCC.js.map +7 -0
  193. package/build/cjs/cc/ZWavePlusCC.d.ts +163 -0
  194. package/build/cjs/cc/ZWavePlusCC.js +362 -0
  195. package/build/cjs/cc/ZWavePlusCC.js.map +7 -0
  196. package/build/cjs/cc/ZWaveProtocolCC.d.ts +344 -0
  197. package/build/cjs/cc/ZWaveProtocolCC.js +1638 -0
  198. package/build/cjs/cc/ZWaveProtocolCC.js.map +7 -0
  199. package/build/cjs/cc/index.d.ts +132 -0
  200. package/build/cjs/cc/index.js +1180 -0
  201. package/build/cjs/cc/index.js.map +7 -0
  202. package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +64 -0
  203. package/build/cjs/cc/manufacturerProprietary/Decorators.js +76 -0
  204. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +7 -0
  205. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
  206. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +533 -0
  207. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +7 -0
  208. package/build/cjs/index.d.ts +15 -0
  209. package/build/cjs/index.js +77 -0
  210. package/build/cjs/index.js.map +7 -0
  211. package/build/cjs/index_safe.d.ts +3 -0
  212. package/build/cjs/index_safe.js +25 -0
  213. package/build/cjs/index_safe.js.map +7 -0
  214. package/build/cjs/lib/API.d.ts +271 -0
  215. package/build/cjs/lib/API.js +413 -0
  216. package/build/cjs/lib/API.js.map +7 -0
  217. package/build/cjs/lib/CommandClass.d.ts +234 -0
  218. package/build/cjs/lib/CommandClass.js +692 -0
  219. package/build/cjs/lib/CommandClass.js.map +7 -0
  220. package/build/cjs/lib/CommandClassDecorators.d.ts +108 -0
  221. package/build/cjs/lib/CommandClassDecorators.js +181 -0
  222. package/build/cjs/lib/CommandClassDecorators.js.map +7 -0
  223. package/build/cjs/lib/EncapsulatingCommandClass.d.ts +22 -0
  224. package/build/cjs/lib/EncapsulatingCommandClass.js +71 -0
  225. package/build/cjs/lib/EncapsulatingCommandClass.js.map +7 -0
  226. package/build/cjs/lib/ICommandClassContainer.js +17 -0
  227. package/build/cjs/lib/ICommandClassContainer.js.map +7 -0
  228. package/build/cjs/lib/NotificationEventPayload.d.ts +10 -0
  229. package/build/cjs/lib/NotificationEventPayload.js +31 -0
  230. package/build/cjs/lib/NotificationEventPayload.js.map +7 -0
  231. package/build/cjs/lib/Security2/Extension.d.ts +106 -0
  232. package/build/cjs/lib/Security2/Extension.js +424 -0
  233. package/build/cjs/lib/Security2/Extension.js.map +7 -0
  234. package/build/cjs/lib/Security2/shared.js +69 -0
  235. package/build/cjs/lib/Security2/shared.js.map +7 -0
  236. package/build/cjs/lib/SetValueResult.js +65 -0
  237. package/build/cjs/lib/SetValueResult.js.map +7 -0
  238. package/build/cjs/lib/Values.d.ts +223 -0
  239. package/build/cjs/lib/Values.js +191 -0
  240. package/build/cjs/lib/Values.js.map +7 -0
  241. package/build/cjs/lib/_Types.js +1676 -0
  242. package/build/cjs/lib/_Types.js.map +7 -0
  243. package/build/cjs/lib/serializers.d.ts +34 -0
  244. package/build/cjs/lib/serializers.js +110 -0
  245. package/build/cjs/lib/serializers.js.map +7 -0
  246. package/build/cjs/lib/utils.d.ts +17 -0
  247. package/build/cjs/lib/utils.js +678 -0
  248. package/build/cjs/lib/utils.js.map +7 -0
  249. package/build/cjs/package.json +3 -0
  250. package/build/esm/cc/AlarmSensorCC.d.ts +194 -0
  251. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -0
  252. package/build/esm/cc/AlarmSensorCC.js +490 -0
  253. package/build/esm/cc/AlarmSensorCC.js.map +1 -0
  254. package/build/esm/cc/AssociationCC.d.ts +253 -0
  255. package/build/esm/cc/AssociationCC.d.ts.map +1 -0
  256. package/build/esm/cc/AssociationCC.js +847 -0
  257. package/build/esm/cc/AssociationCC.js.map +1 -0
  258. package/build/esm/cc/AssociationGroupInfoCC.d.ts +230 -0
  259. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -0
  260. package/build/esm/cc/AssociationGroupInfoCC.js +889 -0
  261. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -0
  262. package/build/esm/cc/BarrierOperatorCC.d.ts +243 -0
  263. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -0
  264. package/build/esm/cc/BarrierOperatorCC.js +751 -0
  265. package/build/esm/cc/BarrierOperatorCC.js.map +1 -0
  266. package/build/esm/cc/BasicCC.d.ts +191 -0
  267. package/build/esm/cc/BasicCC.d.ts.map +1 -0
  268. package/build/esm/cc/BasicCC.js +468 -0
  269. package/build/esm/cc/BasicCC.js.map +1 -0
  270. package/build/esm/cc/BatteryCC.d.ts +406 -0
  271. package/build/esm/cc/BatteryCC.d.ts.map +1 -0
  272. package/build/esm/cc/BatteryCC.js +578 -0
  273. package/build/esm/cc/BatteryCC.js.map +1 -0
  274. package/build/esm/cc/BinarySensorCC.d.ts +122 -0
  275. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -0
  276. package/build/esm/cc/BinarySensorCC.js +515 -0
  277. package/build/esm/cc/BinarySensorCC.js.map +1 -0
  278. package/build/esm/cc/BinarySwitchCC.d.ts +139 -0
  279. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -0
  280. package/build/esm/cc/BinarySwitchCC.js +441 -0
  281. package/build/esm/cc/BinarySwitchCC.js.map +1 -0
  282. package/build/esm/cc/CRC16CC.d.ts +29 -0
  283. package/build/esm/cc/CRC16CC.d.ts.map +1 -0
  284. package/build/esm/cc/CRC16CC.js +187 -0
  285. package/build/esm/cc/CRC16CC.js.map +1 -0
  286. package/build/esm/cc/CentralSceneCC.d.ts +210 -0
  287. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -0
  288. package/build/esm/cc/CentralSceneCC.js +541 -0
  289. package/build/esm/cc/CentralSceneCC.js.map +1 -0
  290. package/build/esm/cc/ClimateControlScheduleCC.d.ts +177 -0
  291. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -0
  292. package/build/esm/cc/ClimateControlScheduleCC.js +607 -0
  293. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -0
  294. package/build/esm/cc/ClockCC.d.ts +47 -0
  295. package/build/esm/cc/ClockCC.d.ts.map +1 -0
  296. package/build/esm/cc/ClockCC.js +294 -0
  297. package/build/esm/cc/ClockCC.js.map +1 -0
  298. package/build/esm/cc/ColorSwitchCC.d.ts +339 -0
  299. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -0
  300. package/build/esm/cc/ColorSwitchCC.js +1274 -0
  301. package/build/esm/cc/ColorSwitchCC.js.map +1 -0
  302. package/build/esm/cc/ConfigurationCC.d.ts +396 -0
  303. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -0
  304. package/build/esm/cc/ConfigurationCC.js +2666 -0
  305. package/build/esm/cc/ConfigurationCC.js.map +1 -0
  306. package/build/esm/cc/DeviceResetLocallyCC.d.ts +17 -0
  307. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -0
  308. package/build/esm/cc/DeviceResetLocallyCC.js +138 -0
  309. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -0
  310. package/build/esm/cc/DoorLockCC.d.ts +837 -0
  311. package/build/esm/cc/DoorLockCC.d.ts.map +1 -0
  312. package/build/esm/cc/DoorLockCC.js +1372 -0
  313. package/build/esm/cc/DoorLockCC.js.map +1 -0
  314. package/build/esm/cc/DoorLockLoggingCC.d.ts +77 -0
  315. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -0
  316. package/build/esm/cc/DoorLockLoggingCC.js +414 -0
  317. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -0
  318. package/build/esm/cc/EnergyProductionCC.d.ts +77 -0
  319. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -0
  320. package/build/esm/cc/EnergyProductionCC.js +289 -0
  321. package/build/esm/cc/EnergyProductionCC.js.map +1 -0
  322. package/build/esm/cc/EntryControlCC.d.ts +231 -0
  323. package/build/esm/cc/EntryControlCC.d.ts.map +1 -0
  324. package/build/esm/cc/EntryControlCC.js +717 -0
  325. package/build/esm/cc/EntryControlCC.js.map +1 -0
  326. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
  327. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
  328. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1311 -0
  329. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
  330. package/build/esm/cc/HailCC.d.ts +6 -0
  331. package/build/esm/cc/HailCC.d.ts.map +1 -0
  332. package/build/esm/cc/HailCC.js +60 -0
  333. package/build/esm/cc/HailCC.js.map +1 -0
  334. package/build/esm/cc/HumidityControlModeCC.d.ts +111 -0
  335. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -0
  336. package/build/esm/cc/HumidityControlModeCC.js +412 -0
  337. package/build/esm/cc/HumidityControlModeCC.js.map +1 -0
  338. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +60 -0
  339. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
  340. package/build/esm/cc/HumidityControlOperatingStateCC.js +210 -0
  341. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -0
  342. package/build/esm/cc/HumidityControlSetpointCC.d.ts +209 -0
  343. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -0
  344. package/build/esm/cc/HumidityControlSetpointCC.js +805 -0
  345. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -0
  346. package/build/esm/cc/InclusionControllerCC.d.ts +42 -0
  347. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -0
  348. package/build/esm/cc/InclusionControllerCC.js +211 -0
  349. package/build/esm/cc/InclusionControllerCC.js.map +1 -0
  350. package/build/esm/cc/IndicatorCC.d.ts +338 -0
  351. package/build/esm/cc/IndicatorCC.d.ts.map +1 -0
  352. package/build/esm/cc/IndicatorCC.js +1455 -0
  353. package/build/esm/cc/IndicatorCC.js.map +1 -0
  354. package/build/esm/cc/IrrigationCC.d.ts +1496 -0
  355. package/build/esm/cc/IrrigationCC.d.ts.map +1 -0
  356. package/build/esm/cc/IrrigationCC.js +2239 -0
  357. package/build/esm/cc/IrrigationCC.js.map +1 -0
  358. package/build/esm/cc/LanguageCC.d.ts +101 -0
  359. package/build/esm/cc/LanguageCC.d.ts.map +1 -0
  360. package/build/esm/cc/LanguageCC.js +325 -0
  361. package/build/esm/cc/LanguageCC.js.map +1 -0
  362. package/build/esm/cc/LockCC.d.ts +73 -0
  363. package/build/esm/cc/LockCC.d.ts.map +1 -0
  364. package/build/esm/cc/LockCC.js +282 -0
  365. package/build/esm/cc/LockCC.js.map +1 -0
  366. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +32 -0
  367. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
  368. package/build/esm/cc/ManufacturerProprietaryCC.js +252 -0
  369. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -0
  370. package/build/esm/cc/ManufacturerSpecificCC.d.ts +171 -0
  371. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -0
  372. package/build/esm/cc/ManufacturerSpecificCC.js +404 -0
  373. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -0
  374. package/build/esm/cc/MeterCC.d.ts +318 -0
  375. package/build/esm/cc/MeterCC.d.ts.map +1 -0
  376. package/build/esm/cc/MeterCC.js +1409 -0
  377. package/build/esm/cc/MeterCC.js.map +1 -0
  378. package/build/esm/cc/MultiChannelAssociationCC.d.ts +241 -0
  379. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -0
  380. package/build/esm/cc/MultiChannelAssociationCC.js +1094 -0
  381. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -0
  382. package/build/esm/cc/MultiChannelCC.d.ts +394 -0
  383. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -0
  384. package/build/esm/cc/MultiChannelCC.js +1312 -0
  385. package/build/esm/cc/MultiChannelCC.js.map +1 -0
  386. package/build/esm/cc/MultiCommandCC.d.ts +27 -0
  387. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -0
  388. package/build/esm/cc/MultiCommandCC.js +206 -0
  389. package/build/esm/cc/MultiCommandCC.js.map +1 -0
  390. package/build/esm/cc/MultilevelSensorCC.d.ts +185 -0
  391. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -0
  392. package/build/esm/cc/MultilevelSensorCC.js +872 -0
  393. package/build/esm/cc/MultilevelSensorCC.js.map +1 -0
  394. package/build/esm/cc/MultilevelSwitchCC.d.ts +357 -0
  395. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -0
  396. package/build/esm/cc/MultilevelSwitchCC.js +935 -0
  397. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -0
  398. package/build/esm/cc/NoOperationCC.d.ts +9 -0
  399. package/build/esm/cc/NoOperationCC.d.ts.map +1 -0
  400. package/build/esm/cc/NoOperationCC.js +92 -0
  401. package/build/esm/cc/NoOperationCC.js.map +1 -0
  402. package/build/esm/cc/NodeNamingCC.d.ts +118 -0
  403. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -0
  404. package/build/esm/cc/NodeNamingCC.js +464 -0
  405. package/build/esm/cc/NodeNamingCC.js.map +1 -0
  406. package/build/esm/cc/NotificationCC.d.ts +479 -0
  407. package/build/esm/cc/NotificationCC.d.ts.map +1 -0
  408. package/build/esm/cc/NotificationCC.js +1481 -0
  409. package/build/esm/cc/NotificationCC.js.map +1 -0
  410. package/build/esm/cc/PowerlevelCC.d.ts +82 -0
  411. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -0
  412. package/build/esm/cc/PowerlevelCC.js +611 -0
  413. package/build/esm/cc/PowerlevelCC.js.map +1 -0
  414. package/build/esm/cc/ProtectionCC.d.ts +325 -0
  415. package/build/esm/cc/ProtectionCC.d.ts.map +1 -0
  416. package/build/esm/cc/ProtectionCC.js +830 -0
  417. package/build/esm/cc/ProtectionCC.js.map +1 -0
  418. package/build/esm/cc/SceneActivationCC.d.ts +89 -0
  419. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -0
  420. package/build/esm/cc/SceneActivationCC.js +223 -0
  421. package/build/esm/cc/SceneActivationCC.js.map +1 -0
  422. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +120 -0
  423. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
  424. package/build/esm/cc/SceneActuatorConfigurationCC.js +462 -0
  425. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -0
  426. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +129 -0
  427. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
  428. package/build/esm/cc/SceneControllerConfigurationCC.js +534 -0
  429. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -0
  430. package/build/esm/cc/ScheduleEntryLockCC.d.ts +434 -0
  431. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -0
  432. package/build/esm/cc/ScheduleEntryLockCC.js +2065 -0
  433. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -0
  434. package/build/esm/cc/Security2CC.d.ts +251 -0
  435. package/build/esm/cc/Security2CC.d.ts.map +1 -0
  436. package/build/esm/cc/Security2CC.js +2041 -0
  437. package/build/esm/cc/Security2CC.js.map +1 -0
  438. package/build/esm/cc/SecurityCC.d.ts +128 -0
  439. package/build/esm/cc/SecurityCC.d.ts.map +1 -0
  440. package/build/esm/cc/SecurityCC.js +989 -0
  441. package/build/esm/cc/SecurityCC.js.map +1 -0
  442. package/build/esm/cc/SoundSwitchCC.d.ts +232 -0
  443. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -0
  444. package/build/esm/cc/SoundSwitchCC.js +796 -0
  445. package/build/esm/cc/SoundSwitchCC.js.map +1 -0
  446. package/build/esm/cc/SupervisionCC.d.ts +104 -0
  447. package/build/esm/cc/SupervisionCC.d.ts.map +1 -0
  448. package/build/esm/cc/SupervisionCC.js +396 -0
  449. package/build/esm/cc/SupervisionCC.js.map +1 -0
  450. package/build/esm/cc/ThermostatFanModeCC.d.ts +141 -0
  451. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -0
  452. package/build/esm/cc/ThermostatFanModeCC.js +463 -0
  453. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -0
  454. package/build/esm/cc/ThermostatFanStateCC.d.ts +60 -0
  455. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -0
  456. package/build/esm/cc/ThermostatFanStateCC.js +212 -0
  457. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -0
  458. package/build/esm/cc/ThermostatModeCC.d.ts +150 -0
  459. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -0
  460. package/build/esm/cc/ThermostatModeCC.js +530 -0
  461. package/build/esm/cc/ThermostatModeCC.js.map +1 -0
  462. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +61 -0
  463. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
  464. package/build/esm/cc/ThermostatOperatingStateCC.js +208 -0
  465. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -0
  466. package/build/esm/cc/ThermostatSetbackCC.d.ts +46 -0
  467. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -0
  468. package/build/esm/cc/ThermostatSetbackCC.js +333 -0
  469. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -0
  470. package/build/esm/cc/ThermostatSetpointCC.d.ts +197 -0
  471. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -0
  472. package/build/esm/cc/ThermostatSetpointCC.js +786 -0
  473. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -0
  474. package/build/esm/cc/TimeCC.d.ts +88 -0
  475. package/build/esm/cc/TimeCC.d.ts.map +1 -0
  476. package/build/esm/cc/TimeCC.js +590 -0
  477. package/build/esm/cc/TimeCC.js.map +1 -0
  478. package/build/esm/cc/TimeParametersCC.d.ts +72 -0
  479. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -0
  480. package/build/esm/cc/TimeParametersCC.js +385 -0
  481. package/build/esm/cc/TimeParametersCC.js.map +1 -0
  482. package/build/esm/cc/TransportServiceCC.d.ts +107 -0
  483. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -0
  484. package/build/esm/cc/TransportServiceCC.js +523 -0
  485. package/build/esm/cc/TransportServiceCC.js.map +1 -0
  486. package/build/esm/cc/UserCodeCC.d.ts +683 -0
  487. package/build/esm/cc/UserCodeCC.d.ts.map +1 -0
  488. package/build/esm/cc/UserCodeCC.js +1933 -0
  489. package/build/esm/cc/UserCodeCC.js.map +1 -0
  490. package/build/esm/cc/VersionCC.d.ts +469 -0
  491. package/build/esm/cc/VersionCC.d.ts.map +1 -0
  492. package/build/esm/cc/VersionCC.js +971 -0
  493. package/build/esm/cc/VersionCC.js.map +1 -0
  494. package/build/esm/cc/WakeUpCC.d.ts +150 -0
  495. package/build/esm/cc/WakeUpCC.d.ts.map +1 -0
  496. package/build/esm/cc/WakeUpCC.js +568 -0
  497. package/build/esm/cc/WakeUpCC.js.map +1 -0
  498. package/build/esm/cc/WindowCoveringCC.d.ts +315 -0
  499. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -0
  500. package/build/esm/cc/WindowCoveringCC.js +905 -0
  501. package/build/esm/cc/WindowCoveringCC.js.map +1 -0
  502. package/build/esm/cc/ZWaveLongRangeCC.d.ts +4 -0
  503. package/build/esm/cc/ZWaveLongRangeCC.d.ts.map +1 -0
  504. package/build/esm/cc/ZWaveLongRangeCC.js +57 -0
  505. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -0
  506. package/build/esm/cc/ZWavePlusCC.d.ts +163 -0
  507. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -0
  508. package/build/esm/cc/ZWavePlusCC.js +328 -0
  509. package/build/esm/cc/ZWavePlusCC.js.map +1 -0
  510. package/build/esm/cc/ZWaveProtocolCC.d.ts +344 -0
  511. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -0
  512. package/build/esm/cc/ZWaveProtocolCC.js +1520 -0
  513. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -0
  514. package/build/esm/cc/index.d.ts +132 -0
  515. package/build/esm/cc/index.d.ts.map +1 -0
  516. package/build/esm/cc/index.js +71 -0
  517. package/build/esm/cc/index.js.map +1 -0
  518. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +64 -0
  519. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -0
  520. package/build/esm/cc/manufacturerProprietary/Decorators.js +79 -0
  521. package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -0
  522. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
  523. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
  524. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +489 -0
  525. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
  526. package/build/esm/index.d.ts +15 -0
  527. package/build/esm/index.d.ts.map +1 -0
  528. package/build/esm/index.js +14 -0
  529. package/build/esm/index.js.map +1 -0
  530. package/build/esm/index_safe.d.ts +3 -0
  531. package/build/esm/index_safe.d.ts.map +1 -0
  532. package/build/esm/index_safe.js +4 -0
  533. package/build/esm/index_safe.js.map +1 -0
  534. package/build/esm/lib/API.d.ts +271 -0
  535. package/build/esm/lib/API.d.ts.map +1 -0
  536. package/build/esm/lib/API.js +448 -0
  537. package/build/esm/lib/API.js.map +1 -0
  538. package/build/esm/lib/CommandClass.d.ts +234 -0
  539. package/build/esm/lib/CommandClass.d.ts.map +1 -0
  540. package/build/esm/lib/CommandClass.js +781 -0
  541. package/build/esm/lib/CommandClass.js.map +1 -0
  542. package/build/esm/lib/CommandClassDecorators.d.ts +108 -0
  543. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -0
  544. package/build/esm/lib/CommandClassDecorators.js +229 -0
  545. package/build/esm/lib/CommandClassDecorators.js.map +1 -0
  546. package/build/esm/lib/EncapsulatingCommandClass.d.ts +22 -0
  547. package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -0
  548. package/build/esm/lib/EncapsulatingCommandClass.js +56 -0
  549. package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -0
  550. package/build/esm/lib/ICommandClassContainer.d.ts +2 -0
  551. package/build/esm/lib/ICommandClassContainer.d.ts.map +1 -0
  552. package/build/esm/lib/ICommandClassContainer.js +2 -0
  553. package/build/esm/lib/ICommandClassContainer.js.map +1 -0
  554. package/build/esm/lib/NotificationEventPayload.d.ts +10 -0
  555. package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -0
  556. package/build/esm/lib/NotificationEventPayload.js +7 -0
  557. package/build/esm/lib/NotificationEventPayload.js.map +1 -0
  558. package/build/esm/lib/Security2/Extension.d.ts +106 -0
  559. package/build/esm/lib/Security2/Extension.d.ts.map +1 -0
  560. package/build/esm/lib/Security2/Extension.js +380 -0
  561. package/build/esm/lib/Security2/Extension.js.map +1 -0
  562. package/build/esm/lib/Security2/shared.d.ts +37 -0
  563. package/build/esm/lib/Security2/shared.d.ts.map +1 -0
  564. package/build/esm/lib/Security2/shared.js +40 -0
  565. package/build/esm/lib/Security2/shared.js.map +1 -0
  566. package/build/esm/lib/SetValueResult.d.ts +55 -0
  567. package/build/esm/lib/SetValueResult.d.ts.map +1 -0
  568. package/build/esm/lib/SetValueResult.js +53 -0
  569. package/build/esm/lib/SetValueResult.js.map +1 -0
  570. package/build/esm/lib/Values.d.ts +223 -0
  571. package/build/esm/lib/Values.d.ts.map +1 -0
  572. package/build/esm/lib/Values.js +169 -0
  573. package/build/esm/lib/Values.js.map +1 -0
  574. package/build/esm/lib/_Types.d.ts +1461 -0
  575. package/build/esm/lib/_Types.d.ts.map +1 -0
  576. package/build/esm/lib/_Types.js +1432 -0
  577. package/build/esm/lib/_Types.js.map +1 -0
  578. package/build/esm/lib/serializers.d.ts +34 -0
  579. package/build/esm/lib/serializers.d.ts.map +1 -0
  580. package/build/esm/lib/serializers.js +98 -0
  581. package/build/esm/lib/serializers.js.map +1 -0
  582. package/build/esm/lib/utils.d.ts +17 -0
  583. package/build/esm/lib/utils.d.ts.map +1 -0
  584. package/build/esm/lib/utils.js +847 -0
  585. package/build/esm/lib/utils.js.map +1 -0
  586. package/build/esm/package.json +3 -0
  587. package/package.json +28 -23
  588. package/build/cc/AlarmSensorCC.d.ts +0 -194
  589. package/build/cc/AlarmSensorCC.d.ts.map +0 -1
  590. package/build/cc/AlarmSensorCC.js +0 -395
  591. package/build/cc/AlarmSensorCC.js.map +0 -1
  592. package/build/cc/AssociationCC.d.ts +0 -253
  593. package/build/cc/AssociationCC.d.ts.map +0 -1
  594. package/build/cc/AssociationCC.js +0 -732
  595. package/build/cc/AssociationCC.js.map +0 -1
  596. package/build/cc/AssociationGroupInfoCC.d.ts +0 -230
  597. package/build/cc/AssociationGroupInfoCC.d.ts.map +0 -1
  598. package/build/cc/AssociationGroupInfoCC.js +0 -772
  599. package/build/cc/AssociationGroupInfoCC.js.map +0 -1
  600. package/build/cc/BarrierOperatorCC.d.ts +0 -243
  601. package/build/cc/BarrierOperatorCC.d.ts.map +0 -1
  602. package/build/cc/BarrierOperatorCC.js +0 -613
  603. package/build/cc/BarrierOperatorCC.js.map +0 -1
  604. package/build/cc/BasicCC.d.ts +0 -191
  605. package/build/cc/BasicCC.d.ts.map +0 -1
  606. package/build/cc/BasicCC.js +0 -393
  607. package/build/cc/BasicCC.js.map +0 -1
  608. package/build/cc/BatteryCC.d.ts +0 -406
  609. package/build/cc/BatteryCC.d.ts.map +0 -1
  610. package/build/cc/BatteryCC.js +0 -516
  611. package/build/cc/BatteryCC.js.map +0 -1
  612. package/build/cc/BinarySensorCC.d.ts +0 -122
  613. package/build/cc/BinarySensorCC.d.ts.map +0 -1
  614. package/build/cc/BinarySensorCC.js +0 -420
  615. package/build/cc/BinarySensorCC.js.map +0 -1
  616. package/build/cc/BinarySwitchCC.d.ts +0 -139
  617. package/build/cc/BinarySwitchCC.d.ts.map +0 -1
  618. package/build/cc/BinarySwitchCC.js +0 -365
  619. package/build/cc/BinarySwitchCC.js.map +0 -1
  620. package/build/cc/CRC16CC.d.ts +0 -29
  621. package/build/cc/CRC16CC.d.ts.map +0 -1
  622. package/build/cc/CRC16CC.js +0 -126
  623. package/build/cc/CRC16CC.js.map +0 -1
  624. package/build/cc/CentralSceneCC.d.ts +0 -210
  625. package/build/cc/CentralSceneCC.d.ts.map +0 -1
  626. package/build/cc/CentralSceneCC.js +0 -453
  627. package/build/cc/CentralSceneCC.js.map +0 -1
  628. package/build/cc/ClimateControlScheduleCC.d.ts +0 -177
  629. package/build/cc/ClimateControlScheduleCC.d.ts.map +0 -1
  630. package/build/cc/ClimateControlScheduleCC.js +0 -469
  631. package/build/cc/ClimateControlScheduleCC.js.map +0 -1
  632. package/build/cc/ClockCC.d.ts +0 -47
  633. package/build/cc/ClockCC.d.ts.map +0 -1
  634. package/build/cc/ClockCC.js +0 -208
  635. package/build/cc/ClockCC.js.map +0 -1
  636. package/build/cc/ColorSwitchCC.d.ts +0 -339
  637. package/build/cc/ColorSwitchCC.d.ts.map +0 -1
  638. package/build/cc/ColorSwitchCC.js +0 -1152
  639. package/build/cc/ColorSwitchCC.js.map +0 -1
  640. package/build/cc/ConfigurationCC.d.ts +0 -396
  641. package/build/cc/ConfigurationCC.d.ts.map +0 -1
  642. package/build/cc/ConfigurationCC.js +0 -2458
  643. package/build/cc/ConfigurationCC.js.map +0 -1
  644. package/build/cc/DeviceResetLocallyCC.d.ts +0 -17
  645. package/build/cc/DeviceResetLocallyCC.d.ts.map +0 -1
  646. package/build/cc/DeviceResetLocallyCC.js +0 -76
  647. package/build/cc/DeviceResetLocallyCC.js.map +0 -1
  648. package/build/cc/DoorLockCC.d.ts +0 -837
  649. package/build/cc/DoorLockCC.d.ts.map +0 -1
  650. package/build/cc/DoorLockCC.js +0 -1273
  651. package/build/cc/DoorLockCC.js.map +0 -1
  652. package/build/cc/DoorLockLoggingCC.d.ts +0 -77
  653. package/build/cc/DoorLockLoggingCC.d.ts.map +0 -1
  654. package/build/cc/DoorLockLoggingCC.js +0 -319
  655. package/build/cc/DoorLockLoggingCC.js.map +0 -1
  656. package/build/cc/EnergyProductionCC.d.ts +0 -77
  657. package/build/cc/EnergyProductionCC.d.ts.map +0 -1
  658. package/build/cc/EnergyProductionCC.js +0 -216
  659. package/build/cc/EnergyProductionCC.js.map +0 -1
  660. package/build/cc/EntryControlCC.d.ts +0 -231
  661. package/build/cc/EntryControlCC.d.ts.map +0 -1
  662. package/build/cc/EntryControlCC.js +0 -607
  663. package/build/cc/EntryControlCC.js.map +0 -1
  664. package/build/cc/FirmwareUpdateMetaDataCC.d.ts +0 -359
  665. package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +0 -1
  666. package/build/cc/FirmwareUpdateMetaDataCC.js +0 -1145
  667. package/build/cc/FirmwareUpdateMetaDataCC.js.map +0 -1
  668. package/build/cc/HailCC.d.ts +0 -6
  669. package/build/cc/HailCC.d.ts.map +0 -1
  670. package/build/cc/HailCC.js +0 -24
  671. package/build/cc/HailCC.js.map +0 -1
  672. package/build/cc/HumidityControlModeCC.d.ts +0 -111
  673. package/build/cc/HumidityControlModeCC.d.ts.map +0 -1
  674. package/build/cc/HumidityControlModeCC.js +0 -308
  675. package/build/cc/HumidityControlModeCC.js.map +0 -1
  676. package/build/cc/HumidityControlOperatingStateCC.d.ts +0 -60
  677. package/build/cc/HumidityControlOperatingStateCC.d.ts.map +0 -1
  678. package/build/cc/HumidityControlOperatingStateCC.js +0 -140
  679. package/build/cc/HumidityControlOperatingStateCC.js.map +0 -1
  680. package/build/cc/HumidityControlSetpointCC.d.ts +0 -209
  681. package/build/cc/HumidityControlSetpointCC.d.ts.map +0 -1
  682. package/build/cc/HumidityControlSetpointCC.js +0 -648
  683. package/build/cc/HumidityControlSetpointCC.js.map +0 -1
  684. package/build/cc/InclusionControllerCC.d.ts +0 -42
  685. package/build/cc/InclusionControllerCC.d.ts.map +0 -1
  686. package/build/cc/InclusionControllerCC.js +0 -136
  687. package/build/cc/InclusionControllerCC.js.map +0 -1
  688. package/build/cc/IndicatorCC.d.ts +0 -338
  689. package/build/cc/IndicatorCC.d.ts.map +0 -1
  690. package/build/cc/IndicatorCC.js +0 -1320
  691. package/build/cc/IndicatorCC.js.map +0 -1
  692. package/build/cc/IrrigationCC.d.ts +0 -1496
  693. package/build/cc/IrrigationCC.d.ts.map +0 -1
  694. package/build/cc/IrrigationCC.js +0 -2041
  695. package/build/cc/IrrigationCC.js.map +0 -1
  696. package/build/cc/LanguageCC.d.ts +0 -101
  697. package/build/cc/LanguageCC.d.ts.map +0 -1
  698. package/build/cc/LanguageCC.js +0 -246
  699. package/build/cc/LanguageCC.js.map +0 -1
  700. package/build/cc/LockCC.d.ts +0 -73
  701. package/build/cc/LockCC.d.ts.map +0 -1
  702. package/build/cc/LockCC.js +0 -200
  703. package/build/cc/LockCC.js.map +0 -1
  704. package/build/cc/ManufacturerProprietaryCC.d.ts +0 -32
  705. package/build/cc/ManufacturerProprietaryCC.d.ts.map +0 -1
  706. package/build/cc/ManufacturerProprietaryCC.js +0 -204
  707. package/build/cc/ManufacturerProprietaryCC.js.map +0 -1
  708. package/build/cc/ManufacturerSpecificCC.d.ts +0 -171
  709. package/build/cc/ManufacturerSpecificCC.d.ts.map +0 -1
  710. package/build/cc/ManufacturerSpecificCC.js +0 -318
  711. package/build/cc/ManufacturerSpecificCC.js.map +0 -1
  712. package/build/cc/MeterCC.d.ts +0 -318
  713. package/build/cc/MeterCC.d.ts.map +0 -1
  714. package/build/cc/MeterCC.js +0 -1312
  715. package/build/cc/MeterCC.js.map +0 -1
  716. package/build/cc/MultiChannelAssociationCC.d.ts +0 -241
  717. package/build/cc/MultiChannelAssociationCC.d.ts.map +0 -1
  718. package/build/cc/MultiChannelAssociationCC.js +0 -1007
  719. package/build/cc/MultiChannelAssociationCC.js.map +0 -1
  720. package/build/cc/MultiChannelCC.d.ts +0 -394
  721. package/build/cc/MultiChannelCC.d.ts.map +0 -1
  722. package/build/cc/MultiChannelCC.js +0 -1130
  723. package/build/cc/MultiChannelCC.js.map +0 -1
  724. package/build/cc/MultiCommandCC.d.ts +0 -27
  725. package/build/cc/MultiCommandCC.d.ts.map +0 -1
  726. package/build/cc/MultiCommandCC.js +0 -145
  727. package/build/cc/MultiCommandCC.js.map +0 -1
  728. package/build/cc/MultilevelSensorCC.d.ts +0 -185
  729. package/build/cc/MultilevelSensorCC.d.ts.map +0 -1
  730. package/build/cc/MultilevelSensorCC.js +0 -756
  731. package/build/cc/MultilevelSensorCC.js.map +0 -1
  732. package/build/cc/MultilevelSwitchCC.d.ts +0 -357
  733. package/build/cc/MultilevelSwitchCC.d.ts.map +0 -1
  734. package/build/cc/MultilevelSwitchCC.js +0 -813
  735. package/build/cc/MultilevelSwitchCC.js.map +0 -1
  736. package/build/cc/NoOperationCC.d.ts +0 -9
  737. package/build/cc/NoOperationCC.d.ts.map +0 -1
  738. package/build/cc/NoOperationCC.js +0 -42
  739. package/build/cc/NoOperationCC.js.map +0 -1
  740. package/build/cc/NodeNamingCC.d.ts +0 -118
  741. package/build/cc/NodeNamingCC.d.ts.map +0 -1
  742. package/build/cc/NodeNamingCC.js +0 -348
  743. package/build/cc/NodeNamingCC.js.map +0 -1
  744. package/build/cc/NotificationCC.d.ts +0 -479
  745. package/build/cc/NotificationCC.d.ts.map +0 -1
  746. package/build/cc/NotificationCC.js +0 -1379
  747. package/build/cc/NotificationCC.js.map +0 -1
  748. package/build/cc/PowerlevelCC.d.ts +0 -82
  749. package/build/cc/PowerlevelCC.d.ts.map +0 -1
  750. package/build/cc/PowerlevelCC.js +0 -488
  751. package/build/cc/PowerlevelCC.js.map +0 -1
  752. package/build/cc/ProtectionCC.d.ts +0 -325
  753. package/build/cc/ProtectionCC.d.ts.map +0 -1
  754. package/build/cc/ProtectionCC.js +0 -672
  755. package/build/cc/ProtectionCC.js.map +0 -1
  756. package/build/cc/SceneActivationCC.d.ts +0 -89
  757. package/build/cc/SceneActivationCC.d.ts.map +0 -1
  758. package/build/cc/SceneActivationCC.js +0 -169
  759. package/build/cc/SceneActivationCC.js.map +0 -1
  760. package/build/cc/SceneActuatorConfigurationCC.d.ts +0 -120
  761. package/build/cc/SceneActuatorConfigurationCC.d.ts.map +0 -1
  762. package/build/cc/SceneActuatorConfigurationCC.js +0 -377
  763. package/build/cc/SceneActuatorConfigurationCC.js.map +0 -1
  764. package/build/cc/SceneControllerConfigurationCC.d.ts +0 -129
  765. package/build/cc/SceneControllerConfigurationCC.d.ts.map +0 -1
  766. package/build/cc/SceneControllerConfigurationCC.js +0 -449
  767. package/build/cc/SceneControllerConfigurationCC.js.map +0 -1
  768. package/build/cc/ScheduleEntryLockCC.d.ts +0 -434
  769. package/build/cc/ScheduleEntryLockCC.d.ts.map +0 -1
  770. package/build/cc/ScheduleEntryLockCC.js +0 -1829
  771. package/build/cc/ScheduleEntryLockCC.js.map +0 -1
  772. package/build/cc/Security2CC.d.ts +0 -251
  773. package/build/cc/Security2CC.d.ts.map +0 -1
  774. package/build/cc/Security2CC.js +0 -1817
  775. package/build/cc/Security2CC.js.map +0 -1
  776. package/build/cc/SecurityCC.d.ts +0 -128
  777. package/build/cc/SecurityCC.d.ts.map +0 -1
  778. package/build/cc/SecurityCC.js +0 -803
  779. package/build/cc/SecurityCC.js.map +0 -1
  780. package/build/cc/SoundSwitchCC.d.ts +0 -232
  781. package/build/cc/SoundSwitchCC.d.ts.map +0 -1
  782. package/build/cc/SoundSwitchCC.js +0 -636
  783. package/build/cc/SoundSwitchCC.js.map +0 -1
  784. package/build/cc/SupervisionCC.d.ts +0 -104
  785. package/build/cc/SupervisionCC.d.ts.map +0 -1
  786. package/build/cc/SupervisionCC.js +0 -322
  787. package/build/cc/SupervisionCC.js.map +0 -1
  788. package/build/cc/ThermostatFanModeCC.d.ts +0 -141
  789. package/build/cc/ThermostatFanModeCC.d.ts.map +0 -1
  790. package/build/cc/ThermostatFanModeCC.js +0 -362
  791. package/build/cc/ThermostatFanModeCC.js.map +0 -1
  792. package/build/cc/ThermostatFanStateCC.d.ts +0 -60
  793. package/build/cc/ThermostatFanStateCC.d.ts.map +0 -1
  794. package/build/cc/ThermostatFanStateCC.js +0 -142
  795. package/build/cc/ThermostatFanStateCC.js.map +0 -1
  796. package/build/cc/ThermostatModeCC.d.ts +0 -150
  797. package/build/cc/ThermostatModeCC.d.ts.map +0 -1
  798. package/build/cc/ThermostatModeCC.js +0 -429
  799. package/build/cc/ThermostatModeCC.js.map +0 -1
  800. package/build/cc/ThermostatOperatingStateCC.d.ts +0 -61
  801. package/build/cc/ThermostatOperatingStateCC.d.ts.map +0 -1
  802. package/build/cc/ThermostatOperatingStateCC.js +0 -138
  803. package/build/cc/ThermostatOperatingStateCC.js.map +0 -1
  804. package/build/cc/ThermostatSetbackCC.d.ts +0 -46
  805. package/build/cc/ThermostatSetbackCC.d.ts.map +0 -1
  806. package/build/cc/ThermostatSetbackCC.js +0 -247
  807. package/build/cc/ThermostatSetbackCC.js.map +0 -1
  808. package/build/cc/ThermostatSetpointCC.d.ts +0 -197
  809. package/build/cc/ThermostatSetpointCC.d.ts.map +0 -1
  810. package/build/cc/ThermostatSetpointCC.js +0 -658
  811. package/build/cc/ThermostatSetpointCC.js.map +0 -1
  812. package/build/cc/TimeCC.d.ts +0 -88
  813. package/build/cc/TimeCC.d.ts.map +0 -1
  814. package/build/cc/TimeCC.js +0 -454
  815. package/build/cc/TimeCC.js.map +0 -1
  816. package/build/cc/TimeParametersCC.d.ts +0 -72
  817. package/build/cc/TimeParametersCC.d.ts.map +0 -1
  818. package/build/cc/TimeParametersCC.js +0 -303
  819. package/build/cc/TimeParametersCC.js.map +0 -1
  820. package/build/cc/TransportServiceCC.d.ts +0 -107
  821. package/build/cc/TransportServiceCC.d.ts.map +0 -1
  822. package/build/cc/TransportServiceCC.js +0 -426
  823. package/build/cc/TransportServiceCC.js.map +0 -1
  824. package/build/cc/UserCodeCC.d.ts +0 -683
  825. package/build/cc/UserCodeCC.d.ts.map +0 -1
  826. package/build/cc/UserCodeCC.js +0 -1699
  827. package/build/cc/UserCodeCC.js.map +0 -1
  828. package/build/cc/VersionCC.d.ts +0 -469
  829. package/build/cc/VersionCC.d.ts.map +0 -1
  830. package/build/cc/VersionCC.js +0 -865
  831. package/build/cc/VersionCC.js.map +0 -1
  832. package/build/cc/WakeUpCC.d.ts +0 -150
  833. package/build/cc/WakeUpCC.d.ts.map +0 -1
  834. package/build/cc/WakeUpCC.js +0 -441
  835. package/build/cc/WakeUpCC.js.map +0 -1
  836. package/build/cc/WindowCoveringCC.d.ts +0 -315
  837. package/build/cc/WindowCoveringCC.d.ts.map +0 -1
  838. package/build/cc/WindowCoveringCC.js +0 -783
  839. package/build/cc/WindowCoveringCC.js.map +0 -1
  840. package/build/cc/ZWaveLongRangeCC.d.ts +0 -4
  841. package/build/cc/ZWaveLongRangeCC.d.ts.map +0 -1
  842. package/build/cc/ZWaveLongRangeCC.js +0 -20
  843. package/build/cc/ZWaveLongRangeCC.js.map +0 -1
  844. package/build/cc/ZWavePlusCC.d.ts +0 -163
  845. package/build/cc/ZWavePlusCC.d.ts.map +0 -1
  846. package/build/cc/ZWavePlusCC.js +0 -270
  847. package/build/cc/ZWavePlusCC.js.map +0 -1
  848. package/build/cc/ZWaveProtocolCC.d.ts +0 -344
  849. package/build/cc/ZWaveProtocolCC.d.ts.map +0 -1
  850. package/build/cc/ZWaveProtocolCC.js +0 -1033
  851. package/build/cc/ZWaveProtocolCC.js.map +0 -1
  852. package/build/cc/index.d.ts +0 -132
  853. package/build/cc/index.d.ts.map +0 -1
  854. package/build/cc/index.js +0 -627
  855. package/build/cc/index.js.map +0 -1
  856. package/build/cc/manufacturerProprietary/Decorators.d.ts +0 -64
  857. package/build/cc/manufacturerProprietary/Decorators.d.ts.map +0 -1
  858. package/build/cc/manufacturerProprietary/Decorators.js +0 -83
  859. package/build/cc/manufacturerProprietary/Decorators.js.map +0 -1
  860. package/build/cc/manufacturerProprietary/FibaroCC.d.ts +0 -79
  861. package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +0 -1
  862. package/build/cc/manufacturerProprietary/FibaroCC.js +0 -392
  863. package/build/cc/manufacturerProprietary/FibaroCC.js.map +0 -1
  864. package/build/index.d.ts +0 -15
  865. package/build/index.d.ts.map +0 -1
  866. package/build/index.js +0 -52
  867. package/build/index.js.map +0 -1
  868. package/build/index_safe.d.ts +0 -3
  869. package/build/index_safe.d.ts.map +0 -1
  870. package/build/index_safe.js +0 -20
  871. package/build/index_safe.js.map +0 -1
  872. package/build/lib/API.d.ts +0 -271
  873. package/build/lib/API.d.ts.map +0 -1
  874. package/build/lib/API.js +0 -458
  875. package/build/lib/API.js.map +0 -1
  876. package/build/lib/CommandClass.d.ts +0 -234
  877. package/build/lib/CommandClass.d.ts.map +0 -1
  878. package/build/lib/CommandClass.js +0 -788
  879. package/build/lib/CommandClass.js.map +0 -1
  880. package/build/lib/CommandClassDecorators.d.ts +0 -112
  881. package/build/lib/CommandClassDecorators.d.ts.map +0 -1
  882. package/build/lib/CommandClassDecorators.js +0 -243
  883. package/build/lib/CommandClassDecorators.js.map +0 -1
  884. package/build/lib/EncapsulatingCommandClass.d.ts +0 -22
  885. package/build/lib/EncapsulatingCommandClass.d.ts.map +0 -1
  886. package/build/lib/EncapsulatingCommandClass.js +0 -61
  887. package/build/lib/EncapsulatingCommandClass.js.map +0 -1
  888. package/build/lib/ICommandClassContainer.d.ts.map +0 -1
  889. package/build/lib/ICommandClassContainer.js +0 -3
  890. package/build/lib/ICommandClassContainer.js.map +0 -1
  891. package/build/lib/NotificationEventPayload.d.ts +0 -10
  892. package/build/lib/NotificationEventPayload.d.ts.map +0 -1
  893. package/build/lib/NotificationEventPayload.js +0 -10
  894. package/build/lib/NotificationEventPayload.js.map +0 -1
  895. package/build/lib/Security2/Extension.d.ts +0 -106
  896. package/build/lib/Security2/Extension.d.ts.map +0 -1
  897. package/build/lib/Security2/Extension.js +0 -303
  898. package/build/lib/Security2/Extension.js.map +0 -1
  899. package/build/lib/Security2/shared.d.ts.map +0 -1
  900. package/build/lib/Security2/shared.js +0 -43
  901. package/build/lib/Security2/shared.js.map +0 -1
  902. package/build/lib/SetValueResult.d.ts.map +0 -1
  903. package/build/lib/SetValueResult.js +0 -60
  904. package/build/lib/SetValueResult.js.map +0 -1
  905. package/build/lib/Values.d.ts +0 -223
  906. package/build/lib/Values.d.ts.map +0 -1
  907. package/build/lib/Values.js +0 -172
  908. package/build/lib/Values.js.map +0 -1
  909. package/build/lib/_Types.d.ts.map +0 -1
  910. package/build/lib/_Types.js +0 -1443
  911. package/build/lib/_Types.js.map +0 -1
  912. package/build/lib/serializers.d.ts +0 -34
  913. package/build/lib/serializers.d.ts.map +0 -1
  914. package/build/lib/serializers.js +0 -107
  915. package/build/lib/serializers.js.map +0 -1
  916. package/build/lib/utils.d.ts +0 -17
  917. package/build/lib/utils.d.ts.map +0 -1
  918. package/build/lib/utils.js +0 -860
  919. package/build/lib/utils.js.map +0 -1
  920. /package/build/{lib → cjs/lib}/ICommandClassContainer.d.ts +0 -0
  921. /package/build/{lib → cjs/lib}/Security2/shared.d.ts +0 -0
  922. /package/build/{lib → cjs/lib}/SetValueResult.d.ts +0 -0
  923. /package/build/{lib → cjs/lib}/_Types.d.ts +0 -0
@@ -0,0 +1,1933 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ function __assertType(argName, typeName, boundHasError) {
36
+ const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
37
+ if (boundHasError()) {
38
+ throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
39
+ }
40
+ }
41
+ const __assertType__number = $o => {
42
+ function _number($o) {
43
+ return typeof $o !== "number" ? {} : null;
44
+ }
45
+ return _number($o);
46
+ };
47
+ const __assertType__optional_boolean = $o => {
48
+ function _boolean($o) {
49
+ return typeof $o !== "boolean" ? {} : null;
50
+ }
51
+ function optional__boolean($o) {
52
+ if ($o !== undefined) {
53
+ const error = _boolean($o);
54
+ if (error)
55
+ return error;
56
+ }
57
+ return null;
58
+ }
59
+ return optional__boolean($o);
60
+ };
61
+ const __assertType__su__1__2__3__4_eu = $o => {
62
+ function _1($o) {
63
+ return $o !== 1 ? {} : null;
64
+ }
65
+ function _2($o) {
66
+ return $o !== 2 ? {} : null;
67
+ }
68
+ function _3($o) {
69
+ return $o !== 3 ? {} : null;
70
+ }
71
+ function _4($o) {
72
+ return $o !== 4 ? {} : null;
73
+ }
74
+ function su__1__2__3__4_eu($o) {
75
+ const conditions = [_1, _2, _3, _4];
76
+ for (const condition of conditions) {
77
+ const error = condition($o);
78
+ if (!error)
79
+ return null;
80
+ }
81
+ return {};
82
+ }
83
+ return su__1__2__3__4_eu($o);
84
+ };
85
+ const __assertType__su__string__uint8array_eu = $o => {
86
+ function _string($o) {
87
+ return typeof $o !== "string" ? {} : null;
88
+ }
89
+ function _uint8array($o) {
90
+ return !require("@zwave-js/shared/safe").isUint8Array($o) ? {} : null;
91
+ }
92
+ function su__string__uint8array_eu($o) {
93
+ const conditions = [_string, _uint8array];
94
+ for (const condition of conditions) {
95
+ const error = condition($o);
96
+ if (!error)
97
+ return null;
98
+ }
99
+ return {};
100
+ }
101
+ return su__string__uint8array_eu($o);
102
+ };
103
+ const __assertType__sa_su__3__4__5_eu_ea_2 = $o => {
104
+ function _6($o) {
105
+ return $o !== 0 ? {} : null;
106
+ }
107
+ function _7($o) {
108
+ return $o !== 0 ? {} : null;
109
+ }
110
+ function _undefined($o) {
111
+ return $o !== undefined ? {} : null;
112
+ }
113
+ function _3($o) {
114
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
115
+ return {};
116
+ if ("userId" in $o && $o["userId"] !== undefined) {
117
+ const error = _6($o["userId"]);
118
+ if (error)
119
+ return error;
120
+ }
121
+ else
122
+ return {};
123
+ if ("userIdStatus" in $o && $o["userIdStatus"] !== undefined) {
124
+ const error = _7($o["userIdStatus"]);
125
+ if (error)
126
+ return error;
127
+ }
128
+ else
129
+ return {};
130
+ if ("userCode" in $o && $o["userCode"] !== undefined) {
131
+ const error = _undefined($o["userCode"]);
132
+ if (error)
133
+ return error;
134
+ }
135
+ return null;
136
+ }
137
+ function _number($o) {
138
+ return typeof $o !== "number" ? {} : null;
139
+ }
140
+ function _4($o) {
141
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
142
+ return {};
143
+ if ("userId" in $o && $o["userId"] !== undefined) {
144
+ const error = _number($o["userId"]);
145
+ if (error)
146
+ return error;
147
+ }
148
+ else
149
+ return {};
150
+ if ("userIdStatus" in $o && $o["userIdStatus"] !== undefined) {
151
+ const error = _7($o["userIdStatus"]);
152
+ if (error)
153
+ return error;
154
+ }
155
+ else
156
+ return {};
157
+ if ("userCode" in $o && $o["userCode"] !== undefined) {
158
+ const error = _undefined($o["userCode"]);
159
+ if (error)
160
+ return error;
161
+ }
162
+ return null;
163
+ }
164
+ function _9($o) {
165
+ return $o !== 1 ? {} : null;
166
+ }
167
+ function _10($o) {
168
+ return $o !== 2 ? {} : null;
169
+ }
170
+ function _11($o) {
171
+ return $o !== 3 ? {} : null;
172
+ }
173
+ function _12($o) {
174
+ return $o !== 4 ? {} : null;
175
+ }
176
+ function su__9__10__11__12_eu($o) {
177
+ const conditions = [_9, _10, _11, _12];
178
+ for (const condition of conditions) {
179
+ const error = condition($o);
180
+ if (!error)
181
+ return null;
182
+ }
183
+ return {};
184
+ }
185
+ function _string($o) {
186
+ return typeof $o !== "string" ? {} : null;
187
+ }
188
+ function _uint8array($o) {
189
+ return !require("@zwave-js/shared/safe").isUint8Array($o) ? {} : null;
190
+ }
191
+ function su__string__uint8array_eu($o) {
192
+ const conditions = [_string, _uint8array];
193
+ for (const condition of conditions) {
194
+ const error = condition($o);
195
+ if (!error)
196
+ return null;
197
+ }
198
+ return {};
199
+ }
200
+ function _5($o) {
201
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
202
+ return {};
203
+ if ("userId" in $o && $o["userId"] !== undefined) {
204
+ const error = _number($o["userId"]);
205
+ if (error)
206
+ return error;
207
+ }
208
+ else
209
+ return {};
210
+ if ("userIdStatus" in $o && $o["userIdStatus"] !== undefined) {
211
+ const error = su__9__10__11__12_eu($o["userIdStatus"]);
212
+ if (error)
213
+ return error;
214
+ }
215
+ else
216
+ return {};
217
+ if ("userCode" in $o && $o["userCode"] !== undefined) {
218
+ const error = su__string__uint8array_eu($o["userCode"]);
219
+ if (error)
220
+ return error;
221
+ }
222
+ else
223
+ return {};
224
+ return null;
225
+ }
226
+ function su__3__4__5_eu($o) {
227
+ const conditions = [_3, _4, _5];
228
+ for (const condition of conditions) {
229
+ const error = condition($o);
230
+ if (!error)
231
+ return null;
232
+ }
233
+ return {};
234
+ }
235
+ function sa_su__3__4__5_eu_ea_2($o) {
236
+ if (!Array.isArray($o))
237
+ return {};
238
+ for (let i = 0; i < $o.length; i++) {
239
+ const error = su__3__4__5_eu($o[i]);
240
+ if (error)
241
+ return error;
242
+ }
243
+ return null;
244
+ }
245
+ return sa_su__3__4__5_eu_ea_2($o);
246
+ };
247
+ const __assertType__optional_number = $o => {
248
+ function _number($o) {
249
+ return typeof $o !== "number" ? {} : null;
250
+ }
251
+ function optional__number($o) {
252
+ if ($o !== undefined) {
253
+ const error = _number($o);
254
+ if (error)
255
+ return error;
256
+ }
257
+ return null;
258
+ }
259
+ return optional__number($o);
260
+ };
261
+ const __assertType__KeypadMode = $o => {
262
+ function su__1__2__3__4_eu($o) {
263
+ return ![0, 1, 2, 3].includes($o) ? {} : null;
264
+ }
265
+ return su__1__2__3__4_eu($o);
266
+ };
267
+ const __assertType__string = $o => {
268
+ function _string($o) {
269
+ return typeof $o !== "string" ? {} : null;
270
+ }
271
+ return _string($o);
272
+ };
273
+ import { CommandClasses, MessagePriority, ValueMetadata, ZWaveError, ZWaveErrorCodes, encodeBitMask, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from "@zwave-js/core/safe";
274
+ import { Bytes, isUint8Array, uint8ArrayToString } from "@zwave-js/shared/safe";
275
+ import { getEnumMemberName, isPrintableASCII, isPrintableASCIIWithWhitespace, num2hex, pick, } from "@zwave-js/shared/safe";
276
+ import { CCAPI, POLL_VALUE, PhysicalCCAPI, SET_VALUE, throwMissingPropertyKey, throwUnsupportedProperty, throwUnsupportedPropertyKey, throwWrongValueType, } from "../lib/API.js";
277
+ import { CommandClass, getEffectiveCCVersion, } from "../lib/CommandClass.js";
278
+ import { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from "../lib/CommandClassDecorators.js";
279
+ import { V } from "../lib/Values.js";
280
+ import { KeypadMode, UserCodeCommand, UserIDStatus } from "../lib/_Types.js";
281
+ export const UserCodeCCValues = Object.freeze({
282
+ ...V.defineStaticCCValues(CommandClasses["User Code"], {
283
+ ...V.staticProperty("supportedUsers", undefined, { internal: true }),
284
+ ...V.staticProperty("supportsAdminCode", undefined, {
285
+ internal: true,
286
+ }),
287
+ ...V.staticProperty("supportsAdminCodeDeactivation", undefined, {
288
+ internal: true,
289
+ }),
290
+ // The following two properties are only kept for compatibility with devices
291
+ // that were interviewed before the rename to admin code
292
+ ...V.staticPropertyWithName("_deprecated_supportsMasterCode", "supportsMasterCode", undefined, {
293
+ internal: true,
294
+ }),
295
+ ...V.staticPropertyWithName("_deprecated_supportsMasterCodeDeactivation", "supportsMasterCodeDeactivation", undefined, {
296
+ internal: true,
297
+ }),
298
+ ...V.staticProperty("supportsUserCodeChecksum", undefined, {
299
+ internal: true,
300
+ }),
301
+ ...V.staticProperty("supportsMultipleUserCodeReport", undefined, {
302
+ internal: true,
303
+ }),
304
+ ...V.staticProperty("supportsMultipleUserCodeSet", undefined, {
305
+ internal: true,
306
+ }),
307
+ ...V.staticProperty("supportedUserIDStatuses", undefined, {
308
+ internal: true,
309
+ }),
310
+ ...V.staticProperty("supportedKeypadModes", undefined, {
311
+ internal: true,
312
+ }),
313
+ ...V.staticProperty("supportedASCIIChars", undefined, {
314
+ internal: true,
315
+ }),
316
+ ...V.staticProperty("userCodeChecksum", undefined, { internal: true }),
317
+ ...V.staticProperty("keypadMode", {
318
+ ...ValueMetadata.ReadOnlyNumber,
319
+ label: "Keypad Mode",
320
+ }, { minVersion: 2 }),
321
+ ...V.staticProperty("adminCode", {
322
+ ...ValueMetadata.String,
323
+ label: "Admin Code",
324
+ minLength: 4,
325
+ maxLength: 10,
326
+ }, {
327
+ minVersion: 2,
328
+ secret: true,
329
+ }),
330
+ }),
331
+ ...V.defineDynamicCCValues(CommandClasses["User Code"], {
332
+ ...V.dynamicPropertyAndKeyWithName("userIdStatus", "userIdStatus", (userId) => userId, ({ property, propertyKey }) => property === "userIdStatus" && typeof propertyKey === "number", (userId) => ({
333
+ ...ValueMetadata.Number,
334
+ label: `User ID status (${userId})`,
335
+ })),
336
+ ...V.dynamicPropertyAndKeyWithName("userCode", "userCode", (userId) => userId, ({ property, propertyKey }) => property === "userCode" && typeof propertyKey === "number",
337
+ // The user code metadata is dynamically created
338
+ undefined, { secret: true }),
339
+ }),
340
+ });
341
+ function parseExtendedUserCode(payload) {
342
+ validatePayload(payload.length >= 4);
343
+ const userId = payload.readUInt16BE(0);
344
+ const status = payload[2];
345
+ const codeLength = payload[3] & 0b1111;
346
+ validatePayload(payload.length >= 4 + codeLength);
347
+ const code = payload.subarray(4, 4 + codeLength).toString("ascii");
348
+ return {
349
+ code: {
350
+ userId,
351
+ userIdStatus: status,
352
+ userCode: code,
353
+ },
354
+ bytesRead: 4 + codeLength,
355
+ };
356
+ }
357
+ function validateCode(code, supportedChars) {
358
+ if (code.length < 4 || code.length > 10)
359
+ return false;
360
+ return [...code].every((char) => supportedChars.includes(char));
361
+ }
362
+ function setUserCodeMetadata(ctx, userId, userCode) {
363
+ const statusValue = UserCodeCCValues.userIdStatus(userId);
364
+ const codeValue = UserCodeCCValues.userCode(userId);
365
+ const ccVersion = getEffectiveCCVersion(ctx, this);
366
+ const supportedUserIDStatuses = this.getValue(ctx, UserCodeCCValues.supportedUserIDStatuses)
367
+ ?? (ccVersion === 1
368
+ ? [
369
+ UserIDStatus.Available,
370
+ UserIDStatus.Enabled,
371
+ UserIDStatus.Disabled,
372
+ ]
373
+ : [
374
+ UserIDStatus.Available,
375
+ UserIDStatus.Enabled,
376
+ UserIDStatus.Disabled,
377
+ UserIDStatus.Messaging,
378
+ UserIDStatus.PassageMode,
379
+ ]);
380
+ this.ensureMetadata(ctx, statusValue, {
381
+ ...statusValue.meta,
382
+ states: enumValuesToMetadataStates(UserIDStatus, supportedUserIDStatuses),
383
+ });
384
+ const codeMetadata = {
385
+ ...(isUint8Array(userCode)
386
+ ? ValueMetadata.Buffer
387
+ : ValueMetadata.String),
388
+ minLength: 4,
389
+ maxLength: 10,
390
+ label: `User Code (${userId})`,
391
+ };
392
+ if (this.getMetadata(ctx, codeValue)?.type !== codeMetadata.type) {
393
+ this.setMetadata(ctx, codeValue, codeMetadata);
394
+ }
395
+ }
396
+ function persistUserCode(ctx, userId, userIdStatus, userCode) {
397
+ const statusValue = UserCodeCCValues.userIdStatus(userId);
398
+ const codeValue = UserCodeCCValues.userCode(userId);
399
+ // Check if this code is supported
400
+ if (userIdStatus === UserIDStatus.StatusNotAvailable) {
401
+ // It is not, remove all values if any exist
402
+ this.removeValue(ctx, statusValue);
403
+ this.removeValue(ctx, codeValue);
404
+ this.removeMetadata(ctx, statusValue);
405
+ this.removeMetadata(ctx, codeValue);
406
+ }
407
+ else {
408
+ // Always create metadata in case it does not exist
409
+ setUserCodeMetadata.call(this, ctx, userId, userCode);
410
+ this.setValue(ctx, statusValue, userIdStatus);
411
+ this.setValue(ctx, codeValue, userCode);
412
+ }
413
+ return true;
414
+ }
415
+ /** Formats a user code in a way that's safe to print in public logs */
416
+ export function userCodeToLogString(userCode) {
417
+ if (userCode.length === 0)
418
+ return "(empty)";
419
+ return "*".repeat(userCode.length);
420
+ }
421
+ let UserCodeCCAPI = (() => {
422
+ let _classDecorators = [API(CommandClasses["User Code"])];
423
+ let _classDescriptor;
424
+ let _classExtraInitializers = [];
425
+ let _classThis;
426
+ let _classSuper = PhysicalCCAPI;
427
+ var UserCodeCCAPI = class extends _classSuper {
428
+ static { _classThis = this; }
429
+ static {
430
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
431
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
432
+ UserCodeCCAPI = _classThis = _classDescriptor.value;
433
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
434
+ __runInitializers(_classThis, _classExtraInitializers);
435
+ }
436
+ supportsCommand(cmd) {
437
+ switch (cmd) {
438
+ case UserCodeCommand.Get:
439
+ case UserCodeCommand.Set:
440
+ case UserCodeCommand.UsersNumberGet:
441
+ return true; // This is mandatory
442
+ case UserCodeCommand.CapabilitiesGet:
443
+ case UserCodeCommand.KeypadModeSet:
444
+ case UserCodeCommand.KeypadModeGet:
445
+ case UserCodeCommand.ExtendedUserCodeSet:
446
+ case UserCodeCommand.ExtendedUserCodeGet:
447
+ return this.version >= 2;
448
+ case UserCodeCommand.AdminCodeSet:
449
+ case UserCodeCommand.AdminCodeGet: {
450
+ if (this.version < 2)
451
+ return false;
452
+ return this.tryGetValueDB()?.getValue(UserCodeCCValues.supportsAdminCode.endpoint(this.endpoint.index));
453
+ }
454
+ case UserCodeCommand.UserCodeChecksumGet: {
455
+ if (this.version < 2)
456
+ return false;
457
+ return this.tryGetValueDB()?.getValue(UserCodeCCValues.supportsUserCodeChecksum.endpoint(this.endpoint.index));
458
+ }
459
+ }
460
+ return super.supportsCommand(cmd);
461
+ }
462
+ get [SET_VALUE]() {
463
+ return async function ({ property, propertyKey }, value) {
464
+ let result;
465
+ if (property === "keypadMode") {
466
+ if (typeof value !== "number") {
467
+ throwWrongValueType(this.ccId, property, "number", typeof value);
468
+ }
469
+ result = await this.setKeypadMode(value);
470
+ }
471
+ else if (property === "adminCode"
472
+ // Support devices that were interviewed before the rename to adminCode
473
+ || property === "masterCode") {
474
+ if (typeof value !== "string") {
475
+ throwWrongValueType(this.ccId, property, "string", typeof value);
476
+ }
477
+ result = await this.setAdminCode(value);
478
+ }
479
+ else if (property === "userIdStatus") {
480
+ if (propertyKey == undefined) {
481
+ throwMissingPropertyKey(this.ccId, property);
482
+ }
483
+ else if (typeof propertyKey !== "number") {
484
+ throwUnsupportedPropertyKey(this.ccId, property, propertyKey);
485
+ }
486
+ if (typeof value !== "number") {
487
+ throwWrongValueType(this.ccId, property, "number", typeof value);
488
+ }
489
+ if (value === UserIDStatus.Available) {
490
+ // Clear Code
491
+ result = await this.clear(propertyKey);
492
+ }
493
+ else {
494
+ // We need to set the user code along with the status
495
+ const userCode = this.getValueDB().getValue(UserCodeCCValues.userCode(propertyKey).endpoint(this.endpoint.index));
496
+ result = await this.set(propertyKey, value, userCode);
497
+ }
498
+ }
499
+ else if (property === "userCode") {
500
+ if (propertyKey == undefined) {
501
+ throwMissingPropertyKey(this.ccId, property);
502
+ }
503
+ else if (typeof propertyKey !== "number") {
504
+ throwUnsupportedPropertyKey(this.ccId, property, propertyKey);
505
+ }
506
+ if (typeof value !== "string" && !isUint8Array(value)) {
507
+ throwWrongValueType(this.ccId, property, "string or Buffer", typeof value);
508
+ }
509
+ // We need to set the user id status along with the code
510
+ let userIdStatus = this.getValueDB().getValue(UserCodeCCValues.userIdStatus(propertyKey).endpoint(this.endpoint.index));
511
+ if (userIdStatus === UserIDStatus.Available
512
+ || userIdStatus == undefined) {
513
+ userIdStatus = UserIDStatus.Enabled;
514
+ }
515
+ result = await this.set(propertyKey, userIdStatus, value);
516
+ }
517
+ else {
518
+ throwUnsupportedProperty(this.ccId, property);
519
+ }
520
+ // Verify the change after a short delay, unless the command was supervised and successful
521
+ if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {
522
+ this.schedulePoll({ property, propertyKey }, value, {
523
+ transition: "fast",
524
+ });
525
+ }
526
+ return result;
527
+ };
528
+ }
529
+ get [POLL_VALUE]() {
530
+ return async function ({ property, propertyKey }) {
531
+ switch (property) {
532
+ case "keypadMode":
533
+ return this.getKeypadMode();
534
+ case "adminCode":
535
+ return this.getAdminCode();
536
+ case "userIdStatus":
537
+ case "userCode": {
538
+ if (propertyKey == undefined) {
539
+ throwMissingPropertyKey(this.ccId, property);
540
+ }
541
+ else if (typeof propertyKey !== "number") {
542
+ throwUnsupportedPropertyKey(this.ccId, property, propertyKey);
543
+ }
544
+ return (await this.get(propertyKey))?.[property];
545
+ }
546
+ default:
547
+ throwUnsupportedProperty(this.ccId, property);
548
+ }
549
+ };
550
+ }
551
+ async getUsersCount() {
552
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.UsersNumberGet);
553
+ const cc = new UserCodeCCUsersNumberGet({
554
+ nodeId: this.endpoint.nodeId,
555
+ endpointIndex: this.endpoint.index,
556
+ });
557
+ const response = await this.host.sendCommand(cc, this.commandOptions);
558
+ return response?.supportedUsers;
559
+ }
560
+ async get(userId, multiple = false) {
561
+ __assertType("userId", "number", __assertType__number.bind(void 0, userId));
562
+ __assertType("multiple", "(optional) boolean", __assertType__optional_boolean.bind(void 0, multiple));
563
+ if (userId > 255 || multiple) {
564
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.ExtendedUserCodeGet);
565
+ const cc = new UserCodeCCExtendedUserCodeGet({
566
+ nodeId: this.endpoint.nodeId,
567
+ endpointIndex: this.endpoint.index,
568
+ userId,
569
+ reportMore: multiple,
570
+ });
571
+ const response = await this.host.sendCommand(cc, this.commandOptions);
572
+ if (!response) {
573
+ return;
574
+ }
575
+ else if (multiple) {
576
+ return pick(response, ["userCodes", "nextUserId"]);
577
+ }
578
+ else {
579
+ return pick(response.userCodes[0], [
580
+ "userIdStatus",
581
+ "userCode",
582
+ ]);
583
+ }
584
+ }
585
+ else {
586
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.Get);
587
+ const cc = new UserCodeCCGet({
588
+ nodeId: this.endpoint.nodeId,
589
+ endpointIndex: this.endpoint.index,
590
+ userId,
591
+ });
592
+ const response = await this.host.sendCommand(cc, this.commandOptions);
593
+ if (response)
594
+ return pick(response, ["userIdStatus", "userCode"]);
595
+ }
596
+ }
597
+ /** Configures a single user code */
598
+ async set(userId, userIdStatus, userCode) {
599
+ __assertType("userId", "number", __assertType__number.bind(void 0, userId));
600
+ __assertType("userIdStatus", undefined, __assertType__su__1__2__3__4_eu.bind(void 0, userIdStatus));
601
+ __assertType("userCode", undefined, __assertType__su__string__uint8array_eu.bind(void 0, userCode));
602
+ if (userId > 255) {
603
+ return this.setMany([{ userId, userIdStatus, userCode }]);
604
+ }
605
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.Set);
606
+ const numUsers = UserCodeCC.getSupportedUsersCached(this.host, this.endpoint);
607
+ if (numUsers != undefined && userId > numUsers) {
608
+ throw new ZWaveError(`The user ID must be between 0 and the number of supported users ${numUsers}.`, ZWaveErrorCodes.Argument_Invalid);
609
+ }
610
+ const cc = new UserCodeCCSet({
611
+ nodeId: this.endpoint.nodeId,
612
+ endpointIndex: this.endpoint.index,
613
+ userId,
614
+ userIdStatus,
615
+ userCode,
616
+ });
617
+ return this.host.sendCommand(cc, this.commandOptions);
618
+ }
619
+ /** Configures multiple user codes */
620
+ async setMany(codes) {
621
+ __assertType("codes", undefined, __assertType__sa_su__3__4__5_eu_ea_2.bind(void 0, codes));
622
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.ExtendedUserCodeSet);
623
+ const numUsers = UserCodeCC.getSupportedUsersCached(this.host, this.endpoint);
624
+ const supportedStatuses = UserCodeCC.getSupportedUserIDStatusesCached(this.host, this.endpoint);
625
+ const supportedASCIIChars = UserCodeCC.getSupportedASCIICharsCached(this.host, this.endpoint);
626
+ const supportsMultipleUserCodeSet = UserCodeCC.supportsMultipleUserCodeSetCached(this.host, this.endpoint) ?? false;
627
+ // Validate options
628
+ if (numUsers != undefined) {
629
+ if (codes.some((code) => code.userId < 0 || code.userId > numUsers)) {
630
+ throw new ZWaveError(`All User IDs must be between 0 and the number of supported users ${numUsers}.`, ZWaveErrorCodes.Argument_Invalid);
631
+ }
632
+ }
633
+ else {
634
+ if (codes.some((code) => code.userId < 0)) {
635
+ throw new ZWaveError(`All User IDs must be greater than 0.`, ZWaveErrorCodes.Argument_Invalid);
636
+ }
637
+ }
638
+ if (codes.some((code) => code.userId === 0) && codes.length > 1) {
639
+ throw new ZWaveError(`If user ID 0 is used, only one code may be set`, ZWaveErrorCodes.Argument_Invalid);
640
+ }
641
+ else if (codes.some((code) => code.userId === 0
642
+ && code.userIdStatus !== UserIDStatus.Available)) {
643
+ throw new ZWaveError(`User ID 0 may only be used to clear all user codes`, ZWaveErrorCodes.Argument_Invalid);
644
+ }
645
+ else if (codes.length > 1 && !supportsMultipleUserCodeSet) {
646
+ throw new ZWaveError(`The node does not support setting multiple user codes at once`, ZWaveErrorCodes.Argument_Invalid);
647
+ }
648
+ for (const code of codes) {
649
+ if (supportedStatuses != undefined
650
+ && !supportedStatuses.includes(code.userIdStatus)) {
651
+ throw new ZWaveError(`The user ID status ${getEnumMemberName(UserIDStatus, code.userIdStatus)} is not supported by the node`, ZWaveErrorCodes.Argument_Invalid);
652
+ }
653
+ else if (code.userIdStatus === UserIDStatus.Available) {
654
+ code.userCode = undefined;
655
+ }
656
+ else if (supportedASCIIChars) {
657
+ const userCodeString = typeof code.userCode === "string"
658
+ ? code.userCode
659
+ : uint8ArrayToString(code.userCode);
660
+ if (!validateCode(userCodeString, supportedASCIIChars)) {
661
+ throw new ZWaveError(`The user code must consist of 4 to 10 of the following characters: ${supportedASCIIChars}`, ZWaveErrorCodes.Argument_Invalid);
662
+ }
663
+ }
664
+ }
665
+ const cc = new UserCodeCCExtendedUserCodeSet({
666
+ nodeId: this.endpoint.nodeId,
667
+ endpointIndex: this.endpoint.index,
668
+ userCodes: codes,
669
+ });
670
+ return this.host.sendCommand(cc, this.commandOptions);
671
+ }
672
+ /**
673
+ * Clears one or all user code
674
+ * @param userId The user code to clear. If none or 0 is given, all codes are cleared
675
+ */
676
+ async clear(userId = 0) {
677
+ __assertType("userId", "(optional) number", __assertType__optional_number.bind(void 0, userId));
678
+ if (this.version > 1 || userId > 255) {
679
+ return this.setMany([
680
+ { userId, userIdStatus: UserIDStatus.Available },
681
+ ]);
682
+ }
683
+ else {
684
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.Set);
685
+ const numUsers = UserCodeCC.getSupportedUsersCached(this.host, this.endpoint);
686
+ if (numUsers != undefined && userId > numUsers) {
687
+ throw new ZWaveError(`The user ID must be between 0 and the number of supported users ${numUsers}.`, ZWaveErrorCodes.Argument_Invalid);
688
+ }
689
+ const cc = new UserCodeCCSet({
690
+ nodeId: this.endpoint.nodeId,
691
+ endpointIndex: this.endpoint.index,
692
+ userId,
693
+ userIdStatus: UserIDStatus.Available,
694
+ });
695
+ return this.host.sendCommand(cc, this.commandOptions);
696
+ }
697
+ }
698
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
699
+ async getCapabilities() {
700
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.CapabilitiesGet);
701
+ const cc = new UserCodeCCCapabilitiesGet({
702
+ nodeId: this.endpoint.nodeId,
703
+ endpointIndex: this.endpoint.index,
704
+ });
705
+ const response = await this.host.sendCommand(cc, this.commandOptions);
706
+ if (response) {
707
+ return pick(response, [
708
+ "supportsAdminCode",
709
+ "supportsAdminCodeDeactivation",
710
+ "supportsUserCodeChecksum",
711
+ "supportsMultipleUserCodeReport",
712
+ "supportsMultipleUserCodeSet",
713
+ "supportedUserIDStatuses",
714
+ "supportedKeypadModes",
715
+ "supportedASCIIChars",
716
+ ]);
717
+ }
718
+ }
719
+ async getKeypadMode() {
720
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.KeypadModeGet);
721
+ const cc = new UserCodeCCKeypadModeGet({
722
+ nodeId: this.endpoint.nodeId,
723
+ endpointIndex: this.endpoint.index,
724
+ });
725
+ const response = await this.host.sendCommand(cc, this.commandOptions);
726
+ return response?.keypadMode;
727
+ }
728
+ async setKeypadMode(keypadMode) {
729
+ __assertType("keypadMode", "KeypadMode", __assertType__KeypadMode.bind(void 0, keypadMode));
730
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.KeypadModeSet);
731
+ const supportedModes = UserCodeCC.getSupportedKeypadModesCached(this.host, this.endpoint);
732
+ if (!supportedModes) {
733
+ throw new ZWaveError(`The keypad mode can only be set after the interview is complete!`, ZWaveErrorCodes.Argument_Invalid);
734
+ }
735
+ else if (!supportedModes.includes(keypadMode)) {
736
+ throw new ZWaveError(`The keypad mode ${getEnumMemberName(KeypadMode, keypadMode)} is not supported by the node!`, ZWaveErrorCodes.Argument_Invalid);
737
+ }
738
+ const cc = new UserCodeCCKeypadModeSet({
739
+ nodeId: this.endpoint.nodeId,
740
+ endpointIndex: this.endpoint.index,
741
+ keypadMode,
742
+ });
743
+ return this.host.sendCommand(cc, this.commandOptions);
744
+ }
745
+ async getAdminCode() {
746
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.AdminCodeGet);
747
+ const cc = new UserCodeCCAdminCodeGet({
748
+ nodeId: this.endpoint.nodeId,
749
+ endpointIndex: this.endpoint.index,
750
+ });
751
+ const response = await this.host.sendCommand(cc, this.commandOptions);
752
+ return response?.adminCode;
753
+ }
754
+ async setAdminCode(adminCode) {
755
+ __assertType("adminCode", "string", __assertType__string.bind(void 0, adminCode));
756
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.AdminCodeSet);
757
+ const supportedASCIIChars = UserCodeCC.getSupportedASCIICharsCached(this.host, this.endpoint);
758
+ if (!supportedASCIIChars) {
759
+ throw new ZWaveError(`The admin code can only be set after the interview is complete!`, ZWaveErrorCodes.Argument_Invalid);
760
+ }
761
+ // Validate the code
762
+ if (!adminCode) {
763
+ const supportsDeactivation = UserCodeCC
764
+ .supportsAdminCodeDeactivationCached(this.host, this.endpoint);
765
+ if (!supportsDeactivation) {
766
+ throw new ZWaveError(`The node does not support deactivating the admin code!`, ZWaveErrorCodes.Argument_Invalid);
767
+ }
768
+ }
769
+ else if (!validateCode(adminCode, supportedASCIIChars)) {
770
+ throw new ZWaveError(`The admin code must consist of 4 to 10 of the following characters: ${supportedASCIIChars}`, ZWaveErrorCodes.Argument_Invalid);
771
+ }
772
+ const cc = new UserCodeCCAdminCodeSet({
773
+ nodeId: this.endpoint.nodeId,
774
+ endpointIndex: this.endpoint.index,
775
+ adminCode,
776
+ });
777
+ return this.host.sendCommand(cc, this.commandOptions);
778
+ }
779
+ async getUserCodeChecksum() {
780
+ this.assertSupportsCommand(UserCodeCommand, UserCodeCommand.UserCodeChecksumGet);
781
+ const cc = new UserCodeCCUserCodeChecksumGet({
782
+ nodeId: this.endpoint.nodeId,
783
+ endpointIndex: this.endpoint.index,
784
+ });
785
+ const response = await this.host.sendCommand(cc, this.commandOptions);
786
+ return response?.userCodeChecksum;
787
+ }
788
+ };
789
+ return UserCodeCCAPI = _classThis;
790
+ })();
791
+ export { UserCodeCCAPI };
792
+ let UserCodeCC = (() => {
793
+ let _classDecorators = [commandClass(CommandClasses["User Code"]), implementedVersion(2), ccValues(UserCodeCCValues)];
794
+ let _classDescriptor;
795
+ let _classExtraInitializers = [];
796
+ let _classThis;
797
+ let _classSuper = CommandClass;
798
+ var UserCodeCC = class extends _classSuper {
799
+ static { _classThis = this; }
800
+ static {
801
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
802
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
803
+ UserCodeCC = _classThis = _classDescriptor.value;
804
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
805
+ __runInitializers(_classThis, _classExtraInitializers);
806
+ }
807
+ async interview(ctx) {
808
+ const node = this.getNode(ctx);
809
+ const endpoint = this.getEndpoint(ctx);
810
+ const api = CCAPI.create(CommandClasses["User Code"], ctx, endpoint).withOptions({
811
+ priority: MessagePriority.NodeQuery,
812
+ });
813
+ ctx.logNode(node.id, {
814
+ endpoint: this.endpointIndex,
815
+ message: `Interviewing ${this.ccName}...`,
816
+ direction: "none",
817
+ });
818
+ // Query capabilities first to determine what needs to be done when refreshing
819
+ if (api.version >= 2) {
820
+ ctx.logNode(node.id, {
821
+ message: "querying capabilities...",
822
+ direction: "outbound",
823
+ });
824
+ const caps = await api.getCapabilities();
825
+ if (!caps) {
826
+ ctx.logNode(node.id, {
827
+ endpoint: this.endpointIndex,
828
+ message: "User Code capabilities query timed out, skipping interview...",
829
+ level: "warn",
830
+ });
831
+ return;
832
+ }
833
+ }
834
+ ctx.logNode(node.id, {
835
+ message: "querying number of user codes...",
836
+ direction: "outbound",
837
+ });
838
+ const supportedUsers = await api.getUsersCount();
839
+ if (supportedUsers == undefined) {
840
+ ctx.logNode(node.id, {
841
+ endpoint: this.endpointIndex,
842
+ message: "Querying number of user codes timed out, skipping interview...",
843
+ level: "warn",
844
+ });
845
+ return;
846
+ }
847
+ for (let userId = 1; userId <= supportedUsers; userId++) {
848
+ setUserCodeMetadata.call(this, ctx, userId);
849
+ }
850
+ // Synchronize user codes and settings
851
+ if (ctx.getInterviewOptions()?.queryAllUserCodes) {
852
+ await this.refreshValues(ctx);
853
+ }
854
+ // Remember that the interview is complete
855
+ this.setInterviewComplete(ctx, true);
856
+ }
857
+ async refreshValues(ctx) {
858
+ const node = this.getNode(ctx);
859
+ const endpoint = this.getEndpoint(ctx);
860
+ const api = CCAPI.create(CommandClasses["User Code"], ctx, endpoint).withOptions({
861
+ priority: MessagePriority.NodeQuery,
862
+ });
863
+ const supportsAdminCode = UserCodeCC.supportsAdminCodeCached(ctx, endpoint);
864
+ const supportsUserCodeChecksum = this.getValue(ctx, UserCodeCCValues.supportsUserCodeChecksum) ?? false;
865
+ const supportedKeypadModes = this.getValue(ctx, UserCodeCCValues.supportedKeypadModes)
866
+ ?? [];
867
+ const supportedUsers = this.getValue(ctx, UserCodeCCValues.supportedUsers) ?? 0;
868
+ const supportsMultipleUserCodeReport = !!this.getValue(ctx, UserCodeCCValues.supportsMultipleUserCodeReport);
869
+ // Check for changed values and codes
870
+ if (api.version >= 2) {
871
+ if (supportsAdminCode) {
872
+ ctx.logNode(node.id, {
873
+ message: "querying admin code...",
874
+ direction: "outbound",
875
+ });
876
+ await api.getAdminCode();
877
+ }
878
+ if (supportedKeypadModes.length > 1) {
879
+ ctx.logNode(node.id, {
880
+ message: "querying active keypad mode...",
881
+ direction: "outbound",
882
+ });
883
+ await api.getKeypadMode();
884
+ }
885
+ const storedUserCodeChecksum = this.getValue(ctx, UserCodeCCValues.userCodeChecksum) ?? 0;
886
+ let currentUserCodeChecksum = 0;
887
+ if (supportsUserCodeChecksum) {
888
+ ctx.logNode(node.id, {
889
+ message: "retrieving current user code checksum...",
890
+ direction: "outbound",
891
+ });
892
+ currentUserCodeChecksum = await api.getUserCodeChecksum();
893
+ }
894
+ if (!supportsUserCodeChecksum
895
+ || currentUserCodeChecksum !== storedUserCodeChecksum) {
896
+ ctx.logNode(node.id, {
897
+ message: "checksum changed or is not supported, querying all user codes...",
898
+ direction: "outbound",
899
+ });
900
+ if (supportsMultipleUserCodeReport) {
901
+ // Query the user codes in bulk
902
+ let nextUserId = 1;
903
+ while (nextUserId > 0 && nextUserId <= supportedUsers) {
904
+ const response = await api.get(nextUserId, true);
905
+ if (response) {
906
+ nextUserId = response.nextUserId;
907
+ }
908
+ else {
909
+ ctx.logNode(node.id, {
910
+ endpoint: this.endpointIndex,
911
+ message: `Querying user code #${nextUserId} timed out, skipping the remaining interview...`,
912
+ level: "warn",
913
+ });
914
+ break;
915
+ }
916
+ }
917
+ }
918
+ else {
919
+ // Query one user code at a time
920
+ for (let userId = 1; userId <= supportedUsers; userId++) {
921
+ await api.get(userId);
922
+ }
923
+ }
924
+ }
925
+ }
926
+ else {
927
+ // V1
928
+ ctx.logNode(node.id, {
929
+ message: "querying all user codes...",
930
+ direction: "outbound",
931
+ });
932
+ for (let userId = 1; userId <= supportedUsers; userId++) {
933
+ await api.get(userId);
934
+ }
935
+ }
936
+ }
937
+ /**
938
+ * Returns the number of supported users.
939
+ * This only works AFTER the interview process
940
+ */
941
+ static getSupportedUsersCached(ctx, endpoint) {
942
+ return ctx
943
+ .getValueDB(endpoint.nodeId)
944
+ .getValue(UserCodeCCValues.supportedUsers.endpoint(endpoint.index));
945
+ }
946
+ /**
947
+ * Returns the supported keypad modes.
948
+ * This only works AFTER the interview process
949
+ */
950
+ static getSupportedKeypadModesCached(ctx, endpoint) {
951
+ return ctx
952
+ .getValueDB(endpoint.nodeId)
953
+ .getValue(UserCodeCCValues.supportedKeypadModes.endpoint(endpoint.index));
954
+ }
955
+ /**
956
+ * Returns the supported user ID statuses.
957
+ * This only works AFTER the interview process
958
+ */
959
+ static getSupportedUserIDStatusesCached(ctx, endpoint) {
960
+ return ctx
961
+ .getValueDB(endpoint.nodeId)
962
+ .getValue(UserCodeCCValues.supportedUserIDStatuses.endpoint(endpoint.index));
963
+ }
964
+ /**
965
+ * Returns the supported ASCII characters.
966
+ * This only works AFTER the interview process
967
+ */
968
+ static getSupportedASCIICharsCached(ctx, endpoint) {
969
+ return ctx
970
+ .getValueDB(endpoint.nodeId)
971
+ .getValue(UserCodeCCValues.supportedASCIIChars.endpoint(endpoint.index));
972
+ }
973
+ /**
974
+ * Returns whether the admin code functionality is supported.
975
+ * This only works AFTER the interview process
976
+ */
977
+ static supportsAdminCodeCached(ctx, endpoint) {
978
+ const valueDB = ctx
979
+ .getValueDB(endpoint.nodeId);
980
+ return valueDB.getValue(UserCodeCCValues.supportsAdminCode.endpoint(endpoint.index)) ?? valueDB.getValue(UserCodeCCValues._deprecated_supportsMasterCode.endpoint(endpoint.index)) ?? false;
981
+ }
982
+ /**
983
+ * Returns whether deactivating the admin code is supported.
984
+ * This only works AFTER the interview process
985
+ */
986
+ static supportsAdminCodeDeactivationCached(ctx, endpoint) {
987
+ const valueDB = ctx
988
+ .getValueDB(endpoint.nodeId);
989
+ return valueDB.getValue(UserCodeCCValues.supportsAdminCodeDeactivation.endpoint(endpoint.index)) ?? valueDB.getValue(UserCodeCCValues._deprecated_supportsMasterCodeDeactivation
990
+ .endpoint(endpoint.index)) ?? false;
991
+ }
992
+ /**
993
+ * Returns whether setting multiple user codes at once is supported.
994
+ * This only works AFTER the interview process
995
+ */
996
+ static supportsMultipleUserCodeSetCached(ctx, endpoint) {
997
+ return !!ctx
998
+ .getValueDB(endpoint.nodeId)
999
+ .getValue(UserCodeCCValues.supportsMultipleUserCodeSet.endpoint(endpoint.index));
1000
+ }
1001
+ /**
1002
+ * Returns the current status of a user ID.
1003
+ * This only works AFTER the user IDs have been queried.
1004
+ */
1005
+ static getUserIdStatusCached(ctx, endpoint, userId) {
1006
+ return ctx
1007
+ .getValueDB(endpoint.nodeId)
1008
+ .getValue(UserCodeCCValues.userIdStatus(userId).endpoint(endpoint.index));
1009
+ }
1010
+ /**
1011
+ * Returns the current code belonging to a user ID.
1012
+ * This only works AFTER the user IDs have been queried.
1013
+ */
1014
+ static getUserCodeCached(ctx, endpoint, userId) {
1015
+ return ctx
1016
+ .getValueDB(endpoint.nodeId)
1017
+ .getValue(UserCodeCCValues.userCode(userId).endpoint(endpoint.index));
1018
+ }
1019
+ };
1020
+ return UserCodeCC = _classThis;
1021
+ })();
1022
+ export { UserCodeCC };
1023
+ let UserCodeCCSet = (() => {
1024
+ let _classDecorators = [CCCommand(UserCodeCommand.Set), useSupervision()];
1025
+ let _classDescriptor;
1026
+ let _classExtraInitializers = [];
1027
+ let _classThis;
1028
+ let _classSuper = UserCodeCC;
1029
+ var UserCodeCCSet = class extends _classSuper {
1030
+ static { _classThis = this; }
1031
+ static {
1032
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1033
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1034
+ UserCodeCCSet = _classThis = _classDescriptor.value;
1035
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1036
+ __runInitializers(_classThis, _classExtraInitializers);
1037
+ }
1038
+ constructor(options) {
1039
+ super(options);
1040
+ this.userId = options.userId;
1041
+ this.userIdStatus = options.userIdStatus;
1042
+ // Validate options
1043
+ if (this.userId < 0) {
1044
+ throw new ZWaveError(`${this.constructor.name}: The user ID must be between greater than 0.`, ZWaveErrorCodes.Argument_Invalid);
1045
+ }
1046
+ else if (this.userId === 0
1047
+ && this.userIdStatus !== UserIDStatus.Available) {
1048
+ throw new ZWaveError(`${this.constructor.name}: User ID 0 may only be used to clear all user codes`, ZWaveErrorCodes.Argument_Invalid);
1049
+ }
1050
+ else if (this.userIdStatus === UserIDStatus.Available) {
1051
+ this.userCode = "\0".repeat(4);
1052
+ }
1053
+ else {
1054
+ this.userCode = options.userCode;
1055
+ // Specs say ASCII 0-9, manufacturers don't care :)
1056
+ if (this.userCode.length < 4 || this.userCode.length > 10) {
1057
+ throw new ZWaveError(`${this.constructor.name}: The user code must have a length of 4 to 10 ${typeof this.userCode === "string"
1058
+ ? "characters"
1059
+ : "bytes"}`, ZWaveErrorCodes.Argument_Invalid);
1060
+ }
1061
+ }
1062
+ }
1063
+ static from(raw, ctx) {
1064
+ validatePayload(raw.payload.length >= 2);
1065
+ const userId = raw.payload[0];
1066
+ const userIdStatus = raw.payload[1];
1067
+ if (userIdStatus === UserIDStatus.StatusNotAvailable) {
1068
+ validatePayload.fail("Invalid user ID status");
1069
+ }
1070
+ if (userIdStatus === UserIDStatus.Available) {
1071
+ return new this({
1072
+ nodeId: ctx.sourceNodeId,
1073
+ userId,
1074
+ userIdStatus,
1075
+ });
1076
+ }
1077
+ const userCode = raw.payload.subarray(2);
1078
+ return new this({
1079
+ nodeId: ctx.sourceNodeId,
1080
+ userId,
1081
+ userIdStatus,
1082
+ userCode,
1083
+ });
1084
+ }
1085
+ userId;
1086
+ userIdStatus;
1087
+ userCode;
1088
+ serialize(ctx) {
1089
+ this.payload = Bytes.concat([
1090
+ Bytes.from([this.userId, this.userIdStatus]),
1091
+ typeof this.userCode === "string"
1092
+ ? Bytes.from(this.userCode, "ascii")
1093
+ : this.userCode,
1094
+ ]);
1095
+ return super.serialize(ctx);
1096
+ }
1097
+ toLogEntry(ctx) {
1098
+ return {
1099
+ ...super.toLogEntry(ctx),
1100
+ message: {
1101
+ "user id": this.userId,
1102
+ "id status": getEnumMemberName(UserIDStatus, this.userIdStatus),
1103
+ "user code": userCodeToLogString(this.userCode),
1104
+ },
1105
+ };
1106
+ }
1107
+ };
1108
+ return UserCodeCCSet = _classThis;
1109
+ })();
1110
+ export { UserCodeCCSet };
1111
+ let UserCodeCCReport = (() => {
1112
+ let _classDecorators = [CCCommand(UserCodeCommand.Report)];
1113
+ let _classDescriptor;
1114
+ let _classExtraInitializers = [];
1115
+ let _classThis;
1116
+ let _classSuper = UserCodeCC;
1117
+ var UserCodeCCReport = class extends _classSuper {
1118
+ static { _classThis = this; }
1119
+ static {
1120
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1121
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1122
+ UserCodeCCReport = _classThis = _classDescriptor.value;
1123
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1124
+ __runInitializers(_classThis, _classExtraInitializers);
1125
+ }
1126
+ constructor(options) {
1127
+ super(options);
1128
+ this.userId = options.userId;
1129
+ this.userIdStatus = options.userIdStatus;
1130
+ this.userCode = options.userCode ?? "";
1131
+ }
1132
+ static from(raw, ctx) {
1133
+ validatePayload(raw.payload.length >= 2);
1134
+ const userId = raw.payload[0];
1135
+ const userIdStatus = raw.payload[1];
1136
+ let userCode;
1137
+ if (raw.payload.length === 2
1138
+ && (userIdStatus === UserIDStatus.Available
1139
+ || userIdStatus === UserIDStatus.StatusNotAvailable)) {
1140
+ // The user code is not set or not available and this report contains no user code
1141
+ userCode = "";
1142
+ }
1143
+ else {
1144
+ // The specs require the user code to be at least 4 digits
1145
+ validatePayload(raw.payload.length >= 6);
1146
+ let userCodeBuffer = raw.payload.subarray(2);
1147
+ // Specs say infer user code from payload length, manufacturers send zero-padded strings
1148
+ while (userCodeBuffer.at(-1) === 0) {
1149
+ userCodeBuffer = userCodeBuffer.subarray(0, -1);
1150
+ }
1151
+ // Specs say ASCII 0-9, manufacturers don't care :)
1152
+ // Thus we check if the code is printable using ASCII, if not keep it as a Buffer
1153
+ const userCodeString = userCodeBuffer.toString("utf8");
1154
+ if (isPrintableASCII(userCodeString)) {
1155
+ userCode = userCodeString;
1156
+ }
1157
+ else if (isPrintableASCIIWithWhitespace(userCodeString)) {
1158
+ // Ignore leading and trailing whitespace in V1 reports if the rest is ASCII
1159
+ userCode = userCodeString.trim();
1160
+ }
1161
+ else {
1162
+ userCode = userCodeBuffer;
1163
+ }
1164
+ }
1165
+ return new this({
1166
+ nodeId: ctx.sourceNodeId,
1167
+ userId,
1168
+ userIdStatus,
1169
+ userCode,
1170
+ });
1171
+ }
1172
+ userId;
1173
+ userIdStatus;
1174
+ userCode;
1175
+ persistValues(ctx) {
1176
+ if (!super.persistValues(ctx))
1177
+ return false;
1178
+ persistUserCode.call(this, ctx, this.userId, this.userIdStatus, this.userCode);
1179
+ return true;
1180
+ }
1181
+ serialize(ctx) {
1182
+ let userCodeBuffer;
1183
+ if (typeof this.userCode === "string") {
1184
+ userCodeBuffer = Bytes.from(this.userCode, "ascii");
1185
+ }
1186
+ else {
1187
+ userCodeBuffer = this.userCode;
1188
+ }
1189
+ this.payload = Bytes.concat([
1190
+ Bytes.from([this.userId, this.userIdStatus]),
1191
+ userCodeBuffer,
1192
+ ]);
1193
+ return super.serialize(ctx);
1194
+ }
1195
+ toLogEntry(ctx) {
1196
+ return {
1197
+ ...super.toLogEntry(ctx),
1198
+ message: {
1199
+ "user id": this.userId,
1200
+ "id status": getEnumMemberName(UserIDStatus, this.userIdStatus),
1201
+ "user code": userCodeToLogString(this.userCode),
1202
+ },
1203
+ };
1204
+ }
1205
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
1206
+ toNotificationEventParameters() {
1207
+ return { userId: this.userId };
1208
+ }
1209
+ };
1210
+ return UserCodeCCReport = _classThis;
1211
+ })();
1212
+ export { UserCodeCCReport };
1213
+ let UserCodeCCGet = (() => {
1214
+ let _classDecorators = [CCCommand(UserCodeCommand.Get), expectedCCResponse(UserCodeCCReport)];
1215
+ let _classDescriptor;
1216
+ let _classExtraInitializers = [];
1217
+ let _classThis;
1218
+ let _classSuper = UserCodeCC;
1219
+ var UserCodeCCGet = class extends _classSuper {
1220
+ static { _classThis = this; }
1221
+ static {
1222
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1223
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1224
+ UserCodeCCGet = _classThis = _classDescriptor.value;
1225
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1226
+ __runInitializers(_classThis, _classExtraInitializers);
1227
+ }
1228
+ constructor(options) {
1229
+ super(options);
1230
+ this.userId = options.userId;
1231
+ }
1232
+ static from(raw, ctx) {
1233
+ validatePayload(raw.payload.length >= 1);
1234
+ const userId = raw.payload[0];
1235
+ return new this({
1236
+ nodeId: ctx.sourceNodeId,
1237
+ userId,
1238
+ });
1239
+ }
1240
+ userId;
1241
+ serialize(ctx) {
1242
+ this.payload = Bytes.from([this.userId]);
1243
+ return super.serialize(ctx);
1244
+ }
1245
+ toLogEntry(ctx) {
1246
+ return {
1247
+ ...super.toLogEntry(ctx),
1248
+ message: { "user id": this.userId },
1249
+ };
1250
+ }
1251
+ };
1252
+ return UserCodeCCGet = _classThis;
1253
+ })();
1254
+ export { UserCodeCCGet };
1255
+ let UserCodeCCUsersNumberReport = (() => {
1256
+ let _classDecorators = [CCCommand(UserCodeCommand.UsersNumberReport), ccValueProperty("supportedUsers", UserCodeCCValues.supportedUsers)];
1257
+ let _classDescriptor;
1258
+ let _classExtraInitializers = [];
1259
+ let _classThis;
1260
+ let _classSuper = UserCodeCC;
1261
+ var UserCodeCCUsersNumberReport = class extends _classSuper {
1262
+ static { _classThis = this; }
1263
+ static {
1264
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1265
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1266
+ UserCodeCCUsersNumberReport = _classThis = _classDescriptor.value;
1267
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1268
+ __runInitializers(_classThis, _classExtraInitializers);
1269
+ }
1270
+ constructor(options) {
1271
+ super(options);
1272
+ this.supportedUsers = options.supportedUsers;
1273
+ }
1274
+ static from(raw, ctx) {
1275
+ validatePayload(raw.payload.length >= 1);
1276
+ let supportedUsers;
1277
+ if (raw.payload.length >= 3) {
1278
+ // V2+
1279
+ supportedUsers = raw.payload.readUInt16BE(1);
1280
+ }
1281
+ else {
1282
+ // V1
1283
+ supportedUsers = raw.payload[0];
1284
+ }
1285
+ return new this({
1286
+ nodeId: ctx.sourceNodeId,
1287
+ supportedUsers,
1288
+ });
1289
+ }
1290
+ supportedUsers;
1291
+ serialize(ctx) {
1292
+ this.payload = new Bytes(3);
1293
+ // If the node implements more than 255 users, this field MUST be set to 255
1294
+ this.payload[0] = Math.min(255, this.supportedUsers);
1295
+ this.payload.writeUInt16BE(this.supportedUsers, 1);
1296
+ return super.serialize(ctx);
1297
+ }
1298
+ toLogEntry(ctx) {
1299
+ return {
1300
+ ...super.toLogEntry(ctx),
1301
+ message: { "supported users": this.supportedUsers },
1302
+ };
1303
+ }
1304
+ };
1305
+ return UserCodeCCUsersNumberReport = _classThis;
1306
+ })();
1307
+ export { UserCodeCCUsersNumberReport };
1308
+ let UserCodeCCUsersNumberGet = (() => {
1309
+ let _classDecorators = [CCCommand(UserCodeCommand.UsersNumberGet), expectedCCResponse(UserCodeCCUsersNumberReport)];
1310
+ let _classDescriptor;
1311
+ let _classExtraInitializers = [];
1312
+ let _classThis;
1313
+ let _classSuper = UserCodeCC;
1314
+ var UserCodeCCUsersNumberGet = class extends _classSuper {
1315
+ static { _classThis = this; }
1316
+ static {
1317
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1318
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1319
+ UserCodeCCUsersNumberGet = _classThis = _classDescriptor.value;
1320
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1321
+ __runInitializers(_classThis, _classExtraInitializers);
1322
+ }
1323
+ };
1324
+ return UserCodeCCUsersNumberGet = _classThis;
1325
+ })();
1326
+ export { UserCodeCCUsersNumberGet };
1327
+ let UserCodeCCCapabilitiesReport = (() => {
1328
+ let _classDecorators = [CCCommand(UserCodeCommand.CapabilitiesReport), ccValueProperty("supportsAdminCode", UserCodeCCValues.supportsAdminCode), ccValueProperty("supportsAdminCodeDeactivation", UserCodeCCValues.supportsAdminCodeDeactivation), ccValueProperty("supportsUserCodeChecksum", UserCodeCCValues.supportsUserCodeChecksum), ccValueProperty("supportsMultipleUserCodeReport", UserCodeCCValues.supportsMultipleUserCodeReport), ccValueProperty("supportsMultipleUserCodeSet", UserCodeCCValues.supportsMultipleUserCodeSet), ccValueProperty("supportedUserIDStatuses", UserCodeCCValues.supportedUserIDStatuses), ccValueProperty("supportedKeypadModes", UserCodeCCValues.supportedKeypadModes), ccValueProperty("supportedASCIIChars", UserCodeCCValues.supportedASCIIChars)];
1329
+ let _classDescriptor;
1330
+ let _classExtraInitializers = [];
1331
+ let _classThis;
1332
+ let _classSuper = UserCodeCC;
1333
+ var UserCodeCCCapabilitiesReport = class extends _classSuper {
1334
+ static { _classThis = this; }
1335
+ static {
1336
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1337
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1338
+ UserCodeCCCapabilitiesReport = _classThis = _classDescriptor.value;
1339
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1340
+ __runInitializers(_classThis, _classExtraInitializers);
1341
+ }
1342
+ constructor(options) {
1343
+ super(options);
1344
+ this.supportsAdminCode = options.supportsAdminCode;
1345
+ this.supportsAdminCodeDeactivation =
1346
+ options.supportsAdminCodeDeactivation;
1347
+ this.supportsUserCodeChecksum = options.supportsUserCodeChecksum;
1348
+ this.supportsMultipleUserCodeReport =
1349
+ options.supportsMultipleUserCodeReport;
1350
+ this.supportsMultipleUserCodeSet = options.supportsMultipleUserCodeSet;
1351
+ this.supportedUserIDStatuses = options.supportedUserIDStatuses;
1352
+ this.supportedKeypadModes = options.supportedKeypadModes;
1353
+ this.supportedASCIIChars = options.supportedASCIIChars;
1354
+ }
1355
+ static from(raw, ctx) {
1356
+ let offset = 0;
1357
+ validatePayload(raw.payload.length >= offset + 1);
1358
+ const supportsAdminCode = !!(raw.payload[offset] & 0b100_00000);
1359
+ const supportsAdminCodeDeactivation = !!(raw.payload[offset] & 0b010_00000);
1360
+ const statusBitMaskLength = raw.payload[offset] & 0b000_11111;
1361
+ offset += 1;
1362
+ validatePayload(raw.payload.length >= offset + statusBitMaskLength + 1);
1363
+ const supportedUserIDStatuses = parseBitMask(raw.payload.subarray(offset, offset + statusBitMaskLength), UserIDStatus.Available);
1364
+ offset += statusBitMaskLength;
1365
+ const supportsUserCodeChecksum = !!(raw.payload[offset] & 0b100_00000);
1366
+ const supportsMultipleUserCodeReport = !!(raw.payload[offset] & 0b010_00000);
1367
+ const supportsMultipleUserCodeSet = !!(raw.payload[offset] & 0b001_00000);
1368
+ const keypadModesBitMaskLength = raw.payload[offset] & 0b000_11111;
1369
+ offset += 1;
1370
+ validatePayload(raw.payload.length >= offset + keypadModesBitMaskLength + 1);
1371
+ const supportedKeypadModes = parseBitMask(raw.payload.subarray(offset, offset + keypadModesBitMaskLength), KeypadMode.Normal);
1372
+ offset += keypadModesBitMaskLength;
1373
+ const keysBitMaskLength = raw.payload[offset] & 0b000_11111;
1374
+ offset += 1;
1375
+ validatePayload(raw.payload.length >= offset + keysBitMaskLength);
1376
+ const supportedASCIIChars = Bytes.from(parseBitMask(raw.payload.subarray(offset, offset + keysBitMaskLength), 0)).toString("ascii");
1377
+ return new this({
1378
+ nodeId: ctx.sourceNodeId,
1379
+ supportsAdminCode,
1380
+ supportsAdminCodeDeactivation,
1381
+ supportedUserIDStatuses,
1382
+ supportsUserCodeChecksum,
1383
+ supportsMultipleUserCodeReport,
1384
+ supportsMultipleUserCodeSet,
1385
+ supportedKeypadModes,
1386
+ supportedASCIIChars,
1387
+ });
1388
+ }
1389
+ supportsAdminCode;
1390
+ supportsAdminCodeDeactivation;
1391
+ supportsUserCodeChecksum;
1392
+ supportsMultipleUserCodeReport;
1393
+ supportsMultipleUserCodeSet;
1394
+ supportedUserIDStatuses;
1395
+ supportedKeypadModes;
1396
+ supportedASCIIChars;
1397
+ serialize(ctx) {
1398
+ const supportedStatusesBitmask = encodeBitMask(this.supportedUserIDStatuses, undefined, UserIDStatus.Available);
1399
+ const controlByte1 = (this.supportsAdminCode ? 0b100_00000 : 0)
1400
+ | (this.supportsAdminCodeDeactivation ? 0b010_00000 : 0)
1401
+ | (supportedStatusesBitmask.length & 0b000_11111);
1402
+ const supportedKeypadModesBitmask = encodeBitMask(this.supportedKeypadModes, undefined, KeypadMode.Normal);
1403
+ const controlByte2 = (this.supportsUserCodeChecksum ? 0b100_00000 : 0)
1404
+ | (this.supportsMultipleUserCodeReport ? 0b010_00000 : 0)
1405
+ | (this.supportsMultipleUserCodeSet ? 0b001_00000 : 0)
1406
+ | (supportedKeypadModesBitmask.length & 0b000_11111);
1407
+ const keysAsNumbers = [...this.supportedASCIIChars].map((char) => char.charCodeAt(0));
1408
+ const supportedKeysBitmask = encodeBitMask(keysAsNumbers, undefined, 0);
1409
+ const controlByte3 = supportedKeysBitmask.length & 0b000_11111;
1410
+ this.payload = Bytes.concat([
1411
+ Bytes.from([controlByte1]),
1412
+ supportedStatusesBitmask,
1413
+ Bytes.from([controlByte2]),
1414
+ supportedKeypadModesBitmask,
1415
+ Bytes.from([controlByte3]),
1416
+ supportedKeysBitmask,
1417
+ ]);
1418
+ return super.serialize(ctx);
1419
+ }
1420
+ toLogEntry(ctx) {
1421
+ return {
1422
+ ...super.toLogEntry(ctx),
1423
+ message: {
1424
+ "supports admin code": this.supportsAdminCode,
1425
+ "supports admin code deactivation": this.supportsAdminCodeDeactivation,
1426
+ "supports user code checksum": this.supportsUserCodeChecksum,
1427
+ "supports multiple codes in report": this.supportsMultipleUserCodeReport,
1428
+ "supports multiple codes in set": this.supportsMultipleUserCodeSet,
1429
+ "supported user id statuses": this.supportedUserIDStatuses
1430
+ .map((status) => `\n· ${getEnumMemberName(UserIDStatus, status)}`)
1431
+ .join(""),
1432
+ "supported keypad modes": this.supportedKeypadModes
1433
+ .map((mode) => `\n· ${getEnumMemberName(KeypadMode, mode)}`)
1434
+ .join(""),
1435
+ "supported ASCII chars": this.supportedASCIIChars,
1436
+ },
1437
+ };
1438
+ }
1439
+ };
1440
+ return UserCodeCCCapabilitiesReport = _classThis;
1441
+ })();
1442
+ export { UserCodeCCCapabilitiesReport };
1443
+ let UserCodeCCCapabilitiesGet = (() => {
1444
+ let _classDecorators = [CCCommand(UserCodeCommand.CapabilitiesGet), expectedCCResponse(UserCodeCCCapabilitiesReport)];
1445
+ let _classDescriptor;
1446
+ let _classExtraInitializers = [];
1447
+ let _classThis;
1448
+ let _classSuper = UserCodeCC;
1449
+ var UserCodeCCCapabilitiesGet = class extends _classSuper {
1450
+ static { _classThis = this; }
1451
+ static {
1452
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1453
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1454
+ UserCodeCCCapabilitiesGet = _classThis = _classDescriptor.value;
1455
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1456
+ __runInitializers(_classThis, _classExtraInitializers);
1457
+ }
1458
+ };
1459
+ return UserCodeCCCapabilitiesGet = _classThis;
1460
+ })();
1461
+ export { UserCodeCCCapabilitiesGet };
1462
+ let UserCodeCCKeypadModeSet = (() => {
1463
+ let _classDecorators = [CCCommand(UserCodeCommand.KeypadModeSet), useSupervision()];
1464
+ let _classDescriptor;
1465
+ let _classExtraInitializers = [];
1466
+ let _classThis;
1467
+ let _classSuper = UserCodeCC;
1468
+ var UserCodeCCKeypadModeSet = class extends _classSuper {
1469
+ static { _classThis = this; }
1470
+ static {
1471
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1472
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1473
+ UserCodeCCKeypadModeSet = _classThis = _classDescriptor.value;
1474
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1475
+ __runInitializers(_classThis, _classExtraInitializers);
1476
+ }
1477
+ constructor(options) {
1478
+ super(options);
1479
+ this.keypadMode = options.keypadMode;
1480
+ }
1481
+ static from(raw, ctx) {
1482
+ validatePayload(raw.payload.length >= 1);
1483
+ const keypadMode = raw.payload[0];
1484
+ return new this({
1485
+ nodeId: ctx.sourceNodeId,
1486
+ keypadMode,
1487
+ });
1488
+ }
1489
+ keypadMode;
1490
+ serialize(ctx) {
1491
+ this.payload = Bytes.from([this.keypadMode]);
1492
+ return super.serialize(ctx);
1493
+ }
1494
+ toLogEntry(ctx) {
1495
+ return {
1496
+ ...super.toLogEntry(ctx),
1497
+ message: { mode: getEnumMemberName(KeypadMode, this.keypadMode) },
1498
+ };
1499
+ }
1500
+ };
1501
+ return UserCodeCCKeypadModeSet = _classThis;
1502
+ })();
1503
+ export { UserCodeCCKeypadModeSet };
1504
+ let UserCodeCCKeypadModeReport = (() => {
1505
+ let _classDecorators = [CCCommand(UserCodeCommand.KeypadModeReport), ccValueProperty("keypadMode", UserCodeCCValues.keypadMode)];
1506
+ let _classDescriptor;
1507
+ let _classExtraInitializers = [];
1508
+ let _classThis;
1509
+ let _classSuper = UserCodeCC;
1510
+ var UserCodeCCKeypadModeReport = class extends _classSuper {
1511
+ static { _classThis = this; }
1512
+ static {
1513
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1514
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1515
+ UserCodeCCKeypadModeReport = _classThis = _classDescriptor.value;
1516
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1517
+ __runInitializers(_classThis, _classExtraInitializers);
1518
+ }
1519
+ constructor(options) {
1520
+ super(options);
1521
+ this.keypadMode = options.keypadMode;
1522
+ }
1523
+ static from(raw, ctx) {
1524
+ validatePayload(raw.payload.length >= 1);
1525
+ const keypadMode = raw.payload[0];
1526
+ return new this({
1527
+ nodeId: ctx.sourceNodeId,
1528
+ keypadMode,
1529
+ });
1530
+ }
1531
+ persistValues(ctx) {
1532
+ if (!super.persistValues(ctx))
1533
+ return false;
1534
+ // Update the keypad modes metadata
1535
+ const supportedKeypadModes = this.getValue(ctx, UserCodeCCValues.supportedKeypadModes) ?? [this.keypadMode];
1536
+ const keypadModeValue = UserCodeCCValues.keypadMode;
1537
+ this.setMetadata(ctx, keypadModeValue, {
1538
+ ...keypadModeValue.meta,
1539
+ states: enumValuesToMetadataStates(KeypadMode, supportedKeypadModes),
1540
+ });
1541
+ return true;
1542
+ }
1543
+ keypadMode;
1544
+ serialize(ctx) {
1545
+ this.payload = Bytes.from([this.keypadMode]);
1546
+ return super.serialize(ctx);
1547
+ }
1548
+ toLogEntry(ctx) {
1549
+ return {
1550
+ ...super.toLogEntry(ctx),
1551
+ message: {
1552
+ keypadMode: getEnumMemberName(KeypadMode, this.keypadMode),
1553
+ },
1554
+ };
1555
+ }
1556
+ };
1557
+ return UserCodeCCKeypadModeReport = _classThis;
1558
+ })();
1559
+ export { UserCodeCCKeypadModeReport };
1560
+ let UserCodeCCKeypadModeGet = (() => {
1561
+ let _classDecorators = [CCCommand(UserCodeCommand.KeypadModeGet), expectedCCResponse(UserCodeCCKeypadModeReport)];
1562
+ let _classDescriptor;
1563
+ let _classExtraInitializers = [];
1564
+ let _classThis;
1565
+ let _classSuper = UserCodeCC;
1566
+ var UserCodeCCKeypadModeGet = class extends _classSuper {
1567
+ static { _classThis = this; }
1568
+ static {
1569
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1570
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1571
+ UserCodeCCKeypadModeGet = _classThis = _classDescriptor.value;
1572
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1573
+ __runInitializers(_classThis, _classExtraInitializers);
1574
+ }
1575
+ };
1576
+ return UserCodeCCKeypadModeGet = _classThis;
1577
+ })();
1578
+ export { UserCodeCCKeypadModeGet };
1579
+ let UserCodeCCAdminCodeSet = (() => {
1580
+ let _classDecorators = [CCCommand(UserCodeCommand.AdminCodeSet), useSupervision()];
1581
+ let _classDescriptor;
1582
+ let _classExtraInitializers = [];
1583
+ let _classThis;
1584
+ let _classSuper = UserCodeCC;
1585
+ var UserCodeCCAdminCodeSet = class extends _classSuper {
1586
+ static { _classThis = this; }
1587
+ static {
1588
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1589
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1590
+ UserCodeCCAdminCodeSet = _classThis = _classDescriptor.value;
1591
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1592
+ __runInitializers(_classThis, _classExtraInitializers);
1593
+ }
1594
+ constructor(options) {
1595
+ super(options);
1596
+ this.adminCode = options.adminCode;
1597
+ }
1598
+ static from(raw, ctx) {
1599
+ validatePayload(raw.payload.length >= 1);
1600
+ const codeLength = raw.payload[0] & 0b1111;
1601
+ validatePayload(raw.payload.length >= 1 + codeLength);
1602
+ const adminCode = raw.payload
1603
+ .subarray(1, 1 + codeLength)
1604
+ .toString("ascii");
1605
+ return new this({
1606
+ nodeId: ctx.sourceNodeId,
1607
+ adminCode,
1608
+ });
1609
+ }
1610
+ adminCode;
1611
+ serialize(ctx) {
1612
+ this.payload = Bytes.concat([
1613
+ Bytes.from([this.adminCode.length & 0b1111]),
1614
+ Bytes.from(this.adminCode, "ascii"),
1615
+ ]);
1616
+ return super.serialize(ctx);
1617
+ }
1618
+ toLogEntry(ctx) {
1619
+ return {
1620
+ ...super.toLogEntry(ctx),
1621
+ message: { "admin code": userCodeToLogString(this.adminCode) },
1622
+ };
1623
+ }
1624
+ };
1625
+ return UserCodeCCAdminCodeSet = _classThis;
1626
+ })();
1627
+ export { UserCodeCCAdminCodeSet };
1628
+ let UserCodeCCAdminCodeReport = (() => {
1629
+ let _classDecorators = [CCCommand(UserCodeCommand.AdminCodeReport), ccValueProperty("adminCode", UserCodeCCValues.adminCode)];
1630
+ let _classDescriptor;
1631
+ let _classExtraInitializers = [];
1632
+ let _classThis;
1633
+ let _classSuper = UserCodeCC;
1634
+ var UserCodeCCAdminCodeReport = class extends _classSuper {
1635
+ static { _classThis = this; }
1636
+ static {
1637
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1638
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1639
+ UserCodeCCAdminCodeReport = _classThis = _classDescriptor.value;
1640
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1641
+ __runInitializers(_classThis, _classExtraInitializers);
1642
+ }
1643
+ constructor(options) {
1644
+ super(options);
1645
+ this.adminCode = options.adminCode;
1646
+ }
1647
+ static from(raw, ctx) {
1648
+ validatePayload(raw.payload.length >= 1);
1649
+ const codeLength = raw.payload[0] & 0b1111;
1650
+ validatePayload(raw.payload.length >= 1 + codeLength);
1651
+ const adminCode = raw.payload
1652
+ .subarray(1, 1 + codeLength)
1653
+ .toString("ascii");
1654
+ return new this({
1655
+ nodeId: ctx.sourceNodeId,
1656
+ adminCode,
1657
+ });
1658
+ }
1659
+ adminCode;
1660
+ serialize(ctx) {
1661
+ this.payload = Bytes.concat([
1662
+ Bytes.from([this.adminCode.length & 0b1111]),
1663
+ Bytes.from(this.adminCode, "ascii"),
1664
+ ]);
1665
+ return super.serialize(ctx);
1666
+ }
1667
+ toLogEntry(ctx) {
1668
+ return {
1669
+ ...super.toLogEntry(ctx),
1670
+ message: { "admin code": userCodeToLogString(this.adminCode) },
1671
+ };
1672
+ }
1673
+ };
1674
+ return UserCodeCCAdminCodeReport = _classThis;
1675
+ })();
1676
+ export { UserCodeCCAdminCodeReport };
1677
+ let UserCodeCCAdminCodeGet = (() => {
1678
+ let _classDecorators = [CCCommand(UserCodeCommand.AdminCodeGet), expectedCCResponse(UserCodeCCAdminCodeReport)];
1679
+ let _classDescriptor;
1680
+ let _classExtraInitializers = [];
1681
+ let _classThis;
1682
+ let _classSuper = UserCodeCC;
1683
+ var UserCodeCCAdminCodeGet = class extends _classSuper {
1684
+ static { _classThis = this; }
1685
+ static {
1686
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1687
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1688
+ UserCodeCCAdminCodeGet = _classThis = _classDescriptor.value;
1689
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1690
+ __runInitializers(_classThis, _classExtraInitializers);
1691
+ }
1692
+ };
1693
+ return UserCodeCCAdminCodeGet = _classThis;
1694
+ })();
1695
+ export { UserCodeCCAdminCodeGet };
1696
+ let UserCodeCCUserCodeChecksumReport = (() => {
1697
+ let _classDecorators = [CCCommand(UserCodeCommand.UserCodeChecksumReport), ccValueProperty("userCodeChecksum", UserCodeCCValues.userCodeChecksum)];
1698
+ let _classDescriptor;
1699
+ let _classExtraInitializers = [];
1700
+ let _classThis;
1701
+ let _classSuper = UserCodeCC;
1702
+ var UserCodeCCUserCodeChecksumReport = class extends _classSuper {
1703
+ static { _classThis = this; }
1704
+ static {
1705
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1706
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1707
+ UserCodeCCUserCodeChecksumReport = _classThis = _classDescriptor.value;
1708
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1709
+ __runInitializers(_classThis, _classExtraInitializers);
1710
+ }
1711
+ constructor(options) {
1712
+ super(options);
1713
+ this.userCodeChecksum = options.userCodeChecksum;
1714
+ }
1715
+ static from(raw, ctx) {
1716
+ validatePayload(raw.payload.length >= 2);
1717
+ const userCodeChecksum = raw.payload.readUInt16BE(0);
1718
+ return new this({
1719
+ nodeId: ctx.sourceNodeId,
1720
+ userCodeChecksum,
1721
+ });
1722
+ }
1723
+ userCodeChecksum;
1724
+ serialize(ctx) {
1725
+ this.payload = new Bytes(2);
1726
+ this.payload.writeUInt16BE(this.userCodeChecksum, 0);
1727
+ return super.serialize(ctx);
1728
+ }
1729
+ toLogEntry(ctx) {
1730
+ return {
1731
+ ...super.toLogEntry(ctx),
1732
+ message: { "user code checksum": num2hex(this.userCodeChecksum) },
1733
+ };
1734
+ }
1735
+ };
1736
+ return UserCodeCCUserCodeChecksumReport = _classThis;
1737
+ })();
1738
+ export { UserCodeCCUserCodeChecksumReport };
1739
+ let UserCodeCCUserCodeChecksumGet = (() => {
1740
+ let _classDecorators = [CCCommand(UserCodeCommand.UserCodeChecksumGet), expectedCCResponse(UserCodeCCUserCodeChecksumReport)];
1741
+ let _classDescriptor;
1742
+ let _classExtraInitializers = [];
1743
+ let _classThis;
1744
+ let _classSuper = UserCodeCC;
1745
+ var UserCodeCCUserCodeChecksumGet = class extends _classSuper {
1746
+ static { _classThis = this; }
1747
+ static {
1748
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1749
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1750
+ UserCodeCCUserCodeChecksumGet = _classThis = _classDescriptor.value;
1751
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1752
+ __runInitializers(_classThis, _classExtraInitializers);
1753
+ }
1754
+ };
1755
+ return UserCodeCCUserCodeChecksumGet = _classThis;
1756
+ })();
1757
+ export { UserCodeCCUserCodeChecksumGet };
1758
+ let UserCodeCCExtendedUserCodeSet = (() => {
1759
+ let _classDecorators = [CCCommand(UserCodeCommand.ExtendedUserCodeSet), useSupervision()];
1760
+ let _classDescriptor;
1761
+ let _classExtraInitializers = [];
1762
+ let _classThis;
1763
+ let _classSuper = UserCodeCC;
1764
+ var UserCodeCCExtendedUserCodeSet = class extends _classSuper {
1765
+ static { _classThis = this; }
1766
+ static {
1767
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1768
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1769
+ UserCodeCCExtendedUserCodeSet = _classThis = _classDescriptor.value;
1770
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1771
+ __runInitializers(_classThis, _classExtraInitializers);
1772
+ }
1773
+ constructor(options) {
1774
+ super(options);
1775
+ this.userCodes = options.userCodes;
1776
+ }
1777
+ static from(_raw, _ctx) {
1778
+ // TODO: Deserialize payload
1779
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1780
+ // return new UserCodeCCExtendedUserCodeSet({
1781
+ // nodeId: ctx.sourceNodeId,
1782
+ // });
1783
+ }
1784
+ userCodes;
1785
+ serialize(ctx) {
1786
+ const userCodeBuffers = this.userCodes.map((code) => {
1787
+ const ret = Bytes.concat([
1788
+ Bytes.from([
1789
+ 0,
1790
+ 0,
1791
+ code.userIdStatus,
1792
+ code.userCode?.length ?? 0,
1793
+ ]),
1794
+ isUint8Array(code.userCode)
1795
+ ? code.userCode
1796
+ : Bytes.from(code.userCode ?? "", "ascii"),
1797
+ ]);
1798
+ ret.writeUInt16BE(code.userId, 0);
1799
+ return ret;
1800
+ });
1801
+ this.payload = Bytes.concat([
1802
+ Bytes.from([this.userCodes.length]),
1803
+ ...userCodeBuffers,
1804
+ ]);
1805
+ return super.serialize(ctx);
1806
+ }
1807
+ toLogEntry(ctx) {
1808
+ const message = {};
1809
+ for (const { userId, userIdStatus, userCode } of this.userCodes) {
1810
+ message[`code #${userId}`] = `${userCodeToLogString(userCode ?? "")} (status: ${getEnumMemberName(UserIDStatus, userIdStatus)})`;
1811
+ }
1812
+ return {
1813
+ ...super.toLogEntry(ctx),
1814
+ message,
1815
+ };
1816
+ }
1817
+ };
1818
+ return UserCodeCCExtendedUserCodeSet = _classThis;
1819
+ })();
1820
+ export { UserCodeCCExtendedUserCodeSet };
1821
+ let UserCodeCCExtendedUserCodeReport = (() => {
1822
+ let _classDecorators = [CCCommand(UserCodeCommand.ExtendedUserCodeReport)];
1823
+ let _classDescriptor;
1824
+ let _classExtraInitializers = [];
1825
+ let _classThis;
1826
+ let _classSuper = UserCodeCC;
1827
+ var UserCodeCCExtendedUserCodeReport = class extends _classSuper {
1828
+ static { _classThis = this; }
1829
+ static {
1830
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1831
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1832
+ UserCodeCCExtendedUserCodeReport = _classThis = _classDescriptor.value;
1833
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1834
+ __runInitializers(_classThis, _classExtraInitializers);
1835
+ }
1836
+ constructor(options) {
1837
+ super(options);
1838
+ // TODO: Check implementation:
1839
+ this.userCodes = options.userCodes;
1840
+ this.nextUserId = options.nextUserId;
1841
+ }
1842
+ static from(raw, ctx) {
1843
+ validatePayload(raw.payload.length >= 1);
1844
+ const numCodes = raw.payload[0];
1845
+ let offset = 1;
1846
+ const userCodes = [];
1847
+ // parse each user code
1848
+ for (let i = 0; i < numCodes; i++) {
1849
+ const { code, bytesRead } = parseExtendedUserCode(raw.payload.subarray(offset));
1850
+ userCodes.push(code);
1851
+ offset += bytesRead;
1852
+ }
1853
+ validatePayload(raw.payload.length >= offset + 2);
1854
+ const nextUserId = raw.payload.readUInt16BE(offset);
1855
+ return new this({
1856
+ nodeId: ctx.sourceNodeId,
1857
+ userCodes,
1858
+ nextUserId,
1859
+ });
1860
+ }
1861
+ persistValues(ctx) {
1862
+ if (!super.persistValues(ctx))
1863
+ return false;
1864
+ for (const { userId, userIdStatus, userCode } of this.userCodes) {
1865
+ persistUserCode.call(this, ctx, userId, userIdStatus, userCode);
1866
+ }
1867
+ return true;
1868
+ }
1869
+ userCodes;
1870
+ nextUserId;
1871
+ toLogEntry(ctx) {
1872
+ const message = {};
1873
+ for (const { userId, userIdStatus, userCode } of this.userCodes) {
1874
+ message[`code #${userId}`] = `${userCodeToLogString(userCode)} (status: ${getEnumMemberName(UserIDStatus, userIdStatus)})`;
1875
+ }
1876
+ message["next user id"] = this.nextUserId;
1877
+ return {
1878
+ ...super.toLogEntry(ctx),
1879
+ message,
1880
+ };
1881
+ }
1882
+ };
1883
+ return UserCodeCCExtendedUserCodeReport = _classThis;
1884
+ })();
1885
+ export { UserCodeCCExtendedUserCodeReport };
1886
+ let UserCodeCCExtendedUserCodeGet = (() => {
1887
+ let _classDecorators = [CCCommand(UserCodeCommand.ExtendedUserCodeGet), expectedCCResponse(UserCodeCCExtendedUserCodeReport)];
1888
+ let _classDescriptor;
1889
+ let _classExtraInitializers = [];
1890
+ let _classThis;
1891
+ let _classSuper = UserCodeCC;
1892
+ var UserCodeCCExtendedUserCodeGet = class extends _classSuper {
1893
+ static { _classThis = this; }
1894
+ static {
1895
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1896
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1897
+ UserCodeCCExtendedUserCodeGet = _classThis = _classDescriptor.value;
1898
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1899
+ __runInitializers(_classThis, _classExtraInitializers);
1900
+ }
1901
+ constructor(options) {
1902
+ super(options);
1903
+ this.userId = options.userId;
1904
+ this.reportMore = !!options.reportMore;
1905
+ }
1906
+ static from(_raw, _ctx) {
1907
+ // TODO: Deserialize payload
1908
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1909
+ // return new UserCodeCCExtendedUserCodeGet({
1910
+ // nodeId: ctx.sourceNodeId,
1911
+ // });
1912
+ }
1913
+ userId;
1914
+ reportMore;
1915
+ serialize(ctx) {
1916
+ this.payload = Bytes.from([0, 0, this.reportMore ? 1 : 0]);
1917
+ this.payload.writeUInt16BE(this.userId, 0);
1918
+ return super.serialize(ctx);
1919
+ }
1920
+ toLogEntry(ctx) {
1921
+ return {
1922
+ ...super.toLogEntry(ctx),
1923
+ message: {
1924
+ "user id": this.userId,
1925
+ "report more": this.reportMore,
1926
+ },
1927
+ };
1928
+ }
1929
+ };
1930
+ return UserCodeCCExtendedUserCodeGet = _classThis;
1931
+ })();
1932
+ export { UserCodeCCExtendedUserCodeGet };
1933
+ //# sourceMappingURL=UserCodeCC.js.map