@zwave-js/cc 15.21.1 → 15.22.0

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 (419) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +2 -2
  2. package/build/cjs/cc/AlarmSensorCC.js +18 -57
  3. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  4. package/build/cjs/cc/ApplicationStatusCC.js +9 -48
  5. package/build/cjs/cc/ApplicationStatusCC.js.map +1 -1
  6. package/build/cjs/cc/AssociationCC.d.ts +2 -2
  7. package/build/cjs/cc/AssociationCC.js +32 -71
  8. package/build/cjs/cc/AssociationCC.js.map +2 -2
  9. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +2 -2
  10. package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
  11. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  12. package/build/cjs/cc/BarrierOperatorCC.d.ts +2 -2
  13. package/build/cjs/cc/BarrierOperatorCC.js +28 -67
  14. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  15. package/build/cjs/cc/BasicCC.d.ts +2 -2
  16. package/build/cjs/cc/BasicCC.js +15 -54
  17. package/build/cjs/cc/BasicCC.js.map +2 -2
  18. package/build/cjs/cc/BasicWindowCoveringCC.js +12 -51
  19. package/build/cjs/cc/BasicWindowCoveringCC.js.map +1 -1
  20. package/build/cjs/cc/BatteryCC.d.ts +2 -2
  21. package/build/cjs/cc/BatteryCC.js +15 -54
  22. package/build/cjs/cc/BatteryCC.js.map +2 -2
  23. package/build/cjs/cc/BinarySensorCC.d.ts +2 -2
  24. package/build/cjs/cc/BinarySensorCC.js +19 -58
  25. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  26. package/build/cjs/cc/BinarySwitchCC.d.ts +2 -2
  27. package/build/cjs/cc/BinarySwitchCC.js +15 -54
  28. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  29. package/build/cjs/cc/CRC16CC.js +7 -46
  30. package/build/cjs/cc/CRC16CC.js.map +1 -1
  31. package/build/cjs/cc/CentralSceneCC.js +19 -58
  32. package/build/cjs/cc/CentralSceneCC.js.map +1 -1
  33. package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
  34. package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
  35. package/build/cjs/cc/ClockCC.d.ts +2 -2
  36. package/build/cjs/cc/ClockCC.js +15 -54
  37. package/build/cjs/cc/ClockCC.js.map +2 -2
  38. package/build/cjs/cc/ColorSwitchCC.d.ts +2 -2
  39. package/build/cjs/cc/ColorSwitchCC.js +26 -65
  40. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  41. package/build/cjs/cc/ConfigurationCC.d.ts +2 -2
  42. package/build/cjs/cc/ConfigurationCC.js +43 -82
  43. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  44. package/build/cjs/cc/DeviceResetLocallyCC.js +7 -46
  45. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  46. package/build/cjs/cc/DoorLockCC.d.ts +2 -2
  47. package/build/cjs/cc/DoorLockCC.js +26 -65
  48. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  49. package/build/cjs/cc/DoorLockLoggingCC.d.ts +2 -2
  50. package/build/cjs/cc/DoorLockLoggingCC.js +17 -56
  51. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  52. package/build/cjs/cc/EnergyProductionCC.d.ts +2 -2
  53. package/build/cjs/cc/EnergyProductionCC.js +13 -52
  54. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  55. package/build/cjs/cc/EntryControlCC.d.ts +2 -2
  56. package/build/cjs/cc/EntryControlCC.js +25 -64
  57. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  58. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +34 -73
  59. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  60. package/build/cjs/cc/HailCC.js +3 -42
  61. package/build/cjs/cc/HailCC.js.map +1 -1
  62. package/build/cjs/cc/HumidityControlModeCC.d.ts +2 -2
  63. package/build/cjs/cc/HumidityControlModeCC.js +19 -58
  64. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  65. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  66. package/build/cjs/cc/HumidityControlOperatingStateCC.js +11 -50
  67. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  68. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +2 -2
  69. package/build/cjs/cc/HumidityControlSetpointCC.js +30 -69
  70. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  71. package/build/cjs/cc/InclusionControllerCC.js +9 -48
  72. package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
  73. package/build/cjs/cc/IndicatorCC.d.ts +2 -2
  74. package/build/cjs/cc/IndicatorCC.js +31 -70
  75. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  76. package/build/cjs/cc/IrrigationCC.d.ts +2 -2
  77. package/build/cjs/cc/IrrigationCC.js +54 -93
  78. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  79. package/build/cjs/cc/LanguageCC.d.ts +2 -2
  80. package/build/cjs/cc/LanguageCC.js +15 -54
  81. package/build/cjs/cc/LanguageCC.js.map +2 -2
  82. package/build/cjs/cc/LockCC.d.ts +2 -2
  83. package/build/cjs/cc/LockCC.js +15 -54
  84. package/build/cjs/cc/LockCC.js.map +2 -2
  85. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
  86. package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -49
  87. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  88. package/build/cjs/cc/ManufacturerSpecificCC.js +16 -55
  89. package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
  90. package/build/cjs/cc/MeterCC.d.ts +2 -2
  91. package/build/cjs/cc/MeterCC.js +23 -62
  92. package/build/cjs/cc/MeterCC.js.map +2 -2
  93. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +2 -2
  94. package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
  95. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  96. package/build/cjs/cc/MultiChannelCC.js +34 -73
  97. package/build/cjs/cc/MultiChannelCC.js.map +1 -1
  98. package/build/cjs/cc/MultiCommandCC.js +9 -48
  99. package/build/cjs/cc/MultiCommandCC.js.map +1 -1
  100. package/build/cjs/cc/MultilevelSensorCC.d.ts +2 -2
  101. package/build/cjs/cc/MultilevelSensorCC.js +23 -62
  102. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  103. package/build/cjs/cc/MultilevelSwitchCC.d.ts +2 -2
  104. package/build/cjs/cc/MultilevelSwitchCC.js +24 -63
  105. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  106. package/build/cjs/cc/NoOperationCC.js +5 -44
  107. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  108. package/build/cjs/cc/NodeNamingCC.d.ts +2 -2
  109. package/build/cjs/cc/NodeNamingCC.js +22 -61
  110. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  111. package/build/cjs/cc/NotificationCC.d.ts +20 -3
  112. package/build/cjs/cc/NotificationCC.js +141 -104
  113. package/build/cjs/cc/NotificationCC.js.map +2 -2
  114. package/build/cjs/cc/PowerlevelCC.js +22 -61
  115. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  116. package/build/cjs/cc/ProtectionCC.d.ts +2 -2
  117. package/build/cjs/cc/ProtectionCC.js +33 -72
  118. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  119. package/build/cjs/cc/SceneActivationCC.js +9 -48
  120. package/build/cjs/cc/SceneActivationCC.js.map +1 -1
  121. package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
  122. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
  123. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +2 -2
  124. package/build/cjs/cc/SceneControllerConfigurationCC.js +17 -56
  125. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  126. package/build/cjs/cc/ScheduleEntryLockCC.js +46 -85
  127. package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
  128. package/build/cjs/cc/Security2CC.js +33 -72
  129. package/build/cjs/cc/Security2CC.js.map +1 -1
  130. package/build/cjs/cc/SecurityCC.js +27 -66
  131. package/build/cjs/cc/SecurityCC.js.map +1 -1
  132. package/build/cjs/cc/SoundSwitchCC.js +29 -68
  133. package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
  134. package/build/cjs/cc/SupervisionCC.js +9 -48
  135. package/build/cjs/cc/SupervisionCC.js.map +1 -1
  136. package/build/cjs/cc/ThermostatFanModeCC.d.ts +2 -2
  137. package/build/cjs/cc/ThermostatFanModeCC.js +19 -58
  138. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  139. package/build/cjs/cc/ThermostatFanStateCC.d.ts +2 -2
  140. package/build/cjs/cc/ThermostatFanStateCC.js +11 -50
  141. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  142. package/build/cjs/cc/ThermostatModeCC.d.ts +2 -2
  143. package/build/cjs/cc/ThermostatModeCC.js +19 -58
  144. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  145. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +2 -2
  146. package/build/cjs/cc/ThermostatOperatingStateCC.js +11 -50
  147. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  148. package/build/cjs/cc/ThermostatSetbackCC.d.ts +2 -2
  149. package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
  150. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  151. package/build/cjs/cc/ThermostatSetpointCC.d.ts +2 -2
  152. package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
  153. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  154. package/build/cjs/cc/TimeCC.js +24 -63
  155. package/build/cjs/cc/TimeCC.js.map +1 -1
  156. package/build/cjs/cc/TimeParametersCC.js +13 -52
  157. package/build/cjs/cc/TimeParametersCC.js.map +1 -1
  158. package/build/cjs/cc/TransportServiceCC.js +13 -52
  159. package/build/cjs/cc/TransportServiceCC.js.map +1 -1
  160. package/build/cjs/cc/UserCodeCC.d.ts +6 -4
  161. package/build/cjs/cc/UserCodeCC.js +89 -98
  162. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  163. package/build/cjs/cc/VersionCC.js +25 -64
  164. package/build/cjs/cc/VersionCC.js.map +1 -1
  165. package/build/cjs/cc/WakeUpCC.js +21 -60
  166. package/build/cjs/cc/WakeUpCC.js.map +1 -1
  167. package/build/cjs/cc/WindowCoveringCC.d.ts +2 -2
  168. package/build/cjs/cc/WindowCoveringCC.js +26 -65
  169. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  170. package/build/cjs/cc/ZWaveLongRangeCC.js +3 -42
  171. package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
  172. package/build/cjs/cc/ZWavePlusCC.js +11 -50
  173. package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
  174. package/build/cjs/cc/ZWaveProtocolCC.js +73 -112
  175. package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
  176. package/build/cjs/cc/_CCValues.generated.d.ts +131 -7
  177. package/build/cjs/cc/_CCValues.generated.js +68 -5
  178. package/build/cjs/cc/_CCValues.generated.js.map +2 -2
  179. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  180. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +22 -59
  181. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  182. package/build/cjs/lib/CommandClass.d.ts +6 -2
  183. package/build/cjs/lib/CommandClass.js +1 -1
  184. package/build/cjs/lib/CommandClass.js.map +2 -2
  185. package/build/cjs/lib/Security2/Extension.js +9 -48
  186. package/build/cjs/lib/Security2/Extension.js.map +1 -1
  187. package/build/cjs/lib/Values.d.ts +1 -1
  188. package/build/cjs/lib/Values.js.map +1 -1
  189. package/build/esm/cc/AlarmSensorCC.d.ts +2 -2
  190. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  191. package/build/esm/cc/AlarmSensorCC.js +9 -38
  192. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  193. package/build/esm/cc/ApplicationStatusCC.js +1 -34
  194. package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
  195. package/build/esm/cc/AssociationCC.d.ts +2 -2
  196. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  197. package/build/esm/cc/AssociationCC.js +3 -36
  198. package/build/esm/cc/AssociationCC.js.map +1 -1
  199. package/build/esm/cc/AssociationGroupInfoCC.d.ts +2 -2
  200. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  201. package/build/esm/cc/AssociationGroupInfoCC.js +5 -36
  202. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  203. package/build/esm/cc/BarrierOperatorCC.d.ts +2 -2
  204. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  205. package/build/esm/cc/BarrierOperatorCC.js +3 -36
  206. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  207. package/build/esm/cc/BasicCC.d.ts +2 -2
  208. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  209. package/build/esm/cc/BasicCC.js +3 -36
  210. package/build/esm/cc/BasicCC.js.map +1 -1
  211. package/build/esm/cc/BasicWindowCoveringCC.js +1 -34
  212. package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
  213. package/build/esm/cc/BatteryCC.d.ts +2 -2
  214. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  215. package/build/esm/cc/BatteryCC.js +3 -36
  216. package/build/esm/cc/BatteryCC.js.map +1 -1
  217. package/build/esm/cc/BinarySensorCC.d.ts +2 -2
  218. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  219. package/build/esm/cc/BinarySensorCC.js +3 -36
  220. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  221. package/build/esm/cc/BinarySwitchCC.d.ts +2 -2
  222. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  223. package/build/esm/cc/BinarySwitchCC.js +3 -36
  224. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  225. package/build/esm/cc/CRC16CC.js +1 -34
  226. package/build/esm/cc/CRC16CC.js.map +1 -1
  227. package/build/esm/cc/CentralSceneCC.js +1 -34
  228. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  229. package/build/esm/cc/ClimateControlScheduleCC.js +1 -34
  230. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  231. package/build/esm/cc/ClockCC.d.ts +2 -2
  232. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  233. package/build/esm/cc/ClockCC.js +3 -36
  234. package/build/esm/cc/ClockCC.js.map +1 -1
  235. package/build/esm/cc/ColorSwitchCC.d.ts +2 -2
  236. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  237. package/build/esm/cc/ColorSwitchCC.js +3 -36
  238. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  239. package/build/esm/cc/ConfigurationCC.d.ts +2 -2
  240. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  241. package/build/esm/cc/ConfigurationCC.js +3 -36
  242. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  243. package/build/esm/cc/DeviceResetLocallyCC.js +1 -34
  244. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  245. package/build/esm/cc/DoorLockCC.d.ts +2 -2
  246. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  247. package/build/esm/cc/DoorLockCC.js +3 -36
  248. package/build/esm/cc/DoorLockCC.js.map +1 -1
  249. package/build/esm/cc/DoorLockLoggingCC.d.ts +2 -2
  250. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  251. package/build/esm/cc/DoorLockLoggingCC.js +3 -36
  252. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  253. package/build/esm/cc/EnergyProductionCC.d.ts +2 -2
  254. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  255. package/build/esm/cc/EnergyProductionCC.js +3 -36
  256. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  257. package/build/esm/cc/EntryControlCC.d.ts +2 -2
  258. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  259. package/build/esm/cc/EntryControlCC.js +3 -36
  260. package/build/esm/cc/EntryControlCC.js.map +1 -1
  261. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -34
  262. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  263. package/build/esm/cc/HailCC.js +1 -34
  264. package/build/esm/cc/HailCC.js.map +1 -1
  265. package/build/esm/cc/HumidityControlModeCC.d.ts +2 -2
  266. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  267. package/build/esm/cc/HumidityControlModeCC.js +3 -36
  268. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  269. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  270. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  271. package/build/esm/cc/HumidityControlOperatingStateCC.js +3 -36
  272. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  273. package/build/esm/cc/HumidityControlSetpointCC.d.ts +2 -2
  274. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  275. package/build/esm/cc/HumidityControlSetpointCC.js +3 -36
  276. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  277. package/build/esm/cc/InclusionControllerCC.js +1 -34
  278. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  279. package/build/esm/cc/IndicatorCC.d.ts +2 -2
  280. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  281. package/build/esm/cc/IndicatorCC.js +3 -36
  282. package/build/esm/cc/IndicatorCC.js.map +1 -1
  283. package/build/esm/cc/IrrigationCC.d.ts +2 -2
  284. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  285. package/build/esm/cc/IrrigationCC.js +3 -36
  286. package/build/esm/cc/IrrigationCC.js.map +1 -1
  287. package/build/esm/cc/LanguageCC.d.ts +2 -2
  288. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  289. package/build/esm/cc/LanguageCC.js +3 -36
  290. package/build/esm/cc/LanguageCC.js.map +1 -1
  291. package/build/esm/cc/LockCC.d.ts +2 -2
  292. package/build/esm/cc/LockCC.d.ts.map +1 -1
  293. package/build/esm/cc/LockCC.js +3 -36
  294. package/build/esm/cc/LockCC.js.map +1 -1
  295. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
  296. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  297. package/build/esm/cc/ManufacturerProprietaryCC.js +3 -36
  298. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  299. package/build/esm/cc/ManufacturerSpecificCC.js +1 -34
  300. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  301. package/build/esm/cc/MeterCC.d.ts +2 -2
  302. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  303. package/build/esm/cc/MeterCC.js +3 -36
  304. package/build/esm/cc/MeterCC.js.map +1 -1
  305. package/build/esm/cc/MultiChannelAssociationCC.d.ts +2 -2
  306. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  307. package/build/esm/cc/MultiChannelAssociationCC.js +4 -37
  308. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  309. package/build/esm/cc/MultiChannelCC.js +1 -34
  310. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  311. package/build/esm/cc/MultiCommandCC.js +1 -34
  312. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  313. package/build/esm/cc/MultilevelSensorCC.d.ts +2 -2
  314. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  315. package/build/esm/cc/MultilevelSensorCC.js +3 -36
  316. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  317. package/build/esm/cc/MultilevelSwitchCC.d.ts +2 -2
  318. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  319. package/build/esm/cc/MultilevelSwitchCC.js +3 -36
  320. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  321. package/build/esm/cc/NoOperationCC.js +1 -34
  322. package/build/esm/cc/NoOperationCC.js.map +1 -1
  323. package/build/esm/cc/NodeNamingCC.d.ts +2 -2
  324. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  325. package/build/esm/cc/NodeNamingCC.js +3 -36
  326. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  327. package/build/esm/cc/NotificationCC.d.ts +20 -3
  328. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  329. package/build/esm/cc/NotificationCC.js +143 -89
  330. package/build/esm/cc/NotificationCC.js.map +1 -1
  331. package/build/esm/cc/PowerlevelCC.js +1 -34
  332. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  333. package/build/esm/cc/ProtectionCC.d.ts +2 -2
  334. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  335. package/build/esm/cc/ProtectionCC.js +3 -36
  336. package/build/esm/cc/ProtectionCC.js.map +1 -1
  337. package/build/esm/cc/SceneActivationCC.js +1 -34
  338. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  339. package/build/esm/cc/SceneActuatorConfigurationCC.js +1 -34
  340. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  341. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +2 -2
  342. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  343. package/build/esm/cc/SceneControllerConfigurationCC.js +3 -36
  344. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  345. package/build/esm/cc/ScheduleEntryLockCC.js +1 -34
  346. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  347. package/build/esm/cc/Security2CC.js +1 -34
  348. package/build/esm/cc/Security2CC.js.map +1 -1
  349. package/build/esm/cc/SecurityCC.js +1 -34
  350. package/build/esm/cc/SecurityCC.js.map +1 -1
  351. package/build/esm/cc/SoundSwitchCC.js +1 -34
  352. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  353. package/build/esm/cc/SupervisionCC.js +1 -34
  354. package/build/esm/cc/SupervisionCC.js.map +1 -1
  355. package/build/esm/cc/ThermostatFanModeCC.d.ts +2 -2
  356. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  357. package/build/esm/cc/ThermostatFanModeCC.js +3 -36
  358. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  359. package/build/esm/cc/ThermostatFanStateCC.d.ts +2 -2
  360. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  361. package/build/esm/cc/ThermostatFanStateCC.js +3 -36
  362. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  363. package/build/esm/cc/ThermostatModeCC.d.ts +2 -2
  364. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  365. package/build/esm/cc/ThermostatModeCC.js +3 -36
  366. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  367. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +2 -2
  368. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  369. package/build/esm/cc/ThermostatOperatingStateCC.js +3 -36
  370. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  371. package/build/esm/cc/ThermostatSetbackCC.d.ts +2 -2
  372. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  373. package/build/esm/cc/ThermostatSetbackCC.js +3 -36
  374. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  375. package/build/esm/cc/ThermostatSetpointCC.d.ts +2 -2
  376. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  377. package/build/esm/cc/ThermostatSetpointCC.js +3 -36
  378. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  379. package/build/esm/cc/TimeCC.js +1 -34
  380. package/build/esm/cc/TimeCC.js.map +1 -1
  381. package/build/esm/cc/TimeParametersCC.js +1 -34
  382. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  383. package/build/esm/cc/TransportServiceCC.js +1 -34
  384. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  385. package/build/esm/cc/UserCodeCC.d.ts +6 -4
  386. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  387. package/build/esm/cc/UserCodeCC.js +55 -48
  388. package/build/esm/cc/UserCodeCC.js.map +1 -1
  389. package/build/esm/cc/VersionCC.js +1 -34
  390. package/build/esm/cc/VersionCC.js.map +1 -1
  391. package/build/esm/cc/WakeUpCC.js +1 -34
  392. package/build/esm/cc/WakeUpCC.js.map +1 -1
  393. package/build/esm/cc/WindowCoveringCC.d.ts +2 -2
  394. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  395. package/build/esm/cc/WindowCoveringCC.js +3 -36
  396. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  397. package/build/esm/cc/ZWaveLongRangeCC.js +1 -34
  398. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  399. package/build/esm/cc/ZWavePlusCC.js +1 -34
  400. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  401. package/build/esm/cc/ZWaveProtocolCC.js +1 -34
  402. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  403. package/build/esm/cc/_CCValues.generated.d.ts +131 -7
  404. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  405. package/build/esm/cc/_CCValues.generated.js +71 -4
  406. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  407. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  408. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  409. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +7 -38
  410. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  411. package/build/esm/lib/CommandClass.d.ts +6 -2
  412. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  413. package/build/esm/lib/CommandClass.js +1 -1
  414. package/build/esm/lib/CommandClass.js.map +1 -1
  415. package/build/esm/lib/Security2/Extension.js +1 -34
  416. package/build/esm/lib/Security2/Extension.js.map +1 -1
  417. package/build/esm/lib/Values.d.ts +1 -1
  418. package/build/esm/lib/Values.d.ts.map +1 -1
  419. package/package.json +9 -8
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/SecurityCC.ts"],
4
4
  "sourcesContent": ["import { CommandClasses, EncapsulationFlags, type GetNode, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, SecurityClass, type SecurityManager, type SupportsCC, TransmitOptions, type WithAddress, ZWaveError, ZWaveErrorCodes, computeMAC, decryptAES128OFB, encodeCCList, encryptAES128OFB, generateAuthKey, generateEncryptionKey, getCCName, isTransmissionError, parseCCList, randomBytes, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView, buffer2hex, num2hex, pick, } from \"@zwave-js/shared\";\nimport { wait } from \"alcalzone-shared/async\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { SecurityCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { CRC16CC } from \"./CRC16CC.js\";\nimport { Security2CC } from \"./Security2CC.js\";\nimport { TransportServiceCC } from \"./TransportServiceCC.js\";\n// @noSetValueAPI This is an encapsulation CC\nfunction getAuthenticationData(senderNonce: BytesView, receiverNonce: BytesView, ccCommand: SecurityCommand, sendingNodeId: number, receivingNodeId: number, encryptedPayload: BytesView): BytesView {\n return Bytes.concat([\n senderNonce,\n receiverNonce,\n [\n ccCommand,\n sendingNodeId,\n receivingNodeId,\n encryptedPayload.length,\n ],\n encryptedPayload,\n ]);\n}\nfunction throwNoNonce(reason?: string): never {\n let message = `Security CC requires a nonce to be sent!`;\n if (reason)\n message += ` Reason: ${reason}`;\n throw new ZWaveError(message, ZWaveErrorCodes.SecurityCC_NoNonce);\n}\nconst HALF_NONCE_SIZE = 8;\nfunction assertSecurityRX(ctx: CCParsingContext): asserts ctx is CCParsingContext & {\n securityManager: SecurityManager;\n} {\n if (!ctx.ownNodeId) {\n throw new ZWaveError(`Secure commands (S0) can only be decoded when the controller's node id is known!`, ZWaveErrorCodes.Driver_NotReady);\n }\n if (!ctx.securityManager) {\n throw new ZWaveError(`Secure commands (S0) can only be decoded when the security manager is set up!`, ZWaveErrorCodes.Driver_NoSecurity);\n }\n}\nfunction assertSecurityTX(ctx: CCEncodingContext): asserts ctx is CCEncodingContext & {\n securityManager: SecurityManager;\n} {\n if (!ctx.ownNodeId) {\n throw new ZWaveError(`Secure commands (S0) can only be sent when the controller's node id is known!`, ZWaveErrorCodes.Driver_NotReady);\n }\n if (!ctx.securityManager) {\n throw new ZWaveError(`Secure commands (S0) can only be sent when the security manager is set up!`, ZWaveErrorCodes.Driver_NoSecurity);\n }\n}\n// TODO: Ignore commands if received via multicast\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@API(CommandClasses.Security)\nexport class SecurityCCAPI extends PhysicalCCAPI {\n public supportsCommand(_cmd: SecurityCommand): MaybeNotKnown<boolean> {\n // All commands are mandatory\n return true;\n }\n public async sendEncapsulated(encapsulated: CommandClass, requestNextNonce: boolean = false): Promise<void> {\n if (requestNextNonce) {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandEncapsulation);\n }\n else {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandEncapsulationNonceGet);\n }\n const cc = new (requestNextNonce\n ? SecurityCCCommandEncapsulationNonceGet\n : SecurityCCCommandEncapsulation)({\n nodeId: this.endpoint.nodeId,\n encapsulated,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.\n */\n public async getNonce(): Promise<BytesView | undefined> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceGet);\n const cc = new SecurityCCNonceGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<SecurityCCNonceReport>(cc, {\n ...this.commandOptions,\n // Only try getting a nonce once\n maxSendAttempts: 1,\n });\n if (!response)\n return;\n const nonce = response.nonce;\n const secMan = this.host.securityManager!;\n secMan.setNonce({\n issuer: this.endpoint.nodeId,\n nonceId: secMan.getNonceId(nonce),\n }, { nonce, receiver: this.host.ownNodeId }, { free: true });\n return nonce;\n }\n /**\n * Responds to a NonceGet request. The message is sent without any retransmission etc.\n * The return value indicates whether a nonce was successfully sent\n */\n public async sendNonce(): Promise<boolean> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceReport);\n if (!this.host.securityManager) {\n throw new ZWaveError(`Nonces can only be sent if secure communication is set up!`, ZWaveErrorCodes.Driver_NoSecurity);\n }\n const nonce = this.host.securityManager.generateNonce(this.endpoint.nodeId, HALF_NONCE_SIZE);\n const nonceId = this.host.securityManager.getNonceId(nonce);\n const cc = new SecurityCCNonceReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n nonce,\n });\n try {\n await this.host.sendCommand(cc, {\n ...this.commandOptions,\n // Seems we need these options or some nodes won't accept the nonce\n transmitOptions: TransmitOptions.ACK\n | TransmitOptions.AutoRoute,\n // Only try sending a nonce once\n maxSendAttempts: 1,\n // Nonce requests must be handled immediately\n priority: MessagePriority.Immediate,\n // We don't want failures causing us to treat the node as asleep or dead\n changeNodeStatusOnMissingACK: false,\n });\n }\n catch (e) {\n if (isTransmissionError(e)) {\n // The nonce could not be sent, invalidate it\n this.host.securityManager.deleteNonce(nonceId);\n return false;\n }\n else {\n // Pass other errors through\n throw e;\n }\n }\n return true;\n }\n public async getSecurityScheme(): Promise<[\n 0\n ]> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeGet);\n const cc = new SecurityCCSchemeGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n // There is only one scheme, so we hardcode it\n return [0];\n }\n public async reportSecurityScheme(encapsulated: boolean): Promise<void> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeReport);\n let cc: CommandClass = new SecurityCCSchemeReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n if (encapsulated) {\n cc = new SecurityCCCommandEncapsulation({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n encapsulated: cc,\n });\n }\n await this.host.sendCommand(cc, this.commandOptions);\n }\n public async inheritSecurityScheme(): Promise<void> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeInherit);\n const cc = new SecurityCCSchemeInherit({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n // There is only one scheme, so we don't return anything here\n }\n public async setNetworkKey(networkKey: BytesView): Promise<void> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.NetworkKeySet);\n const keySet = new SecurityCCNetworkKeySet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n networkKey,\n });\n const cc = new SecurityCCCommandEncapsulation({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n encapsulated: keySet,\n alternativeNetworkKey: new Uint8Array(16).fill(0),\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n public async verifyNetworkKey(): Promise<void> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.NetworkKeyVerify);\n const cc = new SecurityCCNetworkKeyVerify({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getSupportedCommands() {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandsSupportedGet);\n const cc = new SecurityCCCommandsSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<SecurityCCCommandsSupportedReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"supportedCCs\", \"controlledCCs\"]);\n }\n }\n public async reportSupportedCommands(supportedCCs: CommandClasses[], controlledCCs: CommandClasses[]): Promise<void> {\n this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandsSupportedReport);\n const cc = new SecurityCCCommandsSupportedReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n supportedCCs,\n controlledCCs,\n reportsToFollow: 0,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses.Security)\n@implementedVersion(1)\nexport class SecurityCC extends CommandClass {\n declare ccCommand: SecurityCommand;\n // Force singlecast for the Security CC\n declare nodeId: number;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Security, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n message: \"Querying securely supported commands (S0)...\",\n direction: \"outbound\",\n });\n let supportedCCs: CommandClasses[] | undefined;\n let controlledCCs: CommandClasses[] | undefined;\n // 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 const MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;\n for (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {\n const resp = await api.getSupportedCommands();\n if (resp) {\n supportedCCs = resp.supportedCCs;\n controlledCCs = resp.controlledCCs;\n break;\n }\n else if (attempts < MAX_ATTEMPTS) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,\n level: \"warn\",\n });\n await wait(500);\n }\n }\n if (!supportedCCs || !controlledCCs) {\n if (node.hasSecurityClass(SecurityClass.S0_Legacy) === true) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying securely supported commands (S0) failed\",\n level: \"warn\",\n });\n // TODO: Abort interview?\n }\n else {\n // We didn't know if the node was secure and it didn't respond,\n // assume that it doesn't have the S0 security class\n ctx.logNode(node.id, `The node was not granted the S0 security class. Continuing interview non-securely.`);\n node.setSecurityClass(SecurityClass.S0_Legacy, false);\n }\n return;\n }\n const logLines: string[] = [\n \"received secure commands (S0)\",\n \"supported CCs:\",\n ];\n for (const cc of supportedCCs) {\n logLines.push(`\u00B7 ${getCCName(cc)}`);\n }\n logLines.push(\"controlled CCs:\");\n for (const cc of controlledCCs) {\n logLines.push(`\u00B7 ${getCCName(cc)}`);\n }\n ctx.logNode(node.id, {\n message: logLines.join(\"\\n\"),\n direction: \"inbound\",\n });\n // Remember which commands are supported securely\n for (const cc of supportedCCs) {\n // Basic CC has special rules for when it is considered supported\n // Therefore we mark all other CCs as supported, but not Basic CC,\n // for which support is determined later.\n if (cc === CommandClasses.Basic) {\n endpoint.addCC(cc, { secure: true });\n }\n else {\n endpoint.addCC(cc, {\n isSupported: true,\n secure: true,\n });\n }\n }\n for (const cc of controlledCCs) {\n // Basic CC has special rules for when it is considered supported\n // Therefore we mark all other CCs as supported, but not Basic CC,\n // for which support is determined later.\n if (cc === CommandClasses.Basic) {\n endpoint.addCC(cc, { secure: true });\n }\n else {\n endpoint.addCC(cc, {\n isControlled: true,\n secure: true,\n });\n }\n }\n // We know for sure that the node is included securely\n if (node.hasSecurityClass(SecurityClass.S0_Legacy) !== true) {\n node.setSecurityClass(SecurityClass.S0_Legacy, true);\n ctx.logNode(node.id, `The node was granted the S0 security class`);\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n /** Tests if a command should be sent secure and thus requires encapsulation */\n public static requiresEncapsulation(cc: CommandClass): boolean {\n // No security flag -> no encapsulation\n if (!(cc.encapsulationFlags & EncapsulationFlags.Security)) {\n return false;\n }\n // S2, CRC16, Transport Service -> no S2 encapsulation\n if (cc instanceof Security2CC\n || cc instanceof CRC16CC\n || cc instanceof TransportServiceCC) {\n return false;\n }\n // S0: check command\n if (cc instanceof SecurityCC) {\n switch (cc.ccCommand) {\n // Already encapsulated\n case SecurityCommand.CommandEncapsulation:\n case SecurityCommand.CommandEncapsulationNonceGet:\n // Cannot be sent encapsulated:\n case SecurityCommand.NonceGet:\n case SecurityCommand.NonceReport:\n case SecurityCommand.SchemeGet:\n case SecurityCommand.SchemeReport:\n return false;\n default:\n // All other commands must be encapsulated\n return true;\n }\n }\n // Everything else needs to be encapsulated if the CC is secure\n return true;\n }\n /** Encapsulates a command that should be sent encrypted */\n public static encapsulate(ownNodeId: number, securityManager: SecurityManager, cc: CommandClass): SecurityCCCommandEncapsulation {\n // TODO: When to return a SecurityCCCommandEncapsulationNonceGet?\n const ret = new SecurityCCCommandEncapsulation({\n nodeId: cc.nodeId,\n encapsulated: cc,\n });\n // Copy the encapsulation flags from the encapsulated command\n // but omit Security, since we're doing that right now\n ret.encapsulationFlags = cc.encapsulationFlags\n & ~EncapsulationFlags.Security;\n return ret;\n }\n}\ninterface SecurityCCNonceReportOptions {\n nonce: BytesView;\n}\n@CCCommand(SecurityCommand.NonceReport)\nexport class SecurityCCNonceReport extends SecurityCC {\n constructor(options: WithAddress<SecurityCCNonceReportOptions>) {\n super(options);\n if (options.nonce.length !== HALF_NONCE_SIZE) {\n throw new ZWaveError(`Nonce must have length ${HALF_NONCE_SIZE}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nonce = options.nonce;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SecurityCCNonceReport {\n validatePayload.withReason(\"Invalid nonce length\")(raw.payload.length === HALF_NONCE_SIZE);\n return new this({\n nodeId: ctx.sourceNodeId,\n nonce: raw.payload,\n });\n }\n public nonce: BytesView;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.view(this.nonce);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { nonce: buffer2hex(this.nonce) },\n };\n }\n}\n@CCCommand(SecurityCommand.NonceGet)\n@expectedCCResponse(SecurityCCNonceReport)\nexport class SecurityCCNonceGet extends SecurityCC {\n}\n// @publicAPI\nexport type SecurityCCCommandEncapsulationOptions = {\n alternativeNetworkKey?: BytesView;\n} & ({\n encapsulated: CommandClass;\n} | {\n decryptedCCBytes: BytesView;\n sequenced: boolean;\n secondFrame: boolean;\n sequenceCounter: number;\n});\nfunction getCCResponseForCommandEncapsulation(ctx: GetNode<NodeId & SupportsCC>, sent: SecurityCCCommandEncapsulation) {\n if (sent.encapsulated.expectsCCResponse(ctx)) {\n return SecurityCCCommandEncapsulation;\n }\n}\n@CCCommand(SecurityCommand.CommandEncapsulation)\n@expectedCCResponse(getCCResponseForCommandEncapsulation, () => \"checkEncapsulated\")\nexport class SecurityCCCommandEncapsulation extends SecurityCC {\n public constructor(options: WithAddress<SecurityCCCommandEncapsulationOptions>) {\n super(options);\n if (\"encapsulated\" in options) {\n this.encapsulated = options.encapsulated;\n this.encapsulated.encapsulatingCC = this as any;\n }\n else {\n this.decryptedCCBytes = options.decryptedCCBytes;\n this.sequenced = options.sequenced;\n this.secondFrame = options.secondFrame;\n this.sequenceCounter = options.sequenceCounter;\n }\n this.alternativeNetworkKey = options.alternativeNetworkKey;\n }\n public static async from(raw: CCRaw, ctx: CCParsingContext): Promise<SecurityCCCommandEncapsulation> {\n assertSecurityRX(ctx);\n // HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n validatePayload(raw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8);\n const iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n const encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n const nonceId = raw.payload.at(-9)!;\n const authCode = raw.payload.subarray(-8);\n // Retrieve the used nonce from the nonce store\n const nonce = ctx.securityManager.getNonce(nonceId);\n // Only accept the message if the nonce hasn't expired\n if (!nonce) {\n validatePayload.fail(`Nonce ${num2hex(nonceId)} expired, cannot decode security encapsulated command.`);\n }\n // and mark the nonce as used\n ctx.securityManager.deleteNonce(nonceId);\n // Validate the encrypted data\n const authData = getAuthenticationData(iv, nonce, SecurityCommand.CommandEncapsulation, ctx.sourceNodeId, ctx.ownNodeId, encryptedPayload);\n const expectedAuthCode = await computeMAC(authData, await ctx.securityManager.getAuthKey());\n // Only accept messages with a correct auth code\n validatePayload.withReason(\"Invalid auth code, won't accept security encapsulated command.\")(authCode.equals(expectedAuthCode));\n // Decrypt the encapsulated CC\n const frameControlAndDecryptedCC = await decryptAES128OFB(encryptedPayload, await ctx.securityManager.getEncryptionKey(), Bytes.concat([iv, nonce]));\n const frameControl = frameControlAndDecryptedCC[0];\n const sequenceCounter = frameControl & 0b1111;\n const sequenced = !!(frameControl & 16);\n const secondFrame = !!(frameControl & 32);\n const decryptedCCBytes: BytesView | undefined = frameControlAndDecryptedCC\n .subarray(1);\n const ret = new SecurityCCCommandEncapsulation({\n nodeId: ctx.sourceNodeId,\n sequenceCounter,\n sequenced,\n secondFrame,\n decryptedCCBytes,\n });\n ret.authData = authData;\n ret.authCode = authCode;\n ret.iv = iv;\n return ret;\n }\n private sequenced: boolean | undefined;\n private secondFrame: boolean | undefined;\n private sequenceCounter: number | undefined;\n private decryptedCCBytes: BytesView | undefined;\n public encapsulated!: CommandClass;\n private alternativeNetworkKey?: BytesView;\n public get nonceId(): number | undefined {\n return this.nonce?.[0];\n }\n public nonce: BytesView | undefined;\n // Only used testing/for debugging purposes\n private iv?: BytesView;\n private authData?: BytesView;\n private authCode?: BytesView;\n private ciphertext?: BytesView;\n public getPartialCCSessionId(): Record<string, any> | undefined {\n if (this.sequenced) {\n return {\n // Treat Encapsulation and EncapsulationNonceGet as one\n ccCommand: undefined,\n sequence: this.sequenceCounter,\n };\n }\n else {\n return {\n // Treat Encapsulation and EncapsulationNonceGet as one\n ccCommand: undefined,\n };\n }\n }\n public expectMoreMessages(): boolean {\n return !!this.sequenced && !this.secondFrame;\n }\n public async mergePartialCCs(partials: SecurityCCCommandEncapsulation[], ctx: CCParsingContext): Promise<void> {\n // Concat the CC buffers\n this.decryptedCCBytes = Bytes.concat([...partials, this].map((cc) => cc.decryptedCCBytes!));\n // make sure this contains a complete CC command that's worth splitting\n validatePayload(this.decryptedCCBytes.length >= 2);\n // and deserialize the CC\n this.encapsulated = await CommandClass.parse(this.decryptedCCBytes, ctx);\n this.encapsulated.encapsulatingCC = this as any;\n }\n public async serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (!this.nonce)\n throwNoNonce();\n if (this.nonce.length !== HALF_NONCE_SIZE) {\n throwNoNonce(\"Invalid nonce size\");\n }\n assertSecurityTX(ctx);\n let authKey: BytesView;\n let encryptionKey: BytesView;\n if (this.alternativeNetworkKey) {\n authKey = await generateAuthKey(this.alternativeNetworkKey);\n encryptionKey = await generateEncryptionKey(this.alternativeNetworkKey);\n }\n else {\n authKey = await ctx.securityManager.getAuthKey();\n encryptionKey = await ctx.securityManager.getEncryptionKey();\n }\n const serializedCC = await this.encapsulated.serialize(ctx);\n const plaintext = Bytes.concat([\n [0], // TODO: frame control\n serializedCC,\n ]);\n // Encrypt the payload\n const senderNonce = randomBytes(HALF_NONCE_SIZE);\n const iv = Bytes.concat([senderNonce, this.nonce]);\n const ciphertext = await encryptAES128OFB(plaintext, encryptionKey, iv);\n // And generate the auth code\n const authData = getAuthenticationData(senderNonce, this.nonce, this.ccCommand, ctx.ownNodeId, this.nodeId, ciphertext);\n const authCode = await computeMAC(authData, authKey);\n // Remember for debugging purposes\n this.iv = iv;\n this.authData = authData;\n this.authCode = authCode;\n this.ciphertext = ciphertext;\n this.payload = Bytes.concat([\n senderNonce,\n ciphertext,\n [this.nonceId!],\n authCode,\n ]);\n return super.serialize(ctx);\n }\n protected computeEncapsulationOverhead(): number {\n // Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC\n return super.computeEncapsulationOverhead() + 18;\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.nonceId != undefined) {\n message[\"nonce id\"] = this.nonceId;\n }\n if (this.sequenced != undefined) {\n message.sequenced = this.sequenced;\n if (this.sequenced) {\n if (this.secondFrame != undefined) {\n message[\"second frame\"] = this.secondFrame;\n }\n if (this.sequenceCounter != undefined) {\n message[\"sequence counter\"] = this.sequenceCounter;\n }\n }\n }\n // Log the plaintext in integration tests and development mode\n if (process.env.NODE_ENV === \"test\"\n || process.env.NODE_ENV === \"development\") {\n if (this.iv) {\n message.IV = buffer2hex(this.iv);\n }\n if (this.ciphertext) {\n message.ciphertext = buffer2hex(this.ciphertext);\n }\n else if (this.decryptedCCBytes) {\n message.plaintext = buffer2hex(this.decryptedCCBytes);\n }\n if (this.authData) {\n message[\"auth data\"] = buffer2hex(this.authData);\n }\n if (this.authCode) {\n message[\"auth code\"] = buffer2hex(this.authCode);\n }\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// This is the same message, but with another CC command\n@CCCommand(SecurityCommand.CommandEncapsulationNonceGet)\nexport class SecurityCCCommandEncapsulationNonceGet extends SecurityCCCommandEncapsulation {\n}\n@CCCommand(SecurityCommand.SchemeReport)\nexport class SecurityCCSchemeReport extends SecurityCC {\n public static from(raw: CCRaw, ctx: CCParsingContext): SecurityCCSchemeReport {\n validatePayload(raw.payload.length >= 1);\n // The including controller MUST NOT perform any validation of the Supported Security Schemes byte\n return new this({\n nodeId: ctx.sourceNodeId,\n });\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n // Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n this.payload = Bytes.from([0]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n // Hide the default payload line\n message: undefined,\n };\n }\n}\n@CCCommand(SecurityCommand.SchemeGet)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeGet extends SecurityCC {\n public static from(raw: CCRaw, ctx: CCParsingContext): SecurityCCSchemeGet {\n validatePayload(raw.payload.length >= 1);\n // The joining node MUST NOT perform any validation of the Supported Security Schemes byte\n return new this({\n nodeId: ctx.sourceNodeId,\n });\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n // Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n this.payload = Bytes.from([0]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n // Hide the default payload line\n message: undefined,\n };\n }\n}\n@CCCommand(SecurityCommand.SchemeInherit)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeInherit extends SecurityCC {\n public static from(raw: CCRaw, ctx: CCParsingContext): SecurityCCSchemeInherit {\n validatePayload(raw.payload.length >= 1);\n // The joining node MUST NOT perform any validation of the Supported Security Schemes byte\n return new this({\n nodeId: ctx.sourceNodeId,\n });\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n // Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n this.payload = Bytes.from([0]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n // Hide the default payload line\n message: undefined,\n };\n }\n}\n@CCCommand(SecurityCommand.NetworkKeyVerify)\nexport class SecurityCCNetworkKeyVerify extends SecurityCC {\n}\n// @publicAPI\nexport interface SecurityCCNetworkKeySetOptions {\n networkKey: BytesView;\n}\n@CCCommand(SecurityCommand.NetworkKeySet)\n@expectedCCResponse(SecurityCCNetworkKeyVerify)\nexport class SecurityCCNetworkKeySet extends SecurityCC {\n public constructor(options: WithAddress<SecurityCCNetworkKeySetOptions>) {\n super(options);\n if (options.networkKey.length !== 16) {\n throw new ZWaveError(`The network key must have length 16!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.networkKey = options.networkKey;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SecurityCCNetworkKeySet {\n validatePayload(raw.payload.length >= 16);\n const networkKey: BytesView = raw.payload.subarray(0, 16);\n return new this({\n nodeId: ctx.sourceNodeId,\n networkKey,\n });\n }\n public networkKey: BytesView;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.view(this.networkKey);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n // The network key shouldn't be logged, so users can safely post their logs online\n const { message, ...log } = super.toLogEntry(ctx);\n return log;\n }\n}\n// @publicAPI\nexport interface SecurityCCCommandsSupportedReportOptions {\n reportsToFollow?: number;\n supportedCCs: CommandClasses[];\n controlledCCs: CommandClasses[];\n}\n@CCCommand(SecurityCommand.CommandsSupportedReport)\nexport class SecurityCCCommandsSupportedReport extends SecurityCC {\n public constructor(options: WithAddress<SecurityCCCommandsSupportedReportOptions>) {\n super(options);\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs;\n // TODO: properly split the CCs into multiple reports\n this.reportsToFollow = options.reportsToFollow ?? 0;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SecurityCCCommandsSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const reportsToFollow = raw.payload[0];\n const list = parseCCList(raw.payload.subarray(1));\n const supportedCCs: CommandClasses[] = list.supportedCCs;\n const controlledCCs: CommandClasses[] = list.controlledCCs;\n return new this({\n nodeId: ctx.sourceNodeId,\n reportsToFollow,\n supportedCCs,\n controlledCCs,\n });\n }\n public reportsToFollow: number;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public getPartialCCSessionId(): Record<string, any> | undefined {\n // Nothing special we can distinguish sessions with\n return {};\n }\n public expectMoreMessages(): boolean {\n return this.reportsToFollow > 0;\n }\n public mergePartialCCs(partials: SecurityCCCommandsSupportedReport[]): Promise<void> {\n // Concat the lists of CCs\n this.supportedCCs = [...partials, this]\n .map((report) => report.supportedCCs)\n .reduce((prev, cur) => prev.concat(...cur), []);\n this.controlledCCs = [...partials, this]\n .map((report) => report.controlledCCs)\n .reduce((prev, cur) => prev.concat(...cur), []);\n return Promise.resolve();\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.reportsToFollow],\n encodeCCList(this.supportedCCs, this.controlledCCs),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n reportsToFollow: this.reportsToFollow,\n supportedCCs: this.supportedCCs\n .map((cc) => getCCName(cc))\n .map((cc) => `\\n\u00B7 ${cc}`)\n .join(\"\"),\n controlledCCs: this.controlledCCs\n .map((cc) => getCCName(cc))\n .map((cc) => `\\n\u00B7 ${cc}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(SecurityCommand.CommandsSupportedGet)\n@expectedCCResponse(SecurityCCCommandsSupportedReport)\nexport class SecurityCCCommandsSupportedGet extends SecurityCC {\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["SecurityCC", "SecurityCCCommandEncapsulation"]
7
7
  }
@@ -44,6 +44,7 @@ __export(SoundSwitchCC_exports, {
44
44
  SoundSwitchCCValues: () => import_CCValues_generated.SoundSwitchCCValues
45
45
  });
46
46
  module.exports = __toCommonJS(SoundSwitchCC_exports);
47
+ var import_tslib = require("tslib");
47
48
  var __validateArgs = __toESM(require("./SoundSwitchCC._validateArgs.js"), 1);
48
49
  var import_core = require("@zwave-js/core");
49
50
  var import_shared = require("@zwave-js/shared");
@@ -53,46 +54,6 @@ var import_CommandClass = require("../lib/CommandClass.js");
53
54
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
54
55
  var import_Types = require("../lib/_Types.js");
55
56
  var import_CCValues_generated = require("./_CCValues.generated.js");
56
- var __runInitializers = function(thisArg, initializers, value) {
57
- var useValue = arguments.length > 2;
58
- for (var i = 0; i < initializers.length; i++) {
59
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
60
- }
61
- return useValue ? value : void 0;
62
- };
63
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
64
- function accept(f) {
65
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
66
- return f;
67
- }
68
- __name(accept, "accept");
69
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
70
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
71
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
72
- var _, done = false;
73
- for (var i = decorators.length - 1; i >= 0; i--) {
74
- var context = {};
75
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
76
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
77
- context.addInitializer = function(f) {
78
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
79
- extraInitializers.push(accept(f || null));
80
- };
81
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
82
- if (kind === "accessor") {
83
- if (result === void 0) continue;
84
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
85
- if (_ = accept(result.get)) descriptor.get = _;
86
- if (_ = accept(result.set)) descriptor.set = _;
87
- if (_ = accept(result.init)) initializers.unshift(_);
88
- } else if (_ = accept(result)) {
89
- if (kind === "field") initializers.unshift(_);
90
- else descriptor[key] = _;
91
- }
92
- }
93
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
94
- done = true;
95
- };
96
57
  const { validateArgs_SoundSwitchCCAPI_getToneInfo, validateArgs_SoundSwitchCCAPI_setConfiguration, validateArgs_SoundSwitchCCAPI_play } = __validateArgs;
97
58
  let SoundSwitchCCAPI = (() => {
98
59
  let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses["Sound Switch"])];
@@ -113,13 +74,13 @@ let SoundSwitchCCAPI = (() => {
113
74
  }
114
75
  static {
115
76
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
116
- __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);
117
- __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);
118
- __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);
119
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
77
+ (0, import_tslib.__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);
78
+ (0, import_tslib.__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);
79
+ (0, import_tslib.__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);
80
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
120
81
  SoundSwitchCCAPI2 = _classThis = _classDescriptor.value;
121
82
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
122
- __runInitializers(_classThis, _classExtraInitializers);
83
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
123
84
  }
124
85
  supportsCommand(cmd) {
125
86
  switch (cmd) {
@@ -270,7 +231,7 @@ let SoundSwitchCCAPI = (() => {
270
231
  }
271
232
  constructor() {
272
233
  super(...arguments);
273
- __runInitializers(this, _instanceExtraInitializers);
234
+ (0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
274
235
  }
275
236
  };
276
237
  return SoundSwitchCCAPI2 = _classThis;
@@ -290,10 +251,10 @@ let SoundSwitchCC = (() => {
290
251
  }
291
252
  static {
292
253
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
293
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
254
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
294
255
  SoundSwitchCC2 = _classThis = _classDescriptor.value;
295
256
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
296
- __runInitializers(_classThis, _classExtraInitializers);
257
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
297
258
  }
298
259
  async interview(ctx) {
299
260
  const node = this.getNode(ctx);
@@ -423,10 +384,10 @@ let SoundSwitchCCTonesNumberReport = (() => {
423
384
  }
424
385
  static {
425
386
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
426
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
387
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
427
388
  SoundSwitchCCTonesNumberReport2 = _classThis = _classDescriptor.value;
428
389
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
429
- __runInitializers(_classThis, _classExtraInitializers);
390
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
430
391
  }
431
392
  constructor(options) {
432
393
  super(options);
@@ -469,10 +430,10 @@ let SoundSwitchCCTonesNumberGet = (() => {
469
430
  }
470
431
  static {
471
432
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
472
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
433
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
473
434
  SoundSwitchCCTonesNumberGet2 = _classThis = _classDescriptor.value;
474
435
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
475
- __runInitializers(_classThis, _classExtraInitializers);
436
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
476
437
  }
477
438
  };
478
439
  return SoundSwitchCCTonesNumberGet2 = _classThis;
@@ -492,10 +453,10 @@ let SoundSwitchCCToneInfoReport = (() => {
492
453
  }
493
454
  static {
494
455
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
495
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
456
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
496
457
  SoundSwitchCCToneInfoReport2 = _classThis = _classDescriptor.value;
497
458
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
498
- __runInitializers(_classThis, _classExtraInitializers);
459
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
499
460
  }
500
461
  constructor(options) {
501
462
  super(options);
@@ -559,10 +520,10 @@ let SoundSwitchCCToneInfoGet = (() => {
559
520
  }
560
521
  static {
561
522
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
562
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
523
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
563
524
  SoundSwitchCCToneInfoGet2 = _classThis = _classDescriptor.value;
564
525
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
565
- __runInitializers(_classThis, _classExtraInitializers);
526
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
566
527
  }
567
528
  constructor(options) {
568
529
  super(options);
@@ -605,10 +566,10 @@ let SoundSwitchCCConfigurationSet = (() => {
605
566
  }
606
567
  static {
607
568
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
608
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
569
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
609
570
  SoundSwitchCCConfigurationSet2 = _classThis = _classDescriptor.value;
610
571
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
611
- __runInitializers(_classThis, _classExtraInitializers);
572
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
612
573
  }
613
574
  constructor(options) {
614
575
  super(options);
@@ -662,10 +623,10 @@ let SoundSwitchCCConfigurationReport = (() => {
662
623
  }
663
624
  static {
664
625
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
665
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
626
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
666
627
  SoundSwitchCCConfigurationReport2 = _classThis = _classDescriptor.value;
667
628
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
668
- __runInitializers(_classThis, _classExtraInitializers);
629
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
669
630
  }
670
631
  constructor(options) {
671
632
  super(options);
@@ -715,10 +676,10 @@ let SoundSwitchCCConfigurationGet = (() => {
715
676
  }
716
677
  static {
717
678
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
718
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
679
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
719
680
  SoundSwitchCCConfigurationGet2 = _classThis = _classDescriptor.value;
720
681
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
721
- __runInitializers(_classThis, _classExtraInitializers);
682
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
722
683
  }
723
684
  };
724
685
  return SoundSwitchCCConfigurationGet2 = _classThis;
@@ -738,10 +699,10 @@ let SoundSwitchCCTonePlaySet = (() => {
738
699
  }
739
700
  static {
740
701
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
741
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
702
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
742
703
  SoundSwitchCCTonePlaySet2 = _classThis = _classDescriptor.value;
743
704
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
744
- __runInitializers(_classThis, _classExtraInitializers);
705
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
745
706
  }
746
707
  constructor(options) {
747
708
  super(options);
@@ -797,10 +758,10 @@ let SoundSwitchCCTonePlayReport = (() => {
797
758
  }
798
759
  static {
799
760
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
800
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
761
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
801
762
  SoundSwitchCCTonePlayReport2 = _classThis = _classDescriptor.value;
802
763
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
803
- __runInitializers(_classThis, _classExtraInitializers);
764
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
804
765
  }
805
766
  constructor(options) {
806
767
  super(options);
@@ -856,10 +817,10 @@ let SoundSwitchCCTonePlayGet = (() => {
856
817
  }
857
818
  static {
858
819
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
859
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
820
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
860
821
  SoundSwitchCCTonePlayGet2 = _classThis = _classDescriptor.value;
861
822
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
862
- __runInitializers(_classThis, _classExtraInitializers);
823
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
863
824
  }
864
825
  };
865
826
  return SoundSwitchCCTonePlayGet2 = _classThis;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/SoundSwitchCC.ts"],
4
4
  "sourcesContent": ["import * as __validateArgs from \"./SoundSwitchCC._validateArgs.js\";\nconst { validateArgs_SoundSwitchCCAPI_getToneInfo, validateArgs_SoundSwitchCCAPI_setConfiguration, validateArgs_SoundSwitchCCAPI_play } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, pick } from \"@zwave-js/shared\";\nimport { clamp } from \"alcalzone-shared/math\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, type CCResponsePredicate, CommandClass, type InterviewContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { SoundSwitchCommand, type ToneId } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { SoundSwitchCCValues } from \"./_CCValues.generated.js\";\nexport { SoundSwitchCCValues };\n@API(CommandClasses[\"Sound Switch\"])\nexport class SoundSwitchCCAPI extends CCAPI {\n public supportsCommand(cmd: SoundSwitchCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case SoundSwitchCommand.TonesNumberGet:\n case SoundSwitchCommand.ToneInfoGet:\n case SoundSwitchCommand.ConfigurationGet:\n case SoundSwitchCommand.TonePlayGet:\n return this.isSinglecast();\n case SoundSwitchCommand.ConfigurationSet:\n case SoundSwitchCommand.TonePlaySet:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n public async getToneCount(): Promise<MaybeNotKnown<number>> {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.TonesNumberGet);\n const cc = new SoundSwitchCCTonesNumberGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<SoundSwitchCCTonesNumberReport>(cc, this.commandOptions);\n return response?.toneCount;\n }\n @validateArgs_SoundSwitchCCAPI_getToneInfo()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getToneInfo(toneId: number) {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.ToneInfoGet);\n const cc = new SoundSwitchCCToneInfoGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n toneId,\n });\n const response = await this.host.sendCommand<SoundSwitchCCToneInfoReport>(cc, this.commandOptions);\n if (response)\n return pick(response, [\"duration\", \"name\"]);\n }\n public async setConfiguration(defaultToneId: number, defaultVolume?: number): Promise<SupervisionResult | undefined>;\n public async setConfiguration(defaultToneId: number | undefined, defaultVolume: number): Promise<SupervisionResult | undefined>;\n @validateArgs_SoundSwitchCCAPI_setConfiguration()\n public async setConfiguration(defaultToneId?: number, defaultVolume?: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.ConfigurationSet);\n const cc = new SoundSwitchCCConfigurationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n defaultToneId: defaultToneId ?? 0x00,\n defaultVolume: defaultVolume ?? 0xff,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getConfiguration() {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.ConfigurationGet);\n const cc = new SoundSwitchCCConfigurationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<SoundSwitchCCConfigurationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"defaultToneId\", \"defaultVolume\"]);\n }\n }\n @validateArgs_SoundSwitchCCAPI_play()\n public async play(toneId: number, volume?: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.TonePlaySet);\n if (toneId === 0) {\n throw new ZWaveError(`Tone ID must be > 0. Use stopPlaying to stop the tone.`, ZWaveErrorCodes.Argument_Invalid);\n }\n const cc = new SoundSwitchCCTonePlaySet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n toneId,\n volume,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n public async stopPlaying(): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.TonePlaySet);\n const cc = new SoundSwitchCCTonePlaySet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n toneId: 0x00,\n volume: 0x00,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getPlaying() {\n this.assertSupportsCommand(SoundSwitchCommand, SoundSwitchCommand.TonePlayGet);\n const cc = new SoundSwitchCCTonePlayGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<SoundSwitchCCTonePlayReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"toneId\", \"volume\"]);\n }\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: SoundSwitchCCAPI, { property }, value, options) {\n if (property === \"defaultToneId\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.setConfiguration(value, 0xff);\n }\n else if (property === \"defaultVolume\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.setConfiguration(0x00, /* keep current tone */ value);\n }\n else if (property === \"volume\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n // Allow playing a tone by first setting the volume, then the tone ID\n this.tryGetValueDB()?.setValue(SoundSwitchCCValues.volume.endpoint(this.endpoint.index), value, { source: \"driver\", updateTimestamp: false });\n }\n else if (property === \"toneId\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n let result: SupervisionResult | undefined;\n if (value > 0) {\n // Use provided volume or try to use the current volume if it exists\n const volume = options?.volume !== undefined\n ? options.volume\n : this.tryGetValueDB()?.getValue<number>(SoundSwitchCCValues.volume.endpoint(this.endpoint.index));\n result = await this.play(value, volume);\n }\n else {\n result = await this.stopPlaying();\n }\n if (this.isSinglecast()\n && !supervisedCommandSucceeded(result)) {\n // Verify the current value after a (short) delay, unless the command was supervised and successful\n this.schedulePoll({ property }, value, {\n transition: \"fast\",\n });\n }\n return result;\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: SoundSwitchCCAPI, { property }) {\n switch (property) {\n case \"defaultToneId\":\n case \"defaultVolume\":\n return (await this.getConfiguration())?.[property];\n case \"toneId\":\n case \"volume\":\n return (await this.getPlaying())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n}\n@commandClass(CommandClasses[\"Sound Switch\"])\n@implementedVersion(2)\n@ccValues(SoundSwitchCCValues)\nexport class SoundSwitchCC extends CommandClass {\n declare ccCommand: SoundSwitchCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Sound Switch\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n ctx.logNode(node.id, {\n message: \"requesting tone count...\",\n direction: \"outbound\",\n });\n const toneCount = await api.getToneCount();\n if (toneCount != undefined) {\n const logMessage = `supports ${toneCount} tones`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying tone count timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n ctx.logNode(node.id, {\n message: \"requesting current sound configuration...\",\n direction: \"outbound\",\n });\n const config = await api.getConfiguration();\n if (config) {\n const logMessage = `received current sound configuration:\ndefault tone ID: ${config.defaultToneId}\ndefault volume: ${config.defaultVolume}`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n const metadataStates: Record<number, string> = {};\n const toneInfo: Record<number, {\n duration: number;\n name: string;\n }> = {};\n for (let toneId = 1; toneId <= toneCount; toneId++) {\n ctx.logNode(node.id, {\n message: `requesting info for tone #${toneId}`,\n direction: \"outbound\",\n });\n const info = await api.getToneInfo(toneId);\n if (!info)\n continue;\n const logMessage = `received info for tone #${toneId}:\nname: ${info.name}\nduration: ${info.duration} seconds`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n metadataStates[toneId] = `${info.name} (${info.duration} sec)`;\n toneInfo[toneId] = { duration: info.duration, name: info.name };\n }\n // Remember tone count and info on the default tone ID metadata\n this.setMetadata(ctx, SoundSwitchCCValues.defaultToneId, {\n ...SoundSwitchCCValues.defaultToneId.meta,\n min: 1,\n max: toneCount,\n states: metadataStates,\n });\n // Remember tone count and info on the tone ID metadata\n this.setMetadata(ctx, SoundSwitchCCValues.toneId, {\n ...SoundSwitchCCValues.toneId.meta,\n allowed: [\n { value: 0 },\n { from: 1, to: toneCount },\n { value: 0xff },\n ],\n min: 0,\n max: 0xff,\n states: {\n 0: \"off\",\n ...metadataStates,\n [0xff]: \"default\",\n },\n ccSpecific: {\n toneInfo,\n },\n });\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n /**\n * Retrieves the duration in seconds for a given toneId from metadata.\n * Returns undefined if duration cannot be determined.\n */\n public static getToneDurationCached(ctx: GetValueDB, endpoint: EndpointId, toneId: number): MaybeNotKnown<number> {\n const valueDb = ctx.getValueDB(endpoint.nodeId);\n const toneIdValueId = SoundSwitchCCValues.toneId.endpoint(endpoint.index);\n const metadata = valueDb.getMetadata(toneIdValueId);\n return metadata?.ccSpecific?.toneInfo?.[toneId]?.duration;\n }\n /**\n * Retrieves the name for a given toneId from metadata.\n * Returns undefined if name cannot be determined.\n */\n public static getToneNameCached(ctx: GetValueDB, endpoint: EndpointId, toneId: number): MaybeNotKnown<string> {\n const valueDb = ctx.getValueDB(endpoint.nodeId);\n const toneIdValueId = SoundSwitchCCValues.toneId.endpoint(endpoint.index);\n const metadata = valueDb.getMetadata(toneIdValueId);\n return metadata?.ccSpecific?.toneInfo?.[toneId]?.name;\n }\n}\n// @publicAPI\nexport interface SoundSwitchCCTonesNumberReportOptions {\n toneCount: number;\n}\n@CCCommand(SoundSwitchCommand.TonesNumberReport)\nexport class SoundSwitchCCTonesNumberReport extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCTonesNumberReportOptions>) {\n super(options);\n this.toneCount = options.toneCount;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCTonesNumberReport {\n validatePayload(raw.payload.length >= 1);\n const toneCount = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n toneCount,\n });\n }\n public toneCount: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.toneCount]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"# of tones\": this.toneCount },\n };\n }\n}\n@CCCommand(SoundSwitchCommand.TonesNumberGet)\n@expectedCCResponse(SoundSwitchCCTonesNumberReport)\nexport class SoundSwitchCCTonesNumberGet extends SoundSwitchCC {\n}\n// @publicAPI\nexport interface SoundSwitchCCToneInfoReportOptions {\n toneId: number;\n duration: number;\n name: string;\n}\n@CCCommand(SoundSwitchCommand.ToneInfoReport)\nexport class SoundSwitchCCToneInfoReport extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCToneInfoReportOptions>) {\n super(options);\n this.toneId = options.toneId;\n this.duration = options.duration;\n this.name = options.name;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCToneInfoReport {\n validatePayload(raw.payload.length >= 4);\n const toneId = raw.payload[0];\n const duration = raw.payload.readUInt16BE(1);\n const nameLength = raw.payload[3];\n validatePayload(raw.payload.length >= 4 + nameLength);\n const name = raw.payload.subarray(4, 4 + nameLength).toString(\"utf8\");\n return new this({\n nodeId: ctx.sourceNodeId,\n toneId,\n duration,\n name,\n });\n }\n public readonly toneId: number;\n public readonly duration: number;\n public readonly name: string;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.toneId, 0, 0, this.name.length],\n Bytes.from(this.name, \"utf8\"),\n ]);\n this.payload.writeUInt16BE(this.duration, 1);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"tone id\": this.toneId,\n duration: `${this.duration} seconds`,\n name: this.name,\n },\n };\n }\n}\nconst testResponseForSoundSwitchToneInfoGet: CCResponsePredicate<SoundSwitchCCToneInfoGet, SoundSwitchCCToneInfoReport> = (sent, received) => {\n return received.toneId === sent.toneId;\n};\n// @publicAPI\nexport interface SoundSwitchCCToneInfoGetOptions {\n toneId: number;\n}\n@CCCommand(SoundSwitchCommand.ToneInfoGet)\n@expectedCCResponse(SoundSwitchCCToneInfoReport, testResponseForSoundSwitchToneInfoGet)\nexport class SoundSwitchCCToneInfoGet extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCToneInfoGetOptions>) {\n super(options);\n this.toneId = options.toneId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCToneInfoGet {\n validatePayload(raw.payload.length >= 1);\n const toneId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n toneId,\n });\n }\n public toneId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.toneId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"tone id\": this.toneId },\n };\n }\n}\n// @publicAPI\nexport type SoundSwitchCCConfigurationSetOptions = {\n defaultVolume: number;\n defaultToneId?: number;\n} | {\n defaultVolume?: number;\n defaultToneId: number;\n};\n@CCCommand(SoundSwitchCommand.ConfigurationSet)\n@useSupervision()\nexport class SoundSwitchCCConfigurationSet extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCConfigurationSetOptions>) {\n super(options);\n this.defaultVolume = options.defaultVolume ?? 0xff;\n this.defaultToneId = options.defaultToneId ?? 0x00;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCConfigurationSet {\n validatePayload(raw.payload.length >= 2);\n const defaultVolume = raw.payload[0];\n const defaultToneId = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n defaultVolume,\n defaultToneId,\n });\n }\n public defaultVolume: number;\n public defaultToneId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.defaultVolume, this.defaultToneId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.defaultVolume !== 0xff) {\n message[\"default volume\"] = `${this.defaultVolume} %`;\n }\n if (this.defaultToneId !== 0x00) {\n message[\"default tone id\"] = this.defaultToneId;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface SoundSwitchCCConfigurationReportOptions {\n defaultVolume: number;\n defaultToneId: number;\n}\n@CCCommand(SoundSwitchCommand.ConfigurationReport)\n@ccValueProperty(\"defaultVolume\", SoundSwitchCCValues.defaultVolume)\n@ccValueProperty(\"defaultToneId\", SoundSwitchCCValues.defaultToneId)\nexport class SoundSwitchCCConfigurationReport extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCConfigurationReportOptions>) {\n super(options);\n this.defaultVolume = options.defaultVolume;\n this.defaultToneId = options.defaultToneId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCConfigurationReport {\n validatePayload(raw.payload.length >= 2);\n const defaultVolume = clamp(raw.payload[0], 0, 100);\n const defaultToneId = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n defaultVolume,\n defaultToneId,\n });\n }\n public defaultVolume: number;\n public defaultToneId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.defaultVolume, this.defaultToneId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"default volume\": `${this.defaultVolume} %`,\n \"default tone id\": this.defaultToneId,\n },\n };\n }\n}\n@CCCommand(SoundSwitchCommand.ConfigurationGet)\n@expectedCCResponse(SoundSwitchCCConfigurationReport)\nexport class SoundSwitchCCConfigurationGet extends SoundSwitchCC {\n}\n// @publicAPI\nexport interface SoundSwitchCCTonePlaySetOptions {\n toneId: ToneId | number;\n // V2+\n volume?: number;\n}\n@CCCommand(SoundSwitchCommand.TonePlaySet)\n@useSupervision()\nexport class SoundSwitchCCTonePlaySet extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCTonePlaySetOptions>) {\n super(options);\n this.toneId = options.toneId;\n this.volume = options.volume;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCTonePlaySet {\n validatePayload(raw.payload.length >= 1);\n const toneId = raw.payload[0];\n let volume: number | undefined;\n if (toneId !== 0 && raw.payload.length >= 2) {\n volume = raw.payload[1];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n toneId,\n volume,\n });\n }\n public toneId: ToneId | number;\n public volume?: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.toneId, this.volume ?? 0]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"tone id\": this.toneId,\n };\n if (this.volume != undefined) {\n message.volume = this.volume === 0 ? \"default\" : `${this.volume} %`;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface SoundSwitchCCTonePlayReportOptions {\n toneId: ToneId | number;\n // V2+\n volume?: number;\n}\n@CCCommand(SoundSwitchCommand.TonePlayReport)\n@ccValueProperty(\"toneId\", SoundSwitchCCValues.toneId)\n@ccValueProperty(\"volume\", SoundSwitchCCValues.volume)\nexport class SoundSwitchCCTonePlayReport extends SoundSwitchCC {\n public constructor(options: WithAddress<SoundSwitchCCTonePlayReportOptions>) {\n super(options);\n this.toneId = options.toneId;\n this.volume = options.volume;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCTonePlayReport {\n validatePayload(raw.payload.length >= 1);\n const toneId = raw.payload[0];\n let volume: number | undefined;\n if (toneId !== 0 && raw.payload.length >= 2) {\n volume = raw.payload[1];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n toneId,\n volume,\n });\n }\n public readonly toneId: ToneId | number;\n public volume?: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.toneId, this.volume ?? 0]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"tone id\": this.toneId,\n };\n if (this.volume != undefined) {\n message.volume = this.volume === 0 ? \"default\" : `${this.volume} %`;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(SoundSwitchCommand.TonePlayGet)\n@expectedCCResponse(SoundSwitchCCTonePlayReport)\nexport class SoundSwitchCCTonePlayGet extends SoundSwitchCC {\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }