@zwave-js/cc 14.3.10 → 15.0.0-beta.1

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 (523) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +68 -68
  2. package/build/cjs/cc/AlarmSensorCC.js +12 -50
  3. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  4. package/build/cjs/cc/AssociationCC.d.ts +72 -73
  5. package/build/cjs/cc/AssociationCC.js +9 -26
  6. package/build/cjs/cc/AssociationCC.js.map +2 -2
  7. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +71 -71
  8. package/build/cjs/cc/AssociationGroupInfoCC.js +11 -22
  9. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  10. package/build/cjs/cc/BarrierOperatorCC.d.ts +66 -72
  11. package/build/cjs/cc/BarrierOperatorCC.js +12 -44
  12. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  13. package/build/cjs/cc/BasicCC.d.ts +64 -65
  14. package/build/cjs/cc/BasicCC.js +15 -46
  15. package/build/cjs/cc/BasicCC.js.map +2 -2
  16. package/build/cjs/cc/BatteryCC.d.ts +162 -165
  17. package/build/cjs/cc/BatteryCC.js +7 -84
  18. package/build/cjs/cc/BatteryCC.js.map +2 -2
  19. package/build/cjs/cc/BinarySensorCC.d.ts +36 -36
  20. package/build/cjs/cc/BinarySensorCC.js +9 -29
  21. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  22. package/build/cjs/cc/BinarySwitchCC.d.ts +34 -34
  23. package/build/cjs/cc/BinarySwitchCC.js +6 -22
  24. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  25. package/build/cjs/cc/CRC16CC.d.ts +4 -8
  26. package/build/cjs/cc/CRC16CC.js +4 -27
  27. package/build/cjs/cc/CRC16CC.js.map +2 -2
  28. package/build/cjs/cc/CentralSceneCC.d.ts +74 -74
  29. package/build/cjs/cc/CentralSceneCC.js +7 -30
  30. package/build/cjs/cc/CentralSceneCC.js.map +2 -2
  31. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +38 -40
  32. package/build/cjs/cc/ClimateControlScheduleCC.js +5 -24
  33. package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
  34. package/build/cjs/cc/ClockCC.d.ts +3 -3
  35. package/build/cjs/cc/ClockCC.js.map +2 -2
  36. package/build/cjs/cc/ColorSwitchCC.d.ts +117 -117
  37. package/build/cjs/cc/ColorSwitchCC.js +23 -75
  38. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  39. package/build/cjs/cc/ConfigurationCC._validateArgs.js +1 -1
  40. package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +1 -1
  41. package/build/cjs/cc/ConfigurationCC.d.ts +48 -52
  42. package/build/cjs/cc/ConfigurationCC.js +11 -39
  43. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  44. package/build/cjs/cc/DeviceResetLocallyCC.d.ts +1 -1
  45. package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
  46. package/build/cjs/cc/DoorLockCC._validateArgs.js +1 -1
  47. package/build/cjs/cc/DoorLockCC._validateArgs.js.map +1 -1
  48. package/build/cjs/cc/DoorLockCC.d.ts +362 -361
  49. package/build/cjs/cc/DoorLockCC.js +51 -156
  50. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  51. package/build/cjs/cc/DoorLockLoggingCC.d.ts +14 -14
  52. package/build/cjs/cc/DoorLockLoggingCC.js +4 -8
  53. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  54. package/build/cjs/cc/EnergyProductionCC.d.ts +16 -16
  55. package/build/cjs/cc/EnergyProductionCC.js +5 -17
  56. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  57. package/build/cjs/cc/EntryControlCC.d.ts +71 -71
  58. package/build/cjs/cc/EntryControlCC.js +9 -36
  59. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  60. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
  61. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +26 -0
  62. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
  63. package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +101 -88
  64. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +159 -34
  65. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
  66. package/build/cjs/cc/HumidityControlModeCC.d.ts +31 -33
  67. package/build/cjs/cc/HumidityControlModeCC.js +6 -15
  68. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  69. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +9 -11
  70. package/build/cjs/cc/HumidityControlOperatingStateCC.js +4 -12
  71. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  72. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +50 -50
  73. package/build/cjs/cc/HumidityControlSetpointCC.js +10 -28
  74. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  75. package/build/cjs/cc/InclusionControllerCC.d.ts +4 -4
  76. package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
  77. package/build/cjs/cc/IndicatorCC.d.ts +119 -119
  78. package/build/cjs/cc/IndicatorCC.js +15 -61
  79. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  80. package/build/cjs/cc/IrrigationCC.d.ts +581 -585
  81. package/build/cjs/cc/IrrigationCC.js +29 -233
  82. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  83. package/build/cjs/cc/LanguageCC.d.ts +21 -21
  84. package/build/cjs/cc/LanguageCC.js +4 -15
  85. package/build/cjs/cc/LanguageCC.js.map +2 -2
  86. package/build/cjs/cc/LockCC.d.ts +9 -9
  87. package/build/cjs/cc/LockCC.js +4 -12
  88. package/build/cjs/cc/LockCC.js.map +2 -2
  89. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
  90. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  91. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +67 -67
  92. package/build/cjs/cc/ManufacturerSpecificCC.js +5 -26
  93. package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
  94. package/build/cjs/cc/MeterCC.d.ts +120 -119
  95. package/build/cjs/cc/MeterCC.js +25 -69
  96. package/build/cjs/cc/MeterCC.js.map +2 -2
  97. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +71 -73
  98. package/build/cjs/cc/MultiChannelAssociationCC.js +10 -28
  99. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  100. package/build/cjs/cc/MultiChannelCC.d.ts +136 -146
  101. package/build/cjs/cc/MultiChannelCC.js +26 -118
  102. package/build/cjs/cc/MultiChannelCC.js.map +2 -2
  103. package/build/cjs/cc/MultiCommandCC.d.ts +4 -8
  104. package/build/cjs/cc/MultiCommandCC.js +4 -37
  105. package/build/cjs/cc/MultiCommandCC.js.map +2 -2
  106. package/build/cjs/cc/MultilevelSensorCC.d.ts +50 -49
  107. package/build/cjs/cc/MultilevelSensorCC.js +12 -33
  108. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  109. package/build/cjs/cc/MultilevelSwitchCC.d.ts +146 -146
  110. package/build/cjs/cc/MultilevelSwitchCC.js +13 -107
  111. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  112. package/build/cjs/cc/NodeNamingCC.d.ts +30 -30
  113. package/build/cjs/cc/NodeNamingCC.js +5 -16
  114. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  115. package/build/cjs/cc/NotificationCC.d.ts +210 -208
  116. package/build/cjs/cc/NotificationCC.js +41 -113
  117. package/build/cjs/cc/NotificationCC.js.map +2 -2
  118. package/build/cjs/cc/PowerlevelCC.d.ts +6 -6
  119. package/build/cjs/cc/PowerlevelCC.js.map +2 -2
  120. package/build/cjs/cc/ProtectionCC.d.ts +117 -121
  121. package/build/cjs/cc/ProtectionCC.js +15 -50
  122. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  123. package/build/cjs/cc/SceneActivationCC.d.ts +29 -29
  124. package/build/cjs/cc/SceneActivationCC.js +4 -17
  125. package/build/cjs/cc/SceneActivationCC.js.map +2 -2
  126. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +35 -35
  127. package/build/cjs/cc/SceneActuatorConfigurationCC.js +9 -21
  128. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
  129. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +36 -35
  130. package/build/cjs/cc/SceneControllerConfigurationCC.js +10 -22
  131. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  132. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +109 -109
  133. package/build/cjs/cc/ScheduleEntryLockCC.js +13 -30
  134. package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
  135. package/build/cjs/cc/Security2CC.d.ts +15 -21
  136. package/build/cjs/cc/Security2CC.js +32 -347
  137. package/build/cjs/cc/Security2CC.js.map +3 -3
  138. package/build/cjs/cc/SecurityCC.d.ts +12 -19
  139. package/build/cjs/cc/SecurityCC.js +12 -106
  140. package/build/cjs/cc/SecurityCC.js.map +2 -2
  141. package/build/cjs/cc/SoundSwitchCC.d.ts +58 -58
  142. package/build/cjs/cc/SoundSwitchCC.js +11 -43
  143. package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
  144. package/build/cjs/cc/SupervisionCC.d.ts +21 -25
  145. package/build/cjs/cc/SupervisionCC.js +8 -38
  146. package/build/cjs/cc/SupervisionCC.js.map +2 -2
  147. package/build/cjs/cc/ThermostatFanModeCC.d.ts +37 -39
  148. package/build/cjs/cc/ThermostatFanModeCC.js +8 -21
  149. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  150. package/build/cjs/cc/ThermostatFanStateCC.d.ts +9 -11
  151. package/build/cjs/cc/ThermostatFanStateCC.js +4 -12
  152. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  153. package/build/cjs/cc/ThermostatModeCC.d.ts +39 -41
  154. package/build/cjs/cc/ThermostatModeCC.js +8 -21
  155. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  156. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +9 -11
  157. package/build/cjs/cc/ThermostatOperatingStateCC.js +4 -12
  158. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  159. package/build/cjs/cc/ThermostatSetbackCC.d.ts +4 -4
  160. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  161. package/build/cjs/cc/ThermostatSetpointCC.d.ts +51 -51
  162. package/build/cjs/cc/ThermostatSetpointCC.js +10 -25
  163. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  164. package/build/cjs/cc/TimeCC.d.ts +6 -6
  165. package/build/cjs/cc/TimeCC.js.map +2 -2
  166. package/build/cjs/cc/TimeParametersCC.d.ts +9 -9
  167. package/build/cjs/cc/TimeParametersCC.js +4 -11
  168. package/build/cjs/cc/TimeParametersCC.js.map +2 -2
  169. package/build/cjs/cc/TransportServiceCC.d.ts +7 -12
  170. package/build/cjs/cc/TransportServiceCC.js +3 -20
  171. package/build/cjs/cc/TransportServiceCC.js.map +2 -2
  172. package/build/cjs/cc/UserCodeCC._validateArgs.js +1 -1
  173. package/build/cjs/cc/UserCodeCC._validateArgs.js.map +1 -1
  174. package/build/cjs/cc/UserCodeCC.d.ts +236 -236
  175. package/build/cjs/cc/UserCodeCC.js +33 -98
  176. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  177. package/build/cjs/cc/VersionCC.d.ts +210 -212
  178. package/build/cjs/cc/VersionCC.js +7 -98
  179. package/build/cjs/cc/VersionCC.js.map +2 -2
  180. package/build/cjs/cc/WakeUpCC.d.ts +44 -44
  181. package/build/cjs/cc/WakeUpCC.js +6 -26
  182. package/build/cjs/cc/WakeUpCC.js.map +2 -2
  183. package/build/cjs/cc/WindowCoveringCC.d.ts +118 -122
  184. package/build/cjs/cc/WindowCoveringCC.js +16 -128
  185. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  186. package/build/cjs/cc/ZWavePlusCC.d.ts +74 -74
  187. package/build/cjs/cc/ZWavePlusCC.js +4 -25
  188. package/build/cjs/cc/ZWavePlusCC.js.map +2 -2
  189. package/build/cjs/cc/ZWaveProtocolCC.d.ts +28 -28
  190. package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
  191. package/build/cjs/cc/_CCValues.generated.d.ts +15814 -0
  192. package/build/cjs/cc/_CCValues.generated.js +8723 -0
  193. package/build/cjs/cc/_CCValues.generated.js.map +7 -0
  194. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
  195. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  196. package/build/cjs/index.d.ts +1 -0
  197. package/build/cjs/index.js.map +1 -1
  198. package/build/cjs/index_browser.d.ts +9 -0
  199. package/build/cjs/index_browser.js +41 -1
  200. package/build/cjs/index_browser.js.map +2 -2
  201. package/build/cjs/lib/API.d.ts +7 -5
  202. package/build/cjs/lib/API.js +1 -1
  203. package/build/cjs/lib/API.js.map +2 -2
  204. package/build/cjs/lib/CCValueUtils.d.ts +14 -0
  205. package/build/cjs/lib/CCValueUtils.js +93 -0
  206. package/build/cjs/lib/CCValueUtils.js.map +7 -0
  207. package/build/cjs/lib/CommandClass.d.ts +10 -21
  208. package/build/cjs/lib/CommandClass.js +51 -106
  209. package/build/cjs/lib/CommandClass.js.map +3 -3
  210. package/build/cjs/lib/CommandClassDecorators.d.ts +1 -1
  211. package/build/cjs/lib/CommandClassDecorators.js +3 -3
  212. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  213. package/build/cjs/lib/Values.d.ts +7 -106
  214. package/build/cjs/lib/Values.js +13 -107
  215. package/build/cjs/lib/Values.js.map +3 -3
  216. package/build/cjs/lib/traits.d.ts +94 -0
  217. package/build/cjs/lib/traits.js +17 -0
  218. package/build/cjs/lib/traits.js.map +7 -0
  219. package/build/cjs/lib/utils.d.ts +2 -2
  220. package/build/cjs/lib/utils.js.map +2 -2
  221. package/build/esm/cc/AlarmSensorCC.d.ts +68 -68
  222. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  223. package/build/esm/cc/AlarmSensorCC.js +2 -40
  224. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  225. package/build/esm/cc/AssociationCC.d.ts +72 -73
  226. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  227. package/build/esm/cc/AssociationCC.js +2 -27
  228. package/build/esm/cc/AssociationCC.js.map +1 -1
  229. package/build/esm/cc/AssociationGroupInfoCC.d.ts +71 -71
  230. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  231. package/build/esm/cc/AssociationGroupInfoCC.js +2 -19
  232. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  233. package/build/esm/cc/BarrierOperatorCC.d.ts +66 -72
  234. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  235. package/build/esm/cc/BarrierOperatorCC.js +2 -37
  236. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  237. package/build/esm/cc/BasicCC.d.ts +64 -65
  238. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  239. package/build/esm/cc/BasicCC.js +2 -34
  240. package/build/esm/cc/BasicCC.js.map +1 -1
  241. package/build/esm/cc/BatteryCC.d.ts +162 -165
  242. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  243. package/build/esm/cc/BatteryCC.js +3 -80
  244. package/build/esm/cc/BatteryCC.js.map +1 -1
  245. package/build/esm/cc/BinarySensorCC.d.ts +36 -36
  246. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  247. package/build/esm/cc/BinarySensorCC.js +2 -19
  248. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  249. package/build/esm/cc/BinarySwitchCC.d.ts +34 -34
  250. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  251. package/build/esm/cc/BinarySwitchCC.js +2 -19
  252. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  253. package/build/esm/cc/CRC16CC.d.ts +4 -8
  254. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  255. package/build/esm/cc/CRC16CC.js +4 -34
  256. package/build/esm/cc/CRC16CC.js.map +1 -1
  257. package/build/esm/cc/CentralSceneCC.d.ts +74 -74
  258. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  259. package/build/esm/cc/CentralSceneCC.js +2 -27
  260. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  261. package/build/esm/cc/ClimateControlScheduleCC.d.ts +38 -40
  262. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  263. package/build/esm/cc/ClimateControlScheduleCC.js +2 -26
  264. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  265. package/build/esm/cc/ClockCC.d.ts +3 -3
  266. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  267. package/build/esm/cc/ClockCC.js +0 -1
  268. package/build/esm/cc/ClockCC.js.map +1 -1
  269. package/build/esm/cc/ColorSwitchCC.d.ts +117 -117
  270. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  271. package/build/esm/cc/ColorSwitchCC.js +2 -58
  272. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  273. package/build/esm/cc/ConfigurationCC._validateArgs.js +1 -1
  274. package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -1
  275. package/build/esm/cc/ConfigurationCC.d.ts +48 -52
  276. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  277. package/build/esm/cc/ConfigurationCC.js +2 -40
  278. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  279. package/build/esm/cc/DeviceResetLocallyCC.d.ts +1 -1
  280. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  281. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  282. package/build/esm/cc/DoorLockCC._validateArgs.js +1 -1
  283. package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -1
  284. package/build/esm/cc/DoorLockCC.d.ts +362 -361
  285. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  286. package/build/esm/cc/DoorLockCC.js +9 -129
  287. package/build/esm/cc/DoorLockCC.js.map +1 -1
  288. package/build/esm/cc/DoorLockLoggingCC.d.ts +14 -14
  289. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  290. package/build/esm/cc/DoorLockLoggingCC.js +2 -6
  291. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  292. package/build/esm/cc/EnergyProductionCC.d.ts +16 -16
  293. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  294. package/build/esm/cc/EnergyProductionCC.js +2 -15
  295. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  296. package/build/esm/cc/EntryControlCC.d.ts +71 -71
  297. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  298. package/build/esm/cc/EntryControlCC.js +2 -29
  299. package/build/esm/cc/EntryControlCC.js.map +1 -1
  300. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
  301. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
  302. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +20 -0
  303. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
  304. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +101 -88
  305. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  306. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +160 -53
  307. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  308. package/build/esm/cc/HumidityControlModeCC.d.ts +31 -33
  309. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  310. package/build/esm/cc/HumidityControlModeCC.js +2 -11
  311. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  312. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +9 -11
  313. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  314. package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -9
  315. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  316. package/build/esm/cc/HumidityControlSetpointCC.d.ts +50 -50
  317. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  318. package/build/esm/cc/HumidityControlSetpointCC.js +2 -23
  319. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  320. package/build/esm/cc/InclusionControllerCC.d.ts +4 -4
  321. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
  322. package/build/esm/cc/InclusionControllerCC.js +0 -2
  323. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  324. package/build/esm/cc/IndicatorCC.d.ts +119 -119
  325. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  326. package/build/esm/cc/IndicatorCC.js +2 -50
  327. package/build/esm/cc/IndicatorCC.js.map +1 -1
  328. package/build/esm/cc/IrrigationCC.d.ts +581 -585
  329. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  330. package/build/esm/cc/IrrigationCC.js +3 -231
  331. package/build/esm/cc/IrrigationCC.js.map +1 -1
  332. package/build/esm/cc/LanguageCC.d.ts +21 -21
  333. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  334. package/build/esm/cc/LanguageCC.js +2 -13
  335. package/build/esm/cc/LanguageCC.js.map +1 -1
  336. package/build/esm/cc/LockCC.d.ts +9 -9
  337. package/build/esm/cc/LockCC.d.ts.map +1 -1
  338. package/build/esm/cc/LockCC.js +2 -10
  339. package/build/esm/cc/LockCC.js.map +1 -1
  340. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
  341. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  342. package/build/esm/cc/ManufacturerProprietaryCC.js +0 -2
  343. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  344. package/build/esm/cc/ManufacturerSpecificCC.d.ts +67 -67
  345. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  346. package/build/esm/cc/ManufacturerSpecificCC.js +2 -26
  347. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  348. package/build/esm/cc/MeterCC.d.ts +120 -119
  349. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  350. package/build/esm/cc/MeterCC.js +3 -53
  351. package/build/esm/cc/MeterCC.js.map +1 -1
  352. package/build/esm/cc/MultiChannelAssociationCC.d.ts +71 -73
  353. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  354. package/build/esm/cc/MultiChannelAssociationCC.js +2 -30
  355. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  356. package/build/esm/cc/MultiChannelCC.d.ts +136 -146
  357. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  358. package/build/esm/cc/MultiChannelCC.js +10 -131
  359. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  360. package/build/esm/cc/MultiCommandCC.d.ts +4 -8
  361. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
  362. package/build/esm/cc/MultiCommandCC.js +4 -38
  363. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  364. package/build/esm/cc/MultilevelSensorCC.d.ts +50 -49
  365. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  366. package/build/esm/cc/MultilevelSensorCC.js +2 -27
  367. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  368. package/build/esm/cc/MultilevelSwitchCC.d.ts +146 -146
  369. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  370. package/build/esm/cc/MultilevelSwitchCC.js +5 -105
  371. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  372. package/build/esm/cc/NodeNamingCC.d.ts +30 -30
  373. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  374. package/build/esm/cc/NodeNamingCC.js +2 -14
  375. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  376. package/build/esm/cc/NotificationCC.d.ts +210 -208
  377. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  378. package/build/esm/cc/NotificationCC.js +21 -97
  379. package/build/esm/cc/NotificationCC.js.map +1 -1
  380. package/build/esm/cc/PowerlevelCC.d.ts +6 -6
  381. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  382. package/build/esm/cc/PowerlevelCC.js +0 -4
  383. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  384. package/build/esm/cc/ProtectionCC.d.ts +117 -121
  385. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  386. package/build/esm/cc/ProtectionCC.js +2 -39
  387. package/build/esm/cc/ProtectionCC.js.map +1 -1
  388. package/build/esm/cc/SceneActivationCC.d.ts +29 -29
  389. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  390. package/build/esm/cc/SceneActivationCC.js +2 -15
  391. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  392. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +35 -35
  393. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  394. package/build/esm/cc/SceneActuatorConfigurationCC.js +2 -16
  395. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  396. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +36 -35
  397. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  398. package/build/esm/cc/SceneControllerConfigurationCC.js +2 -16
  399. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  400. package/build/esm/cc/ScheduleEntryLockCC.d.ts +109 -109
  401. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  402. package/build/esm/cc/ScheduleEntryLockCC.js +2 -31
  403. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  404. package/build/esm/cc/Security2CC.d.ts +15 -21
  405. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  406. package/build/esm/cc/Security2CC.js +27 -475
  407. package/build/esm/cc/Security2CC.js.map +1 -1
  408. package/build/esm/cc/SecurityCC.d.ts +12 -19
  409. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  410. package/build/esm/cc/SecurityCC.js +13 -138
  411. package/build/esm/cc/SecurityCC.js.map +1 -1
  412. package/build/esm/cc/SoundSwitchCC.d.ts +58 -58
  413. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  414. package/build/esm/cc/SoundSwitchCC.js +2 -40
  415. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  416. package/build/esm/cc/SupervisionCC.d.ts +21 -25
  417. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  418. package/build/esm/cc/SupervisionCC.js +6 -41
  419. package/build/esm/cc/SupervisionCC.js.map +1 -1
  420. package/build/esm/cc/ThermostatFanModeCC.d.ts +37 -39
  421. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  422. package/build/esm/cc/ThermostatFanModeCC.js +2 -15
  423. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  424. package/build/esm/cc/ThermostatFanStateCC.d.ts +9 -11
  425. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  426. package/build/esm/cc/ThermostatFanStateCC.js +2 -9
  427. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  428. package/build/esm/cc/ThermostatModeCC.d.ts +39 -41
  429. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  430. package/build/esm/cc/ThermostatModeCC.js +2 -17
  431. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  432. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +9 -11
  433. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  434. package/build/esm/cc/ThermostatOperatingStateCC.js +2 -9
  435. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  436. package/build/esm/cc/ThermostatSetbackCC.d.ts +4 -4
  437. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  438. package/build/esm/cc/ThermostatSetbackCC.js +0 -2
  439. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  440. package/build/esm/cc/ThermostatSetpointCC.d.ts +51 -51
  441. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  442. package/build/esm/cc/ThermostatSetpointCC.js +2 -22
  443. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  444. package/build/esm/cc/TimeCC.d.ts +6 -6
  445. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  446. package/build/esm/cc/TimeCC.js +0 -4
  447. package/build/esm/cc/TimeCC.js.map +1 -1
  448. package/build/esm/cc/TimeParametersCC.d.ts +9 -9
  449. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  450. package/build/esm/cc/TimeParametersCC.js +2 -9
  451. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  452. package/build/esm/cc/TransportServiceCC.d.ts +7 -12
  453. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  454. package/build/esm/cc/TransportServiceCC.js +5 -38
  455. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  456. package/build/esm/cc/UserCodeCC._validateArgs.js +1 -1
  457. package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -1
  458. package/build/esm/cc/UserCodeCC.d.ts +236 -236
  459. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  460. package/build/esm/cc/UserCodeCC.js +2 -72
  461. package/build/esm/cc/UserCodeCC.js.map +1 -1
  462. package/build/esm/cc/VersionCC.d.ts +210 -212
  463. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  464. package/build/esm/cc/VersionCC.js +2 -96
  465. package/build/esm/cc/VersionCC.js.map +1 -1
  466. package/build/esm/cc/WakeUpCC.d.ts +44 -44
  467. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  468. package/build/esm/cc/WakeUpCC.js +2 -22
  469. package/build/esm/cc/WakeUpCC.js.map +1 -1
  470. package/build/esm/cc/WindowCoveringCC.d.ts +118 -122
  471. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  472. package/build/esm/cc/WindowCoveringCC.js +3 -108
  473. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  474. package/build/esm/cc/ZWavePlusCC.d.ts +74 -74
  475. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  476. package/build/esm/cc/ZWavePlusCC.js +2 -26
  477. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  478. package/build/esm/cc/ZWaveProtocolCC.d.ts +28 -28
  479. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  480. package/build/esm/cc/ZWaveProtocolCC.js +0 -27
  481. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  482. package/build/esm/cc/_CCValues.generated.d.ts +15814 -0
  483. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -0
  484. package/build/esm/cc/_CCValues.generated.js +9187 -0
  485. package/build/esm/cc/_CCValues.generated.js.map +1 -0
  486. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
  487. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  488. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +0 -3
  489. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  490. package/build/esm/index.d.ts +1 -0
  491. package/build/esm/index.d.ts.map +1 -1
  492. package/build/esm/index_browser.d.ts +9 -0
  493. package/build/esm/index_browser.d.ts.map +1 -1
  494. package/build/esm/index_browser.js +8 -1
  495. package/build/esm/index_browser.js.map +1 -1
  496. package/build/esm/lib/API.d.ts +7 -5
  497. package/build/esm/lib/API.d.ts.map +1 -1
  498. package/build/esm/lib/API.js +1 -1
  499. package/build/esm/lib/API.js.map +1 -1
  500. package/build/esm/lib/CCValueUtils.d.ts +14 -0
  501. package/build/esm/lib/CCValueUtils.d.ts.map +1 -0
  502. package/build/esm/lib/CCValueUtils.js +62 -0
  503. package/build/esm/lib/CCValueUtils.js.map +1 -0
  504. package/build/esm/lib/CommandClass.d.ts +10 -21
  505. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  506. package/build/esm/lib/CommandClass.js +8 -101
  507. package/build/esm/lib/CommandClass.js.map +1 -1
  508. package/build/esm/lib/CommandClassDecorators.d.ts +1 -1
  509. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  510. package/build/esm/lib/CommandClassDecorators.js +1 -1
  511. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  512. package/build/esm/lib/Values.d.ts +7 -106
  513. package/build/esm/lib/Values.d.ts.map +1 -1
  514. package/build/esm/lib/Values.js +7 -104
  515. package/build/esm/lib/Values.js.map +1 -1
  516. package/build/esm/lib/traits.d.ts +94 -0
  517. package/build/esm/lib/traits.d.ts.map +1 -0
  518. package/build/esm/lib/traits.js +2 -0
  519. package/build/esm/lib/traits.js.map +1 -0
  520. package/build/esm/lib/utils.d.ts +2 -2
  521. package/build/esm/lib/utils.d.ts.map +1 -1
  522. package/build/esm/lib/utils.js.map +1 -1
  523. package/package.json +16 -14
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/WakeUpCC.ts"],
4
- "sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype SupervisionResult,\n\tTransmitOptions,\n\tValueMetadata,\n\ttype WithAddress,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp } from \"alcalzone-shared/math\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { WakeUpCommand } from \"../lib/_Types.js\";\n\nexport const WakeUpCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Wake Up\"], {\n\t\t...V.staticProperty(\n\t\t\t\"controllerNodeId\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: \"Node ID of the controller\",\n\t\t\t} as const,\n\t\t\t{\n\t\t\t\tsupportsEndpoints: false,\n\t\t\t},\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"wakeUpInterval\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt24,\n\t\t\t\tlabel: \"Wake Up interval\",\n\t\t\t} as const,\n\t\t\t{\n\t\t\t\tsupportsEndpoints: false,\n\t\t\t},\n\t\t),\n\n\t\t...V.staticProperty(\"wakeUpOnDemandSupported\", undefined, {\n\t\t\tinternal: true,\n\t\t\tsupportsEndpoints: false,\n\t\t\tminVersion: 3,\n\t\t}),\n\t}),\n});\n\n@API(CommandClasses[\"Wake Up\"])\nexport class WakeUpCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: WakeUpCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase WakeUpCommand.IntervalGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase WakeUpCommand.IntervalSet:\n\t\t\tcase WakeUpCommand.NoMoreInformation:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase WakeUpCommand.IntervalCapabilitiesGet:\n\t\t\t\treturn this.version >= 2 && this.isSinglecast();\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: WakeUpCCAPI, { property }, value) {\n\t\t\tif (property !== \"wakeUpInterval\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst result = await this.setInterval(\n\t\t\t\tvalue,\n\t\t\t\tthis.host.ownNodeId ?? 1,\n\t\t\t);\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value, { transition: \"fast\" });\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: WakeUpCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"wakeUpInterval\":\n\t\t\t\t\treturn (await this.getInterval())?.[property];\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getInterval() {\n\t\tthis.assertSupportsCommand(WakeUpCommand, WakeUpCommand.IntervalGet);\n\n\t\tconst cc = new WakeUpCCIntervalGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tWakeUpCCIntervalReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"wakeUpInterval\", \"controllerNodeId\"]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getIntervalCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tWakeUpCommand,\n\t\t\tWakeUpCommand.IntervalCapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new WakeUpCCIntervalCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tWakeUpCCIntervalCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"defaultWakeUpInterval\",\n\t\t\t\t\"minWakeUpInterval\",\n\t\t\t\t\"maxWakeUpInterval\",\n\t\t\t\t\"wakeUpIntervalSteps\",\n\t\t\t\t\"wakeUpOnDemandSupported\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setInterval(\n\t\twakeUpInterval: number,\n\t\tcontrollerNodeId: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(WakeUpCommand, WakeUpCommand.IntervalSet);\n\n\t\tconst cc = new WakeUpCCIntervalSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\twakeUpInterval,\n\t\t\tcontrollerNodeId,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async sendNoMoreInformation(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tWakeUpCommand,\n\t\t\tWakeUpCommand.NoMoreInformation,\n\t\t);\n\n\t\tconst cc = new WakeUpCCNoMoreInformation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, {\n\t\t\t...this.commandOptions,\n\t\t\t// This command must be sent as part of the wake up queue\n\t\t\tpriority: MessagePriority.WakeUp,\n\t\t\t// Don't try to resend this - if we get no response, the node is most likely asleep\n\t\t\tmaxSendAttempts: 1,\n\t\t\t// Also we don't want to wait for an ACK because this can lock up the network for seconds\n\t\t\t// if the target node is asleep and doesn't respond to the command\n\t\t\ttransmitOptions: TransmitOptions.DEFAULT_NOACK,\n\t\t});\n\t}\n}\n\n@commandClass(CommandClasses[\"Wake Up\"])\n@implementedVersion(3)\n@ccValues(WakeUpCCValues)\nexport class WakeUpCC extends CommandClass {\n\tdeclare ccCommand: WakeUpCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Wake Up\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tif (node.id === ctx.ownNodeId) {\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`skipping wakeup configuration for the controller`,\n\t\t\t);\n\t\t} else if (node.isFrequentListening) {\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`skipping wakeup configuration for frequent listening device`,\n\t\t\t);\n\t\t} else {\n\t\t\tlet desiredInterval: number;\n\t\t\tlet currentControllerNodeId: number;\n\t\t\tlet minInterval: number | undefined;\n\t\t\tlet maxInterval: number | undefined;\n\n\t\t\t// Retrieve the allowed wake up intervals and wake on demand support if possible\n\t\t\tif (api.version >= 2) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t\"retrieving wakeup capabilities from the device...\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tconst wakeupCaps = await api.getIntervalCapabilities();\n\t\t\t\tif (wakeupCaps) {\n\t\t\t\t\tconst logMessage = `received wakeup capabilities:\ndefault wakeup interval: ${wakeupCaps.defaultWakeUpInterval} seconds\nminimum wakeup interval: ${wakeupCaps.minWakeUpInterval} seconds\nmaximum wakeup interval: ${wakeupCaps.maxWakeUpInterval} seconds\nwakeup interval steps: ${wakeupCaps.wakeUpIntervalSteps} seconds\nwakeup on demand supported: ${wakeupCaps.wakeUpOnDemandSupported}`;\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t\t});\n\t\t\t\t\tminInterval = wakeupCaps.minWakeUpInterval;\n\t\t\t\t\tmaxInterval = wakeupCaps.maxWakeUpInterval;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// SDS14223 prescribes a IntervalSet followed by a check\n\t\t\t// We have no intention of changing the interval (maybe some time in the future)\n\t\t\t// So for now get the current interval and just set the controller ID\n\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"retrieving wakeup interval from the device...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst wakeupResp = await api.getInterval();\n\n\t\t\tif (wakeupResp) {\n\t\t\t\tconst logMessage = `received wakeup configuration:\nwakeup interval: ${wakeupResp.wakeUpInterval} seconds\ncontroller node: ${wakeupResp.controllerNodeId}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\n\t\t\t\tdesiredInterval = wakeupResp.wakeUpInterval;\n\t\t\t\tcurrentControllerNodeId = wakeupResp.controllerNodeId;\n\t\t\t} else {\n\t\t\t\t// Just guess, I guess\n\t\t\t\tdesiredInterval = 3600 * 6; // 6 hours\n\t\t\t\tcurrentControllerNodeId = 0; // assume not set\n\t\t\t}\n\n\t\t\tconst ownNodeId = ctx.ownNodeId;\n\t\t\t// Only change the destination if necessary\n\t\t\tif (currentControllerNodeId !== ownNodeId) {\n\t\t\t\t// Spec compliance: Limit the interval to the allowed range, but...\n\t\t\t\t// ...try and preserve a \"never wake up\" configuration (#6367)\n\t\t\t\tif (\n\t\t\t\t\tdesiredInterval !== 0\n\t\t\t\t\t&& minInterval != undefined\n\t\t\t\t\t&& maxInterval != undefined\n\t\t\t\t) {\n\t\t\t\t\tdesiredInterval = clamp(\n\t\t\t\t\t\tdesiredInterval,\n\t\t\t\t\t\tminInterval,\n\t\t\t\t\t\tmaxInterval,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: \"configuring wakeup destination node\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tawait api.setInterval(desiredInterval, ownNodeId);\n\t\t\t\tthis.setValue(\n\t\t\t\t\tctx,\n\t\t\t\t\tWakeUpCCValues.controllerNodeId,\n\t\t\t\t\townNodeId,\n\t\t\t\t);\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t\"wakeup destination node changed!\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface WakeUpCCIntervalSetOptions {\n\twakeUpInterval: number;\n\tcontrollerNodeId: number;\n}\n\n@CCCommand(WakeUpCommand.IntervalSet)\n@useSupervision()\nexport class WakeUpCCIntervalSet extends WakeUpCC {\n\tpublic constructor(\n\t\toptions: WithAddress<WakeUpCCIntervalSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.wakeUpInterval = options.wakeUpInterval;\n\t\tthis.controllerNodeId = options.controllerNodeId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): WakeUpCCIntervalSet {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst wakeUpInterval = raw.payload.readUIntBE(0, 3);\n\t\tconst controllerNodeId = raw.payload[3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\twakeUpInterval,\n\t\t\tcontrollerNodeId,\n\t\t});\n\t}\n\n\tpublic wakeUpInterval: number;\n\tpublic controllerNodeId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([\n\t\t\t0,\n\t\t\t0,\n\t\t\t0, // placeholder\n\t\t\tthis.controllerNodeId,\n\t\t]);\n\t\tthis.payload.writeUIntBE(this.wakeUpInterval, 0, 3);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"wake-up interval\": `${this.wakeUpInterval} seconds`,\n\t\t\t\t\"controller node id\": this.controllerNodeId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface WakeUpCCIntervalReportOptions {\n\twakeUpInterval: number;\n\tcontrollerNodeId: number;\n}\n\n@CCCommand(WakeUpCommand.IntervalReport)\n@ccValueProperty(\"wakeUpInterval\", WakeUpCCValues.wakeUpInterval)\n@ccValueProperty(\"controllerNodeId\", WakeUpCCValues.controllerNodeId)\nexport class WakeUpCCIntervalReport extends WakeUpCC {\n\tpublic constructor(\n\t\toptions: WithAddress<WakeUpCCIntervalReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.wakeUpInterval = options.wakeUpInterval;\n\t\tthis.controllerNodeId = options.controllerNodeId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): WakeUpCCIntervalReport {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst wakeUpInterval = raw.payload.readUIntBE(0, 3);\n\t\tconst controllerNodeId = raw.payload[3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\twakeUpInterval,\n\t\t\tcontrollerNodeId,\n\t\t});\n\t}\n\n\tpublic readonly wakeUpInterval: number;\n\n\tpublic readonly controllerNodeId: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"wake-up interval\": `${this.wakeUpInterval} seconds`,\n\t\t\t\t\"controller node id\": this.controllerNodeId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(WakeUpCommand.IntervalGet)\n@expectedCCResponse(WakeUpCCIntervalReport)\nexport class WakeUpCCIntervalGet extends WakeUpCC {}\n\n@CCCommand(WakeUpCommand.WakeUpNotification)\nexport class WakeUpCCWakeUpNotification extends WakeUpCC {}\n\n@CCCommand(WakeUpCommand.NoMoreInformation)\nexport class WakeUpCCNoMoreInformation extends WakeUpCC {}\n\n// @publicAPI\nexport interface WakeUpCCIntervalCapabilitiesReportOptions {\n\tminWakeUpInterval: number;\n\tmaxWakeUpInterval: number;\n\tdefaultWakeUpInterval: number;\n\twakeUpIntervalSteps: number;\n\twakeUpOnDemandSupported: boolean;\n}\n\n@CCCommand(WakeUpCommand.IntervalCapabilitiesReport)\n@ccValueProperty(\n\t\"wakeUpOnDemandSupported\",\n\tWakeUpCCValues.wakeUpOnDemandSupported,\n)\nexport class WakeUpCCIntervalCapabilitiesReport extends WakeUpCC {\n\tpublic constructor(\n\t\toptions: WithAddress<WakeUpCCIntervalCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.minWakeUpInterval = options.minWakeUpInterval;\n\t\tthis.maxWakeUpInterval = options.maxWakeUpInterval;\n\t\tthis.defaultWakeUpInterval = options.defaultWakeUpInterval;\n\t\tthis.wakeUpIntervalSteps = options.wakeUpIntervalSteps;\n\t\tthis.wakeUpOnDemandSupported = options.wakeUpOnDemandSupported;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): WakeUpCCIntervalCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 12);\n\t\tconst minWakeUpInterval = raw.payload.readUIntBE(0, 3);\n\t\tconst maxWakeUpInterval = raw.payload.readUIntBE(3, 3);\n\t\tconst defaultWakeUpInterval = raw.payload.readUIntBE(6, 3);\n\t\tconst wakeUpIntervalSteps = raw.payload.readUIntBE(9, 3);\n\t\tlet wakeUpOnDemandSupported = false;\n\t\tif (raw.payload.length >= 13) {\n\t\t\t// V3+\n\t\t\twakeUpOnDemandSupported = !!(raw.payload[12] & 0b1);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tminWakeUpInterval,\n\t\t\tmaxWakeUpInterval,\n\t\t\tdefaultWakeUpInterval,\n\t\t\twakeUpIntervalSteps,\n\t\t\twakeUpOnDemandSupported,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\t\tconst valueDB = this.getValueDB(ctx);\n\n\t\t// Store the received information as metadata for the wake up interval\n\t\tvalueDB.setMetadata(\n\t\t\t{\n\t\t\t\tcommandClass: this.ccId,\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tproperty: \"wakeUpInterval\",\n\t\t\t},\n\t\t\t{\n\t\t\t\t...ValueMetadata.WriteOnlyUInt24,\n\t\t\t\tmin: this.minWakeUpInterval,\n\t\t\t\tmax: this.maxWakeUpInterval,\n\t\t\t\tsteps: this.wakeUpIntervalSteps,\n\t\t\t\tdefault: this.defaultWakeUpInterval,\n\t\t\t},\n\t\t);\n\n\t\t// Store wakeUpOnDemandSupported in valueDB\n\n\t\treturn true;\n\t}\n\n\tpublic readonly minWakeUpInterval: number;\n\tpublic readonly maxWakeUpInterval: number;\n\tpublic readonly defaultWakeUpInterval: number;\n\tpublic readonly wakeUpIntervalSteps: number;\n\n\tpublic readonly wakeUpOnDemandSupported: boolean;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"default interval\": `${this.defaultWakeUpInterval} seconds`,\n\t\t\t\t\"minimum interval\": `${this.minWakeUpInterval} seconds`,\n\t\t\t\t\"maximum interval\": `${this.maxWakeUpInterval} seconds`,\n\t\t\t\t\"interval steps\": `${this.wakeUpIntervalSteps} seconds`,\n\t\t\t\t\"wake up on demand supported\":\n\t\t\t\t\t`${this.wakeUpOnDemandSupported}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(WakeUpCommand.IntervalCapabilitiesGet)\n@expectedCCResponse(WakeUpCCIntervalCapabilitiesReport)\nexport class WakeUpCCIntervalCapabilitiesGet extends WakeUpCC {}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAWO;AAMP,IAAAA,eAAsB;AACtB,IAAAA,eAAqB;AAErB,kBAAsB;AACtB,iBAQO;AACP,0BAKO;AACP,oCASO;AACP,oBAAkB;AAClB,mBAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvB,MAAM,iBAAiB,OAAO,OAAO;EAC3C,GAAG,gBAAE,qBAAqB,2BAAe,SAAS,GAAG;IACpD,GAAG,gBAAE,eACJ,oBACA;MACC,GAAG,0BAAc;MACjB,OAAO;OAER;MACC,mBAAmB;KACnB;IAGF,GAAG,gBAAE,eACJ,kBACA;MACC,GAAG,0BAAc;MACjB,OAAO;OAER;MACC,mBAAmB;KACnB;IAGF,GAAG,gBAAE,eAAe,2BAA2B,QAAW;MACzD,UAAU;MACV,mBAAmB;MACnB,YAAY;KACZ;GACD;CACD;IAGY,eAAW,MAAA;8BADvB,mCAAI,2BAAe,SAAS,CAAC,CAAC;;;;oBACE;;;mCAAA,YAAK;WAAA;;;;;;;;iCAmGpC,qCAAA,CAAc;AACf,mBAAA,MAAA,MAAA,yBAAA,EAAA,MAAA,UAAA,MAAA,eAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,iBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,aAAb,OAAwB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AApGzB,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACL,gBAAgB,KAAkB;AACxC,cAAQ,KAAK;QACZ,KAAK,2BAAc;AAClB,iBAAO,KAAK,aAAY;QACzB,KAAK,2BAAc;QACnB,KAAK,2BAAc;AAClB,iBAAO;;QACR,KAAK,2BAAc;AAClB,iBAAO,KAAK,WAAW,KAAK,KAAK,aAAY;MAC/C;AACA,aAAO,MAAM,gBAAgB,GAAG;IACjC;IAEA,KAAwB,oBAAS,IAAC;AACjC,aAAO,eAAkC,EAAE,SAAQ,GAAI,OAAK;AAC3D,YAAI,aAAa,kBAAkB;AAClC,mDAAyB,KAAK,MAAM,QAAQ;QAC7C;AACA,YAAI,OAAO,UAAU,UAAU;AAC9B,8CACC,KAAK,MACL,UACA,UACA,OAAO,KAAK;QAEd;AACA,cAAM,SAAS,MAAM,KAAK,YACzB,OACA,KAAK,KAAK,aAAa,CAAC;AAIzB,YAAI,KAAK,aAAY,KAAM,KAAC,wCAA2B,MAAM,GAAG;AAC/D,eAAK,aAAa,EAAE,SAAQ,GAAI,OAAO,EAAE,YAAY,OAAM,CAAE;QAC9D;AAEA,eAAO;MACR;IACD;IAEA,KAAe,qBAAU,IAAC;AACzB,aAAO,eAAkC,EAAE,SAAQ,GAAE;AACpD,gBAAQ,UAAU;UACjB,KAAK;AACJ,oBAAQ,MAAM,KAAK,YAAW,KAAM,QAAQ;UAC7C;AACC,qDAAyB,KAAK,MAAM,QAAQ;QAC9C;MACD;IACD;;IAGO,MAAM,cAAW;AACvB,WAAK,sBAAsB,4BAAe,2BAAc,WAAW;AAEnE,YAAM,KAAK,IAAI,oBAAoB;QAClC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAC7B;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAGhC,IACA,KAAK,cAAc;AAEpB,UAAI,UAAU;AACb,mBAAO,mBAAK,UAAU,CAAC,kBAAkB,kBAAkB,CAAC;MAC7D;IACD;;IAGO,MAAM,0BAAuB;AACnC,WAAK,sBACJ,4BACA,2BAAc,uBAAuB;AAGtC,YAAM,KAAK,IAAI,gCAAgC;QAC9C,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAC7B;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAGhC,IACA,KAAK,cAAc;AAEpB,UAAI,UAAU;AACb,mBAAO,mBAAK,UAAU;UACrB;UACA;UACA;UACA;UACA;SACA;MACF;IACD;IAGO,MAAM,YACZ,gBACA,kBAAwB;AAExB,WAAK,sBAAsB,4BAAe,2BAAc,WAAW;AAEnE,YAAM,KAAK,IAAI,oBAAoB;QAClC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;QACA;OACA;AACD,aAAO,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACrD;IAEO,MAAM,wBAAqB;AACjC,WAAK,sBACJ,4BACA,2BAAc,iBAAiB;AAGhC,YAAM,KAAK,IAAI,0BAA0B;QACxC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAC7B;AACD,YAAM,KAAK,KAAK,YAAY,IAAI;QAC/B,GAAG,KAAK;;QAER,UAAU,4BAAgB;;QAE1B,iBAAiB;;;QAGjB,iBAAiB,4BAAgB;OACjC;IACF;;;AAvIY,wBAAA,MAAA,0BAAA;;;;;IA6IA,YAAQ,MAAA;8BAHpB,4CAAa,2BAAe,SAAS,CAAC,OACtC,kDAAmB,CAAC,OACpB,wCAAS,cAAc,CAAC;;;;oBACK;gCAAA,YAAY;WAAA;;;;;;;;AAA1C,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IAGL,MAAM,UACZ,KAAqB;AAErB,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OACjB,2BAAe,SAAS,GACxB,KACA,QAAQ,EACP,YAAY;QACb,UAAU,4BAAgB;OAC1B;AAED,UAAI,QAAQ,KAAK,IAAI;QACpB,UAAU,KAAK;QACf,SAAS,gBAAgB,KAAK,MAAM;QACpC,WAAW;OACX;AAED,UAAI,KAAK,OAAO,IAAI,WAAW;AAC9B,YAAI,QACH,KAAK,IACL,kDAAkD;MAEpD,WAAW,KAAK,qBAAqB;AACpC,YAAI,QACH,KAAK,IACL,6DAA6D;MAE/D,OAAO;AACN,YAAI;AACJ,YAAI;AACJ,YAAI;AACJ,YAAI;AAGJ,YAAI,IAAI,WAAW,GAAG;AACrB,cAAI,QAAQ,KAAK,IAAI;YACpB,UAAU,KAAK;YACf,SACC;YACD,WAAW;WACX;AACD,gBAAM,aAAa,MAAM,IAAI,wBAAuB;AACpD,cAAI,YAAY;AACf,kBAAM,aAAa;2BACG,WAAW,qBAAqB;2BAChC,WAAW,iBAAiB;2BAC5B,WAAW,iBAAiB;2BAC5B,WAAW,mBAAmB;8BAC3B,WAAW,uBAAuB;AAC3D,gBAAI,QAAQ,KAAK,IAAI;cACpB,UAAU,KAAK;cACf,SAAS;cACT,WAAW;aACX;AACD,0BAAc,WAAW;AACzB,0BAAc,WAAW;UAC1B;QACD;AAMA,YAAI,QAAQ,KAAK,IAAI;UACpB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACX;AACD,cAAM,aAAa,MAAM,IAAI,YAAW;AAExC,YAAI,YAAY;AACf,gBAAM,aAAa;mBACJ,WAAW,cAAc;mBACzB,WAAW,gBAAgB;AAC1C,cAAI,QAAQ,KAAK,IAAI;YACpB,UAAU,KAAK;YACf,SAAS;YACT,WAAW;WACX;AAED,4BAAkB,WAAW;AAC7B,oCAA0B,WAAW;QACtC,OAAO;AAEN,4BAAkB,OAAO;AACzB,oCAA0B;QAC3B;AAEA,cAAM,YAAY,IAAI;AAEtB,YAAI,4BAA4B,WAAW;AAG1C,cACC,oBAAoB,KACjB,eAAe,UACf,eAAe,QACjB;AACD,kCAAkB,mBACjB,iBACA,aACA,WAAW;UAEb;AAEA,cAAI,QAAQ,KAAK,IAAI;YACpB,UAAU,KAAK;YACf,SAAS;YACT,WAAW;WACX;AACD,gBAAM,IAAI,YAAY,iBAAiB,SAAS;AAChD,eAAK,SACJ,KACA,eAAe,kBACf,SAAS;AAEV,cAAI,QACH,KAAK,IACL,kCAAkC;QAEpC;MACD;AAGA,WAAK,qBAAqB,KAAK,IAAI;IACpC;;;;IAWY,uBAAmB,MAAA;8BAF/B,yCAAU,2BAAc,WAAW,OACnC,8CAAc,CAAE;;;;oBACwB;2CAAA,YAAQ;WAAA;;;;;;;;AAAjD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAgD;AAEhD,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,mBAAmB,QAAQ;IACjC;IAEO,OAAO,KAAK,KAAY,KAAqB;AACnD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,WAAW,GAAG,CAAC;AAClD,YAAM,mBAAmB,IAAI,QAAQ,CAAC;AAEtC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,mBAAM,KAAK;QACzB;QACA;QACA;;QACA,KAAK;OACL;AACD,WAAK,QAAQ,YAAY,KAAK,gBAAgB,GAAG,CAAC;AAElD,aAAO,MAAM,UAAU,GAAG;IAC3B;IAEO,WAAW,KAAgB;AACjC,aAAO;QACN,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACR,oBAAoB,GAAG,KAAK,cAAc;UAC1C,sBAAsB,KAAK;;;IAG9B;;;;IAYY,0BAAsB,MAAA;8BAHlC,yCAAU,2BAAc,cAAc,OACtC,+CAAgB,kBAAkB,eAAe,cAAc,OAC/D,+CAAgB,oBAAoB,eAAe,gBAAgB,CAAC;;;;oBACzB;8CAAA,YAAQ;WAAA;;;;;;;;AAApD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmD;AAEnD,YAAM,OAAO;AAGb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,mBAAmB,QAAQ;IACjC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,WAAW,GAAG,CAAC;AAClD,YAAM,mBAAmB,IAAI,QAAQ,CAAC;AAEtC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEgB;IAEA;IAET,WAAW,KAAgB;AACjC,aAAO;QACN,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACR,oBAAoB,GAAG,KAAK,cAAc;UAC1C,sBAAsB,KAAK;;;IAG9B;;;;IAKY,uBAAmB,MAAA;8BAF/B,yCAAU,2BAAc,WAAW,OACnC,kDAAmB,sBAAsB,CAAC;;;;oBACF;2CAAA,YAAQ;WAAA;;;;;;;;AAAjD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAGA,8BAA0B,MAAA;8BADtC,yCAAU,2BAAc,kBAAkB,CAAC;;;;oBACI;kDAAA,YAAQ;WAAA;;;;;;;;AAAxD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAGA,6BAAyB,MAAA;8BADrC,yCAAU,2BAAc,iBAAiB,CAAC;;;;oBACI;iDAAA,YAAQ;WAAA;;;;;;;;AAAvD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAgBA,sCAAkC,MAAA;8BAL9C,yCAAU,2BAAc,0BAA0B,OAClD,+CACA,2BACA,eAAe,uBAAuB,CACtC;;;;oBACuD;0DAAA,YAAQ;WAAA;;;;;;;;AAAhE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA+D;AAE/D,YAAM,OAAO;AAGb,WAAK,oBAAoB,QAAQ;AACjC,WAAK,oBAAoB,QAAQ;AACjC,WAAK,wBAAwB,QAAQ;AACrC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,0BAA0B,QAAQ;IACxC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,EAAE;AACxC,YAAM,oBAAoB,IAAI,QAAQ,WAAW,GAAG,CAAC;AACrD,YAAM,oBAAoB,IAAI,QAAQ,WAAW,GAAG,CAAC;AACrD,YAAM,wBAAwB,IAAI,QAAQ,WAAW,GAAG,CAAC;AACzD,YAAM,sBAAsB,IAAI,QAAQ,WAAW,GAAG,CAAC;AACvD,UAAI,0BAA0B;AAC9B,UAAI,IAAI,QAAQ,UAAU,IAAI;AAE7B,kCAA0B,CAAC,EAAE,IAAI,QAAQ,EAAE,IAAI;MAChD;AAEA,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;QACA;QACA;QACA;OACA;IACF;IAEO,cAAc,KAAyB;AAC7C,UAAI,CAAC,MAAM,cAAc,GAAG;AAAG,eAAO;AACtC,YAAM,UAAU,KAAK,WAAW,GAAG;AAGnC,cAAQ,YACP;QACC,cAAc,KAAK;QACnB,UAAU,KAAK;QACf,UAAU;SAEX;QACC,GAAG,0BAAc;QACjB,KAAK,KAAK;QACV,KAAK,KAAK;QACV,OAAO,KAAK;QACZ,SAAS,KAAK;OACd;AAKF,aAAO;IACR;IAEgB;IACA;IACA;IACA;IAEA;IAET,WAAW,KAAgB;AACjC,aAAO;QACN,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACR,oBAAoB,GAAG,KAAK,qBAAqB;UACjD,oBAAoB,GAAG,KAAK,iBAAiB;UAC7C,oBAAoB,GAAG,KAAK,iBAAiB;UAC7C,kBAAkB,GAAG,KAAK,mBAAmB;UAC7C,+BACC,GAAG,KAAK,uBAAuB;;;IAGnC;;;;IAKY,mCAA+B,MAAA;8BAF3C,yCAAU,2BAAc,uBAAuB,OAC/C,kDAAmB,kCAAkC,CAAC;;;;oBACF;uDAAA,YAAQ;WAAA;;;;;;;;AAA7D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;",
4
+ "sourcesContent": ["import { type CCEncodingContext, type CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype SupervisionResult,\n\tTransmitOptions,\n\tValueMetadata,\n\ttype WithAddress,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp } from \"alcalzone-shared/math\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { WakeUpCommand } from \"../lib/_Types.js\";\n\nexport const WakeUpCCValues = V.defineCCValues(CommandClasses[\"Wake Up\"], {\n\t...V.staticProperty(\n\t\t\"controllerNodeId\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnly,\n\t\t\tlabel: \"Node ID of the controller\",\n\t\t} as const,\n\t\t{\n\t\t\tsupportsEndpoints: false,\n\t\t},\n\t),\n\t...V.staticProperty(\n\t\t\"wakeUpInterval\",\n\t\t{\n\t\t\t...ValueMetadata.UInt24,\n\t\t\tlabel: \"Wake Up interval\",\n\t\t} as const,\n\t\t{\n\t\t\tsupportsEndpoints: false,\n\t\t},\n\t),\n\t...V.staticProperty(\"wakeUpOnDemandSupported\", undefined, {\n\t\tinternal: true,\n\t\tsupportsEndpoints: false,\n\t\tminVersion: 3,\n\t}),\n});\n\n@API(CommandClasses[\"Wake Up\"])\nexport class WakeUpCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: WakeUpCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase WakeUpCommand.IntervalGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase WakeUpCommand.IntervalSet:\n\t\t\tcase WakeUpCommand.NoMoreInformation:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase WakeUpCommand.IntervalCapabilitiesGet:\n\t\t\t\treturn this.version >= 2 && this.isSinglecast();\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: WakeUpCCAPI, { property }, value) {\n\t\t\tif (property !== \"wakeUpInterval\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst result = await this.setInterval(\n\t\t\t\tvalue,\n\t\t\t\tthis.host.ownNodeId ?? 1,\n\t\t\t);\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value, { transition: \"fast\" });\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: WakeUpCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"wakeUpInterval\":\n\t\t\t\t\treturn (await this.getInterval())?.[property];\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getInterval() {\n\t\tthis.assertSupportsCommand(WakeUpCommand, WakeUpCommand.IntervalGet);\n\n\t\tconst cc = new WakeUpCCIntervalGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tWakeUpCCIntervalReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"wakeUpInterval\", \"controllerNodeId\"]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getIntervalCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tWakeUpCommand,\n\t\t\tWakeUpCommand.IntervalCapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new WakeUpCCIntervalCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tWakeUpCCIntervalCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"defaultWakeUpInterval\",\n\t\t\t\t\"minWakeUpInterval\",\n\t\t\t\t\"maxWakeUpInterval\",\n\t\t\t\t\"wakeUpIntervalSteps\",\n\t\t\t\t\"wakeUpOnDemandSupported\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setInterval(\n\t\twakeUpInterval: number,\n\t\tcontrollerNodeId: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(WakeUpCommand, WakeUpCommand.IntervalSet);\n\n\t\tconst cc = new WakeUpCCIntervalSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\twakeUpInterval,\n\t\t\tcontrollerNodeId,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async sendNoMoreInformation(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tWakeUpCommand,\n\t\t\tWakeUpCommand.NoMoreInformation,\n\t\t);\n\n\t\tconst cc = new WakeUpCCNoMoreInformation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, {\n\t\t\t...this.commandOptions,\n\t\t\t// This command must be sent as part of the wake up queue\n\t\t\tpriority: MessagePriority.WakeUp,\n\t\t\t// Don't try to resend this - if we get no response, the node is most likely asleep\n\t\t\tmaxSendAttempts: 1,\n\t\t\t// Also we don't want to wait for an ACK because this can lock up the network for seconds\n\t\t\t// if the target node is asleep and doesn't respond to the command\n\t\t\ttransmitOptions: TransmitOptions.DEFAULT_NOACK,\n\t\t});\n\t}\n}\n\n@commandClass(CommandClasses[\"Wake Up\"])\n@implementedVersion(3)\n@ccValues(WakeUpCCValues)\nexport class WakeUpCC extends CommandClass {\n\tdeclare ccCommand: WakeUpCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Wake Up\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tif (node.id === ctx.ownNodeId) {\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`skipping wakeup configuration for the controller`,\n\t\t\t);\n\t\t} else if (node.isFrequentListening) {\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`skipping wakeup configuration for frequent listening device`,\n\t\t\t);\n\t\t} else {\n\t\t\tlet desiredInterval: number;\n\t\t\tlet currentControllerNodeId: number;\n\t\t\tlet minInterval: number | undefined;\n\t\t\tlet maxInterval: number | undefined;\n\n\t\t\t// Retrieve the allowed wake up intervals and wake on demand support if possible\n\t\t\tif (api.version >= 2) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t\"retrieving wakeup capabilities from the device...\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tconst wakeupCaps = await api.getIntervalCapabilities();\n\t\t\t\tif (wakeupCaps) {\n\t\t\t\t\tconst logMessage = `received wakeup capabilities:\ndefault wakeup interval: ${wakeupCaps.defaultWakeUpInterval} seconds\nminimum wakeup interval: ${wakeupCaps.minWakeUpInterval} seconds\nmaximum wakeup interval: ${wakeupCaps.maxWakeUpInterval} seconds\nwakeup interval steps: ${wakeupCaps.wakeUpIntervalSteps} seconds\nwakeup on demand supported: ${wakeupCaps.wakeUpOnDemandSupported}`;\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t\t});\n\t\t\t\t\tminInterval = wakeupCaps.minWakeUpInterval;\n\t\t\t\t\tmaxInterval = wakeupCaps.maxWakeUpInterval;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// SDS14223 prescribes a IntervalSet followed by a check\n\t\t\t// We have no intention of changing the interval (maybe some time in the future)\n\t\t\t// So for now get the current interval and just set the controller ID\n\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"retrieving wakeup interval from the device...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst wakeupResp = await api.getInterval();\n\n\t\t\tif (wakeupResp) {\n\t\t\t\tconst logMessage = `received wakeup configuration:\nwakeup interval: ${wakeupResp.wakeUpInterval} seconds\ncontroller node: ${wakeupResp.controllerNodeId}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\n\t\t\t\tdesiredInterval = wakeupResp.wakeUpInterval;\n\t\t\t\tcurrentControllerNodeId = wakeupResp.controllerNodeId;\n\t\t\t} else {\n\t\t\t\t// Just guess, I guess\n\t\t\t\tdesiredInterval = 3600 * 6; // 6 hours\n\t\t\t\tcurrentControllerNodeId = 0; // assume not set\n\t\t\t}\n\n\t\t\tconst ownNodeId = ctx.ownNodeId;\n\t\t\t// Only change the destination if necessary\n\t\t\tif (currentControllerNodeId !== ownNodeId) {\n\t\t\t\t// Spec compliance: Limit the interval to the allowed range, but...\n\t\t\t\t// ...try and preserve a \"never wake up\" configuration (#6367)\n\t\t\t\tif (\n\t\t\t\t\tdesiredInterval !== 0\n\t\t\t\t\t&& minInterval != undefined\n\t\t\t\t\t&& maxInterval != undefined\n\t\t\t\t) {\n\t\t\t\t\tdesiredInterval = clamp(\n\t\t\t\t\t\tdesiredInterval,\n\t\t\t\t\t\tminInterval,\n\t\t\t\t\t\tmaxInterval,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: \"configuring wakeup destination node\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tawait api.setInterval(desiredInterval, ownNodeId);\n\t\t\t\tthis.setValue(\n\t\t\t\t\tctx,\n\t\t\t\t\tWakeUpCCValues.controllerNodeId,\n\t\t\t\t\townNodeId,\n\t\t\t\t);\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t\"wakeup destination node changed!\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface WakeUpCCIntervalSetOptions {\n\twakeUpInterval: number;\n\tcontrollerNodeId: number;\n}\n\n@CCCommand(WakeUpCommand.IntervalSet)\n@useSupervision()\nexport class WakeUpCCIntervalSet extends WakeUpCC {\n\tpublic constructor(\n\t\toptions: WithAddress<WakeUpCCIntervalSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.wakeUpInterval = options.wakeUpInterval;\n\t\tthis.controllerNodeId = options.controllerNodeId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): WakeUpCCIntervalSet {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst wakeUpInterval = raw.payload.readUIntBE(0, 3);\n\t\tconst controllerNodeId = raw.payload[3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\twakeUpInterval,\n\t\t\tcontrollerNodeId,\n\t\t});\n\t}\n\n\tpublic wakeUpInterval: number;\n\tpublic controllerNodeId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\t0,\n\t\t\t0,\n\t\t\t0, // placeholder\n\t\t\tthis.controllerNodeId,\n\t\t]);\n\t\tthis.payload.writeUIntBE(this.wakeUpInterval, 0, 3);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"wake-up interval\": `${this.wakeUpInterval} seconds`,\n\t\t\t\t\"controller node id\": this.controllerNodeId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface WakeUpCCIntervalReportOptions {\n\twakeUpInterval: number;\n\tcontrollerNodeId: number;\n}\n\n@CCCommand(WakeUpCommand.IntervalReport)\n@ccValueProperty(\"wakeUpInterval\", WakeUpCCValues.wakeUpInterval)\n@ccValueProperty(\"controllerNodeId\", WakeUpCCValues.controllerNodeId)\nexport class WakeUpCCIntervalReport extends WakeUpCC {\n\tpublic constructor(\n\t\toptions: WithAddress<WakeUpCCIntervalReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.wakeUpInterval = options.wakeUpInterval;\n\t\tthis.controllerNodeId = options.controllerNodeId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): WakeUpCCIntervalReport {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst wakeUpInterval = raw.payload.readUIntBE(0, 3);\n\t\tconst controllerNodeId = raw.payload[3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\twakeUpInterval,\n\t\t\tcontrollerNodeId,\n\t\t});\n\t}\n\n\tpublic readonly wakeUpInterval: number;\n\n\tpublic readonly controllerNodeId: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"wake-up interval\": `${this.wakeUpInterval} seconds`,\n\t\t\t\t\"controller node id\": this.controllerNodeId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(WakeUpCommand.IntervalGet)\n@expectedCCResponse(WakeUpCCIntervalReport)\nexport class WakeUpCCIntervalGet extends WakeUpCC {}\n\n@CCCommand(WakeUpCommand.WakeUpNotification)\nexport class WakeUpCCWakeUpNotification extends WakeUpCC {}\n\n@CCCommand(WakeUpCommand.NoMoreInformation)\nexport class WakeUpCCNoMoreInformation extends WakeUpCC {}\n\n// @publicAPI\nexport interface WakeUpCCIntervalCapabilitiesReportOptions {\n\tminWakeUpInterval: number;\n\tmaxWakeUpInterval: number;\n\tdefaultWakeUpInterval: number;\n\twakeUpIntervalSteps: number;\n\twakeUpOnDemandSupported: boolean;\n}\n\n@CCCommand(WakeUpCommand.IntervalCapabilitiesReport)\n@ccValueProperty(\n\t\"wakeUpOnDemandSupported\",\n\tWakeUpCCValues.wakeUpOnDemandSupported,\n)\nexport class WakeUpCCIntervalCapabilitiesReport extends WakeUpCC {\n\tpublic constructor(\n\t\toptions: WithAddress<WakeUpCCIntervalCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.minWakeUpInterval = options.minWakeUpInterval;\n\t\tthis.maxWakeUpInterval = options.maxWakeUpInterval;\n\t\tthis.defaultWakeUpInterval = options.defaultWakeUpInterval;\n\t\tthis.wakeUpIntervalSteps = options.wakeUpIntervalSteps;\n\t\tthis.wakeUpOnDemandSupported = options.wakeUpOnDemandSupported;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): WakeUpCCIntervalCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 12);\n\t\tconst minWakeUpInterval = raw.payload.readUIntBE(0, 3);\n\t\tconst maxWakeUpInterval = raw.payload.readUIntBE(3, 3);\n\t\tconst defaultWakeUpInterval = raw.payload.readUIntBE(6, 3);\n\t\tconst wakeUpIntervalSteps = raw.payload.readUIntBE(9, 3);\n\t\tlet wakeUpOnDemandSupported = false;\n\t\tif (raw.payload.length >= 13) {\n\t\t\t// V3+\n\t\t\twakeUpOnDemandSupported = !!(raw.payload[12] & 0b1);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tminWakeUpInterval,\n\t\t\tmaxWakeUpInterval,\n\t\t\tdefaultWakeUpInterval,\n\t\t\twakeUpIntervalSteps,\n\t\t\twakeUpOnDemandSupported,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\t\tconst valueDB = this.getValueDB(ctx);\n\n\t\t// Store the received information as metadata for the wake up interval\n\t\tvalueDB.setMetadata(\n\t\t\t{\n\t\t\t\tcommandClass: this.ccId,\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tproperty: \"wakeUpInterval\",\n\t\t\t},\n\t\t\t{\n\t\t\t\t...ValueMetadata.WriteOnlyUInt24,\n\t\t\t\tmin: this.minWakeUpInterval,\n\t\t\t\tmax: this.maxWakeUpInterval,\n\t\t\t\tsteps: this.wakeUpIntervalSteps,\n\t\t\t\tdefault: this.defaultWakeUpInterval,\n\t\t\t},\n\t\t);\n\n\t\t// Store wakeUpOnDemandSupported in valueDB\n\n\t\treturn true;\n\t}\n\n\tpublic readonly minWakeUpInterval: number;\n\tpublic readonly maxWakeUpInterval: number;\n\tpublic readonly defaultWakeUpInterval: number;\n\tpublic readonly wakeUpIntervalSteps: number;\n\n\tpublic readonly wakeUpOnDemandSupported: boolean;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"default interval\": `${this.defaultWakeUpInterval} seconds`,\n\t\t\t\t\"minimum interval\": `${this.minWakeUpInterval} seconds`,\n\t\t\t\t\"maximum interval\": `${this.maxWakeUpInterval} seconds`,\n\t\t\t\t\"interval steps\": `${this.wakeUpIntervalSteps} seconds`,\n\t\t\t\t\"wake up on demand supported\":\n\t\t\t\t\t`${this.wakeUpOnDemandSupported}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(WakeUpCommand.IntervalCapabilitiesGet)\n@expectedCCResponse(WakeUpCCIntervalCapabilitiesReport)\nexport class WakeUpCCIntervalCapabilitiesGet extends WakeUpCC {}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_safe"]
7
7
  }
@@ -1,41 +1,29 @@
1
- import { CommandClasses, Duration, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core";
1
+ import { type CCEncodingContext, type CCParsingContext } from "@zwave-js/cc";
2
+ import { CommandClasses, Duration, type GetValueDB, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core";
2
3
  import { type MaybeNotKnown } from "@zwave-js/core/safe";
3
- import type { CCEncodingContext, CCParsingContext, GetValueDB } from "@zwave-js/host";
4
4
  import { Bytes } from "@zwave-js/shared/safe";
5
5
  import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory } from "../lib/API.js";
6
6
  import { type CCRaw, CommandClass, type InterviewContext } from "../lib/CommandClass.js";
7
7
  import { type LevelChangeDirection, WindowCoveringCommand, WindowCoveringParameter } from "../lib/_Types.js";
8
8
  export declare const WindowCoveringCCValues: Readonly<{
9
- levelChangeDown: ((parameter: WindowCoveringParameter) => {
10
- readonly meta: {
11
- readonly label: `${string} - ${string}`;
12
- readonly valueChangeOptions: readonly ["transitionDuration"];
13
- readonly states: {
14
- readonly true: "Start";
15
- readonly false: "Stop";
16
- };
17
- readonly ccSpecific: {
18
- readonly parameter: WindowCoveringParameter;
19
- };
20
- readonly readable: false;
21
- readonly type: "boolean";
22
- readonly writeable: true;
23
- };
24
- readonly id: {
25
- commandClass: (typeof CommandClasses)["Window Covering"];
26
- property: "levelChangeDown";
27
- propertyKey: WindowCoveringParameter;
9
+ supportedParameters: {
10
+ id: {
11
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
12
+ readonly property: "supportedParameters";
28
13
  };
29
- readonly endpoint: (endpoint?: number | undefined) => {
14
+ endpoint: (endpoint?: number) => {
30
15
  readonly commandClass: (typeof CommandClasses)["Window Covering"];
31
16
  readonly endpoint: number;
32
- readonly property: "levelChangeDown";
33
- readonly propertyKey: WindowCoveringParameter;
17
+ readonly property: "supportedParameters";
34
18
  };
35
- }) & {
36
19
  is: (valueId: import("@zwave-js/core").ValueID) => boolean;
37
- readonly options: {
38
- readonly internal: false;
20
+ readonly meta: Readonly<{
21
+ readonly type: "any";
22
+ readonly readable: true;
23
+ readonly writeable: true;
24
+ }>;
25
+ options: {
26
+ readonly internal: true;
39
27
  readonly minVersion: 1;
40
28
  readonly secret: false;
41
29
  readonly stateful: true;
@@ -43,67 +31,33 @@ export declare const WindowCoveringCCValues: Readonly<{
43
31
  readonly autoCreate: true;
44
32
  };
45
33
  };
46
- levelChangeUp: ((parameter: WindowCoveringParameter) => {
47
- readonly meta: {
48
- readonly label: `${string} - ${string}`;
49
- readonly valueChangeOptions: readonly ["transitionDuration"];
50
- readonly states: {
51
- readonly true: "Start";
52
- readonly false: "Stop";
53
- };
54
- readonly ccSpecific: {
55
- readonly parameter: WindowCoveringParameter;
56
- };
57
- readonly readable: false;
58
- readonly type: "boolean";
59
- readonly writeable: true;
60
- };
61
- readonly id: {
62
- commandClass: (typeof CommandClasses)["Window Covering"];
63
- property: "levelChangeUp";
64
- propertyKey: WindowCoveringParameter;
34
+ currentValue: ((parameter: WindowCoveringParameter) => {
35
+ id: {
36
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
37
+ readonly property: "currentValue";
38
+ readonly propertyKey: WindowCoveringParameter;
65
39
  };
66
- readonly endpoint: (endpoint?: number | undefined) => {
40
+ endpoint: (endpoint?: number) => {
67
41
  readonly commandClass: (typeof CommandClasses)["Window Covering"];
68
42
  readonly endpoint: number;
69
- readonly property: "levelChangeUp";
43
+ readonly property: "currentValue";
70
44
  readonly propertyKey: WindowCoveringParameter;
71
45
  };
72
- }) & {
73
- is: (valueId: import("@zwave-js/core").ValueID) => boolean;
74
- readonly options: {
75
- readonly internal: false;
76
- readonly minVersion: 1;
77
- readonly secret: false;
78
- readonly stateful: true;
79
- readonly supportsEndpoints: true;
80
- readonly autoCreate: true;
81
- };
82
- };
83
- duration: ((parameter: WindowCoveringParameter) => {
84
46
  readonly meta: {
85
- readonly label: `Remaining duration - ${string}`;
47
+ readonly label: `Current value - ${string}`;
48
+ readonly states: Record<number, string>;
86
49
  readonly ccSpecific: {
87
50
  readonly parameter: WindowCoveringParameter;
88
51
  };
89
52
  readonly writeable: false;
90
- readonly type: "duration";
53
+ readonly max: 99;
54
+ readonly min: 0;
55
+ readonly type: "number";
91
56
  readonly readable: true;
92
57
  };
93
- readonly id: {
94
- commandClass: (typeof CommandClasses)["Window Covering"];
95
- property: "duration";
96
- propertyKey: WindowCoveringParameter;
97
- };
98
- readonly endpoint: (endpoint?: number | undefined) => {
99
- readonly commandClass: (typeof CommandClasses)["Window Covering"];
100
- readonly endpoint: number;
101
- readonly property: "duration";
102
- readonly propertyKey: WindowCoveringParameter;
103
- };
104
58
  }) & {
105
59
  is: (valueId: import("@zwave-js/core").ValueID) => boolean;
106
- readonly options: {
60
+ options: {
107
61
  readonly internal: false;
108
62
  readonly minVersion: 1;
109
63
  readonly secret: false;
@@ -113,12 +67,21 @@ export declare const WindowCoveringCCValues: Readonly<{
113
67
  };
114
68
  };
115
69
  targetValue: ((parameter: WindowCoveringParameter) => {
70
+ id: {
71
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
72
+ readonly property: "targetValue";
73
+ readonly propertyKey: WindowCoveringParameter;
74
+ };
75
+ endpoint: (endpoint?: number) => {
76
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
77
+ readonly endpoint: number;
78
+ readonly property: "targetValue";
79
+ readonly propertyKey: WindowCoveringParameter;
80
+ };
116
81
  readonly meta: {
117
82
  readonly label: `Target value - ${string}`;
118
83
  readonly writeable: boolean;
119
- readonly states: {
120
- [x: number]: string;
121
- };
84
+ readonly states: Record<number, string>;
122
85
  readonly allowManualEntry: boolean;
123
86
  readonly ccSpecific: {
124
87
  readonly parameter: WindowCoveringParameter;
@@ -129,20 +92,9 @@ export declare const WindowCoveringCCValues: Readonly<{
129
92
  readonly type: "number";
130
93
  readonly readable: true;
131
94
  };
132
- readonly id: {
133
- commandClass: (typeof CommandClasses)["Window Covering"];
134
- property: "targetValue";
135
- propertyKey: WindowCoveringParameter;
136
- };
137
- readonly endpoint: (endpoint?: number | undefined) => {
138
- readonly commandClass: (typeof CommandClasses)["Window Covering"];
139
- readonly endpoint: number;
140
- readonly property: "targetValue";
141
- readonly propertyKey: WindowCoveringParameter;
142
- };
143
95
  }) & {
144
96
  is: (valueId: import("@zwave-js/core").ValueID) => boolean;
145
- readonly options: {
97
+ options: {
146
98
  readonly internal: false;
147
99
  readonly minVersion: 1;
148
100
  readonly secret: false;
@@ -151,35 +103,67 @@ export declare const WindowCoveringCCValues: Readonly<{
151
103
  readonly autoCreate: true;
152
104
  };
153
105
  };
154
- currentValue: ((parameter: WindowCoveringParameter) => {
106
+ duration: ((parameter: WindowCoveringParameter) => {
107
+ id: {
108
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
109
+ readonly property: "duration";
110
+ readonly propertyKey: WindowCoveringParameter;
111
+ };
112
+ endpoint: (endpoint?: number) => {
113
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
114
+ readonly endpoint: number;
115
+ readonly property: "duration";
116
+ readonly propertyKey: WindowCoveringParameter;
117
+ };
155
118
  readonly meta: {
156
- readonly label: `Current value - ${string}`;
157
- readonly states: {
158
- [x: number]: string;
159
- };
119
+ readonly label: `Remaining duration - ${string}`;
160
120
  readonly ccSpecific: {
161
121
  readonly parameter: WindowCoveringParameter;
162
122
  };
163
123
  readonly writeable: false;
164
- readonly max: 99;
165
- readonly min: 0;
166
- readonly type: "number";
124
+ readonly type: "duration";
167
125
  readonly readable: true;
168
126
  };
169
- readonly id: {
170
- commandClass: (typeof CommandClasses)["Window Covering"];
171
- property: "currentValue";
172
- propertyKey: WindowCoveringParameter;
127
+ }) & {
128
+ is: (valueId: import("@zwave-js/core").ValueID) => boolean;
129
+ options: {
130
+ readonly internal: false;
131
+ readonly minVersion: 1;
132
+ readonly secret: false;
133
+ readonly stateful: true;
134
+ readonly supportsEndpoints: true;
135
+ readonly autoCreate: true;
173
136
  };
174
- readonly endpoint: (endpoint?: number | undefined) => {
137
+ };
138
+ levelChangeUp: ((parameter: WindowCoveringParameter) => {
139
+ id: {
140
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
141
+ readonly property: "levelChangeUp";
142
+ readonly propertyKey: WindowCoveringParameter;
143
+ };
144
+ endpoint: (endpoint?: number) => {
175
145
  readonly commandClass: (typeof CommandClasses)["Window Covering"];
176
146
  readonly endpoint: number;
177
- readonly property: "currentValue";
147
+ readonly property: "levelChangeUp";
178
148
  readonly propertyKey: WindowCoveringParameter;
179
149
  };
150
+ readonly meta: {
151
+ readonly label: `${string} - ${string}`;
152
+ readonly valueChangeOptions: readonly ["transitionDuration"];
153
+ readonly states: {
154
+ readonly true: "Start";
155
+ readonly false: "Stop";
156
+ };
157
+ readonly ccSpecific: {
158
+ readonly parameter: WindowCoveringParameter;
159
+ };
160
+ readonly readable: false;
161
+ readonly type: "boolean";
162
+ readonly writeable: true;
163
+ };
180
164
  }) & {
181
165
  is: (valueId: import("@zwave-js/core").ValueID) => boolean;
182
- readonly options: {
166
+ options: {
183
167
  readonly internal: false;
184
168
  readonly minVersion: 1;
185
169
  readonly secret: false;
@@ -188,29 +172,41 @@ export declare const WindowCoveringCCValues: Readonly<{
188
172
  readonly autoCreate: true;
189
173
  };
190
174
  };
191
- supportedParameters: {
192
- readonly id: {
193
- commandClass: (typeof CommandClasses)["Window Covering"];
194
- property: "supportedParameters";
175
+ levelChangeDown: ((parameter: WindowCoveringParameter) => {
176
+ id: {
177
+ readonly commandClass: (typeof CommandClasses)["Window Covering"];
178
+ readonly property: "levelChangeDown";
179
+ readonly propertyKey: WindowCoveringParameter;
195
180
  };
196
- readonly endpoint: (endpoint?: number | undefined) => {
181
+ endpoint: (endpoint?: number) => {
197
182
  readonly commandClass: (typeof CommandClasses)["Window Covering"];
198
183
  readonly endpoint: number;
199
- readonly property: "supportedParameters";
184
+ readonly property: "levelChangeDown";
185
+ readonly propertyKey: WindowCoveringParameter;
200
186
  };
201
- readonly is: (valueId: import("@zwave-js/core").ValueID) => boolean;
202
187
  readonly meta: {
203
- readonly type: "any";
204
- readonly readable: true;
188
+ readonly label: `${string} - ${string}`;
189
+ readonly valueChangeOptions: readonly ["transitionDuration"];
190
+ readonly states: {
191
+ readonly true: "Start";
192
+ readonly false: "Stop";
193
+ };
194
+ readonly ccSpecific: {
195
+ readonly parameter: WindowCoveringParameter;
196
+ };
197
+ readonly readable: false;
198
+ readonly type: "boolean";
205
199
  readonly writeable: true;
206
200
  };
207
- readonly options: {
208
- readonly stateful: true;
209
- readonly secret: false;
201
+ }) & {
202
+ is: (valueId: import("@zwave-js/core").ValueID) => boolean;
203
+ options: {
204
+ readonly internal: false;
210
205
  readonly minVersion: 1;
206
+ readonly secret: false;
207
+ readonly stateful: true;
211
208
  readonly supportsEndpoints: true;
212
209
  readonly autoCreate: true;
213
- readonly internal: true;
214
210
  };
215
211
  };
216
212
  }>;
@@ -240,7 +236,7 @@ export declare class WindowCoveringCCSupportedReport extends WindowCoveringCC {
240
236
  constructor(options: WithAddress<WindowCoveringCCSupportedReportOptions>);
241
237
  static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCSupportedReport;
242
238
  readonly supportedParameters: readonly WindowCoveringParameter[];
243
- serialize(ctx: CCEncodingContext): Bytes;
239
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
244
240
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
245
241
  }
246
242
  export declare class WindowCoveringCCSupportedGet extends WindowCoveringCC {
@@ -267,7 +263,7 @@ export declare class WindowCoveringCCGet extends WindowCoveringCC {
267
263
  constructor(options: WithAddress<WindowCoveringCCGetOptions>);
268
264
  static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCGet;
269
265
  parameter: WindowCoveringParameter;
270
- serialize(ctx: CCEncodingContext): Bytes;
266
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
271
267
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
272
268
  }
273
269
  export interface WindowCoveringCCSetOptions {
@@ -285,7 +281,7 @@ export declare class WindowCoveringCCSet extends WindowCoveringCC {
285
281
  value: number;
286
282
  }[];
287
283
  duration: Duration | undefined;
288
- serialize(ctx: CCEncodingContext): Bytes;
284
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
289
285
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
290
286
  }
291
287
  export interface WindowCoveringCCStartLevelChangeOptions {
@@ -299,7 +295,7 @@ export declare class WindowCoveringCCStartLevelChange extends WindowCoveringCC {
299
295
  parameter: WindowCoveringParameter;
300
296
  direction: keyof typeof LevelChangeDirection;
301
297
  duration: Duration | undefined;
302
- serialize(ctx: CCEncodingContext): Bytes;
298
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
303
299
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
304
300
  }
305
301
  export interface WindowCoveringCCStopLevelChangeOptions {
@@ -309,7 +305,7 @@ export declare class WindowCoveringCCStopLevelChange extends WindowCoveringCC {
309
305
  constructor(options: WithAddress<WindowCoveringCCStopLevelChangeOptions>);
310
306
  static from(raw: CCRaw, ctx: CCParsingContext): WindowCoveringCCStopLevelChange;
311
307
  parameter: WindowCoveringParameter;
312
- serialize(ctx: CCEncodingContext): Bytes;
308
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
313
309
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
314
310
  }
315
311
  //# sourceMappingURL=WindowCoveringCC.d.ts.map