@zwave-js/cc 15.28.0 → 15.30.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 (404) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +3 -1
  2. package/build/cjs/cc/AlarmSensorCC.js +22 -2
  3. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  4. package/build/cjs/cc/AssociationCC.js +6 -5
  5. package/build/cjs/cc/AssociationCC.js.map +2 -2
  6. package/build/cjs/cc/AssociationGroupInfoCC.js +4 -5
  7. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  8. package/build/cjs/cc/BarrierOperatorCC.d.ts +6 -3
  9. package/build/cjs/cc/BarrierOperatorCC.js +40 -6
  10. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  11. package/build/cjs/cc/BasicCC.d.ts +4 -1
  12. package/build/cjs/cc/BasicCC.js +18 -0
  13. package/build/cjs/cc/BasicCC.js.map +3 -3
  14. package/build/cjs/cc/BasicWindowCoveringCC.js.map +2 -2
  15. package/build/cjs/cc/BatteryCC.js +16 -3
  16. package/build/cjs/cc/BatteryCC.js.map +2 -2
  17. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  18. package/build/cjs/cc/BinarySwitchCC.d.ts +4 -1
  19. package/build/cjs/cc/BinarySwitchCC.js +18 -0
  20. package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
  21. package/build/cjs/cc/CRC16CC.d.ts +3 -2
  22. package/build/cjs/cc/CRC16CC.js +7 -1
  23. package/build/cjs/cc/CRC16CC.js.map +3 -3
  24. package/build/cjs/cc/CentralSceneCC.d.ts +4 -1
  25. package/build/cjs/cc/CentralSceneCC.js +34 -2
  26. package/build/cjs/cc/CentralSceneCC.js.map +2 -2
  27. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +6 -3
  28. package/build/cjs/cc/ClimateControlScheduleCC.js +54 -6
  29. package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
  30. package/build/cjs/cc/ClockCC.d.ts +2 -1
  31. package/build/cjs/cc/ClockCC.js +19 -2
  32. package/build/cjs/cc/ClockCC.js.map +2 -2
  33. package/build/cjs/cc/ColorSwitchCC.js +1 -4
  34. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  35. package/build/cjs/cc/ConfigurationCC.d.ts +3 -2
  36. package/build/cjs/cc/ConfigurationCC.js +62 -8
  37. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  38. package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
  39. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  40. package/build/cjs/cc/DoorLockLoggingCC.d.ts +3 -1
  41. package/build/cjs/cc/DoorLockLoggingCC.js +35 -2
  42. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  43. package/build/cjs/cc/EntryControlCC.d.ts +5 -1
  44. package/build/cjs/cc/EntryControlCC.js +57 -2
  45. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  46. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +4 -16
  47. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
  48. package/build/cjs/cc/HumidityControlModeCC.d.ts +3 -1
  49. package/build/cjs/cc/HumidityControlModeCC.js +14 -2
  50. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  51. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +3 -1
  52. package/build/cjs/cc/HumidityControlOperatingStateCC.js +4 -0
  53. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  54. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +8 -4
  55. package/build/cjs/cc/HumidityControlSetpointCC.js +61 -12
  56. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  57. package/build/cjs/cc/IndicatorCC.js +1 -5
  58. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  59. package/build/cjs/cc/IrrigationCC.d.ts +15 -9
  60. package/build/cjs/cc/IrrigationCC.js +260 -24
  61. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  62. package/build/cjs/cc/LanguageCC.d.ts +2 -1
  63. package/build/cjs/cc/LanguageCC.js +18 -2
  64. package/build/cjs/cc/LanguageCC.js.map +2 -2
  65. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  66. package/build/cjs/cc/ManufacturerSpecificCC.js +4 -5
  67. package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
  68. package/build/cjs/cc/MeterCC.js +8 -21
  69. package/build/cjs/cc/MeterCC.js.map +2 -2
  70. package/build/cjs/cc/MultiChannelAssociationCC.js +11 -7
  71. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  72. package/build/cjs/cc/MultiChannelCC.d.ts +5 -2
  73. package/build/cjs/cc/MultiChannelCC.js +35 -12
  74. package/build/cjs/cc/MultiChannelCC.js.map +3 -3
  75. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  76. package/build/cjs/cc/MultilevelSwitchCC.d.ts +5 -1
  77. package/build/cjs/cc/MultilevelSwitchCC.js +30 -0
  78. package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
  79. package/build/cjs/cc/NotificationCC.js +29 -11
  80. package/build/cjs/cc/NotificationCC.js.map +2 -2
  81. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  82. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  83. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +3 -2
  84. package/build/cjs/cc/SceneActuatorConfigurationCC.js +38 -5
  85. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
  86. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +3 -2
  87. package/build/cjs/cc/SceneControllerConfigurationCC.js +25 -4
  88. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  89. package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
  90. package/build/cjs/cc/Security2CC.d.ts +2 -1
  91. package/build/cjs/cc/Security2CC.js +31 -3
  92. package/build/cjs/cc/Security2CC.js.map +2 -2
  93. package/build/cjs/cc/SecurityCC.d.ts +2 -1
  94. package/build/cjs/cc/SecurityCC.js +7 -6
  95. package/build/cjs/cc/SecurityCC.js.map +2 -2
  96. package/build/cjs/cc/SoundSwitchCC.js +6 -6
  97. package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
  98. package/build/cjs/cc/SupervisionCC.d.ts +2 -1
  99. package/build/cjs/cc/SupervisionCC.js +6 -0
  100. package/build/cjs/cc/SupervisionCC.js.map +3 -3
  101. package/build/cjs/cc/ThermostatFanModeCC.d.ts +3 -1
  102. package/build/cjs/cc/ThermostatFanModeCC.js +17 -2
  103. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  104. package/build/cjs/cc/ThermostatFanStateCC.d.ts +3 -1
  105. package/build/cjs/cc/ThermostatFanStateCC.js +4 -0
  106. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  107. package/build/cjs/cc/ThermostatModeCC.js +2 -4
  108. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  109. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  110. package/build/cjs/cc/ThermostatSetpointCC.d.ts +4 -1
  111. package/build/cjs/cc/ThermostatSetpointCC.js +18 -0
  112. package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
  113. package/build/cjs/cc/TimeCC.d.ts +1 -1
  114. package/build/cjs/cc/TimeCC.js +11 -2
  115. package/build/cjs/cc/TimeCC.js.map +2 -2
  116. package/build/cjs/cc/TransportServiceCC.js.map +2 -2
  117. package/build/cjs/cc/UserCodeCC.d.ts +2 -1
  118. package/build/cjs/cc/UserCodeCC.js +32 -8
  119. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  120. package/build/cjs/cc/UserCredentialCC.js +4 -6
  121. package/build/cjs/cc/UserCredentialCC.js.map +2 -2
  122. package/build/cjs/cc/VersionCC.d.ts +1 -0
  123. package/build/cjs/cc/VersionCC.js +32 -0
  124. package/build/cjs/cc/VersionCC.js.map +2 -2
  125. package/build/cjs/cc/WakeUpCC.d.ts +2 -0
  126. package/build/cjs/cc/WakeUpCC.js +14 -0
  127. package/build/cjs/cc/WakeUpCC.js.map +2 -2
  128. package/build/cjs/cc/WindowCoveringCC.js +5 -1
  129. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  130. package/build/cjs/cc/ZWaveProtocolCC.js +3 -11
  131. package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
  132. package/build/cjs/cc/_CCValues.generated.d.ts +2 -2
  133. package/build/cjs/cc/_CCValues.generated.js.map +2 -2
  134. package/build/cjs/cc/index.d.ts +179 -179
  135. package/build/cjs/cc/index.js.map +1 -1
  136. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +2 -2
  137. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +2 -1
  138. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +30 -2
  139. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  140. package/build/cjs/lib/API.d.ts +3 -2
  141. package/build/cjs/lib/API.js.map +2 -2
  142. package/build/cjs/lib/CommandClass.d.ts +20 -0
  143. package/build/cjs/lib/CommandClass.js +52 -11
  144. package/build/cjs/lib/CommandClass.js.map +3 -3
  145. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  146. package/build/cjs/lib/EncapsulatingCommandClass.js.map +2 -2
  147. package/build/cjs/lib/NotificationEventPayload.js.map +2 -2
  148. package/build/cjs/lib/Security2/Extension.js +1 -4
  149. package/build/cjs/lib/Security2/Extension.js.map +2 -2
  150. package/build/cjs/lib/Security2/shared.js.map +2 -2
  151. package/build/cjs/lib/SetValueResult.js.map +1 -1
  152. package/build/cjs/lib/Values.d.ts +1 -1
  153. package/build/cjs/lib/Values.js.map +2 -2
  154. package/build/cjs/lib/_CCAPI.generated.js.map +1 -1
  155. package/build/cjs/lib/_Types.d.ts +30 -30
  156. package/build/cjs/lib/_Types.js.map +2 -2
  157. package/build/cjs/lib/serializers.js +1 -4
  158. package/build/cjs/lib/serializers.js.map +2 -2
  159. package/build/cjs/lib/utils.js.map +2 -2
  160. package/build/esm/cc/AlarmSensorCC.d.ts +3 -1
  161. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  162. package/build/esm/cc/AlarmSensorCC.js +26 -9
  163. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  164. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  165. package/build/esm/cc/AssociationCC.js +8 -7
  166. package/build/esm/cc/AssociationCC.js.map +1 -1
  167. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  168. package/build/esm/cc/AssociationGroupInfoCC.js +10 -12
  169. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  170. package/build/esm/cc/BarrierOperatorCC.d.ts +6 -3
  171. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  172. package/build/esm/cc/BarrierOperatorCC.js +55 -27
  173. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  174. package/build/esm/cc/BasicCC.d.ts +4 -1
  175. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  176. package/build/esm/cc/BasicCC.js +30 -7
  177. package/build/esm/cc/BasicCC.js.map +1 -1
  178. package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
  179. package/build/esm/cc/BasicWindowCoveringCC.js +2 -5
  180. package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
  181. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  182. package/build/esm/cc/BatteryCC.js +12 -12
  183. package/build/esm/cc/BatteryCC.js.map +1 -1
  184. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  185. package/build/esm/cc/BinarySensorCC.js +4 -5
  186. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  187. package/build/esm/cc/BinarySwitchCC.d.ts +4 -1
  188. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  189. package/build/esm/cc/BinarySwitchCC.js +31 -6
  190. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  191. package/build/esm/cc/CRC16CC.d.ts +3 -2
  192. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  193. package/build/esm/cc/CRC16CC.js +10 -4
  194. package/build/esm/cc/CRC16CC.js.map +1 -1
  195. package/build/esm/cc/CentralSceneCC.d.ts +4 -1
  196. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  197. package/build/esm/cc/CentralSceneCC.js +37 -7
  198. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  199. package/build/esm/cc/ClimateControlScheduleCC.d.ts +6 -3
  200. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  201. package/build/esm/cc/ClimateControlScheduleCC.js +63 -18
  202. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  203. package/build/esm/cc/ClockCC.d.ts +2 -1
  204. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  205. package/build/esm/cc/ClockCC.js +26 -9
  206. package/build/esm/cc/ClockCC.js.map +1 -1
  207. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  208. package/build/esm/cc/ColorSwitchCC.js +17 -20
  209. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  210. package/build/esm/cc/ConfigurationCC.d.ts +3 -2
  211. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  212. package/build/esm/cc/ConfigurationCC.js +83 -41
  213. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  214. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  215. package/build/esm/cc/DeviceResetLocallyCC.js +1 -2
  216. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  217. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  218. package/build/esm/cc/DoorLockCC.js +25 -29
  219. package/build/esm/cc/DoorLockCC.js.map +1 -1
  220. package/build/esm/cc/DoorLockLoggingCC.d.ts +3 -1
  221. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  222. package/build/esm/cc/DoorLockLoggingCC.js +39 -5
  223. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  224. package/build/esm/cc/EntryControlCC.d.ts +5 -1
  225. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  226. package/build/esm/cc/EntryControlCC.js +74 -14
  227. package/build/esm/cc/EntryControlCC.js.map +1 -1
  228. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  229. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +15 -27
  230. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  231. package/build/esm/cc/HumidityControlModeCC.d.ts +3 -1
  232. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  233. package/build/esm/cc/HumidityControlModeCC.js +15 -7
  234. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  235. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +3 -1
  236. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  237. package/build/esm/cc/HumidityControlOperatingStateCC.js +5 -1
  238. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  239. package/build/esm/cc/HumidityControlSetpointCC.d.ts +8 -4
  240. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  241. package/build/esm/cc/HumidityControlSetpointCC.js +60 -34
  242. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  243. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  244. package/build/esm/cc/IndicatorCC.js +19 -38
  245. package/build/esm/cc/IndicatorCC.js.map +1 -1
  246. package/build/esm/cc/IrrigationCC.d.ts +15 -9
  247. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  248. package/build/esm/cc/IrrigationCC.js +276 -67
  249. package/build/esm/cc/IrrigationCC.js.map +1 -1
  250. package/build/esm/cc/LanguageCC.d.ts +2 -1
  251. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  252. package/build/esm/cc/LanguageCC.js +18 -6
  253. package/build/esm/cc/LanguageCC.js.map +1 -1
  254. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  255. package/build/esm/cc/ManufacturerProprietaryCC.js +1 -2
  256. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  257. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  258. package/build/esm/cc/ManufacturerSpecificCC.js +5 -8
  259. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  260. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  261. package/build/esm/cc/MeterCC.js +15 -29
  262. package/build/esm/cc/MeterCC.js.map +1 -1
  263. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  264. package/build/esm/cc/MultiChannelAssociationCC.js +15 -20
  265. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  266. package/build/esm/cc/MultiChannelCC.d.ts +5 -2
  267. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  268. package/build/esm/cc/MultiChannelCC.js +43 -29
  269. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  270. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  271. package/build/esm/cc/MultilevelSensorCC.js +11 -11
  272. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  273. package/build/esm/cc/MultilevelSwitchCC.d.ts +5 -1
  274. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  275. package/build/esm/cc/MultilevelSwitchCC.js +56 -16
  276. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  277. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  278. package/build/esm/cc/NotificationCC.js +66 -55
  279. package/build/esm/cc/NotificationCC.js.map +1 -1
  280. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  281. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  282. package/build/esm/cc/ProtectionCC.js +10 -9
  283. package/build/esm/cc/ProtectionCC.js.map +1 -1
  284. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +3 -2
  285. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  286. package/build/esm/cc/SceneActuatorConfigurationCC.js +44 -21
  287. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  288. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +3 -2
  289. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  290. package/build/esm/cc/SceneControllerConfigurationCC.js +35 -28
  291. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  292. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  293. package/build/esm/cc/ScheduleEntryLockCC.js +13 -20
  294. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  295. package/build/esm/cc/Security2CC.d.ts +2 -1
  296. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  297. package/build/esm/cc/Security2CC.js +68 -32
  298. package/build/esm/cc/Security2CC.js.map +1 -1
  299. package/build/esm/cc/SecurityCC.d.ts +2 -1
  300. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  301. package/build/esm/cc/SecurityCC.js +16 -11
  302. package/build/esm/cc/SecurityCC.js.map +1 -1
  303. package/build/esm/cc/SoundSwitchCC.js +2 -2
  304. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  305. package/build/esm/cc/SupervisionCC.d.ts +2 -1
  306. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  307. package/build/esm/cc/SupervisionCC.js +13 -6
  308. package/build/esm/cc/SupervisionCC.js.map +1 -1
  309. package/build/esm/cc/ThermostatFanModeCC.d.ts +3 -1
  310. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  311. package/build/esm/cc/ThermostatFanModeCC.js +19 -9
  312. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  313. package/build/esm/cc/ThermostatFanStateCC.d.ts +3 -1
  314. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  315. package/build/esm/cc/ThermostatFanStateCC.js +5 -1
  316. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  317. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  318. package/build/esm/cc/ThermostatModeCC.js +2 -4
  319. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  320. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  321. package/build/esm/cc/ThermostatOperatingStateCC.js +1 -2
  322. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  323. package/build/esm/cc/ThermostatSetpointCC.d.ts +4 -1
  324. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  325. package/build/esm/cc/ThermostatSetpointCC.js +31 -19
  326. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  327. package/build/esm/cc/TimeCC.d.ts +1 -1
  328. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  329. package/build/esm/cc/TimeCC.js +18 -9
  330. package/build/esm/cc/TimeCC.js.map +1 -1
  331. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  332. package/build/esm/cc/TransportServiceCC.js +8 -8
  333. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  334. package/build/esm/cc/UserCodeCC.d.ts +2 -1
  335. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  336. package/build/esm/cc/UserCodeCC.js +51 -36
  337. package/build/esm/cc/UserCodeCC.js.map +1 -1
  338. package/build/esm/cc/UserCredentialCC.d.ts.map +1 -1
  339. package/build/esm/cc/UserCredentialCC.js +42 -59
  340. package/build/esm/cc/UserCredentialCC.js.map +1 -1
  341. package/build/esm/cc/VersionCC.d.ts +1 -0
  342. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  343. package/build/esm/cc/VersionCC.js +37 -3
  344. package/build/esm/cc/VersionCC.js.map +1 -1
  345. package/build/esm/cc/WakeUpCC.d.ts +2 -0
  346. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  347. package/build/esm/cc/WakeUpCC.js +14 -0
  348. package/build/esm/cc/WakeUpCC.js.map +1 -1
  349. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  350. package/build/esm/cc/WindowCoveringCC.js +10 -9
  351. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  352. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  353. package/build/esm/cc/ZWaveProtocolCC.js +5 -26
  354. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  355. package/build/esm/cc/_CCValues.generated.d.ts +2 -2
  356. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  357. package/build/esm/cc/_CCValues.generated.js +637 -678
  358. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  359. package/build/esm/cc/index.d.ts +179 -179
  360. package/build/esm/cc/index.d.ts.map +1 -1
  361. package/build/esm/cc/index.js +124 -124
  362. package/build/esm/cc/index.js.map +1 -1
  363. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
  364. package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -1
  365. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +2 -1
  366. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  367. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +34 -4
  368. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  369. package/build/esm/lib/API.d.ts +3 -2
  370. package/build/esm/lib/API.d.ts.map +1 -1
  371. package/build/esm/lib/API.js +1 -1
  372. package/build/esm/lib/API.js.map +1 -1
  373. package/build/esm/lib/CommandClass.d.ts +20 -0
  374. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  375. package/build/esm/lib/CommandClass.js +50 -16
  376. package/build/esm/lib/CommandClass.js.map +1 -1
  377. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  378. package/build/esm/lib/CommandClassDecorators.js +1 -2
  379. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  380. package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -1
  381. package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -1
  382. package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -1
  383. package/build/esm/lib/NotificationEventPayload.js.map +1 -1
  384. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  385. package/build/esm/lib/Security2/Extension.js +2 -6
  386. package/build/esm/lib/Security2/Extension.js.map +1 -1
  387. package/build/esm/lib/Security2/shared.d.ts.map +1 -1
  388. package/build/esm/lib/Security2/shared.js.map +1 -1
  389. package/build/esm/lib/SetValueResult.d.ts.map +1 -1
  390. package/build/esm/lib/Values.d.ts +1 -1
  391. package/build/esm/lib/Values.d.ts.map +1 -1
  392. package/build/esm/lib/Values.js.map +1 -1
  393. package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
  394. package/build/esm/lib/_Types.d.ts +30 -30
  395. package/build/esm/lib/_Types.d.ts.map +1 -1
  396. package/build/esm/lib/_Types.js.map +1 -1
  397. package/build/esm/lib/serializers.d.ts.map +1 -1
  398. package/build/esm/lib/serializers.js +1 -4
  399. package/build/esm/lib/serializers.js.map +1 -1
  400. package/build/esm/lib/traits.d.ts.map +1 -1
  401. package/build/esm/lib/utils.d.ts.map +1 -1
  402. package/build/esm/lib/utils.js +25 -31
  403. package/build/esm/lib/utils.js.map +1 -1
  404. package/package.json +7 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/WindowCoveringCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./WindowCoveringCC._validateArgs.js\";\nconst { validateArgs_WindowCoveringCCAPI_get, validateArgs_WindowCoveringCCAPI_set, validateArgs_WindowCoveringCCAPI_startLevelChange, validateArgs_WindowCoveringCCAPI_stopLevelChange } = __validateArgs;\nimport { CommandClasses, Duration, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, encodeBitMask, logList, logText, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, isEnumMember, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory, throwMissingPropertyKey, throwUnsupportedProperty, throwUnsupportedPropertyKey, throwWrongValueType, } from \"../lib/API.js\";\nimport { windowCoveringParameterToLevelChangeLabel, windowCoveringParameterToMetadataStates, } from \"../lib/CCValueUtils.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type LevelChangeDirection, WindowCoveringCommand, WindowCoveringParameter, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { WindowCoveringCCValues } from \"./_CCValues.generated.js\";\nexport { WindowCoveringCCValues };\n@API(CommandClasses[\"Window Covering\"])\nexport class WindowCoveringCCAPI extends CCAPI {\n public supportsCommand(cmd: WindowCoveringCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case WindowCoveringCommand.Get:\n case WindowCoveringCommand.Set:\n case WindowCoveringCommand.SupportedGet:\n case WindowCoveringCommand.StartLevelChange:\n case WindowCoveringCommand.StopLevelChange:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: WindowCoveringCCAPI, { property, propertyKey }, value, options) {\n const valueId = {\n commandClass: this.ccId,\n property,\n propertyKey,\n };\n if (WindowCoveringCCValues.targetValue.is(valueId)) {\n if (typeof propertyKey !== \"number\"\n // Only odd-numbered parameters have position support and are writable\n || propertyKey % 2 === 0) {\n throwUnsupportedPropertyKey(this.ccId, property, propertyKey!);\n }\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const parameter = propertyKey;\n const duration = Duration.from(options?.transitionDuration);\n return this.set([{ parameter, value }], duration);\n }\n else if (WindowCoveringCCValues.levelChangeUp.is(valueId)\n || WindowCoveringCCValues.levelChangeDown.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n const parameter = propertyKey as number;\n const direction = WindowCoveringCCValues.levelChangeUp.is(valueId)\n ? \"up\"\n : \"down\";\n if (value) {\n // Perform the level change\n const duration = Duration.from(options?.transitionDuration);\n return this.startLevelChange(parameter, direction, duration);\n }\n else {\n return this.stopLevelChange(parameter);\n }\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = ({ property, propertyKey }, value, options) => {\n const valueId = {\n commandClass: this.ccId,\n property,\n propertyKey,\n };\n if (WindowCoveringCCValues.targetValue.is(valueId)) {\n if (typeof propertyKey !== \"number\")\n return;\n const parameter = propertyKey;\n const duration = Duration.from(options?.transitionDuration);\n const currentValueValueId = WindowCoveringCCValues.currentValue(parameter).endpoint(this.endpoint.index);\n return {\n // This is the target value for a split target/current state pair.\n isSplitStateTargetValue: true,\n // Window Covering commands may take some time to be executed.\n // Therefore we try to supervise the command execution and delay the\n // optimistic update until the final result is received.\n supervisionDelayedUpdates: true,\n supervisionOnSuccess: async () => {\n // Only update currentValue for valid target values\n if (typeof value === \"number\"\n && value >= 0\n && value <= 99) {\n this.tryGetValueDB()?.setValue(currentValueValueId, value);\n }\n else if (value === 255) {\n // We don't know the status now, so refresh the current value\n try {\n await this.get(parameter);\n }\n catch {\n // ignore\n }\n }\n },\n supervisionOnFailure: async () => {\n // The transition failed, so now we don't know the status - refresh the current value\n try {\n await this.get(parameter);\n }\n catch {\n // ignore\n }\n },\n optimisticallyUpdateRelatedValues: (_supervisedAndSuccessful) => {\n // Only update currentValue for valid target values\n if (typeof value === \"number\"\n && value >= 0\n && value <= 99) {\n if (this.isSinglecast()) {\n this.tryGetValueDB()?.setValue(currentValueValueId, value);\n }\n else if (this.isMulticast()) {\n // Figure out which nodes were affected by this command\n const affectedNodes = this.endpoint.node\n .physicalNodes.filter((node) => node\n .getEndpoint(this.endpoint.index)\n ?.supportsCC(this.ccId));\n // and optimistically update the currentValue\n for (const node of affectedNodes) {\n this.host\n .tryGetValueDB(node.id)\n ?.setValue(currentValueValueId, value);\n }\n }\n }\n },\n verifyChanges: () => {\n if (this.isSinglecast()) {\n // We query currentValue instead of targetValue to make sure that unsolicited updates cancel the scheduled poll\n this.schedulePoll(currentValueValueId, value, {\n duration,\n });\n }\n else {\n // For multicasts, do not schedule a refresh - this could cause a LOT of traffic\n }\n },\n };\n }\n };\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: WindowCoveringCCAPI, { property, propertyKey }) {\n switch (property) {\n case \"currentValue\":\n case \"targetValue\":\n case \"duration\":\n if (propertyKey == undefined) {\n throwMissingPropertyKey(this.ccId, property);\n }\n else if (typeof propertyKey !== \"number\") {\n throwUnsupportedPropertyKey(this.ccId, property, propertyKey);\n }\n return (await this.get(propertyKey))?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async getSupported(): Promise<MaybeNotKnown<readonly WindowCoveringParameter[]>> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.SupportedGet);\n const cc = new WindowCoveringCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<WindowCoveringCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedParameters;\n }\n @validateArgs_WindowCoveringCCAPI_get()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get(parameter: WindowCoveringParameter) {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.Get);\n const cc = new WindowCoveringCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n parameter,\n });\n const response = await this.host.sendCommand<WindowCoveringCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n }\n }\n @validateArgs_WindowCoveringCCAPI_set()\n public async set(targetValues: {\n parameter: WindowCoveringParameter;\n value: number;\n }[], duration?: Duration | string): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.Set);\n const cc = new WindowCoveringCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n targetValues,\n duration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_WindowCoveringCCAPI_startLevelChange()\n public async startLevelChange(parameter: WindowCoveringParameter, direction: keyof typeof LevelChangeDirection, duration?: Duration | string): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.StartLevelChange);\n const cc = new WindowCoveringCCStartLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n parameter,\n direction,\n duration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_WindowCoveringCCAPI_stopLevelChange()\n public async stopLevelChange(parameter: WindowCoveringParameter): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.StopLevelChange);\n const cc = new WindowCoveringCCStopLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n parameter,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Window Covering\"])\n@implementedVersion(1)\n@ccValues(WindowCoveringCCValues)\nexport class WindowCoveringCC extends CommandClass {\n declare ccCommand: WindowCoveringCommand;\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[\"Window Covering\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n tag: \"interview\",\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 endpoint: this.endpointIndex,\n message: \"querying supported window covering parameters...\",\n direction: \"outbound\",\n });\n const supported = await api.getSupported();\n if (supported?.length) {\n const logMessage = logText(\"supported window covering parameters:\", {\n nested: logList(supported.map((p) => getEnumMemberName(WindowCoveringParameter, p))),\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n // Create metadata for all supported parameters\n for (const param of supported) {\n // Default values\n this.setMetadata(ctx, WindowCoveringCCValues.currentValue(param));\n this.setMetadata(ctx, WindowCoveringCCValues.targetValue(param));\n this.setMetadata(ctx, WindowCoveringCCValues.duration(param));\n // Level change values\n this.setMetadata(ctx, WindowCoveringCCValues.levelChangeUp(param));\n this.setMetadata(ctx, WindowCoveringCCValues.levelChangeDown(param));\n }\n // Query current values for all supported parameters\n await this.refreshValues(ctx, {\n tag: \"interview\",\n onProgress: (completed, total) => node.reportInterviewProgress(completed, total),\n });\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Window Covering\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n const parameters: number[] = this.getValue(ctx, WindowCoveringCCValues.supportedParameters) ?? [];\n // Only odd parameters have position support and need to be queried\n const queryableParameters = parameters.filter((param) => param % 2 != 0);\n for (const [i, param] of queryableParameters.entries()) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying position for parameter ${getEnumMemberName(WindowCoveringParameter, param)}...`,\n direction: \"outbound\",\n });\n await api.get(param);\n options?.onProgress?.(i + 1, queryableParameters.length);\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (typeof propertyKey === \"number\") {\n return getEnumMemberName(WindowCoveringParameter, propertyKey);\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCSupportedReportOptions {\n supportedParameters: readonly WindowCoveringParameter[];\n}\n@CCCommand(WindowCoveringCommand.SupportedReport)\n@ccValueProperty(\"supportedParameters\", WindowCoveringCCValues.supportedParameters)\nexport class WindowCoveringCCSupportedReport extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCSupportedReportOptions>) {\n super(options);\n this.supportedParameters = options.supportedParameters;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const numBitmaskBytes = raw.payload[0] & 0b1111;\n validatePayload(raw.payload.length >= 1 + numBitmaskBytes);\n const bitmask = raw.payload.subarray(1, 1 + numBitmaskBytes);\n const supportedParameters: WindowCoveringParameter[] = parseBitMask(bitmask, WindowCoveringParameter[\"Outbound Left (no position)\"]);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedParameters,\n });\n }\n public readonly supportedParameters: readonly WindowCoveringParameter[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const bitmask = encodeBitMask(this.supportedParameters, undefined, WindowCoveringParameter[\"Outbound Left (no position)\"]).subarray(0, 15);\n const numBitmaskBytes = bitmask.length & 0b1111;\n this.payload = Bytes.concat([\n [numBitmaskBytes],\n bitmask.subarray(0, numBitmaskBytes),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported parameters\": logList(this.supportedParameters.map((p) => getEnumMemberName(WindowCoveringParameter, p))),\n },\n };\n }\n}\n@CCCommand(WindowCoveringCommand.SupportedGet)\n@expectedCCResponse(WindowCoveringCCSupportedReport)\nexport class WindowCoveringCCSupportedGet extends WindowCoveringCC {\n}\n// @publicAPI\nexport interface WindowCoveringCCReportOptions {\n parameter: WindowCoveringParameter;\n currentValue: number;\n targetValue: number;\n duration: Duration;\n}\n@CCCommand(WindowCoveringCommand.Report)\n@ccValueProperty(\"currentValue\", WindowCoveringCCValues.currentValue, (self) => [self.parameter])\n@ccValueProperty(\"targetValue\", WindowCoveringCCValues.targetValue, (self) => [self.parameter])\n@ccValueProperty(\"duration\", WindowCoveringCCValues.duration, (self) => [self.parameter])\nexport class WindowCoveringCCReport extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.parameter = options.parameter;\n this.currentValue = options.currentValue;\n this.targetValue = options.targetValue;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCReport {\n validatePayload(raw.payload.length >= 4);\n const parameter: WindowCoveringParameter = raw.payload[0];\n validatePayload(isEnumMember(WindowCoveringParameter, parameter));\n validatePayload(raw.payload[1] <= 99, raw.payload[2] <= 99);\n const currentValue = raw.payload[1];\n const targetValue = raw.payload[2];\n const duration = Duration.parseReport(raw.payload[3])\n ?? Duration.unknown();\n return new this({\n nodeId: ctx.sourceNodeId,\n parameter,\n currentValue,\n targetValue,\n duration,\n });\n }\n public readonly parameter: WindowCoveringParameter;\n public readonly currentValue: number;\n public readonly targetValue: number;\n public readonly duration: Duration;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.parameter,\n this.currentValue,\n this.targetValue,\n this.duration.serializeReport(),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n \"current value\": this.currentValue,\n \"target value\": this.targetValue,\n duration: this.duration.toString(),\n },\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCGetOptions {\n parameter: WindowCoveringParameter;\n}\nfunction testResponseForWindowCoveringGet(sent: WindowCoveringCCGet, received: WindowCoveringCCReport) {\n return received.parameter === sent.parameter;\n}\n@CCCommand(WindowCoveringCommand.Get)\n@expectedCCResponse(WindowCoveringCCReport, testResponseForWindowCoveringGet)\nexport class WindowCoveringCCGet extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCGetOptions>) {\n super(options);\n this.parameter = options.parameter;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCGet {\n validatePayload(raw.payload.length >= 1);\n const parameter: WindowCoveringParameter = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n parameter,\n });\n }\n public parameter: WindowCoveringParameter;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.parameter]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n },\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCSetOptions {\n targetValues: {\n parameter: WindowCoveringParameter;\n value: number;\n }[];\n duration?: Duration | string;\n}\n@CCCommand(WindowCoveringCommand.Set)\n@useSupervision()\nexport class WindowCoveringCCSet extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCSetOptions>) {\n super(options);\n this.targetValues = options.targetValues;\n this.duration = Duration.from(options.duration);\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCSet {\n validatePayload(raw.payload.length >= 1);\n const numEntries = raw.payload[0] & 0b11111;\n validatePayload(raw.payload.length >= 1 + numEntries * 2);\n const targetValues: WindowCoveringCCSetOptions[\"targetValues\"] = [];\n for (let i = 0; i < numEntries; i++) {\n const offset = 1 + i * 2;\n targetValues.push({\n parameter: raw.payload[offset],\n value: raw.payload[offset + 1],\n });\n }\n let duration: Duration | undefined;\n if (raw.payload.length >= 2 + numEntries * 2) {\n duration = Duration.parseSet(raw.payload[1 + numEntries * 2]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n targetValues,\n duration,\n });\n }\n public targetValues: {\n parameter: WindowCoveringParameter;\n value: number;\n }[];\n public duration: Duration | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const numEntries = this.targetValues.length & 0b11111;\n this.payload = new Bytes(2 + numEntries * 2);\n this.payload[0] = numEntries;\n for (let i = 0; i < numEntries; i++) {\n const offset = 1 + i * 2;\n this.payload[offset] = this.targetValues[i].parameter;\n this.payload[offset + 1] = this.targetValues[i].value;\n }\n this.payload[this.payload.length - 1] = (this.duration ?? Duration.default()).serializeSet();\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n for (const { parameter, value } of this.targetValues) {\n message[getEnumMemberName(WindowCoveringParameter, parameter)] =\n value;\n }\n if (this.duration) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCStartLevelChangeOptions {\n parameter: WindowCoveringParameter;\n direction: keyof typeof LevelChangeDirection;\n duration?: Duration | string;\n}\n@CCCommand(WindowCoveringCommand.StartLevelChange)\n@useSupervision()\nexport class WindowCoveringCCStartLevelChange extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCStartLevelChangeOptions>) {\n super(options);\n this.parameter = options.parameter;\n this.direction = options.direction;\n this.duration = Duration.from(options.duration);\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCStartLevelChange {\n validatePayload(raw.payload.length >= 2);\n const direction = !!(raw.payload[0] & 64)\n ? \"down\"\n : \"up\";\n const parameter: WindowCoveringParameter = raw.payload[1];\n let duration: Duration | undefined;\n if (raw.payload.length >= 3) {\n duration = Duration.parseSet(raw.payload[2]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n direction,\n parameter,\n duration,\n });\n }\n public parameter: WindowCoveringParameter;\n public direction: keyof typeof LevelChangeDirection;\n public duration: Duration | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.direction === \"down\" ? 64 : 0,\n this.parameter,\n (this.duration ?? Duration.default()).serializeSet(),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n direction: this.direction,\n };\n if (this.duration) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCStopLevelChangeOptions {\n parameter: WindowCoveringParameter;\n}\n@CCCommand(WindowCoveringCommand.StopLevelChange)\n@useSupervision()\nexport class WindowCoveringCCStopLevelChange extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCStopLevelChangeOptions>) {\n super(options);\n this.parameter = options.parameter;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCStopLevelChange {\n validatePayload(raw.payload.length >= 1);\n const parameter: WindowCoveringParameter = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n parameter,\n });\n }\n public parameter: WindowCoveringParameter;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.parameter]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n },\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./WindowCoveringCC._validateArgs.js\";\nconst { validateArgs_WindowCoveringCCAPI_get, validateArgs_WindowCoveringCCAPI_set, validateArgs_WindowCoveringCCAPI_startLevelChange, validateArgs_WindowCoveringCCAPI_stopLevelChange } = __validateArgs;\nimport { CommandClasses, Duration, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, encodeBitMask, logList, logText, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, isEnumMember, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory, throwMissingPropertyKey, throwUnsupportedProperty, throwUnsupportedPropertyKey, throwWrongValueType, } from \"../lib/API.js\";\nimport { windowCoveringParameterToLevelChangeLabel, windowCoveringParameterToMetadataStates, } from \"../lib/CCValueUtils.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type LevelChangeDirection, WindowCoveringCommand, WindowCoveringParameter, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { WindowCoveringCCValues } from \"./_CCValues.generated.js\";\nexport { WindowCoveringCCValues };\n@API(CommandClasses[\"Window Covering\"])\nexport class WindowCoveringCCAPI extends CCAPI {\n public supportsCommand(cmd: WindowCoveringCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case WindowCoveringCommand.Get:\n case WindowCoveringCommand.Set:\n case WindowCoveringCommand.SupportedGet:\n case WindowCoveringCommand.StartLevelChange:\n case WindowCoveringCommand.StopLevelChange:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: WindowCoveringCCAPI, { property, propertyKey }, value, options) {\n const valueId = {\n commandClass: this.ccId,\n property,\n propertyKey,\n };\n if (WindowCoveringCCValues.targetValue.is(valueId)) {\n if (typeof propertyKey !== \"number\"\n // Only odd-numbered parameters have position support and are writable\n || propertyKey % 2 === 0) {\n throwUnsupportedPropertyKey(this.ccId, property, propertyKey!);\n }\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const parameter = propertyKey;\n const duration = Duration.from(options?.transitionDuration);\n return this.set([{ parameter, value }], duration);\n }\n else if (WindowCoveringCCValues.levelChangeUp.is(valueId)\n || WindowCoveringCCValues.levelChangeDown.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n const parameter = propertyKey as number;\n const direction = WindowCoveringCCValues.levelChangeUp.is(valueId)\n ? \"up\"\n : \"down\";\n if (value) {\n // Perform the level change\n const duration = Duration.from(options?.transitionDuration);\n return this.startLevelChange(parameter, direction, duration);\n }\n else {\n return this.stopLevelChange(parameter);\n }\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = ({ property, propertyKey }, value, options) => {\n const valueId = {\n commandClass: this.ccId,\n property,\n propertyKey,\n };\n if (WindowCoveringCCValues.targetValue.is(valueId)) {\n if (typeof propertyKey !== \"number\")\n return;\n const parameter = propertyKey;\n const duration = Duration.from(options?.transitionDuration);\n const currentValueValueId = WindowCoveringCCValues.currentValue(parameter).endpoint(this.endpoint.index);\n return {\n // This is the target value for a split target/current state pair.\n isSplitStateTargetValue: true,\n // Window Covering commands may take some time to be executed.\n // Therefore we try to supervise the command execution and delay the\n // optimistic update until the final result is received.\n supervisionDelayedUpdates: true,\n supervisionOnSuccess: async () => {\n // Only update currentValue for valid target values\n if (typeof value === \"number\"\n && value >= 0\n && value <= 99) {\n this.tryGetValueDB()?.setValue(currentValueValueId, value);\n }\n else if (value === 255) {\n // We don't know the status now, so refresh the current value\n try {\n await this.get(parameter);\n }\n catch {\n // ignore\n }\n }\n },\n supervisionOnFailure: async () => {\n // The transition failed, so now we don't know the status - refresh the current value\n try {\n await this.get(parameter);\n }\n catch {\n // ignore\n }\n },\n optimisticallyUpdateRelatedValues: (_supervisedAndSuccessful) => {\n // Only update currentValue for valid target values\n if (typeof value === \"number\"\n && value >= 0\n && value <= 99) {\n if (this.isSinglecast()) {\n this.tryGetValueDB()?.setValue(currentValueValueId, value);\n }\n else if (this.isMulticast()) {\n // Figure out which nodes were affected by this command\n const affectedNodes = this.endpoint.node.physicalNodes.filter((node) => node\n .getEndpoint(this.endpoint.index)\n ?.supportsCC(this.ccId));\n // and optimistically update the currentValue\n for (const node of affectedNodes) {\n this.host\n .tryGetValueDB(node.id)\n ?.setValue(currentValueValueId, value);\n }\n }\n }\n },\n verifyChanges: () => {\n if (this.isSinglecast()) {\n // We query currentValue instead of targetValue to make sure that unsolicited updates cancel the scheduled poll\n this.schedulePoll(currentValueValueId, value, {\n duration,\n });\n }\n else {\n // For multicasts, do not schedule a refresh - this could cause a LOT of traffic\n }\n },\n };\n }\n };\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: WindowCoveringCCAPI, { property, propertyKey }) {\n switch (property) {\n case \"currentValue\":\n case \"targetValue\":\n case \"duration\":\n if (propertyKey == undefined) {\n throwMissingPropertyKey(this.ccId, property);\n }\n else if (typeof propertyKey !== \"number\") {\n throwUnsupportedPropertyKey(this.ccId, property, propertyKey);\n }\n return (await this.get(propertyKey))?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async getSupported(): Promise<MaybeNotKnown<readonly WindowCoveringParameter[]>> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.SupportedGet);\n const cc = new WindowCoveringCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<WindowCoveringCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedParameters;\n }\n @validateArgs_WindowCoveringCCAPI_get()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get(parameter: WindowCoveringParameter) {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.Get);\n const cc = new WindowCoveringCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n parameter,\n });\n const response = await this.host.sendCommand<WindowCoveringCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n }\n }\n @validateArgs_WindowCoveringCCAPI_set()\n public async set(targetValues: {\n parameter: WindowCoveringParameter;\n value: number;\n }[], duration?: Duration | string): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.Set);\n const cc = new WindowCoveringCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n targetValues,\n duration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_WindowCoveringCCAPI_startLevelChange()\n public async startLevelChange(parameter: WindowCoveringParameter, direction: keyof typeof LevelChangeDirection, duration?: Duration | string): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.StartLevelChange);\n const cc = new WindowCoveringCCStartLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n parameter,\n direction,\n duration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_WindowCoveringCCAPI_stopLevelChange()\n public async stopLevelChange(parameter: WindowCoveringParameter): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(WindowCoveringCommand, WindowCoveringCommand.StopLevelChange);\n const cc = new WindowCoveringCCStopLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n parameter,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Window Covering\"])\n@implementedVersion(1)\n@ccValues(WindowCoveringCCValues)\nexport class WindowCoveringCC extends CommandClass {\n declare ccCommand: WindowCoveringCommand;\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[\"Window Covering\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n tag: \"interview\",\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 endpoint: this.endpointIndex,\n message: \"querying supported window covering parameters...\",\n direction: \"outbound\",\n });\n const supported = await api.getSupported();\n if (supported?.length) {\n const logMessage = logText(\"supported window covering parameters:\", {\n nested: logList(supported.map((p) => getEnumMemberName(WindowCoveringParameter, p))),\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n // Create metadata for all supported parameters\n for (const param of supported) {\n // Default values\n this.setMetadata(ctx, WindowCoveringCCValues.currentValue(param));\n this.setMetadata(ctx, WindowCoveringCCValues.targetValue(param));\n this.setMetadata(ctx, WindowCoveringCCValues.duration(param));\n // Level change values\n this.setMetadata(ctx, WindowCoveringCCValues.levelChangeUp(param));\n this.setMetadata(ctx, WindowCoveringCCValues.levelChangeDown(param));\n }\n // Query current values for all supported parameters\n await this.refreshValues(ctx, {\n tag: \"interview\",\n onProgress: (completed, total) => node.reportInterviewProgress(completed, total),\n });\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Window Covering\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n const parameters: number[] = this.getValue(ctx, WindowCoveringCCValues.supportedParameters)\n ?? [];\n // Only odd parameters have position support and need to be queried\n const queryableParameters = parameters.filter((param) => param % 2 != 0);\n for (const [i, param] of queryableParameters.entries()) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying position for parameter ${getEnumMemberName(WindowCoveringParameter, param)}...`,\n direction: \"outbound\",\n });\n await api.get(param);\n options?.onProgress?.(i + 1, queryableParameters.length);\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (typeof propertyKey === \"number\") {\n return getEnumMemberName(WindowCoveringParameter, propertyKey);\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCSupportedReportOptions {\n supportedParameters: readonly WindowCoveringParameter[];\n}\n@CCCommand(WindowCoveringCommand.SupportedReport)\n@ccValueProperty(\"supportedParameters\", WindowCoveringCCValues.supportedParameters)\nexport class WindowCoveringCCSupportedReport extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCSupportedReportOptions>) {\n super(options);\n this.supportedParameters = options.supportedParameters;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const numBitmaskBytes = raw.payload[0] & 0b1111;\n validatePayload(raw.payload.length >= 1 + numBitmaskBytes);\n const bitmask = raw.payload.subarray(1, 1 + numBitmaskBytes);\n const supportedParameters: WindowCoveringParameter[] = parseBitMask(bitmask, WindowCoveringParameter[\"Outbound Left (no position)\"]);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedParameters,\n });\n }\n public readonly supportedParameters: readonly WindowCoveringParameter[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const bitmask = encodeBitMask(this.supportedParameters, undefined, WindowCoveringParameter[\"Outbound Left (no position)\"]).subarray(0, 15);\n const numBitmaskBytes = bitmask.length & 0b1111;\n this.payload = Bytes.concat([\n [numBitmaskBytes],\n bitmask.subarray(0, numBitmaskBytes),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported parameters\": logList(this.supportedParameters.map((p) => getEnumMemberName(WindowCoveringParameter, p))),\n },\n };\n }\n}\n@CCCommand(WindowCoveringCommand.SupportedGet)\n@expectedCCResponse(WindowCoveringCCSupportedReport)\nexport class WindowCoveringCCSupportedGet extends WindowCoveringCC {\n}\n// @publicAPI\nexport interface WindowCoveringCCReportOptions {\n parameter: WindowCoveringParameter;\n currentValue: number;\n targetValue: number;\n duration: Duration;\n}\n@CCCommand(WindowCoveringCommand.Report)\n@ccValueProperty(\"currentValue\", WindowCoveringCCValues.currentValue, (self) => [self.parameter])\n@ccValueProperty(\"targetValue\", WindowCoveringCCValues.targetValue, (self) => [\n self.parameter,\n])\n@ccValueProperty(\"duration\", WindowCoveringCCValues.duration, (self) => [\n self.parameter,\n])\nexport class WindowCoveringCCReport extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.parameter = options.parameter;\n this.currentValue = options.currentValue;\n this.targetValue = options.targetValue;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCReport {\n validatePayload(raw.payload.length >= 4);\n const parameter: WindowCoveringParameter = raw.payload[0];\n validatePayload(isEnumMember(WindowCoveringParameter, parameter));\n validatePayload(raw.payload[1] <= 99, raw.payload[2] <= 99);\n const currentValue = raw.payload[1];\n const targetValue = raw.payload[2];\n const duration = Duration.parseReport(raw.payload[3]) ?? Duration.unknown();\n return new this({\n nodeId: ctx.sourceNodeId,\n parameter,\n currentValue,\n targetValue,\n duration,\n });\n }\n public readonly parameter: WindowCoveringParameter;\n public readonly currentValue: number;\n public readonly targetValue: number;\n public readonly duration: Duration;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.parameter,\n this.currentValue,\n this.targetValue,\n this.duration.serializeReport(),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n \"current value\": this.currentValue,\n \"target value\": this.targetValue,\n duration: this.duration.toString(),\n },\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCGetOptions {\n parameter: WindowCoveringParameter;\n}\nfunction testResponseForWindowCoveringGet(sent: WindowCoveringCCGet, received: WindowCoveringCCReport) {\n return received.parameter === sent.parameter;\n}\n@CCCommand(WindowCoveringCommand.Get)\n@expectedCCResponse(WindowCoveringCCReport, testResponseForWindowCoveringGet)\nexport class WindowCoveringCCGet extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCGetOptions>) {\n super(options);\n this.parameter = options.parameter;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCGet {\n validatePayload(raw.payload.length >= 1);\n const parameter: WindowCoveringParameter = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n parameter,\n });\n }\n public parameter: WindowCoveringParameter;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.parameter]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n },\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCSetOptions {\n targetValues: {\n parameter: WindowCoveringParameter;\n value: number;\n }[];\n duration?: Duration | string;\n}\n@CCCommand(WindowCoveringCommand.Set)\n@useSupervision()\nexport class WindowCoveringCCSet extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCSetOptions>) {\n super(options);\n this.targetValues = options.targetValues;\n this.duration = Duration.from(options.duration);\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCSet {\n validatePayload(raw.payload.length >= 1);\n const numEntries = raw.payload[0] & 0b11111;\n validatePayload(raw.payload.length >= 1 + numEntries * 2);\n const targetValues: WindowCoveringCCSetOptions[\"targetValues\"] = [];\n for (let i = 0; i < numEntries; i++) {\n const offset = 1 + i * 2;\n targetValues.push({\n parameter: raw.payload[offset],\n value: raw.payload[offset + 1],\n });\n }\n let duration: Duration | undefined;\n if (raw.payload.length >= 2 + numEntries * 2) {\n duration = Duration.parseSet(raw.payload[1 + numEntries * 2]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n targetValues,\n duration,\n });\n }\n public targetValues: {\n parameter: WindowCoveringParameter;\n value: number;\n }[];\n public duration: Duration | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const numEntries = this.targetValues.length & 0b11111;\n this.payload = new Bytes(2 + numEntries * 2);\n this.payload[0] = numEntries;\n for (let i = 0; i < numEntries; i++) {\n const offset = 1 + i * 2;\n this.payload[offset] = this.targetValues[i].parameter;\n this.payload[offset + 1] = this.targetValues[i].value;\n }\n this.payload[this.payload.length - 1] = (this.duration ?? Duration.default()).serializeSet();\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n for (const { parameter, value } of this.targetValues) {\n message[getEnumMemberName(WindowCoveringParameter, parameter)] =\n value;\n }\n if (this.duration) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCStartLevelChangeOptions {\n parameter: WindowCoveringParameter;\n direction: keyof typeof LevelChangeDirection;\n duration?: Duration | string;\n}\n@CCCommand(WindowCoveringCommand.StartLevelChange)\n@useSupervision()\nexport class WindowCoveringCCStartLevelChange extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCStartLevelChangeOptions>) {\n super(options);\n this.parameter = options.parameter;\n this.direction = options.direction;\n this.duration = Duration.from(options.duration);\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCStartLevelChange {\n validatePayload(raw.payload.length >= 2);\n const direction = !!(raw.payload[0] & 64) ? \"down\" : \"up\";\n const parameter: WindowCoveringParameter = raw.payload[1];\n let duration: Duration | undefined;\n if (raw.payload.length >= 3) {\n duration = Duration.parseSet(raw.payload[2]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n direction,\n parameter,\n duration,\n });\n }\n public parameter: WindowCoveringParameter;\n public direction: keyof typeof LevelChangeDirection;\n public duration: Duration | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.direction === \"down\" ? 64 : 0,\n this.parameter,\n (this.duration ?? Duration.default()).serializeSet(),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n direction: this.direction,\n };\n if (this.duration) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface WindowCoveringCCStopLevelChangeOptions {\n parameter: WindowCoveringParameter;\n}\n@CCCommand(WindowCoveringCommand.StopLevelChange)\n@useSupervision()\nexport class WindowCoveringCCStopLevelChange extends WindowCoveringCC {\n public constructor(options: WithAddress<WindowCoveringCCStopLevelChangeOptions>) {\n super(options);\n this.parameter = options.parameter;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCStopLevelChange {\n validatePayload(raw.payload.length >= 1);\n const parameter: WindowCoveringParameter = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n parameter,\n });\n }\n public parameter: WindowCoveringParameter;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.parameter]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n parameter: getEnumMemberName(WindowCoveringParameter, this.parameter),\n },\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -600,11 +600,7 @@ let ZWaveProtocolCCTransferRangeInformation = (() => {
600
600
  serialize(ctx) {
601
601
  const nodesBitmask = (0, import_core.encodeBitMask)(this.neighborNodeIds, import_core.MAX_NODES);
602
602
  this.payload = import_shared.Bytes.concat([
603
- [
604
- this.sequenceNumber,
605
- this.testedNodeId,
606
- nodesBitmask.length
607
- ],
603
+ [this.sequenceNumber, this.testedNodeId, nodesBitmask.length],
608
604
  nodesBitmask
609
605
  ]);
610
606
  return super.serialize(ctx);
@@ -823,9 +819,7 @@ let ZWaveProtocolCCNewRangeRegistered = (() => {
823
819
  (0, import_core.validatePayload)(raw.payload.length >= 2);
824
820
  const testedNodeId = raw.payload[0];
825
821
  const numNeighbors = raw.payload[1];
826
- const neighborNodeIds = [
827
- ...raw.payload.subarray(2, 2 + numNeighbors)
828
- ];
822
+ const neighborNodeIds = [...raw.payload.subarray(2, 2 + numNeighbors)];
829
823
  return new this({
830
824
  nodeId: ctx.sourceNodeId,
831
825
  testedNodeId,
@@ -1288,9 +1282,7 @@ let ZWaveProtocolCCReservedIDs = (() => {
1288
1282
  (0, import_core.validatePayload)(raw.payload.length >= 1);
1289
1283
  const numNodeIDs = raw.payload[0];
1290
1284
  (0, import_core.validatePayload)(raw.payload.length >= 1 + numNodeIDs);
1291
- const reservedNodeIDs = [
1292
- ...raw.payload.subarray(1, 1 + numNodeIDs)
1293
- ];
1285
+ const reservedNodeIDs = [...raw.payload.subarray(1, 1 + numNodeIDs)];
1294
1286
  return new this({
1295
1287
  nodeId: ctx.sourceNodeId,
1296
1288
  reservedNodeIDs
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/ZWaveProtocolCC.ts"],
4
- "sourcesContent": ["import { type BasicDeviceClass, CommandClasses, type DataRate, type FLiRS, MAX_NODES, MAX_REPEATERS, type NodeInformationFrame, type NodeProtocolInfoAndDeviceClass, type NodeType, type ProtocolVersion, type WithAddress, ZWaveDataRate, ZWaveError, ZWaveErrorCodes, encodeBitMask, encodeNodeInformationFrame, encodeNodeProtocolInfoAndDeviceClass, parseBitMask, parseNodeInformationFrame, parseNodeProtocolInfoAndDeviceClass, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView } from \"@zwave-js/shared\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport { CCCommand, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { type NetworkTransferStatus, WakeUpTime, ZWaveProtocolCommand, parseWakeUpTime, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nenum DataRateBitmask {\n \"9k6\" = 0b001,\n \"40k\" = 0b010,\n \"100k\" = 0b100\n}\nfunction dataRate2Bitmask(dataRate: ZWaveDataRate): DataRateBitmask {\n return dataRate === ZWaveDataRate[\"100k\"]\n ? DataRateBitmask[\"100k\"]\n : dataRate === ZWaveDataRate[\"40k\"]\n ? DataRateBitmask[\"40k\"]\n : DataRateBitmask[\"9k6\"];\n}\nfunction bitmask2DataRate(mask: DataRateBitmask): ZWaveDataRate {\n return mask === DataRateBitmask[\"100k\"]\n ? ZWaveDataRate[\"100k\"]\n : mask === DataRateBitmask[\"40k\"]\n ? ZWaveDataRate[\"40k\"]\n : ZWaveDataRate[\"9k6\"];\n}\n@commandClass(CommandClasses[\"Z-Wave Protocol\"])\n@implementedVersion(1)\nexport class ZWaveProtocolCC extends CommandClass {\n declare ccCommand: ZWaveProtocolCommand;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodeInformationFrameOptions extends NodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.NodeInformationFrame)\nexport class ZWaveProtocolCCNodeInformationFrame extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNodeInformationFrameOptions>) {\n super(options);\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodeInformationFrame {\n const nif = parseNodeInformationFrame(raw.payload);\n return new this({\n nodeId: ctx.sourceNodeId,\n ...nif,\n });\n }\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeNodeInformationFrame(this);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.RequestNodeInformationFrame)\n@expectedCCResponse(ZWaveProtocolCCNodeInformationFrame)\nexport class ZWaveProtocolCCRequestNodeInformationFrame extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignIDsOptions {\n assignedNodeId: number;\n homeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignIDs)\nexport class ZWaveProtocolCCAssignIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignIDsOptions>) {\n super(options);\n this.assignedNodeId = options.assignedNodeId;\n this.homeId = options.homeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignIDs {\n validatePayload(raw.payload.length >= 5);\n const assignedNodeId = raw.payload[0];\n const homeId = raw.payload.readUInt32BE(1);\n return new this({\n nodeId: ctx.sourceNodeId,\n assignedNodeId,\n homeId,\n });\n }\n public assignedNodeId: number;\n public homeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = new Bytes(5);\n this.payload[0] = this.assignedNodeId;\n this.payload.writeUInt32BE(this.homeId, 1);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCFindNodesInRangeOptions {\n candidateNodeIds: number[];\n wakeUpTime: WakeUpTime;\n dataRate?: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.FindNodesInRange)\nexport class ZWaveProtocolCCFindNodesInRange extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCFindNodesInRangeOptions>) {\n super(options);\n this.candidateNodeIds = options.candidateNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n this.dataRate = options.dataRate ?? ZWaveDataRate[\"9k6\"];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCFindNodesInRange {\n validatePayload(raw.payload.length >= 1);\n const speedPresent = raw.payload[0] & 128;\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const candidateNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n const rest = raw.payload.subarray(1 + bitmaskLength);\n let dataRate: ZWaveDataRate;\n let wakeUpTime: WakeUpTime;\n if (speedPresent) {\n validatePayload(rest.length >= 1);\n if (rest.length === 1) {\n dataRate = rest[0] & 0b111;\n wakeUpTime = WakeUpTime.None;\n }\n else if (rest.length === 2) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = rest[1] & 0b111;\n }\n else {\n validatePayload.fail(\"Invalid payload length\");\n }\n }\n else if (rest.length >= 1) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n else {\n wakeUpTime = WakeUpTime.None;\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n candidateNodeIds,\n dataRate,\n wakeUpTime,\n });\n }\n public candidateNodeIds: number[];\n public wakeUpTime: WakeUpTime;\n public dataRate: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.candidateNodeIds, MAX_NODES);\n const speedAndLength = 128 | nodesBitmask.length;\n this.payload = Bytes.concat([\n [speedAndLength],\n nodesBitmask,\n [this.wakeUpTime, this.dataRate],\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCRangeInfoOptions {\n neighborNodeIds: number[];\n wakeUpTime?: WakeUpTime;\n}\n@CCCommand(ZWaveProtocolCommand.RangeInfo)\nexport class ZWaveProtocolCCRangeInfo extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCRangeInfoOptions>) {\n super(options);\n this.neighborNodeIds = options.neighborNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCRangeInfo {\n validatePayload(raw.payload.length >= 1);\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n let wakeUpTime: WakeUpTime | undefined;\n if (raw.payload.length >= 2 + bitmaskLength) {\n wakeUpTime = parseWakeUpTime(raw.payload[1 + bitmaskLength]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n neighborNodeIds,\n wakeUpTime,\n });\n }\n public neighborNodeIds: number[];\n public wakeUpTime?: WakeUpTime;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [nodesBitmask.length],\n nodesBitmask,\n this.wakeUpTime != undefined\n ? Bytes.from([this.wakeUpTime])\n : new Bytes(),\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.GetNodesInRange)\n@expectedCCResponse(ZWaveProtocolCCRangeInfo)\nexport class ZWaveProtocolCCGetNodesInRange extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCCommandCompleteOptions {\n sequenceNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.CommandComplete)\nexport class ZWaveProtocolCCCommandComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCCommandCompleteOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCCommandComplete {\n validatePayload(raw.payload.length >= 1);\n const sequenceNumber = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n });\n }\n public sequenceNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sequenceNumber]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferPresentationOptions {\n supportsNWI: boolean;\n includeNode: boolean;\n excludeNode: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.TransferPresentation)\nexport class ZWaveProtocolCCTransferPresentation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferPresentationOptions>) {\n super(options);\n if (options.includeNode && options.excludeNode) {\n throw new ZWaveError(`${this.constructor.name}: the includeNode and excludeNode options cannot both be true`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.supportsNWI = options.supportsNWI;\n this.includeNode = options.includeNode;\n this.excludeNode = options.excludeNode;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferPresentation {\n validatePayload(raw.payload.length >= 1);\n const option = raw.payload[0];\n const supportsNWI = !!(option & 0b0001);\n const excludeNode = !!(option & 0b0010);\n const includeNode = !!(option & 0b0100);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportsNWI,\n excludeNode,\n includeNode,\n });\n }\n public supportsNWI: boolean;\n public includeNode: boolean;\n public excludeNode: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n (this.supportsNWI ? 0b0001 : 0)\n | (this.excludeNode ? 0b0010 : 0)\n | (this.includeNode ? 0b0100 : 0),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNodeInformationOptions extends NodeProtocolInfoAndDeviceClass {\n sequenceNumber: number;\n sourceNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNodeInformation)\nexport class ZWaveProtocolCCTransferNodeInformation extends ZWaveProtocolCC implements NodeProtocolInfoAndDeviceClass {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNodeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.sourceNodeId = options.sourceNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNodeInformation {\n validatePayload(raw.payload.length >= 2);\n const sequenceNumber = raw.payload[0];\n const sourceNodeId = raw.payload[1];\n const { info } = parseNodeProtocolInfoAndDeviceClass(raw.payload.subarray(2));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n sourceNodeId,\n ...info,\n });\n }\n public sequenceNumber: number;\n public sourceNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.sequenceNumber, this.sourceNodeId],\n encodeNodeProtocolInfoAndDeviceClass(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferRangeInformationOptions {\n sequenceNumber: number;\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.TransferRangeInformation)\nexport class ZWaveProtocolCCTransferRangeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferRangeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferRangeInformation {\n validatePayload(raw.payload.length >= 3);\n const sequenceNumber = raw.payload[0];\n const testedNodeId = raw.payload[1];\n const bitmaskLength = raw.payload[2];\n validatePayload(raw.payload.length >= 3 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(3, 3 + bitmaskLength));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public sequenceNumber: number;\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [\n this.sequenceNumber,\n this.testedNodeId,\n nodesBitmask.length,\n ],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferEndOptions {\n status: NetworkTransferStatus;\n}\n@CCCommand(ZWaveProtocolCommand.TransferEnd)\nexport class ZWaveProtocolCCTransferEnd extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferEndOptions>) {\n super(options);\n this.status = options.status;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferEnd {\n validatePayload(raw.payload.length >= 1);\n const status: NetworkTransferStatus = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n status,\n });\n }\n public status: NetworkTransferStatus;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.status]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRouteOptions {\n destinationNodeId: number;\n routeIndex: number;\n repeaters: number[];\n destinationWakeUp: WakeUpTime;\n destinationSpeed: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoute)\nexport class ZWaveProtocolCCAssignReturnRoute extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRouteOptions>) {\n super(options);\n if (options.repeaters.length > MAX_REPEATERS) {\n throw new ZWaveError(`${this.constructor.name}: too many repeaters`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.destinationNodeId = options.destinationNodeId;\n this.routeIndex = options.routeIndex;\n this.repeaters = options.repeaters;\n this.destinationWakeUp = options.destinationWakeUp;\n this.destinationSpeed = options.destinationSpeed;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoute {\n validatePayload(raw.payload.length >= 7);\n const destinationNodeId = raw.payload[0];\n const routeIndex = raw.payload[1] >>> 4;\n const numRepeaters = raw.payload[1] & 0b1111;\n const repeaters = [...raw.payload.subarray(2, 2 + numRepeaters)];\n const speedAndWakeup = raw.payload[2 + numRepeaters];\n const destinationSpeed = bitmask2DataRate((speedAndWakeup >>> 3) & 0b111);\n const destinationWakeUp: WakeUpTime = (speedAndWakeup >>> 1) & 0b11;\n return new this({\n nodeId: ctx.sourceNodeId,\n destinationNodeId,\n routeIndex,\n repeaters,\n destinationSpeed,\n destinationWakeUp,\n });\n }\n public destinationNodeId: number;\n public routeIndex: number;\n public repeaters: number[];\n public destinationWakeUp: WakeUpTime;\n public destinationSpeed: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const routeByte = (this.routeIndex << 4) | this.repeaters.length;\n const speedMask = dataRate2Bitmask(this.destinationSpeed);\n const speedByte = (speedMask << 3) | (this.destinationWakeUp << 1);\n this.payload = Bytes.from([\n this.destinationNodeId,\n routeByte,\n ...this.repeaters,\n speedByte,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewNodeRegisteredOptions extends NodeInformationFrame {\n newNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.NewNodeRegistered)\nexport class ZWaveProtocolCCNewNodeRegistered extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNewNodeRegisteredOptions>) {\n super(options);\n this.newNodeId = options.newNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewNodeRegistered {\n validatePayload(raw.payload.length >= 1);\n const newNodeId = raw.payload[0];\n const nif = parseNodeInformationFrame(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n newNodeId,\n ...nif,\n });\n }\n public newNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.newNodeId],\n encodeNodeInformationFrame(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewRangeRegisteredOptions {\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NewRangeRegistered)\nexport class ZWaveProtocolCCNewRangeRegistered extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNewRangeRegisteredOptions>) {\n super(options);\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewRangeRegistered {\n validatePayload(raw.payload.length >= 2);\n const testedNodeId = raw.payload[0];\n const numNeighbors = raw.payload[1];\n const neighborNodeIds = [\n ...raw.payload.subarray(2, 2 + numNeighbors),\n ];\n return new this({\n nodeId: ctx.sourceNodeId,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [this.testedNodeId, nodesBitmask.length],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions {\n genericDeviceClass: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNewPrimaryControllerComplete)\nexport class ZWaveProtocolCCTransferNewPrimaryControllerComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions>) {\n super(options);\n this.genericDeviceClass = options.genericDeviceClass;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNewPrimaryControllerComplete {\n validatePayload(raw.payload.length >= 1);\n const genericDeviceClass = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n genericDeviceClass,\n });\n }\n public genericDeviceClass: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.genericDeviceClass]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AutomaticControllerUpdateStart)\nexport class ZWaveProtocolCCAutomaticControllerUpdateStart extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSUCNodeIDOptions {\n sucNodeId: number;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SUCNodeID)\nexport class ZWaveProtocolCCSUCNodeID extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSUCNodeIDOptions>) {\n super(options);\n this.sucNodeId = options.sucNodeId;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSUCNodeID {\n validatePayload(raw.payload.length >= 1);\n const sucNodeId = raw.payload[0];\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n sucNodeId,\n isSIS,\n });\n }\n public sucNodeId: number;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sucNodeId, this.isSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCOptions {\n enableSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUC)\nexport class ZWaveProtocolCCSetSUC extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCOptions>) {\n super(options);\n this.enableSIS = options.enableSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUC {\n validatePayload(raw.payload.length >= 2);\n // Byte 0 must be 0x01 or ignored\n const capabilities = raw.payload[1] ?? 0;\n const enableSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n enableSIS,\n });\n }\n public enableSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0x01, this.enableSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCAckOptions {\n accepted: boolean;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUCAck)\nexport class ZWaveProtocolCCSetSUCAck extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCAckOptions>) {\n super(options);\n this.accepted = options.accepted;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUCAck {\n validatePayload(raw.payload.length >= 2);\n const accepted = raw.payload[0] === 0x01;\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n isSIS,\n });\n }\n public accepted: boolean;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.accepted ? 0x01 : 0x00,\n this.isSIS ? 0b1 : 0,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoute)\nexport class ZWaveProtocolCCAssignSUCReturnRoute extends ZWaveProtocolCCAssignReturnRoute {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCStaticRouteRequestOptions {\n nodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.StaticRouteRequest)\nexport class ZWaveProtocolCCStaticRouteRequest extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCStaticRouteRequestOptions>) {\n super(options);\n if (options.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n throw new ZWaveError(`All node IDs must be between 1 and ${MAX_NODES}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nodeIds = options.nodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCStaticRouteRequest {\n validatePayload(raw.payload.length >= 5);\n const nodeIds = [...raw.payload.subarray(0, 5)].filter((id) => id > 0 && id <= MAX_NODES);\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeIds,\n });\n }\n public nodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.alloc(5, 0);\n for (let i = 0; i < this.nodeIds.length && i < 5; i++) {\n this.payload[i] = this.nodeIds[i];\n }\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCLostOptions {\n lostNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.Lost)\nexport class ZWaveProtocolCCLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCLostOptions>) {\n super(options);\n this.lostNodeId = options.lostNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCLost {\n validatePayload(raw.payload.length >= 1);\n const lostNodeId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n lostNodeId,\n });\n }\n public lostNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.lostNodeId]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAcceptLostOptions {\n accepted: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.AcceptLost)\nexport class ZWaveProtocolCCAcceptLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAcceptLostOptions>) {\n super(options);\n this.accepted = options.accepted;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAcceptLost {\n validatePayload(raw.payload.length >= 1);\n validatePayload(raw.payload[0] === 0x04 || raw.payload[0] === 0x05);\n const accepted = raw.payload[0] === 0x05;\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n });\n }\n public accepted: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.accepted ? 0x05 : 0x04]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNOPPowerOptions {\n powerDampening: number;\n}\n@CCCommand(ZWaveProtocolCommand.NOPPower)\nexport class ZWaveProtocolCCNOPPower extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNOPPowerOptions>) {\n super(options);\n if (options.powerDampening < 0 || options.powerDampening > 14) {\n throw new ZWaveError(`${this.constructor.name}: power dampening must be between 0 and 14 dBm!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.powerDampening = options.powerDampening;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNOPPower {\n let powerDampening;\n if (raw.payload.length >= 2) {\n // Ignore byte 0\n powerDampening = raw.payload[1];\n }\n else if (raw.payload.length === 1) {\n powerDampening = [\n 0xf0,\n 0xc8,\n 0xa7,\n 0x91,\n 0x77,\n 0x67,\n 0x60,\n 0x46,\n 0x38,\n 0x35,\n 0x32,\n 0x30,\n 0x24,\n 0x22,\n 0x20,\n ].indexOf(raw.payload[0]);\n if (powerDampening === -1)\n powerDampening = 0;\n }\n else {\n validatePayload.fail(\"Invalid payload length!\");\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n powerDampening,\n });\n }\n // Power dampening in (negative) dBm. A value of 2 means -2 dBm.\n public powerDampening: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0, this.powerDampening]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReservedIDsOptions {\n reservedNodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.ReservedIDs)\nexport class ZWaveProtocolCCReservedIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReservedIDsOptions>) {\n super(options);\n this.reservedNodeIDs = options.reservedNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReservedIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n validatePayload(raw.payload.length >= 1 + numNodeIDs);\n const reservedNodeIDs = [\n ...raw.payload.subarray(1, 1 + numNodeIDs),\n ];\n return new this({\n nodeId: ctx.sourceNodeId,\n reservedNodeIDs,\n });\n }\n public reservedNodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.reservedNodeIDs.length,\n ...this.reservedNodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReserveNodeIDsOptions {\n numNodeIDs: number;\n}\n@CCCommand(ZWaveProtocolCommand.ReserveNodeIDs)\n@expectedCCResponse(ZWaveProtocolCCReservedIDs)\nexport class ZWaveProtocolCCReserveNodeIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReserveNodeIDsOptions>) {\n super(options);\n this.numNodeIDs = options.numNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReserveNodeIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n numNodeIDs,\n });\n }\n public numNodeIDs: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.numNodeIDs]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistReplyOptions {\n nodeMaskType: number;\n nodeListUpdated: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.NodesExistReply)\nexport class ZWaveProtocolCCNodesExistReply extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistReplyOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeListUpdated = options.nodeListUpdated;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExistReply {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const nodeListUpdated = raw.payload[1] === 0x01;\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeListUpdated,\n });\n }\n public nodeMaskType: number;\n public nodeListUpdated: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeListUpdated ? 0x01 : 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\nfunction testResponseForZWaveProtocolNodesExist(sent: ZWaveProtocolCCNodesExist, received: ZWaveProtocolCCNodesExistReply) {\n return received.nodeMaskType === sent.nodeMaskType;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistOptions {\n nodeMaskType: number;\n nodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NodesExist)\n@expectedCCResponse(ZWaveProtocolCCNodesExistReply, testResponseForZWaveProtocolNodesExist)\nexport class ZWaveProtocolCCNodesExist extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeIDs = options.nodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExist {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const numNodeIDs = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + numNodeIDs);\n const nodeIDs = [...raw.payload.subarray(2, 2 + numNodeIDs)];\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeIDs,\n });\n }\n public nodeMaskType: number;\n public nodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeIDs.length,\n ...this.nodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetNWIModeOptions {\n enabled: boolean;\n timeoutMinutes?: number;\n}\n@CCCommand(ZWaveProtocolCommand.SetNWIMode)\nexport class ZWaveProtocolCCSetNWIMode extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetNWIModeOptions>) {\n super(options);\n this.enabled = options.enabled;\n this.timeoutMinutes = options.timeoutMinutes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetNWIMode {\n validatePayload(raw.payload.length >= 2);\n const enabled = raw.payload[0] === 0x01;\n const timeoutMinutes: number | undefined = raw.payload[1] || undefined;\n return new this({\n nodeId: ctx.sourceNodeId,\n enabled,\n timeoutMinutes,\n });\n }\n public enabled: boolean;\n public timeoutMinutes?: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.enabled ? 0x01 : 0x00,\n this.timeoutMinutes ?? 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.ExcludeRequest)\nexport class ZWaveProtocolCCExcludeRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRoutePriorityOptions {\n targetNodeId: number;\n routeNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoutePriority)\nexport class ZWaveProtocolCCAssignReturnRoutePriority extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRoutePriorityOptions>) {\n super(options);\n this.targetNodeId = options.targetNodeId;\n this.routeNumber = options.routeNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoutePriority {\n validatePayload(raw.payload.length >= 2);\n const targetNodeId = raw.payload[0];\n const routeNumber = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n targetNodeId,\n routeNumber,\n });\n }\n public targetNodeId: number;\n public routeNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.targetNodeId, this.routeNumber]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoutePriority)\nexport class ZWaveProtocolCCAssignSUCReturnRoutePriority extends ZWaveProtocolCCAssignReturnRoutePriority {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSmartStartIncludedNodeInformationOptions {\n nwiHomeId: BytesView;\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartIncludedNodeInformation)\nexport class ZWaveProtocolCCSmartStartIncludedNodeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSmartStartIncludedNodeInformationOptions>) {\n super(options);\n if (options.nwiHomeId.length !== 4) {\n throw new ZWaveError(`nwiHomeId must have length 4`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nwiHomeId = options.nwiHomeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSmartStartIncludedNodeInformation {\n validatePayload(raw.payload.length >= 4);\n const nwiHomeId = raw.payload.subarray(0, 4);\n return new this({\n nodeId: ctx.sourceNodeId,\n nwiHomeId,\n });\n }\n public nwiHomeId: BytesView;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this.nwiHomeId);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartPrime)\nexport class ZWaveProtocolCCSmartStartPrime extends ZWaveProtocolCCNodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartInclusionRequest)\nexport class ZWaveProtocolCCSmartStartInclusionRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { type BasicDeviceClass, CommandClasses, type DataRate, type FLiRS, MAX_NODES, MAX_REPEATERS, type NodeInformationFrame, type NodeProtocolInfoAndDeviceClass, type NodeType, type ProtocolVersion, type WithAddress, ZWaveDataRate, ZWaveError, ZWaveErrorCodes, encodeBitMask, encodeNodeInformationFrame, encodeNodeProtocolInfoAndDeviceClass, parseBitMask, parseNodeInformationFrame, parseNodeProtocolInfoAndDeviceClass, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView } from \"@zwave-js/shared\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport { CCCommand, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { type NetworkTransferStatus, WakeUpTime, ZWaveProtocolCommand, parseWakeUpTime, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nenum DataRateBitmask {\n \"9k6\" = 0b001,\n \"40k\" = 0b010,\n \"100k\" = 0b100\n}\nfunction dataRate2Bitmask(dataRate: ZWaveDataRate): DataRateBitmask {\n return dataRate === ZWaveDataRate[\"100k\"]\n ? DataRateBitmask[\"100k\"]\n : dataRate === ZWaveDataRate[\"40k\"]\n ? DataRateBitmask[\"40k\"]\n : DataRateBitmask[\"9k6\"];\n}\nfunction bitmask2DataRate(mask: DataRateBitmask): ZWaveDataRate {\n return mask === DataRateBitmask[\"100k\"]\n ? ZWaveDataRate[\"100k\"]\n : mask === DataRateBitmask[\"40k\"]\n ? ZWaveDataRate[\"40k\"]\n : ZWaveDataRate[\"9k6\"];\n}\n@commandClass(CommandClasses[\"Z-Wave Protocol\"])\n@implementedVersion(1)\nexport class ZWaveProtocolCC extends CommandClass {\n declare ccCommand: ZWaveProtocolCommand;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodeInformationFrameOptions extends NodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.NodeInformationFrame)\nexport class ZWaveProtocolCCNodeInformationFrame extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNodeInformationFrameOptions>) {\n super(options);\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodeInformationFrame {\n const nif = parseNodeInformationFrame(raw.payload);\n return new this({\n nodeId: ctx.sourceNodeId,\n ...nif,\n });\n }\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeNodeInformationFrame(this);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.RequestNodeInformationFrame)\n@expectedCCResponse(ZWaveProtocolCCNodeInformationFrame)\nexport class ZWaveProtocolCCRequestNodeInformationFrame extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignIDsOptions {\n assignedNodeId: number;\n homeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignIDs)\nexport class ZWaveProtocolCCAssignIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignIDsOptions>) {\n super(options);\n this.assignedNodeId = options.assignedNodeId;\n this.homeId = options.homeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignIDs {\n validatePayload(raw.payload.length >= 5);\n const assignedNodeId = raw.payload[0];\n const homeId = raw.payload.readUInt32BE(1);\n return new this({\n nodeId: ctx.sourceNodeId,\n assignedNodeId,\n homeId,\n });\n }\n public assignedNodeId: number;\n public homeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = new Bytes(5);\n this.payload[0] = this.assignedNodeId;\n this.payload.writeUInt32BE(this.homeId, 1);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCFindNodesInRangeOptions {\n candidateNodeIds: number[];\n wakeUpTime: WakeUpTime;\n dataRate?: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.FindNodesInRange)\nexport class ZWaveProtocolCCFindNodesInRange extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCFindNodesInRangeOptions>) {\n super(options);\n this.candidateNodeIds = options.candidateNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n this.dataRate = options.dataRate ?? ZWaveDataRate[\"9k6\"];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCFindNodesInRange {\n validatePayload(raw.payload.length >= 1);\n const speedPresent = raw.payload[0] & 128;\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const candidateNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n const rest = raw.payload.subarray(1 + bitmaskLength);\n let dataRate: ZWaveDataRate;\n let wakeUpTime: WakeUpTime;\n if (speedPresent) {\n validatePayload(rest.length >= 1);\n if (rest.length === 1) {\n dataRate = rest[0] & 0b111;\n wakeUpTime = WakeUpTime.None;\n }\n else if (rest.length === 2) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = rest[1] & 0b111;\n }\n else {\n validatePayload.fail(\"Invalid payload length\");\n }\n }\n else if (rest.length >= 1) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n else {\n wakeUpTime = WakeUpTime.None;\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n candidateNodeIds,\n dataRate,\n wakeUpTime,\n });\n }\n public candidateNodeIds: number[];\n public wakeUpTime: WakeUpTime;\n public dataRate: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.candidateNodeIds, MAX_NODES);\n const speedAndLength = 128 | nodesBitmask.length;\n this.payload = Bytes.concat([\n [speedAndLength],\n nodesBitmask,\n [this.wakeUpTime, this.dataRate],\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCRangeInfoOptions {\n neighborNodeIds: number[];\n wakeUpTime?: WakeUpTime;\n}\n@CCCommand(ZWaveProtocolCommand.RangeInfo)\nexport class ZWaveProtocolCCRangeInfo extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCRangeInfoOptions>) {\n super(options);\n this.neighborNodeIds = options.neighborNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCRangeInfo {\n validatePayload(raw.payload.length >= 1);\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n let wakeUpTime: WakeUpTime | undefined;\n if (raw.payload.length >= 2 + bitmaskLength) {\n wakeUpTime = parseWakeUpTime(raw.payload[1 + bitmaskLength]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n neighborNodeIds,\n wakeUpTime,\n });\n }\n public neighborNodeIds: number[];\n public wakeUpTime?: WakeUpTime;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [nodesBitmask.length],\n nodesBitmask,\n this.wakeUpTime != undefined\n ? Bytes.from([this.wakeUpTime])\n : new Bytes(),\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.GetNodesInRange)\n@expectedCCResponse(ZWaveProtocolCCRangeInfo)\nexport class ZWaveProtocolCCGetNodesInRange extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCCommandCompleteOptions {\n sequenceNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.CommandComplete)\nexport class ZWaveProtocolCCCommandComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCCommandCompleteOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCCommandComplete {\n validatePayload(raw.payload.length >= 1);\n const sequenceNumber = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n });\n }\n public sequenceNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sequenceNumber]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferPresentationOptions {\n supportsNWI: boolean;\n includeNode: boolean;\n excludeNode: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.TransferPresentation)\nexport class ZWaveProtocolCCTransferPresentation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferPresentationOptions>) {\n super(options);\n if (options.includeNode && options.excludeNode) {\n throw new ZWaveError(`${this.constructor.name}: the includeNode and excludeNode options cannot both be true`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.supportsNWI = options.supportsNWI;\n this.includeNode = options.includeNode;\n this.excludeNode = options.excludeNode;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferPresentation {\n validatePayload(raw.payload.length >= 1);\n const option = raw.payload[0];\n const supportsNWI = !!(option & 0b0001);\n const excludeNode = !!(option & 0b0010);\n const includeNode = !!(option & 0b0100);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportsNWI,\n excludeNode,\n includeNode,\n });\n }\n public supportsNWI: boolean;\n public includeNode: boolean;\n public excludeNode: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n (this.supportsNWI ? 0b0001 : 0)\n | (this.excludeNode ? 0b0010 : 0)\n | (this.includeNode ? 0b0100 : 0),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNodeInformationOptions extends NodeProtocolInfoAndDeviceClass {\n sequenceNumber: number;\n sourceNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNodeInformation)\nexport class ZWaveProtocolCCTransferNodeInformation extends ZWaveProtocolCC implements NodeProtocolInfoAndDeviceClass {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNodeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.sourceNodeId = options.sourceNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNodeInformation {\n validatePayload(raw.payload.length >= 2);\n const sequenceNumber = raw.payload[0];\n const sourceNodeId = raw.payload[1];\n const { info } = parseNodeProtocolInfoAndDeviceClass(raw.payload.subarray(2));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n sourceNodeId,\n ...info,\n });\n }\n public sequenceNumber: number;\n public sourceNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.sequenceNumber, this.sourceNodeId],\n encodeNodeProtocolInfoAndDeviceClass(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferRangeInformationOptions {\n sequenceNumber: number;\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.TransferRangeInformation)\nexport class ZWaveProtocolCCTransferRangeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferRangeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferRangeInformation {\n validatePayload(raw.payload.length >= 3);\n const sequenceNumber = raw.payload[0];\n const testedNodeId = raw.payload[1];\n const bitmaskLength = raw.payload[2];\n validatePayload(raw.payload.length >= 3 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(3, 3 + bitmaskLength));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public sequenceNumber: number;\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [this.sequenceNumber, this.testedNodeId, nodesBitmask.length],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferEndOptions {\n status: NetworkTransferStatus;\n}\n@CCCommand(ZWaveProtocolCommand.TransferEnd)\nexport class ZWaveProtocolCCTransferEnd extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferEndOptions>) {\n super(options);\n this.status = options.status;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferEnd {\n validatePayload(raw.payload.length >= 1);\n const status: NetworkTransferStatus = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n status,\n });\n }\n public status: NetworkTransferStatus;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.status]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRouteOptions {\n destinationNodeId: number;\n routeIndex: number;\n repeaters: number[];\n destinationWakeUp: WakeUpTime;\n destinationSpeed: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoute)\nexport class ZWaveProtocolCCAssignReturnRoute extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRouteOptions>) {\n super(options);\n if (options.repeaters.length > MAX_REPEATERS) {\n throw new ZWaveError(`${this.constructor.name}: too many repeaters`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.destinationNodeId = options.destinationNodeId;\n this.routeIndex = options.routeIndex;\n this.repeaters = options.repeaters;\n this.destinationWakeUp = options.destinationWakeUp;\n this.destinationSpeed = options.destinationSpeed;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoute {\n validatePayload(raw.payload.length >= 7);\n const destinationNodeId = raw.payload[0];\n const routeIndex = raw.payload[1] >>> 4;\n const numRepeaters = raw.payload[1] & 0b1111;\n const repeaters = [...raw.payload.subarray(2, 2 + numRepeaters)];\n const speedAndWakeup = raw.payload[2 + numRepeaters];\n const destinationSpeed = bitmask2DataRate((speedAndWakeup >>> 3) & 0b111);\n const destinationWakeUp: WakeUpTime = (speedAndWakeup >>> 1) & 0b11;\n return new this({\n nodeId: ctx.sourceNodeId,\n destinationNodeId,\n routeIndex,\n repeaters,\n destinationSpeed,\n destinationWakeUp,\n });\n }\n public destinationNodeId: number;\n public routeIndex: number;\n public repeaters: number[];\n public destinationWakeUp: WakeUpTime;\n public destinationSpeed: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const routeByte = (this.routeIndex << 4) | this.repeaters.length;\n const speedMask = dataRate2Bitmask(this.destinationSpeed);\n const speedByte = (speedMask << 3) | (this.destinationWakeUp << 1);\n this.payload = Bytes.from([\n this.destinationNodeId,\n routeByte,\n ...this.repeaters,\n speedByte,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewNodeRegisteredOptions extends NodeInformationFrame {\n newNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.NewNodeRegistered)\nexport class ZWaveProtocolCCNewNodeRegistered extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNewNodeRegisteredOptions>) {\n super(options);\n this.newNodeId = options.newNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewNodeRegistered {\n validatePayload(raw.payload.length >= 1);\n const newNodeId = raw.payload[0];\n const nif = parseNodeInformationFrame(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n newNodeId,\n ...nif,\n });\n }\n public newNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.newNodeId],\n encodeNodeInformationFrame(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewRangeRegisteredOptions {\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NewRangeRegistered)\nexport class ZWaveProtocolCCNewRangeRegistered extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNewRangeRegisteredOptions>) {\n super(options);\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewRangeRegistered {\n validatePayload(raw.payload.length >= 2);\n const testedNodeId = raw.payload[0];\n const numNeighbors = raw.payload[1];\n const neighborNodeIds = [...raw.payload.subarray(2, 2 + numNeighbors)];\n return new this({\n nodeId: ctx.sourceNodeId,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [this.testedNodeId, nodesBitmask.length],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions {\n genericDeviceClass: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNewPrimaryControllerComplete)\nexport class ZWaveProtocolCCTransferNewPrimaryControllerComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions>) {\n super(options);\n this.genericDeviceClass = options.genericDeviceClass;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNewPrimaryControllerComplete {\n validatePayload(raw.payload.length >= 1);\n const genericDeviceClass = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n genericDeviceClass,\n });\n }\n public genericDeviceClass: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.genericDeviceClass]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AutomaticControllerUpdateStart)\nexport class ZWaveProtocolCCAutomaticControllerUpdateStart extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSUCNodeIDOptions {\n sucNodeId: number;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SUCNodeID)\nexport class ZWaveProtocolCCSUCNodeID extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSUCNodeIDOptions>) {\n super(options);\n this.sucNodeId = options.sucNodeId;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSUCNodeID {\n validatePayload(raw.payload.length >= 1);\n const sucNodeId = raw.payload[0];\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n sucNodeId,\n isSIS,\n });\n }\n public sucNodeId: number;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sucNodeId, this.isSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCOptions {\n enableSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUC)\nexport class ZWaveProtocolCCSetSUC extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCOptions>) {\n super(options);\n this.enableSIS = options.enableSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUC {\n validatePayload(raw.payload.length >= 2);\n // Byte 0 must be 0x01 or ignored\n const capabilities = raw.payload[1] ?? 0;\n const enableSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n enableSIS,\n });\n }\n public enableSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0x01, this.enableSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCAckOptions {\n accepted: boolean;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUCAck)\nexport class ZWaveProtocolCCSetSUCAck extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCAckOptions>) {\n super(options);\n this.accepted = options.accepted;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUCAck {\n validatePayload(raw.payload.length >= 2);\n const accepted = raw.payload[0] === 0x01;\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n isSIS,\n });\n }\n public accepted: boolean;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.accepted ? 0x01 : 0x00,\n this.isSIS ? 0b1 : 0,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoute)\nexport class ZWaveProtocolCCAssignSUCReturnRoute extends ZWaveProtocolCCAssignReturnRoute {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCStaticRouteRequestOptions {\n nodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.StaticRouteRequest)\nexport class ZWaveProtocolCCStaticRouteRequest extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCStaticRouteRequestOptions>) {\n super(options);\n if (options.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n throw new ZWaveError(`All node IDs must be between 1 and ${MAX_NODES}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nodeIds = options.nodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCStaticRouteRequest {\n validatePayload(raw.payload.length >= 5);\n const nodeIds = [...raw.payload.subarray(0, 5)].filter((id) => id > 0 && id <= MAX_NODES);\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeIds,\n });\n }\n public nodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.alloc(5, 0);\n for (let i = 0; i < this.nodeIds.length && i < 5; i++) {\n this.payload[i] = this.nodeIds[i];\n }\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCLostOptions {\n lostNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.Lost)\nexport class ZWaveProtocolCCLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCLostOptions>) {\n super(options);\n this.lostNodeId = options.lostNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCLost {\n validatePayload(raw.payload.length >= 1);\n const lostNodeId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n lostNodeId,\n });\n }\n public lostNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.lostNodeId]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAcceptLostOptions {\n accepted: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.AcceptLost)\nexport class ZWaveProtocolCCAcceptLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAcceptLostOptions>) {\n super(options);\n this.accepted = options.accepted;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAcceptLost {\n validatePayload(raw.payload.length >= 1);\n validatePayload(raw.payload[0] === 0x04 || raw.payload[0] === 0x05);\n const accepted = raw.payload[0] === 0x05;\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n });\n }\n public accepted: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.accepted ? 0x05 : 0x04]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNOPPowerOptions {\n powerDampening: number;\n}\n@CCCommand(ZWaveProtocolCommand.NOPPower)\nexport class ZWaveProtocolCCNOPPower extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNOPPowerOptions>) {\n super(options);\n if (options.powerDampening < 0 || options.powerDampening > 14) {\n throw new ZWaveError(`${this.constructor.name}: power dampening must be between 0 and 14 dBm!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.powerDampening = options.powerDampening;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNOPPower {\n let powerDampening;\n if (raw.payload.length >= 2) {\n // Ignore byte 0\n powerDampening = raw.payload[1];\n }\n else if (raw.payload.length === 1) {\n powerDampening = [\n 0xf0, 0xc8, 0xa7, 0x91, 0x77, 0x67, 0x60, 0x46, 0x38, 0x35,\n 0x32, 0x30, 0x24, 0x22, 0x20,\n ].indexOf(raw.payload[0]);\n if (powerDampening === -1)\n powerDampening = 0;\n }\n else {\n validatePayload.fail(\"Invalid payload length!\");\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n powerDampening,\n });\n }\n // Power dampening in (negative) dBm. A value of 2 means -2 dBm.\n public powerDampening: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0, this.powerDampening]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReservedIDsOptions {\n reservedNodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.ReservedIDs)\nexport class ZWaveProtocolCCReservedIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReservedIDsOptions>) {\n super(options);\n this.reservedNodeIDs = options.reservedNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReservedIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n validatePayload(raw.payload.length >= 1 + numNodeIDs);\n const reservedNodeIDs = [...raw.payload.subarray(1, 1 + numNodeIDs)];\n return new this({\n nodeId: ctx.sourceNodeId,\n reservedNodeIDs,\n });\n }\n public reservedNodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.reservedNodeIDs.length,\n ...this.reservedNodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReserveNodeIDsOptions {\n numNodeIDs: number;\n}\n@CCCommand(ZWaveProtocolCommand.ReserveNodeIDs)\n@expectedCCResponse(ZWaveProtocolCCReservedIDs)\nexport class ZWaveProtocolCCReserveNodeIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReserveNodeIDsOptions>) {\n super(options);\n this.numNodeIDs = options.numNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReserveNodeIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n numNodeIDs,\n });\n }\n public numNodeIDs: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.numNodeIDs]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistReplyOptions {\n nodeMaskType: number;\n nodeListUpdated: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.NodesExistReply)\nexport class ZWaveProtocolCCNodesExistReply extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistReplyOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeListUpdated = options.nodeListUpdated;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExistReply {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const nodeListUpdated = raw.payload[1] === 0x01;\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeListUpdated,\n });\n }\n public nodeMaskType: number;\n public nodeListUpdated: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeListUpdated ? 0x01 : 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\nfunction testResponseForZWaveProtocolNodesExist(sent: ZWaveProtocolCCNodesExist, received: ZWaveProtocolCCNodesExistReply) {\n return received.nodeMaskType === sent.nodeMaskType;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistOptions {\n nodeMaskType: number;\n nodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NodesExist)\n@expectedCCResponse(ZWaveProtocolCCNodesExistReply, testResponseForZWaveProtocolNodesExist)\nexport class ZWaveProtocolCCNodesExist extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeIDs = options.nodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExist {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const numNodeIDs = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + numNodeIDs);\n const nodeIDs = [...raw.payload.subarray(2, 2 + numNodeIDs)];\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeIDs,\n });\n }\n public nodeMaskType: number;\n public nodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeIDs.length,\n ...this.nodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetNWIModeOptions {\n enabled: boolean;\n timeoutMinutes?: number;\n}\n@CCCommand(ZWaveProtocolCommand.SetNWIMode)\nexport class ZWaveProtocolCCSetNWIMode extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetNWIModeOptions>) {\n super(options);\n this.enabled = options.enabled;\n this.timeoutMinutes = options.timeoutMinutes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetNWIMode {\n validatePayload(raw.payload.length >= 2);\n const enabled = raw.payload[0] === 0x01;\n const timeoutMinutes: number | undefined = raw.payload[1] || undefined;\n return new this({\n nodeId: ctx.sourceNodeId,\n enabled,\n timeoutMinutes,\n });\n }\n public enabled: boolean;\n public timeoutMinutes?: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.enabled ? 0x01 : 0x00,\n this.timeoutMinutes ?? 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.ExcludeRequest)\nexport class ZWaveProtocolCCExcludeRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRoutePriorityOptions {\n targetNodeId: number;\n routeNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoutePriority)\nexport class ZWaveProtocolCCAssignReturnRoutePriority extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRoutePriorityOptions>) {\n super(options);\n this.targetNodeId = options.targetNodeId;\n this.routeNumber = options.routeNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoutePriority {\n validatePayload(raw.payload.length >= 2);\n const targetNodeId = raw.payload[0];\n const routeNumber = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n targetNodeId,\n routeNumber,\n });\n }\n public targetNodeId: number;\n public routeNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.targetNodeId, this.routeNumber]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoutePriority)\nexport class ZWaveProtocolCCAssignSUCReturnRoutePriority extends ZWaveProtocolCCAssignReturnRoutePriority {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSmartStartIncludedNodeInformationOptions {\n nwiHomeId: BytesView;\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartIncludedNodeInformation)\nexport class ZWaveProtocolCCSmartStartIncludedNodeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSmartStartIncludedNodeInformationOptions>) {\n super(options);\n if (options.nwiHomeId.length !== 4) {\n throw new ZWaveError(`nwiHomeId must have length 4`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nwiHomeId = options.nwiHomeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSmartStartIncludedNodeInformation {\n validatePayload(raw.payload.length >= 4);\n const nwiHomeId = raw.payload.subarray(0, 4);\n return new this({\n nodeId: ctx.sourceNodeId,\n nwiHomeId,\n });\n }\n public nwiHomeId: BytesView;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this.nwiHomeId);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartPrime)\nexport class ZWaveProtocolCCSmartStartPrime extends ZWaveProtocolCCNodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartInclusionRequest)\nexport class ZWaveProtocolCCSmartStartInclusionRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["DataRateBitmask"]
7
7
  }
@@ -1,5 +1,5 @@
1
- import { CommandClasses, type EndpointId, type GetValueDB, type ValueID } from "@zwave-js/core";
2
- import { AlarmSensorType, BinarySensorType, ColorComponent, DeviceIdType, EnergyProductionParameter, RateType, type ScheduleEntryLockScheduleKind, SubsystemType, SwitchType, ThermostatSetpointType, type UserCredentialKeyLockerEntryType, type UserCredentialType, type ValveId, Weekday, WindowCoveringParameter } from "../lib/_Types.js";
1
+ import { CommandClasses, type ValueID, type GetValueDB, type EndpointId } from "@zwave-js/core";
2
+ import { AlarmSensorType, SubsystemType, BinarySensorType, Weekday, ColorComponent, EnergyProductionParameter, type ValveId, DeviceIdType, RateType, SwitchType, type ScheduleEntryLockScheduleKind, ThermostatSetpointType, type UserCredentialType, type UserCredentialKeyLockerEntryType, WindowCoveringParameter } from "../lib/_Types.js";
3
3
  export declare const AlarmSensorCCValues: Readonly<{
4
4
  state: ((sensorType: AlarmSensorType) => {
5
5
  id: {