@zwave-js/cc 14.3.3 → 14.3.4

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 (627) hide show
  1. package/build/cjs/cc/AlarmSensorCC._validateArgs.d.ts +2 -0
  2. package/build/cjs/cc/AlarmSensorCC._validateArgs.js +51 -0
  3. package/build/cjs/cc/AlarmSensorCC._validateArgs.js.map +7 -0
  4. package/build/cjs/cc/AlarmSensorCC.js +48 -28
  5. package/build/cjs/cc/AlarmSensorCC.js.map +1 -1
  6. package/build/cjs/cc/AssociationCC._validateArgs.d.ts +9 -0
  7. package/build/cjs/cc/AssociationCC._validateArgs.js +142 -0
  8. package/build/cjs/cc/AssociationCC._validateArgs.js.map +7 -0
  9. package/build/cjs/cc/AssociationCC.js +70 -119
  10. package/build/cjs/cc/AssociationCC.js.map +1 -1
  11. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +7 -0
  12. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js +116 -0
  13. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js.map +7 -0
  14. package/build/cjs/cc/AssociationGroupInfoCC.js +68 -176
  15. package/build/cjs/cc/AssociationGroupInfoCC.js.map +1 -1
  16. package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +5 -0
  17. package/build/cjs/cc/BarrierOperatorCC._validateArgs.js +90 -0
  18. package/build/cjs/cc/BarrierOperatorCC._validateArgs.js.map +7 -0
  19. package/build/cjs/cc/BarrierOperatorCC.js +73 -60
  20. package/build/cjs/cc/BarrierOperatorCC.js.map +1 -1
  21. package/build/cjs/cc/BasicCC._validateArgs.d.ts +2 -0
  22. package/build/cjs/cc/BasicCC._validateArgs.js +51 -0
  23. package/build/cjs/cc/BasicCC._validateArgs.js.map +7 -0
  24. package/build/cjs/cc/BasicCC.js +48 -28
  25. package/build/cjs/cc/BasicCC.js.map +1 -1
  26. package/build/cjs/cc/BatteryCC.js +20 -0
  27. package/build/cjs/cc/BatteryCC.js.map +1 -1
  28. package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +4 -0
  29. package/build/cjs/cc/BinarySensorCC._validateArgs.js +77 -0
  30. package/build/cjs/cc/BinarySensorCC._validateArgs.js.map +7 -0
  31. package/build/cjs/cc/BinarySensorCC.js +54 -67
  32. package/build/cjs/cc/BinarySensorCC.js.map +1 -1
  33. package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +2 -0
  34. package/build/cjs/cc/BinarySwitchCC._validateArgs.js +52 -0
  35. package/build/cjs/cc/BinarySwitchCC._validateArgs.js.map +7 -0
  36. package/build/cjs/cc/BinarySwitchCC.js +46 -54
  37. package/build/cjs/cc/BinarySwitchCC.js.map +1 -1
  38. package/build/cjs/cc/CRC16CC.js +12 -0
  39. package/build/cjs/cc/CRC16CC.js.map +1 -1
  40. package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +2 -0
  41. package/build/cjs/cc/CentralSceneCC._validateArgs.js +51 -0
  42. package/build/cjs/cc/CentralSceneCC._validateArgs.js.map +7 -0
  43. package/build/cjs/cc/CentralSceneCC.js +43 -21
  44. package/build/cjs/cc/CentralSceneCC.js.map +1 -1
  45. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +4 -0
  46. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js +77 -0
  47. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js.map +7 -0
  48. package/build/cjs/cc/ClimateControlScheduleCC.js +65 -114
  49. package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
  50. package/build/cjs/cc/ClockCC._validateArgs.d.ts +2 -0
  51. package/build/cjs/cc/ClockCC._validateArgs.js +51 -0
  52. package/build/cjs/cc/ClockCC._validateArgs.js.map +7 -0
  53. package/build/cjs/cc/ClockCC.js +44 -36
  54. package/build/cjs/cc/ClockCC.js.map +1 -1
  55. package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +5 -0
  56. package/build/cjs/cc/ColorSwitchCC._validateArgs.js +91 -0
  57. package/build/cjs/cc/ColorSwitchCC._validateArgs.js.map +7 -0
  58. package/build/cjs/cc/ColorSwitchCC.js +65 -346
  59. package/build/cjs/cc/ColorSwitchCC.js.map +1 -1
  60. package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +10 -0
  61. package/build/cjs/cc/ConfigurationCC._validateArgs.js +155 -0
  62. package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +7 -0
  63. package/build/cjs/cc/ConfigurationCC.js +115 -395
  64. package/build/cjs/cc/ConfigurationCC.js.map +1 -1
  65. package/build/cjs/cc/DeviceResetLocallyCC.js +11 -0
  66. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  67. package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +3 -0
  68. package/build/cjs/cc/DoorLockCC._validateArgs.js +64 -0
  69. package/build/cjs/cc/DoorLockCC._validateArgs.js.map +7 -0
  70. package/build/cjs/cc/DoorLockCC.js +69 -161
  71. package/build/cjs/cc/DoorLockCC.js.map +1 -1
  72. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +2 -0
  73. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js +51 -0
  74. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js.map +7 -0
  75. package/build/cjs/cc/DoorLockLoggingCC.js +50 -28
  76. package/build/cjs/cc/DoorLockLoggingCC.js.map +1 -1
  77. package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +2 -0
  78. package/build/cjs/cc/EnergyProductionCC._validateArgs.js +51 -0
  79. package/build/cjs/cc/EnergyProductionCC._validateArgs.js.map +7 -0
  80. package/build/cjs/cc/EnergyProductionCC.js +42 -20
  81. package/build/cjs/cc/EnergyProductionCC.js.map +1 -1
  82. package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +2 -0
  83. package/build/cjs/cc/EntryControlCC._validateArgs.js +51 -0
  84. package/build/cjs/cc/EntryControlCC._validateArgs.js.map +7 -0
  85. package/build/cjs/cc/EntryControlCC.js +49 -22
  86. package/build/cjs/cc/EntryControlCC.js.map +1 -1
  87. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +5 -0
  88. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +90 -0
  89. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +7 -0
  90. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +77 -310
  91. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  92. package/build/cjs/cc/HailCC.js +5 -0
  93. package/build/cjs/cc/HailCC.js.map +1 -1
  94. package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +2 -0
  95. package/build/cjs/cc/HumidityControlModeCC._validateArgs.js +51 -0
  96. package/build/cjs/cc/HumidityControlModeCC._validateArgs.js.map +7 -0
  97. package/build/cjs/cc/HumidityControlModeCC.js +50 -20
  98. package/build/cjs/cc/HumidityControlModeCC.js.map +1 -1
  99. package/build/cjs/cc/HumidityControlOperatingStateCC.js +14 -0
  100. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +1 -1
  101. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +5 -0
  102. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js +90 -0
  103. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js.map +7 -0
  104. package/build/cjs/cc/HumidityControlSetpointCC.js +74 -25
  105. package/build/cjs/cc/HumidityControlSetpointCC.js.map +1 -1
  106. package/build/cjs/cc/InclusionControllerCC.js +14 -0
  107. package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
  108. package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +10 -0
  109. package/build/cjs/cc/IndicatorCC._validateArgs.js +155 -0
  110. package/build/cjs/cc/IndicatorCC._validateArgs.js.map +7 -0
  111. package/build/cjs/cc/IndicatorCC.js +87 -257
  112. package/build/cjs/cc/IndicatorCC.js.map +1 -1
  113. package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +11 -0
  114. package/build/cjs/cc/IrrigationCC._validateArgs.js +168 -0
  115. package/build/cjs/cc/IrrigationCC._validateArgs.js.map +7 -0
  116. package/build/cjs/cc/IrrigationCC.js +110 -215
  117. package/build/cjs/cc/IrrigationCC.js.map +1 -1
  118. package/build/cjs/cc/LanguageCC._validateArgs.d.ts +2 -0
  119. package/build/cjs/cc/LanguageCC._validateArgs.js +51 -0
  120. package/build/cjs/cc/LanguageCC._validateArgs.js.map +7 -0
  121. package/build/cjs/cc/LanguageCC.js +44 -35
  122. package/build/cjs/cc/LanguageCC.js.map +1 -1
  123. package/build/cjs/cc/LockCC._validateArgs.d.ts +2 -0
  124. package/build/cjs/cc/LockCC._validateArgs.js +51 -0
  125. package/build/cjs/cc/LockCC._validateArgs.js.map +7 -0
  126. package/build/cjs/cc/LockCC.js +44 -21
  127. package/build/cjs/cc/LockCC.js.map +1 -1
  128. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +3 -0
  129. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js +64 -0
  130. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js.map +7 -0
  131. package/build/cjs/cc/ManufacturerProprietaryCC.js +37 -37
  132. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +1 -1
  133. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +3 -0
  134. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js +64 -0
  135. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js.map +7 -0
  136. package/build/cjs/cc/ManufacturerSpecificCC.js +50 -50
  137. package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
  138. package/build/cjs/cc/MeterCC._validateArgs.d.ts +6 -0
  139. package/build/cjs/cc/MeterCC._validateArgs.js +103 -0
  140. package/build/cjs/cc/MeterCC._validateArgs.js.map +7 -0
  141. package/build/cjs/cc/MeterCC.js +72 -290
  142. package/build/cjs/cc/MeterCC.js.map +1 -1
  143. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +6 -0
  144. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js +103 -0
  145. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js.map +7 -0
  146. package/build/cjs/cc/MultiChannelAssociationCC.js +58 -321
  147. package/build/cjs/cc/MultiChannelAssociationCC.js.map +1 -1
  148. package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +5 -0
  149. package/build/cjs/cc/MultiChannelCC._validateArgs.js +90 -0
  150. package/build/cjs/cc/MultiChannelCC._validateArgs.js.map +7 -0
  151. package/build/cjs/cc/MultiChannelCC.js +89 -26
  152. package/build/cjs/cc/MultiChannelCC.js.map +1 -1
  153. package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +2 -0
  154. package/build/cjs/cc/MultiCommandCC._validateArgs.js +52 -0
  155. package/build/cjs/cc/MultiCommandCC._validateArgs.js.map +7 -0
  156. package/build/cjs/cc/MultiCommandCC.js +38 -30
  157. package/build/cjs/cc/MultiCommandCC.js.map +1 -1
  158. package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +4 -0
  159. package/build/cjs/cc/MultilevelSensorCC._validateArgs.js +77 -0
  160. package/build/cjs/cc/MultilevelSensorCC._validateArgs.js.map +7 -0
  161. package/build/cjs/cc/MultilevelSensorCC.js +62 -86
  162. package/build/cjs/cc/MultilevelSensorCC.js.map +1 -1
  163. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +3 -0
  164. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js +65 -0
  165. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js.map +7 -0
  166. package/build/cjs/cc/MultilevelSwitchCC.js +68 -185
  167. package/build/cjs/cc/MultilevelSwitchCC.js.map +1 -1
  168. package/build/cjs/cc/NoOperationCC.js +8 -0
  169. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  170. package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +3 -0
  171. package/build/cjs/cc/NodeNamingCC._validateArgs.js +64 -0
  172. package/build/cjs/cc/NodeNamingCC._validateArgs.js.map +7 -0
  173. package/build/cjs/cc/NodeNamingCC.js +57 -21
  174. package/build/cjs/cc/NodeNamingCC.js.map +1 -1
  175. package/build/cjs/cc/NotificationCC._validateArgs.d.ts +5 -0
  176. package/build/cjs/cc/NotificationCC._validateArgs.js +90 -0
  177. package/build/cjs/cc/NotificationCC._validateArgs.js.map +7 -0
  178. package/build/cjs/cc/NotificationCC.js +63 -125
  179. package/build/cjs/cc/NotificationCC.js.map +1 -1
  180. package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +5 -0
  181. package/build/cjs/cc/PowerlevelCC._validateArgs.js +90 -0
  182. package/build/cjs/cc/PowerlevelCC._validateArgs.js.map +7 -0
  183. package/build/cjs/cc/PowerlevelCC.js +62 -154
  184. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  185. package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +4 -0
  186. package/build/cjs/cc/ProtectionCC._validateArgs.js +78 -0
  187. package/build/cjs/cc/ProtectionCC._validateArgs.js.map +7 -0
  188. package/build/cjs/cc/ProtectionCC.js +74 -49
  189. package/build/cjs/cc/ProtectionCC.js.map +1 -1
  190. package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +2 -0
  191. package/build/cjs/cc/SceneActivationCC._validateArgs.js +52 -0
  192. package/build/cjs/cc/SceneActivationCC._validateArgs.js.map +7 -0
  193. package/build/cjs/cc/SceneActivationCC.js +38 -47
  194. package/build/cjs/cc/SceneActivationCC.js.map +1 -1
  195. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +3 -0
  196. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js +65 -0
  197. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js.map +7 -0
  198. package/build/cjs/cc/SceneActuatorConfigurationCC.js +48 -63
  199. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
  200. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +4 -0
  201. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js +78 -0
  202. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js.map +7 -0
  203. package/build/cjs/cc/SceneControllerConfigurationCC.js +51 -50
  204. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +1 -1
  205. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +9 -0
  206. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js +142 -0
  207. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js.map +7 -0
  208. package/build/cjs/cc/ScheduleEntryLockCC.js +110 -286
  209. package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
  210. package/build/cjs/cc/Security2CC.js +86 -14
  211. package/build/cjs/cc/Security2CC.js.map +1 -1
  212. package/build/cjs/cc/SecurityCC.js +46 -0
  213. package/build/cjs/cc/SecurityCC.js.map +1 -1
  214. package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +4 -0
  215. package/build/cjs/cc/SoundSwitchCC._validateArgs.js +77 -0
  216. package/build/cjs/cc/SoundSwitchCC._validateArgs.js.map +7 -0
  217. package/build/cjs/cc/SoundSwitchCC.js +71 -41
  218. package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
  219. package/build/cjs/cc/SupervisionCC.js +15 -0
  220. package/build/cjs/cc/SupervisionCC.js.map +1 -1
  221. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +2 -0
  222. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js +51 -0
  223. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js.map +7 -0
  224. package/build/cjs/cc/ThermostatFanModeCC.js +50 -35
  225. package/build/cjs/cc/ThermostatFanModeCC.js.map +1 -1
  226. package/build/cjs/cc/ThermostatFanStateCC.js +14 -0
  227. package/build/cjs/cc/ThermostatFanStateCC.js.map +1 -1
  228. package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +2 -0
  229. package/build/cjs/cc/ThermostatModeCC._validateArgs.js +51 -0
  230. package/build/cjs/cc/ThermostatModeCC._validateArgs.js.map +7 -0
  231. package/build/cjs/cc/ThermostatModeCC.js +50 -47
  232. package/build/cjs/cc/ThermostatModeCC.js.map +1 -1
  233. package/build/cjs/cc/ThermostatOperatingStateCC.js +14 -0
  234. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +1 -1
  235. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +2 -0
  236. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js +51 -0
  237. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js.map +7 -0
  238. package/build/cjs/cc/ThermostatSetbackCC.js +44 -45
  239. package/build/cjs/cc/ThermostatSetbackCC.js.map +1 -1
  240. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +4 -0
  241. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js +77 -0
  242. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js.map +7 -0
  243. package/build/cjs/cc/ThermostatSetpointCC.js +65 -24
  244. package/build/cjs/cc/ThermostatSetpointCC.js.map +1 -1
  245. package/build/cjs/cc/TimeCC._validateArgs.d.ts +5 -0
  246. package/build/cjs/cc/TimeCC._validateArgs.js +90 -0
  247. package/build/cjs/cc/TimeCC._validateArgs.js.map +7 -0
  248. package/build/cjs/cc/TimeCC.js +65 -73
  249. package/build/cjs/cc/TimeCC.js.map +1 -1
  250. package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +2 -0
  251. package/build/cjs/cc/TimeParametersCC._validateArgs.js +51 -0
  252. package/build/cjs/cc/TimeParametersCC._validateArgs.js.map +7 -0
  253. package/build/cjs/cc/TimeParametersCC.js +47 -28
  254. package/build/cjs/cc/TimeParametersCC.js.map +1 -1
  255. package/build/cjs/cc/TransportServiceCC.js +22 -0
  256. package/build/cjs/cc/TransportServiceCC.js.map +1 -1
  257. package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +7 -0
  258. package/build/cjs/cc/UserCodeCC._validateArgs.js +116 -0
  259. package/build/cjs/cc/UserCodeCC._validateArgs.js.map +7 -0
  260. package/build/cjs/cc/UserCodeCC.js +109 -247
  261. package/build/cjs/cc/UserCodeCC.js.map +1 -1
  262. package/build/cjs/cc/VersionCC._validateArgs.d.ts +4 -0
  263. package/build/cjs/cc/VersionCC._validateArgs.js +77 -0
  264. package/build/cjs/cc/VersionCC._validateArgs.js.map +7 -0
  265. package/build/cjs/cc/VersionCC.js +69 -74
  266. package/build/cjs/cc/VersionCC.js.map +1 -1
  267. package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +2 -0
  268. package/build/cjs/cc/WakeUpCC._validateArgs.js +51 -0
  269. package/build/cjs/cc/WakeUpCC._validateArgs.js.map +7 -0
  270. package/build/cjs/cc/WakeUpCC.js +56 -21
  271. package/build/cjs/cc/WakeUpCC.js.map +1 -1
  272. package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +5 -0
  273. package/build/cjs/cc/WindowCoveringCC._validateArgs.js +91 -0
  274. package/build/cjs/cc/WindowCoveringCC._validateArgs.js.map +7 -0
  275. package/build/cjs/cc/WindowCoveringCC.js +74 -116
  276. package/build/cjs/cc/WindowCoveringCC.js.map +1 -1
  277. package/build/cjs/cc/ZWaveLongRangeCC.js +5 -0
  278. package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
  279. package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +2 -0
  280. package/build/cjs/cc/ZWavePlusCC._validateArgs.js +51 -0
  281. package/build/cjs/cc/ZWavePlusCC._validateArgs.js.map +7 -0
  282. package/build/cjs/cc/ZWavePlusCC.js +41 -61
  283. package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
  284. package/build/cjs/cc/ZWaveProtocolCC.js +113 -0
  285. package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
  286. package/build/cjs/cc/manufacturerProprietary/Decorators.js +2 -0
  287. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
  288. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +3 -0
  289. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js +64 -0
  290. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +7 -0
  291. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +54 -22
  292. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  293. package/build/cjs/lib/API.js +24 -10
  294. package/build/cjs/lib/API.js.map +1 -1
  295. package/build/cjs/lib/CommandClass.js +14 -3
  296. package/build/cjs/lib/CommandClass.js.map +1 -1
  297. package/build/cjs/lib/CommandClassDecorators.js +20 -8
  298. package/build/cjs/lib/CommandClassDecorators.js.map +1 -1
  299. package/build/cjs/lib/EncapsulatingCommandClass.js +4 -0
  300. package/build/cjs/lib/EncapsulatingCommandClass.js.map +1 -1
  301. package/build/cjs/lib/NotificationEventPayload.js +2 -0
  302. package/build/cjs/lib/NotificationEventPayload.js.map +1 -1
  303. package/build/cjs/lib/Security2/Extension.js +24 -0
  304. package/build/cjs/lib/Security2/Extension.js.map +1 -1
  305. package/build/cjs/lib/SetValueResult.js +5 -0
  306. package/build/cjs/lib/SetValueResult.js.map +1 -1
  307. package/build/cjs/lib/Values.js +12 -9
  308. package/build/cjs/lib/Values.js.map +1 -1
  309. package/build/cjs/lib/_Types.js +7 -0
  310. package/build/cjs/lib/_Types.js.map +1 -1
  311. package/build/cjs/lib/serializers.js +7 -0
  312. package/build/cjs/lib/serializers.js.map +1 -1
  313. package/build/cjs/lib/utils.js +16 -4
  314. package/build/cjs/lib/utils.js.map +1 -1
  315. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +2 -0
  316. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -0
  317. package/build/esm/cc/AlarmSensorCC._validateArgs.js +12 -0
  318. package/build/esm/cc/AlarmSensorCC._validateArgs.js.map +1 -0
  319. package/build/esm/cc/AlarmSensorCC.js +17 -28
  320. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  321. package/build/esm/cc/AssociationCC._validateArgs.d.ts +9 -0
  322. package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -0
  323. package/build/esm/cc/AssociationCC._validateArgs.js +82 -0
  324. package/build/esm/cc/AssociationCC._validateArgs.js.map +1 -0
  325. package/build/esm/cc/AssociationCC.js +38 -123
  326. package/build/esm/cc/AssociationCC.js.map +1 -1
  327. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +7 -0
  328. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -0
  329. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js +62 -0
  330. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js.map +1 -0
  331. package/build/esm/cc/AssociationGroupInfoCC.js +32 -190
  332. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  333. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +5 -0
  334. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -0
  335. package/build/esm/cc/BarrierOperatorCC._validateArgs.js +42 -0
  336. package/build/esm/cc/BarrierOperatorCC._validateArgs.js.map +1 -0
  337. package/build/esm/cc/BarrierOperatorCC.js +21 -50
  338. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  339. package/build/esm/cc/BasicCC._validateArgs.d.ts +2 -0
  340. package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -0
  341. package/build/esm/cc/BasicCC._validateArgs.js +12 -0
  342. package/build/esm/cc/BasicCC._validateArgs.js.map +1 -0
  343. package/build/esm/cc/BasicCC.js +15 -22
  344. package/build/esm/cc/BasicCC.js.map +1 -1
  345. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +4 -0
  346. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -0
  347. package/build/esm/cc/BinarySensorCC._validateArgs.js +32 -0
  348. package/build/esm/cc/BinarySensorCC._validateArgs.js.map +1 -0
  349. package/build/esm/cc/BinarySensorCC.js +23 -67
  350. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  351. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +2 -0
  352. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -0
  353. package/build/esm/cc/BinarySwitchCC._validateArgs.js +13 -0
  354. package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -0
  355. package/build/esm/cc/BinarySwitchCC.js +15 -50
  356. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  357. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +2 -0
  358. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -0
  359. package/build/esm/cc/CentralSceneCC._validateArgs.js +12 -0
  360. package/build/esm/cc/CentralSceneCC._validateArgs.js.map +1 -0
  361. package/build/esm/cc/CentralSceneCC.js +17 -21
  362. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  363. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +4 -0
  364. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -0
  365. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js +32 -0
  366. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js.map +1 -0
  367. package/build/esm/cc/ClimateControlScheduleCC.js +23 -117
  368. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  369. package/build/esm/cc/ClockCC._validateArgs.d.ts +2 -0
  370. package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -0
  371. package/build/esm/cc/ClockCC._validateArgs.js +12 -0
  372. package/build/esm/cc/ClockCC._validateArgs.js.map +1 -0
  373. package/build/esm/cc/ClockCC.js +17 -36
  374. package/build/esm/cc/ClockCC.js.map +1 -1
  375. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +5 -0
  376. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -0
  377. package/build/esm/cc/ColorSwitchCC._validateArgs.js +43 -0
  378. package/build/esm/cc/ColorSwitchCC._validateArgs.js.map +1 -0
  379. package/build/esm/cc/ColorSwitchCC.js +23 -352
  380. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  381. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +10 -0
  382. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -0
  383. package/build/esm/cc/ConfigurationCC._validateArgs.js +92 -0
  384. package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -0
  385. package/build/esm/cc/ConfigurationCC.js +41 -410
  386. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  387. package/build/esm/cc/DoorLockCC._validateArgs.d.ts +3 -0
  388. package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -0
  389. package/build/esm/cc/DoorLockCC._validateArgs.js +22 -0
  390. package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -0
  391. package/build/esm/cc/DoorLockCC.js +20 -166
  392. package/build/esm/cc/DoorLockCC.js.map +1 -1
  393. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +2 -0
  394. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -0
  395. package/build/esm/cc/DoorLockLoggingCC._validateArgs.js +12 -0
  396. package/build/esm/cc/DoorLockLoggingCC._validateArgs.js.map +1 -0
  397. package/build/esm/cc/DoorLockLoggingCC.js +17 -28
  398. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  399. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +2 -0
  400. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -0
  401. package/build/esm/cc/EnergyProductionCC._validateArgs.js +12 -0
  402. package/build/esm/cc/EnergyProductionCC._validateArgs.js.map +1 -0
  403. package/build/esm/cc/EnergyProductionCC.js +17 -20
  404. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  405. package/build/esm/cc/EntryControlCC._validateArgs.d.ts +2 -0
  406. package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -0
  407. package/build/esm/cc/EntryControlCC._validateArgs.js +12 -0
  408. package/build/esm/cc/EntryControlCC._validateArgs.js.map +1 -0
  409. package/build/esm/cc/EntryControlCC.js +17 -22
  410. package/build/esm/cc/EntryControlCC.js.map +1 -1
  411. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +5 -0
  412. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -0
  413. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +42 -0
  414. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -0
  415. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +26 -321
  416. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  417. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +2 -0
  418. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -0
  419. package/build/esm/cc/HumidityControlModeCC._validateArgs.js +12 -0
  420. package/build/esm/cc/HumidityControlModeCC._validateArgs.js.map +1 -0
  421. package/build/esm/cc/HumidityControlModeCC.js +17 -20
  422. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  423. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +5 -0
  424. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -0
  425. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js +42 -0
  426. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js.map +1 -0
  427. package/build/esm/cc/HumidityControlSetpointCC.js +26 -25
  428. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  429. package/build/esm/cc/IndicatorCC._validateArgs.d.ts +10 -0
  430. package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -0
  431. package/build/esm/cc/IndicatorCC._validateArgs.js +92 -0
  432. package/build/esm/cc/IndicatorCC._validateArgs.js.map +1 -0
  433. package/build/esm/cc/IndicatorCC.js +41 -265
  434. package/build/esm/cc/IndicatorCC.js.map +1 -1
  435. package/build/esm/cc/IrrigationCC._validateArgs.d.ts +11 -0
  436. package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -0
  437. package/build/esm/cc/IrrigationCC._validateArgs.js +102 -0
  438. package/build/esm/cc/IrrigationCC._validateArgs.js.map +1 -0
  439. package/build/esm/cc/IrrigationCC.js +35 -228
  440. package/build/esm/cc/IrrigationCC.js.map +1 -1
  441. package/build/esm/cc/LanguageCC._validateArgs.d.ts +2 -0
  442. package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -0
  443. package/build/esm/cc/LanguageCC._validateArgs.js +12 -0
  444. package/build/esm/cc/LanguageCC._validateArgs.js.map +1 -0
  445. package/build/esm/cc/LanguageCC.js +17 -35
  446. package/build/esm/cc/LanguageCC.js.map +1 -1
  447. package/build/esm/cc/LockCC._validateArgs.d.ts +2 -0
  448. package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -0
  449. package/build/esm/cc/LockCC._validateArgs.js +12 -0
  450. package/build/esm/cc/LockCC._validateArgs.js.map +1 -0
  451. package/build/esm/cc/LockCC.js +17 -21
  452. package/build/esm/cc/LockCC.js.map +1 -1
  453. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +3 -0
  454. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -0
  455. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js +22 -0
  456. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js.map +1 -0
  457. package/build/esm/cc/ManufacturerProprietaryCC.js +17 -37
  458. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  459. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +3 -0
  460. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -0
  461. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js +22 -0
  462. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js.map +1 -0
  463. package/build/esm/cc/ManufacturerSpecificCC.js +20 -53
  464. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  465. package/build/esm/cc/MeterCC._validateArgs.d.ts +6 -0
  466. package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -0
  467. package/build/esm/cc/MeterCC._validateArgs.js +52 -0
  468. package/build/esm/cc/MeterCC._validateArgs.js.map +1 -0
  469. package/build/esm/cc/MeterCC.js +23 -293
  470. package/build/esm/cc/MeterCC.js.map +1 -1
  471. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +6 -0
  472. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -0
  473. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js +52 -0
  474. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js.map +1 -0
  475. package/build/esm/cc/MultiChannelAssociationCC.js +29 -337
  476. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  477. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +5 -0
  478. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -0
  479. package/build/esm/cc/MultiChannelCC._validateArgs.js +42 -0
  480. package/build/esm/cc/MultiChannelCC._validateArgs.js.map +1 -0
  481. package/build/esm/cc/MultiChannelCC.js +26 -24
  482. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  483. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +2 -0
  484. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -0
  485. package/build/esm/cc/MultiCommandCC._validateArgs.js +13 -0
  486. package/build/esm/cc/MultiCommandCC._validateArgs.js.map +1 -0
  487. package/build/esm/cc/MultiCommandCC.js +17 -30
  488. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  489. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +4 -0
  490. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -0
  491. package/build/esm/cc/MultilevelSensorCC._validateArgs.js +32 -0
  492. package/build/esm/cc/MultilevelSensorCC._validateArgs.js.map +1 -0
  493. package/build/esm/cc/MultilevelSensorCC.js +23 -86
  494. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  495. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +3 -0
  496. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -0
  497. package/build/esm/cc/MultilevelSwitchCC._validateArgs.js +23 -0
  498. package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -0
  499. package/build/esm/cc/MultilevelSwitchCC.js +17 -178
  500. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  501. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +3 -0
  502. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -0
  503. package/build/esm/cc/NodeNamingCC._validateArgs.js +22 -0
  504. package/build/esm/cc/NodeNamingCC._validateArgs.js.map +1 -0
  505. package/build/esm/cc/NodeNamingCC.js +20 -21
  506. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  507. package/build/esm/cc/NotificationCC._validateArgs.d.ts +5 -0
  508. package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -0
  509. package/build/esm/cc/NotificationCC._validateArgs.js +42 -0
  510. package/build/esm/cc/NotificationCC._validateArgs.js.map +1 -0
  511. package/build/esm/cc/NotificationCC.js +26 -123
  512. package/build/esm/cc/NotificationCC.js.map +1 -1
  513. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +5 -0
  514. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -0
  515. package/build/esm/cc/PowerlevelCC._validateArgs.js +42 -0
  516. package/build/esm/cc/PowerlevelCC._validateArgs.js.map +1 -0
  517. package/build/esm/cc/PowerlevelCC.js +26 -160
  518. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  519. package/build/esm/cc/ProtectionCC._validateArgs.d.ts +4 -0
  520. package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -0
  521. package/build/esm/cc/ProtectionCC._validateArgs.js +33 -0
  522. package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -0
  523. package/build/esm/cc/ProtectionCC.js +23 -49
  524. package/build/esm/cc/ProtectionCC.js.map +1 -1
  525. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +2 -0
  526. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -0
  527. package/build/esm/cc/SceneActivationCC._validateArgs.js +13 -0
  528. package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -0
  529. package/build/esm/cc/SceneActivationCC.js +17 -47
  530. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  531. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +3 -0
  532. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -0
  533. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js +23 -0
  534. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -0
  535. package/build/esm/cc/SceneActuatorConfigurationCC.js +20 -63
  536. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  537. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +4 -0
  538. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -0
  539. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js +33 -0
  540. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -0
  541. package/build/esm/cc/SceneControllerConfigurationCC.js +23 -50
  542. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  543. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +9 -0
  544. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -0
  545. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js +82 -0
  546. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js.map +1 -0
  547. package/build/esm/cc/ScheduleEntryLockCC.js +38 -308
  548. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  549. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +4 -0
  550. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -0
  551. package/build/esm/cc/SoundSwitchCC._validateArgs.js +32 -0
  552. package/build/esm/cc/SoundSwitchCC._validateArgs.js.map +1 -0
  553. package/build/esm/cc/SoundSwitchCC.js +21 -39
  554. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  555. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +2 -0
  556. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -0
  557. package/build/esm/cc/ThermostatFanModeCC._validateArgs.js +12 -0
  558. package/build/esm/cc/ThermostatFanModeCC._validateArgs.js.map +1 -0
  559. package/build/esm/cc/ThermostatFanModeCC.js +17 -35
  560. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  561. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +2 -0
  562. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -0
  563. package/build/esm/cc/ThermostatModeCC._validateArgs.js +12 -0
  564. package/build/esm/cc/ThermostatModeCC._validateArgs.js.map +1 -0
  565. package/build/esm/cc/ThermostatModeCC.js +17 -47
  566. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  567. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +2 -0
  568. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -0
  569. package/build/esm/cc/ThermostatSetbackCC._validateArgs.js +12 -0
  570. package/build/esm/cc/ThermostatSetbackCC._validateArgs.js.map +1 -0
  571. package/build/esm/cc/ThermostatSetbackCC.js +17 -45
  572. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  573. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +4 -0
  574. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -0
  575. package/build/esm/cc/ThermostatSetpointCC._validateArgs.js +32 -0
  576. package/build/esm/cc/ThermostatSetpointCC._validateArgs.js.map +1 -0
  577. package/build/esm/cc/ThermostatSetpointCC.js +23 -24
  578. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  579. package/build/esm/cc/TimeCC._validateArgs.d.ts +5 -0
  580. package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -0
  581. package/build/esm/cc/TimeCC._validateArgs.js +42 -0
  582. package/build/esm/cc/TimeCC._validateArgs.js.map +1 -0
  583. package/build/esm/cc/TimeCC.js +26 -77
  584. package/build/esm/cc/TimeCC.js.map +1 -1
  585. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +2 -0
  586. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -0
  587. package/build/esm/cc/TimeParametersCC._validateArgs.js +12 -0
  588. package/build/esm/cc/TimeParametersCC._validateArgs.js.map +1 -0
  589. package/build/esm/cc/TimeParametersCC.js +17 -28
  590. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  591. package/build/esm/cc/UserCodeCC._validateArgs.d.ts +7 -0
  592. package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -0
  593. package/build/esm/cc/UserCodeCC._validateArgs.js +62 -0
  594. package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -0
  595. package/build/esm/cc/UserCodeCC.js +32 -254
  596. package/build/esm/cc/UserCodeCC.js.map +1 -1
  597. package/build/esm/cc/VersionCC._validateArgs.d.ts +4 -0
  598. package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -0
  599. package/build/esm/cc/VersionCC._validateArgs.js +32 -0
  600. package/build/esm/cc/VersionCC._validateArgs.js.map +1 -0
  601. package/build/esm/cc/VersionCC.js +23 -75
  602. package/build/esm/cc/VersionCC.js.map +1 -1
  603. package/build/esm/cc/WakeUpCC._validateArgs.d.ts +2 -0
  604. package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -0
  605. package/build/esm/cc/WakeUpCC._validateArgs.js +12 -0
  606. package/build/esm/cc/WakeUpCC._validateArgs.js.map +1 -0
  607. package/build/esm/cc/WakeUpCC.js +17 -21
  608. package/build/esm/cc/WakeUpCC.js.map +1 -1
  609. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +5 -0
  610. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -0
  611. package/build/esm/cc/WindowCoveringCC._validateArgs.js +43 -0
  612. package/build/esm/cc/WindowCoveringCC._validateArgs.js.map +1 -0
  613. package/build/esm/cc/WindowCoveringCC.js +24 -110
  614. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  615. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +2 -0
  616. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -0
  617. package/build/esm/cc/ZWavePlusCC._validateArgs.js +12 -0
  618. package/build/esm/cc/ZWavePlusCC._validateArgs.js.map +1 -0
  619. package/build/esm/cc/ZWavePlusCC.js +17 -66
  620. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  621. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +3 -0
  622. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -0
  623. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js +22 -0
  624. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +1 -0
  625. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +19 -22
  626. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  627. package/package.json +7 -7
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/SecurityCC.ts"],
4
4
  "sourcesContent": ["import {\n\tCommandClasses,\n\tEncapsulationFlags,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\tSecurityClass,\n\ttype SecurityManager,\n\tTransmitOptions,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tcomputeMACAsync,\n\tcomputeMACSync,\n\tdecryptAES128OFBAsync,\n\tdecryptAES128OFBSync,\n\tencodeCCList,\n\tencryptAES128OFBAsync,\n\tencryptAES128OFBSync,\n\tgenerateAuthKeyAsync,\n\tgenerateAuthKeySync,\n\tgenerateEncryptionKeyAsync,\n\tgenerateEncryptionKeySync,\n\tgetCCName,\n\tisTransmissionError,\n\tparseCCList,\n\trandomBytes,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { type MaybeNotKnown } from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, num2hex, pick } from \"@zwave-js/shared/safe\";\nimport { wait } from \"alcalzone-shared/async\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { SecurityCommand } from \"../lib/_Types.js\";\nimport { CRC16CC } from \"./CRC16CC.js\";\nimport { Security2CC } from \"./Security2CC.js\";\nimport { TransportServiceCC } from \"./TransportServiceCC.js\";\n\n// @noSetValueAPI This is an encapsulation CC\n\nfunction getAuthenticationData(\n\tsenderNonce: Uint8Array,\n\treceiverNonce: Uint8Array,\n\tccCommand: SecurityCommand,\n\tsendingNodeId: number,\n\treceivingNodeId: number,\n\tencryptedPayload: Uint8Array,\n): Uint8Array {\n\treturn Bytes.concat([\n\t\tsenderNonce,\n\t\treceiverNonce,\n\t\tBytes.from([\n\t\t\tccCommand,\n\t\t\tsendingNodeId,\n\t\t\treceivingNodeId,\n\t\t\tencryptedPayload.length,\n\t\t]),\n\t\tencryptedPayload,\n\t]);\n}\n\nfunction throwNoNonce(reason?: string): never {\n\tlet message = `Security CC requires a nonce to be sent!`;\n\tif (reason) message += ` Reason: ${reason}`;\n\tthrow new ZWaveError(message, ZWaveErrorCodes.SecurityCC_NoNonce);\n}\n\nconst HALF_NONCE_SIZE = 8;\n\nfunction assertSecurityRX(\n\tctx: CCParsingContext,\n): asserts ctx is CCParsingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\nfunction assertSecurityTX(\n\tctx: CCEncodingContext,\n): asserts ctx is CCEncodingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\n// TODO: Ignore commands if received via multicast\n\n// Encapsulation CCs are used internally and too frequently that we\n// want to pay the cost of validating each call\n/* eslint-disable @zwave-js/ccapi-validate-args */\n\n@API(CommandClasses.Security)\nexport class SecurityCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(_cmd: SecurityCommand): MaybeNotKnown<boolean> {\n\t\t// All commands are mandatory\n\t\treturn true;\n\t}\n\n\tpublic async sendEncapsulated(\n\t\tencapsulated: CommandClass,\n\t\trequestNextNonce: boolean = false,\n\t): Promise<void> {\n\t\tif (requestNextNonce) {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\t);\n\t\t} else {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulationNonceGet,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new (\n\t\t\trequestNextNonce\n\t\t\t\t? SecurityCCCommandEncapsulationNonceGet\n\t\t\t\t: SecurityCCCommandEncapsulation\n\t\t)({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tencapsulated,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.\n\t */\n\tpublic async getNonce(): Promise<Uint8Array | undefined> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceGet);\n\n\t\tconst cc = new SecurityCCNonceGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<SecurityCCNonceReport>(\n\t\t\tcc,\n\t\t\t{\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Only try getting a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t},\n\t\t);\n\t\tif (!response) return;\n\n\t\tconst nonce = response.nonce;\n\t\tconst secMan = this.host.securityManager!;\n\t\tsecMan.setNonce(\n\t\t\t{\n\t\t\t\tissuer: this.endpoint.nodeId,\n\t\t\t\tnonceId: secMan.getNonceId(nonce),\n\t\t\t},\n\t\t\t{ nonce, receiver: this.host.ownNodeId },\n\t\t\t{ free: true },\n\t\t);\n\t\treturn nonce;\n\t}\n\n\t/**\n\t * Responds to a NonceGet request. The message is sent without any retransmission etc.\n\t * The return value indicates whether a nonce was successfully sent\n\t */\n\tpublic async sendNonce(): Promise<boolean> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NonceReport,\n\t\t);\n\n\t\tif (!this.host.securityManager) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonces can only be sent if secure communication is set up!`,\n\t\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t\t);\n\t\t}\n\n\t\tconst nonce = this.host.securityManager.generateNonce(\n\t\t\tthis.endpoint.nodeId,\n\t\t\tHALF_NONCE_SIZE,\n\t\t);\n\t\tconst nonceId = this.host.securityManager.getNonceId(nonce);\n\n\t\tconst cc = new SecurityCCNonceReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnonce,\n\t\t});\n\n\t\ttry {\n\t\t\tawait this.host.sendCommand(cc, {\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Seems we need these options or some nodes won't accept the nonce\n\t\t\t\ttransmitOptions: TransmitOptions.ACK\n\t\t\t\t\t| TransmitOptions.AutoRoute,\n\t\t\t\t// Only try sending a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t\t// Nonce requests must be handled immediately\n\t\t\t\tpriority: MessagePriority.Immediate,\n\t\t\t\t// We don't want failures causing us to treat the node as asleep or dead\n\t\t\t\tchangeNodeStatusOnMissingACK: false,\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (isTransmissionError(e)) {\n\t\t\t\t// The nonce could not be sent, invalidate it\n\t\t\t\tthis.host.securityManager.deleteNonce(nonceId);\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\t// Pass other errors through\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic async getSecurityScheme(): Promise<[0]> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeGet);\n\n\t\tconst cc = new SecurityCCSchemeGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we hardcode it\n\t\treturn [0];\n\t}\n\n\tpublic async reportSecurityScheme(encapsulated: boolean): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeReport,\n\t\t);\n\n\t\tlet cc: CommandClass = new SecurityCCSchemeReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tif (encapsulated) {\n\t\t\tcc = new SecurityCCCommandEncapsulation({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tencapsulated: cc,\n\t\t\t});\n\t\t}\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async inheritSecurityScheme(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeInherit,\n\t\t);\n\n\t\tconst cc = new SecurityCCSchemeInherit({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we don't return anything here\n\t}\n\n\tpublic async setNetworkKey(networkKey: Uint8Array): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeySet,\n\t\t);\n\n\t\tconst keySet = new SecurityCCNetworkKeySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnetworkKey,\n\t\t});\n\t\tconst cc = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tencapsulated: keySet,\n\t\t\talternativeNetworkKey: new Uint8Array(16).fill(0),\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async verifyNetworkKey(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeyVerify,\n\t\t);\n\n\t\tconst cc = new SecurityCCNetworkKeyVerify({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedCommands() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedGet,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tSecurityCCCommandsSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"supportedCCs\", \"controlledCCs\"]);\n\t\t}\n\t}\n\n\tpublic async reportSupportedCommands(\n\t\tsupportedCCs: CommandClasses[],\n\t\tcontrolledCCs: CommandClasses[],\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedReport,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t\treportsToFollow: 0,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Security)\n@implementedVersion(1)\nexport class SecurityCC extends CommandClass {\n\tdeclare ccCommand: SecurityCommand;\n\t// Force singlecast for the Security CC\n\tdeclare nodeId: number;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Security,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"Querying securely supported commands (S0)...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tlet supportedCCs: CommandClasses[] | undefined;\n\t\tlet controlledCCs: CommandClasses[] | undefined;\n\n\t\t// Try up to 3 times on the root device. We REALLY don't want a spurious timeout or collision to cause us to discard a known good security class\n\t\tconst MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;\n\t\tfor (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {\n\t\t\tconst resp = await api.getSupportedCommands();\n\t\t\tif (resp) {\n\t\t\t\tsupportedCCs = resp.supportedCCs;\n\t\t\t\tcontrolledCCs = resp.controlledCCs;\n\t\t\t\tbreak;\n\t\t\t} else if (attempts < MAX_ATTEMPTS) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\tawait wait(500);\n\t\t\t}\n\t\t}\n\n\t\tif (!supportedCCs || !controlledCCs) {\n\t\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) === true) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: \"Querying securely supported commands (S0) failed\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\t// TODO: Abort interview?\n\t\t\t} else {\n\t\t\t\t// We didn't know if the node was secure and it didn't respond,\n\t\t\t\t// assume that it doesn't have the S0 security class\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t`The node was not granted the S0 security class. Continuing interview non-securely.`,\n\t\t\t\t);\n\t\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst logLines: string[] = [\n\t\t\t\"received secure commands (S0)\",\n\t\t\t\"supported CCs:\",\n\t\t];\n\t\tfor (const cc of supportedCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tlogLines.push(\"controlled CCs:\");\n\t\tfor (const cc of controlledCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: logLines.join(\"\\n\"),\n\t\t\tdirection: \"inbound\",\n\t\t});\n\n\t\t// Remember which commands are supported securely\n\t\tfor (const cc of supportedCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisSupported: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tfor (const cc of controlledCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisControlled: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// We know for sure that the node is included securely\n\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) !== true) {\n\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, true);\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`The node was granted the S0 security class`,\n\t\t\t);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\t/** Tests if a command should be sent secure and thus requires encapsulation */\n\tpublic static requiresEncapsulation(cc: CommandClass): boolean {\n\t\t// No security flag -> no encapsulation\n\t\tif (!(cc.encapsulationFlags & EncapsulationFlags.Security)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S2, CRC16, Transport Service -> no S2 encapsulation\n\t\tif (\n\t\t\tcc instanceof Security2CC\n\t\t\t|| cc instanceof CRC16CC\n\t\t\t|| cc instanceof TransportServiceCC\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S0: check command\n\t\tif (cc instanceof SecurityCC) {\n\t\t\tswitch (cc.ccCommand) {\n\t\t\t\t// Already encapsulated\n\t\t\t\tcase SecurityCommand.CommandEncapsulation:\n\t\t\t\tcase SecurityCommand.CommandEncapsulationNonceGet:\n\t\t\t\t// Cannot be sent encapsulated:\n\t\t\t\tcase SecurityCommand.NonceGet:\n\t\t\t\tcase SecurityCommand.NonceReport:\n\t\t\t\tcase SecurityCommand.SchemeGet:\n\t\t\t\tcase SecurityCommand.SchemeReport:\n\t\t\t\t\treturn false;\n\n\t\t\t\tdefault:\n\t\t\t\t\t// All other commands must be encapsulated\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Everything else needs to be encapsulated if the CC is secure\n\t\treturn true;\n\t}\n\n\t/** Encapsulates a command that should be sent encrypted */\n\tpublic static encapsulate(\n\t\townNodeId: number,\n\t\tsecurityManager: SecurityManager,\n\t\tcc: CommandClass,\n\t): SecurityCCCommandEncapsulation {\n\t\t// TODO: When to return a SecurityCCCommandEncapsulationNonceGet?\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: cc.nodeId,\n\t\t\tencapsulated: cc,\n\t\t});\n\n\t\t// Copy the encapsulation flags from the encapsulated command\n\t\t// but omit Security, since we're doing that right now\n\t\tret.encapsulationFlags = cc.encapsulationFlags\n\t\t\t& ~EncapsulationFlags.Security;\n\n\t\treturn ret;\n\t}\n}\n\ninterface SecurityCCNonceReportOptions {\n\tnonce: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NonceReport)\nexport class SecurityCCNonceReport extends SecurityCC {\n\tconstructor(\n\t\toptions: WithAddress<SecurityCCNonceReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonce must have length ${HALF_NONCE_SIZE}!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nonce = options.nonce;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNonceReport {\n\t\tvalidatePayload.withReason(\"Invalid nonce length\")(\n\t\t\traw.payload.length === HALF_NONCE_SIZE,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnonce: raw.payload,\n\t\t});\n\t}\n\n\tpublic nonce: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.nonce);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { nonce: buffer2hex(this.nonce) },\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NonceGet)\n@expectedCCResponse(SecurityCCNonceReport)\nexport class SecurityCCNonceGet extends SecurityCC {}\n\n// @publicAPI\nexport type SecurityCCCommandEncapsulationOptions =\n\t& {\n\t\talternativeNetworkKey?: Uint8Array;\n\t}\n\t& ({\n\t\tencapsulated: CommandClass;\n\t} | {\n\t\tdecryptedCCBytes: Uint8Array;\n\t\tsequenced: boolean;\n\t\tsecondFrame: boolean;\n\t\tsequenceCounter: number;\n\t});\n\nfunction getCCResponseForCommandEncapsulation(\n\tsent: SecurityCCCommandEncapsulation,\n) {\n\tif (sent.encapsulated.expectsCCResponse()) {\n\t\treturn SecurityCCCommandEncapsulation;\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandEncapsulation)\n@expectedCCResponse(\n\tgetCCResponseForCommandEncapsulation,\n\t() => \"checkEncapsulated\",\n)\nexport class SecurityCCCommandEncapsulation extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandEncapsulationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (\"encapsulated\" in options) {\n\t\t\tthis.encapsulated = options.encapsulated;\n\t\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t\t} else {\n\t\t\tthis.decryptedCCBytes = options.decryptedCCBytes;\n\t\t\tthis.sequenced = options.sequenced;\n\t\t\tthis.secondFrame = options.secondFrame;\n\t\t\tthis.sequenceCounter = options.sequenceCounter;\n\t\t}\n\t\tthis.alternativeNetworkKey = options.alternativeNetworkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandEncapsulation {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst expectedAuthCode = computeMACSync(\n\t\t\tauthData,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.authKey,\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst frameControlAndDecryptedCC = decryptAES128OFBSync(\n\t\t\tencryptedPayload,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.encryptionKey,\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tpublic static async fromAsync(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): Promise<SecurityCCCommandEncapsulation> {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\tconst expectedAuthCode = await computeMACAsync(\n\t\t\tauthData,\n\t\t\tawait ctx.securityManager.getAuthKey(),\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\tconst frameControlAndDecryptedCC = await decryptAES128OFBAsync(\n\t\t\tencryptedPayload,\n\t\t\tawait ctx.securityManager.getEncryptionKey(),\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tprivate sequenced: boolean | undefined;\n\tprivate secondFrame: boolean | undefined;\n\tprivate sequenceCounter: number | undefined;\n\n\tprivate decryptedCCBytes: Uint8Array | undefined;\n\tpublic encapsulated!: CommandClass;\n\n\tprivate alternativeNetworkKey?: Uint8Array;\n\n\tpublic get nonceId(): number | undefined {\n\t\treturn this.nonce?.[0];\n\t}\n\tpublic nonce: Uint8Array | undefined;\n\n\t// Only used testing/for debugging purposes\n\tprivate iv?: Uint8Array;\n\tprivate authData?: Uint8Array;\n\tprivate authCode?: Uint8Array;\n\tprivate ciphertext?: Uint8Array;\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\tif (this.sequenced) {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t\tsequence: this.sequenceCounter,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn !!this.sequenced && !this.secondFrame;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): void {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tthis.encapsulated = CommandClass.parse(this.decryptedCCBytes, ctx);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic async mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): Promise<void> {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\tthis.encapsulated = await CommandClass.parseAsync(\n\t\t\tthis.decryptedCCBytes,\n\t\t\tctx,\n\t\t);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\t/** @deprecated Use {@link serializeAsync} instead */\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = generateAuthKeySync(this.alternativeNetworkKey);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = generateEncryptionKeySync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = ctx.securityManager.authKey;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = ctx.securityManager.encryptionKey;\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst serializedCC = this.encapsulated.serialize(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst ciphertext = encryptAES128OFBSync(plaintext, encryptionKey, iv);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst authCode = computeMACSync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic async serializeAsync(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\tauthKey = await generateAuthKeyAsync(this.alternativeNetworkKey);\n\t\t\tencryptionKey = await generateEncryptionKeyAsync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\tauthKey = await ctx.securityManager.getAuthKey();\n\t\t\tencryptionKey = await ctx.securityManager.getEncryptionKey();\n\t\t}\n\n\t\tconst serializedCC = await this.encapsulated.serializeAsync(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\tconst ciphertext = await encryptAES128OFBAsync(\n\t\t\tplaintext,\n\t\t\tencryptionKey,\n\t\t\tiv,\n\t\t);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\tconst authCode = await computeMACAsync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\treturn super.serializeAsync(ctx);\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC\n\t\treturn super.computeEncapsulationOverhead() + 18;\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.nonceId != undefined) {\n\t\t\tmessage[\"nonce id\"] = this.nonceId;\n\t\t}\n\t\tif (this.sequenced != undefined) {\n\t\t\tmessage.sequenced = this.sequenced;\n\t\t\tif (this.sequenced) {\n\t\t\t\tif (this.secondFrame != undefined) {\n\t\t\t\t\tmessage[\"second frame\"] = this.secondFrame;\n\t\t\t\t}\n\t\t\t\tif (this.sequenceCounter != undefined) {\n\t\t\t\t\tmessage[\"sequence counter\"] = this.sequenceCounter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Log the plaintext in integration tests and development mode\n\t\tif (\n\t\t\tprocess.env.NODE_ENV === \"test\"\n\t\t\t|| process.env.NODE_ENV === \"development\"\n\t\t) {\n\t\t\tif (this.iv) {\n\t\t\t\tmessage.IV = buffer2hex(this.iv);\n\t\t\t}\n\t\t\tif (this.ciphertext) {\n\t\t\t\tmessage.ciphertext = buffer2hex(this.ciphertext);\n\t\t\t} else if (this.decryptedCCBytes) {\n\t\t\t\tmessage.plaintext = buffer2hex(this.decryptedCCBytes);\n\t\t\t}\n\t\t\tif (this.authData) {\n\t\t\t\tmessage[\"auth data\"] = buffer2hex(this.authData);\n\t\t\t}\n\t\t\tif (this.authCode) {\n\t\t\t\tmessage[\"auth code\"] = buffer2hex(this.authCode);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// This is the same message, but with another CC command\n@CCCommand(SecurityCommand.CommandEncapsulationNonceGet)\nexport class SecurityCCCommandEncapsulationNonceGet\n\textends SecurityCCCommandEncapsulation\n{}\n\n@CCCommand(SecurityCommand.SchemeReport)\nexport class SecurityCCSchemeReport extends SecurityCC {\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCSchemeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\t// The including controller MUST NOT perform any validation of the Supported Security Schemes byte\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t});\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeGet)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeGet extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeInherit)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeInherit extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NetworkKeyVerify)\nexport class SecurityCCNetworkKeyVerify extends SecurityCC {}\n\n// @publicAPI\nexport interface SecurityCCNetworkKeySetOptions {\n\tnetworkKey: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NetworkKeySet)\n@expectedCCResponse(SecurityCCNetworkKeyVerify)\nexport class SecurityCCNetworkKeySet extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCNetworkKeySetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.networkKey.length !== 16) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The network key must have length 16!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.networkKey = options.networkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNetworkKeySet {\n\t\tvalidatePayload(raw.payload.length >= 16);\n\t\tconst networkKey: Uint8Array = raw.payload.subarray(0, 16);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnetworkKey,\n\t\t});\n\t}\n\n\tpublic networkKey: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.networkKey);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\t// The network key shouldn't be logged, so users can safely post their logs online\n\t\tconst { message, ...log } = super.toLogEntry(ctx);\n\t\treturn log;\n\t}\n}\n\n// @publicAPI\nexport interface SecurityCCCommandsSupportedReportOptions {\n\treportsToFollow?: number;\n\tsupportedCCs: CommandClasses[];\n\tcontrolledCCs: CommandClasses[];\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedReport)\nexport class SecurityCCCommandsSupportedReport extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandsSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportedCCs = options.supportedCCs;\n\t\tthis.controlledCCs = options.controlledCCs;\n\t\t// TODO: properly split the CCs into multiple reports\n\t\tthis.reportsToFollow = options.reportsToFollow ?? 0;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandsSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst reportsToFollow = raw.payload[0];\n\t\tconst list = parseCCList(raw.payload.subarray(1));\n\t\tconst supportedCCs: CommandClasses[] = list.supportedCCs;\n\t\tconst controlledCCs: CommandClasses[] = list.controlledCCs;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\treportsToFollow,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t});\n\t}\n\n\tpublic reportsToFollow: number;\n\tpublic supportedCCs: CommandClasses[];\n\tpublic controlledCCs: CommandClasses[];\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Nothing special we can distinguish sessions with\n\t\treturn {};\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn this.reportsToFollow > 0;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): void {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t}\n\n\tpublic mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): Promise<void> {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\treturn Promise.resolve();\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.reportsToFollow]),\n\t\t\tencodeCCList(this.supportedCCs, this.controlledCCs),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\treportsToFollow: this.reportsToFollow,\n\t\t\t\tsupportedCCs: this.supportedCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t\tcontrolledCCs: this.controlledCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedGet)\n@expectedCCResponse(SecurityCCCommandsSupportedReport)\nexport class SecurityCCCommandsSupportedGet extends SecurityCC {}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_safe", "SecurityCC", "SecurityCCCommandEncapsulation"]
7
7
  }
@@ -0,0 +1,4 @@
1
+ export declare function validateArgs_SoundSwitchCCAPI_getToneInfo(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
2
+ export declare function validateArgs_SoundSwitchCCAPI_setConfiguration(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
3
+ export declare function validateArgs_SoundSwitchCCAPI_play(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
4
+ //# sourceMappingURL=SoundSwitchCC._validateArgs.d.ts.map
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var SoundSwitchCC_validateArgs_exports = {};
31
+ __export(SoundSwitchCC_validateArgs_exports, {
32
+ validateArgs_SoundSwitchCCAPI_getToneInfo: () => validateArgs_SoundSwitchCCAPI_getToneInfo,
33
+ validateArgs_SoundSwitchCCAPI_play: () => validateArgs_SoundSwitchCCAPI_play,
34
+ validateArgs_SoundSwitchCCAPI_setConfiguration: () => validateArgs_SoundSwitchCCAPI_setConfiguration
35
+ });
36
+ module.exports = __toCommonJS(SoundSwitchCC_validateArgs_exports);
37
+ var v = __toESM(require("@zwave-js/core/validation"), 1);
38
+ function validateArgs_SoundSwitchCCAPI_getToneInfo(options = {}) {
39
+ return (__decoratedMethod, { kind }) => {
40
+ if (kind === "method") {
41
+ return /* @__PURE__ */ __name(function getToneInfo(toneId) {
42
+ v.assert(v.primitive({ kind: "parameter", name: "toneId" }, "number")(toneId));
43
+ return __decoratedMethod.call(this, toneId);
44
+ }, "getToneInfo");
45
+ }
46
+ };
47
+ }
48
+ __name(validateArgs_SoundSwitchCCAPI_getToneInfo, "validateArgs_SoundSwitchCCAPI_getToneInfo");
49
+ function validateArgs_SoundSwitchCCAPI_setConfiguration(options = {}) {
50
+ return (__decoratedMethod, { kind }) => {
51
+ if (kind === "method") {
52
+ return /* @__PURE__ */ __name(function setConfiguration(defaultToneId, defaultVolume) {
53
+ v.assert(v.primitive({ kind: "parameter", name: "defaultToneId" }, "number")(defaultToneId), v.primitive({ kind: "parameter", name: "defaultVolume" }, "number")(defaultVolume));
54
+ return __decoratedMethod.call(this, defaultToneId, defaultVolume);
55
+ }, "setConfiguration");
56
+ }
57
+ };
58
+ }
59
+ __name(validateArgs_SoundSwitchCCAPI_setConfiguration, "validateArgs_SoundSwitchCCAPI_setConfiguration");
60
+ function validateArgs_SoundSwitchCCAPI_play(options = {}) {
61
+ return (__decoratedMethod, { kind }) => {
62
+ if (kind === "method") {
63
+ return /* @__PURE__ */ __name(function play(toneId, volume) {
64
+ v.assert(v.primitive({ kind: "parameter", name: "toneId" }, "number")(toneId), v.optional({ kind: "parameter", name: "volume" }, v.primitive({ kind: "parameter", name: "volume" }, "number"))(volume));
65
+ return __decoratedMethod.call(this, toneId, volume);
66
+ }, "play");
67
+ }
68
+ };
69
+ }
70
+ __name(validateArgs_SoundSwitchCCAPI_play, "validateArgs_SoundSwitchCCAPI_play");
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ validateArgs_SoundSwitchCCAPI_getToneInfo,
74
+ validateArgs_SoundSwitchCCAPI_play,
75
+ validateArgs_SoundSwitchCCAPI_setConfiguration
76
+ });
77
+ //# sourceMappingURL=SoundSwitchCC._validateArgs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cc/SoundSwitchCC._validateArgs.ts"],
4
+ "sourcesContent": [null],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAAA,QAAmB;AAEb,SAAU,0CAA0C,UAAe,CAAA,GAAE;AAC1E,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,YAAuB,QAAe;AACrD,UAAE,OACD,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,QAAQ,EAAE,MAAM,CAAC;AAErE,eAAO,kBAAkB,KAAK,MAAM,MAAM;MAC3C,GALO;IAMR;EACD;AACD;AAXgB;AAaV,SAAU,+CAA+C,UAAe,CAAA,GAAE;AAC/E,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,iBAA4B,eAAwB,eAAsB;AACzF,UAAE,OACD,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,gBAAe,GAAI,QAAQ,EAAE,aAAa,GAEjF,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,gBAAe,GAAI,QAAQ,EAAE,aAAa,CAAC;AAEnF,eAAO,kBAAkB,KAAK,MAAM,eAAe,aAAa;MACjE,GAPO;IAQR;EACD;AACD;AAbgB;AAeV,SAAU,mCAAmC,UAAe,CAAA,GAAE;AACnE,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,KAAgB,QAAiB,QAAe;AAC/D,UAAE,OACD,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,QAAQ,EAAE,MAAM,GAEnE,EAAE,SAAS,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,QAAQ,CAAC,EAAE,MAAM,CAAC;AAExH,eAAO,kBAAkB,KAAK,MAAM,QAAQ,MAAM;MACnD,GAPO;IAQR;EACD;AACD;AAbgB;",
6
+ "names": []
7
+ }
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
9
  var __export = (target, all) => {
7
10
  for (var name in all)
8
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -15,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
15
18
  }
16
19
  return to;
17
20
  };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
18
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
30
  var SoundSwitchCC_exports = {};
20
31
  __export(SoundSwitchCC_exports, {
@@ -33,6 +44,7 @@ __export(SoundSwitchCC_exports, {
33
44
  SoundSwitchCCValues: () => SoundSwitchCCValues
34
45
  });
35
46
  module.exports = __toCommonJS(SoundSwitchCC_exports);
47
+ var __validateArgs = __toESM(require("./SoundSwitchCC._validateArgs.js"), 1);
36
48
  var import_safe = require("@zwave-js/core/safe");
37
49
  var import_safe2 = require("@zwave-js/shared/safe");
38
50
  var import_safe3 = require("@zwave-js/shared/safe");
@@ -42,11 +54,19 @@ var import_CommandClass = require("../lib/CommandClass.js");
42
54
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
43
55
  var import_Values = require("../lib/Values.js");
44
56
  var import_Types = require("../lib/_Types.js");
57
+ var __runInitializers = function(thisArg, initializers, value) {
58
+ var useValue = arguments.length > 2;
59
+ for (var i = 0; i < initializers.length; i++) {
60
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
61
+ }
62
+ return useValue ? value : void 0;
63
+ };
45
64
  var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
46
65
  function accept(f) {
47
66
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
48
67
  return f;
49
68
  }
69
+ __name(accept, "accept");
50
70
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
51
71
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
52
72
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -74,39 +94,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
74
94
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
75
95
  done = true;
76
96
  };
77
- var __runInitializers = function(thisArg, initializers, value) {
78
- var useValue = arguments.length > 2;
79
- for (var i = 0; i < initializers.length; i++) {
80
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
81
- }
82
- return useValue ? value : void 0;
83
- };
84
- function __assertType(argName, typeName, boundHasError) {
85
- const { ZWaveError: ZWaveError2, ZWaveErrorCodes: ZWaveErrorCodes2 } = require("@zwave-js/core");
86
- if (boundHasError()) {
87
- throw new ZWaveError2(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes2.Argument_Invalid);
88
- }
89
- }
90
- const __assertType__number = ($o) => {
91
- function _number($o2) {
92
- return typeof $o2 !== "number" ? {} : null;
93
- }
94
- return _number($o);
95
- };
96
- const __assertType__optional_number = ($o) => {
97
- function _number($o2) {
98
- return typeof $o2 !== "number" ? {} : null;
99
- }
100
- function optional__number($o2) {
101
- if ($o2 !== void 0) {
102
- const error = _number($o2);
103
- if (error)
104
- return error;
105
- }
106
- return null;
107
- }
108
- return optional__number($o);
109
- };
97
+ const { validateArgs_SoundSwitchCCAPI_getToneInfo, validateArgs_SoundSwitchCCAPI_setConfiguration, validateArgs_SoundSwitchCCAPI_play } = __validateArgs;
110
98
  const SoundSwitchCCValues = Object.freeze({
111
99
  ...import_Values.V.defineStaticCCValues(import_safe.CommandClasses["Sound Switch"], {
112
100
  ...import_Values.V.staticProperty("volume", {
@@ -146,12 +134,22 @@ let SoundSwitchCCAPI = (() => {
146
134
  let _classExtraInitializers = [];
147
135
  let _classThis;
148
136
  let _classSuper = import_API.CCAPI;
137
+ let _instanceExtraInitializers = [];
138
+ let _getToneInfo_decorators;
139
+ let _setConfiguration_decorators;
140
+ let _play_decorators;
149
141
  var SoundSwitchCCAPI2 = class extends _classSuper {
142
+ static {
143
+ __name(this, "SoundSwitchCCAPI");
144
+ }
150
145
  static {
151
146
  _classThis = this;
152
147
  }
153
148
  static {
154
149
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
150
+ __esDecorate(this, null, _getToneInfo_decorators, { kind: "method", name: "getToneInfo", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getToneInfo" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getToneInfo, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
151
+ __esDecorate(this, null, _setConfiguration_decorators, { kind: "method", name: "setConfiguration", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "setConfiguration" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.setConfiguration, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
152
+ __esDecorate(this, null, _play_decorators, { kind: "method", name: "play", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "play" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.play, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
155
153
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
156
154
  SoundSwitchCCAPI2 = _classThis = _classDescriptor.value;
157
155
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -180,7 +178,6 @@ let SoundSwitchCCAPI = (() => {
180
178
  return response?.toneCount;
181
179
  }
182
180
  async getToneInfo(toneId) {
183
- __assertType("toneId", "number", __assertType__number.bind(void 0, toneId));
184
181
  this.assertSupportsCommand(import_Types.SoundSwitchCommand, import_Types.SoundSwitchCommand.ToneInfoGet);
185
182
  const cc = new SoundSwitchCCToneInfoGet({
186
183
  nodeId: this.endpoint.nodeId,
@@ -192,8 +189,6 @@ let SoundSwitchCCAPI = (() => {
192
189
  return (0, import_safe3.pick)(response, ["duration", "name"]);
193
190
  }
194
191
  async setConfiguration(defaultToneId, defaultVolume) {
195
- __assertType("defaultToneId", "number", __assertType__number.bind(void 0, defaultToneId));
196
- __assertType("defaultVolume", "number", __assertType__number.bind(void 0, defaultVolume));
197
192
  this.assertSupportsCommand(import_Types.SoundSwitchCommand, import_Types.SoundSwitchCommand.ConfigurationSet);
198
193
  const cc = new SoundSwitchCCConfigurationSet({
199
194
  nodeId: this.endpoint.nodeId,
@@ -216,8 +211,6 @@ let SoundSwitchCCAPI = (() => {
216
211
  }
217
212
  }
218
213
  async play(toneId, volume) {
219
- __assertType("toneId", "number", __assertType__number.bind(void 0, toneId));
220
- __assertType("volume", "(optional) number", __assertType__optional_number.bind(void 0, volume));
221
214
  this.assertSupportsCommand(import_Types.SoundSwitchCommand, import_Types.SoundSwitchCommand.TonePlaySet);
222
215
  if (toneId === 0) {
223
216
  throw new import_safe.ZWaveError(`Tone ID must be > 0. Use stopPlaying to stop the tone.`, import_safe.ZWaveErrorCodes.Argument_Invalid);
@@ -252,7 +245,7 @@ let SoundSwitchCCAPI = (() => {
252
245
  return (0, import_safe3.pick)(response, ["toneId", "volume"]);
253
246
  }
254
247
  }
255
- get [import_API.SET_VALUE]() {
248
+ get [(_getToneInfo_decorators = [validateArgs_SoundSwitchCCAPI_getToneInfo()], _setConfiguration_decorators = [validateArgs_SoundSwitchCCAPI_setConfiguration()], _play_decorators = [validateArgs_SoundSwitchCCAPI_play()], import_API.SET_VALUE)]() {
256
249
  return async function({ property }, value, options) {
257
250
  if (property === "defaultToneId") {
258
251
  if (typeof value !== "number") {
@@ -309,6 +302,10 @@ let SoundSwitchCCAPI = (() => {
309
302
  }
310
303
  };
311
304
  }
305
+ constructor() {
306
+ super(...arguments);
307
+ __runInitializers(this, _instanceExtraInitializers);
308
+ }
312
309
  };
313
310
  return SoundSwitchCCAPI2 = _classThis;
314
311
  })();
@@ -319,6 +316,9 @@ let SoundSwitchCC = (() => {
319
316
  let _classThis;
320
317
  let _classSuper = import_CommandClass.CommandClass;
321
318
  var SoundSwitchCC2 = class extends _classSuper {
319
+ static {
320
+ __name(this, "SoundSwitchCC");
321
+ }
322
322
  static {
323
323
  _classThis = this;
324
324
  }
@@ -419,6 +419,9 @@ let SoundSwitchCCTonesNumberReport = (() => {
419
419
  let _classThis;
420
420
  let _classSuper = SoundSwitchCC;
421
421
  var SoundSwitchCCTonesNumberReport2 = class extends _classSuper {
422
+ static {
423
+ __name(this, "SoundSwitchCCTonesNumberReport");
424
+ }
422
425
  static {
423
426
  _classThis = this;
424
427
  }
@@ -462,6 +465,9 @@ let SoundSwitchCCTonesNumberGet = (() => {
462
465
  let _classThis;
463
466
  let _classSuper = SoundSwitchCC;
464
467
  var SoundSwitchCCTonesNumberGet2 = class extends _classSuper {
468
+ static {
469
+ __name(this, "SoundSwitchCCTonesNumberGet");
470
+ }
465
471
  static {
466
472
  _classThis = this;
467
473
  }
@@ -482,6 +488,9 @@ let SoundSwitchCCToneInfoReport = (() => {
482
488
  let _classThis;
483
489
  let _classSuper = SoundSwitchCC;
484
490
  var SoundSwitchCCToneInfoReport2 = class extends _classSuper {
491
+ static {
492
+ __name(this, "SoundSwitchCCToneInfoReport");
493
+ }
485
494
  static {
486
495
  _classThis = this;
487
496
  }
@@ -536,9 +545,9 @@ let SoundSwitchCCToneInfoReport = (() => {
536
545
  };
537
546
  return SoundSwitchCCToneInfoReport2 = _classThis;
538
547
  })();
539
- const testResponseForSoundSwitchToneInfoGet = (sent, received) => {
548
+ const testResponseForSoundSwitchToneInfoGet = /* @__PURE__ */ __name((sent, received) => {
540
549
  return received.toneId === sent.toneId;
541
- };
550
+ }, "testResponseForSoundSwitchToneInfoGet");
542
551
  let SoundSwitchCCToneInfoGet = (() => {
543
552
  let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.SoundSwitchCommand.ToneInfoGet), (0, import_CommandClassDecorators.expectedCCResponse)(SoundSwitchCCToneInfoReport, testResponseForSoundSwitchToneInfoGet)];
544
553
  let _classDescriptor;
@@ -546,6 +555,9 @@ let SoundSwitchCCToneInfoGet = (() => {
546
555
  let _classThis;
547
556
  let _classSuper = SoundSwitchCC;
548
557
  var SoundSwitchCCToneInfoGet2 = class extends _classSuper {
558
+ static {
559
+ __name(this, "SoundSwitchCCToneInfoGet");
560
+ }
549
561
  static {
550
562
  _classThis = this;
551
563
  }
@@ -589,6 +601,9 @@ let SoundSwitchCCConfigurationSet = (() => {
589
601
  let _classThis;
590
602
  let _classSuper = SoundSwitchCC;
591
603
  var SoundSwitchCCConfigurationSet2 = class extends _classSuper {
604
+ static {
605
+ __name(this, "SoundSwitchCCConfigurationSet");
606
+ }
592
607
  static {
593
608
  _classThis = this;
594
609
  }
@@ -639,6 +654,9 @@ let SoundSwitchCCConfigurationReport = (() => {
639
654
  let _classThis;
640
655
  let _classSuper = SoundSwitchCC;
641
656
  var SoundSwitchCCConfigurationReport2 = class extends _classSuper {
657
+ static {
658
+ __name(this, "SoundSwitchCCConfigurationReport");
659
+ }
642
660
  static {
643
661
  _classThis = this;
644
662
  }
@@ -689,6 +707,9 @@ let SoundSwitchCCConfigurationGet = (() => {
689
707
  let _classThis;
690
708
  let _classSuper = SoundSwitchCC;
691
709
  var SoundSwitchCCConfigurationGet2 = class extends _classSuper {
710
+ static {
711
+ __name(this, "SoundSwitchCCConfigurationGet");
712
+ }
692
713
  static {
693
714
  _classThis = this;
694
715
  }
@@ -709,6 +730,9 @@ let SoundSwitchCCTonePlaySet = (() => {
709
730
  let _classThis;
710
731
  let _classSuper = SoundSwitchCC;
711
732
  var SoundSwitchCCTonePlaySet2 = class extends _classSuper {
733
+ static {
734
+ __name(this, "SoundSwitchCCTonePlaySet");
735
+ }
712
736
  static {
713
737
  _classThis = this;
714
738
  }
@@ -765,6 +789,9 @@ let SoundSwitchCCTonePlayReport = (() => {
765
789
  let _classThis;
766
790
  let _classSuper = SoundSwitchCC;
767
791
  var SoundSwitchCCTonePlayReport2 = class extends _classSuper {
792
+ static {
793
+ __name(this, "SoundSwitchCCTonePlayReport");
794
+ }
768
795
  static {
769
796
  _classThis = this;
770
797
  }
@@ -821,6 +848,9 @@ let SoundSwitchCCTonePlayGet = (() => {
821
848
  let _classThis;
822
849
  let _classSuper = SoundSwitchCC;
823
850
  var SoundSwitchCCTonePlayGet2 = class extends _classSuper {
851
+ static {
852
+ __name(this, "SoundSwitchCCTonePlayGet");
853
+ }
824
854
  static {
825
855
  _classThis = this;
826
856
  }