@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,59 +1,59 @@
1
- import { CommandClasses, type ControlsCC, Duration, type EndpointId, type GetEndpoint, type MaybeNotKnown, type MaybeUnknown, type MessageOrCCLogEntry, type NodeId, type SupervisionResult, type SupportsCC, type ValueID, type WithAddress } from "@zwave-js/core/safe";
2
- import type { CCEncodingContext, CCParsingContext, GetDeviceConfig, GetNode, GetSupportedCCVersion, GetValueDB } from "@zwave-js/host/safe";
1
+ import { type CCEncodingContext, type CCParsingContext } from "@zwave-js/cc";
2
+ import { type GetDeviceConfig } from "@zwave-js/config";
3
+ import { CommandClasses, type ControlsCC, Duration, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type MaybeNotKnown, type MaybeUnknown, type MessageOrCCLogEntry, type NodeId, type SupervisionResult, type SupportsCC, type ValueID, type WithAddress } from "@zwave-js/core/safe";
3
4
  import { Bytes } from "@zwave-js/shared/safe";
4
5
  import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory } from "../lib/API.js";
5
6
  import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext } from "../lib/CommandClass.js";
6
7
  import { BasicCommand } from "../lib/_Types.js";
7
8
  export declare const BasicCCValues: Readonly<{
8
- compatEvent: {
9
- readonly id: {
10
- commandClass: CommandClasses.Basic;
11
- property: "event";
9
+ currentValue: {
10
+ id: {
11
+ readonly commandClass: CommandClasses.Basic;
12
+ readonly property: "currentValue";
12
13
  };
13
- readonly endpoint: (endpoint?: number | undefined) => {
14
+ endpoint: (endpoint?: number) => {
14
15
  readonly commandClass: CommandClasses.Basic;
15
16
  readonly endpoint: number;
16
- readonly property: "event";
17
+ readonly property: "currentValue";
17
18
  };
18
- readonly is: (valueId: ValueID) => boolean;
19
+ is: (valueId: ValueID) => boolean;
19
20
  readonly meta: {
20
- readonly label: "Event value";
21
+ readonly label: "Current value";
21
22
  readonly writeable: false;
23
+ readonly max: 99;
22
24
  readonly min: 0;
23
- readonly max: 255;
24
25
  readonly type: "number";
25
26
  readonly readable: true;
26
27
  };
27
- readonly options: {
28
- readonly secret: false;
28
+ options: {
29
29
  readonly internal: false;
30
30
  readonly minVersion: 1;
31
+ readonly secret: false;
32
+ readonly stateful: true;
31
33
  readonly supportsEndpoints: true;
32
- readonly stateful: false;
33
- readonly autoCreate: false;
34
+ readonly autoCreate: true;
34
35
  };
35
36
  };
36
- restorePrevious: {
37
- readonly id: {
38
- commandClass: CommandClasses.Basic;
39
- property: "restorePrevious";
37
+ targetValue: {
38
+ id: {
39
+ readonly commandClass: CommandClasses.Basic;
40
+ readonly property: "targetValue";
40
41
  };
41
- readonly endpoint: (endpoint?: number | undefined) => {
42
+ endpoint: (endpoint?: number) => {
42
43
  readonly commandClass: CommandClasses.Basic;
43
44
  readonly endpoint: number;
44
- readonly property: "restorePrevious";
45
+ readonly property: "targetValue";
45
46
  };
46
- readonly is: (valueId: ValueID) => boolean;
47
+ is: (valueId: ValueID) => boolean;
47
48
  readonly meta: {
48
- readonly label: "Restore previous value";
49
- readonly states: {
50
- true: string;
51
- };
52
- readonly readable: false;
53
- readonly type: "boolean";
49
+ readonly label: "Target value";
50
+ readonly min: 0;
51
+ readonly max: 255;
52
+ readonly type: "number";
53
+ readonly readable: true;
54
54
  readonly writeable: true;
55
55
  };
56
- readonly options: {
56
+ options: {
57
57
  readonly internal: false;
58
58
  readonly minVersion: 1;
59
59
  readonly secret: false;
@@ -63,53 +63,52 @@ export declare const BasicCCValues: Readonly<{
63
63
  };
64
64
  };
65
65
  duration: {
66
- readonly id: {
67
- commandClass: CommandClasses.Basic;
68
- property: "duration";
66
+ id: {
67
+ readonly commandClass: CommandClasses.Basic;
68
+ readonly property: "duration";
69
69
  };
70
- readonly endpoint: (endpoint?: number | undefined) => {
70
+ endpoint: (endpoint?: number) => {
71
71
  readonly commandClass: CommandClasses.Basic;
72
72
  readonly endpoint: number;
73
73
  readonly property: "duration";
74
74
  };
75
- readonly is: (valueId: ValueID) => boolean;
75
+ is: (valueId: ValueID) => boolean;
76
76
  readonly meta: {
77
77
  readonly label: "Remaining duration";
78
- readonly minVersion: number;
79
78
  readonly writeable: false;
80
79
  readonly type: "duration";
81
80
  readonly readable: true;
82
81
  };
83
- readonly options: {
82
+ options: {
84
83
  readonly internal: false;
85
- readonly minVersion: 1;
84
+ readonly minVersion: 2;
86
85
  readonly secret: false;
87
86
  readonly stateful: true;
88
87
  readonly supportsEndpoints: true;
89
88
  readonly autoCreate: true;
90
89
  };
91
90
  };
92
- targetValue: {
93
- readonly id: {
94
- commandClass: CommandClasses.Basic;
95
- property: "targetValue";
91
+ restorePrevious: {
92
+ id: {
93
+ readonly commandClass: CommandClasses.Basic;
94
+ readonly property: "restorePrevious";
96
95
  };
97
- readonly endpoint: (endpoint?: number | undefined) => {
96
+ endpoint: (endpoint?: number) => {
98
97
  readonly commandClass: CommandClasses.Basic;
99
98
  readonly endpoint: number;
100
- readonly property: "targetValue";
99
+ readonly property: "restorePrevious";
101
100
  };
102
- readonly is: (valueId: ValueID) => boolean;
101
+ is: (valueId: ValueID) => boolean;
103
102
  readonly meta: {
104
- readonly label: "Target value";
105
- readonly forceCreation: boolean;
106
- readonly min: 0;
107
- readonly max: 255;
108
- readonly type: "number";
109
- readonly readable: true;
103
+ readonly label: "Restore previous value";
104
+ readonly states: {
105
+ readonly true: "Restore";
106
+ };
107
+ readonly readable: false;
108
+ readonly type: "boolean";
110
109
  readonly writeable: true;
111
110
  };
112
- readonly options: {
111
+ options: {
113
112
  readonly internal: false;
114
113
  readonly minVersion: 1;
115
114
  readonly secret: false;
@@ -118,32 +117,32 @@ export declare const BasicCCValues: Readonly<{
118
117
  readonly autoCreate: true;
119
118
  };
120
119
  };
121
- currentValue: {
122
- readonly id: {
123
- commandClass: CommandClasses.Basic;
124
- property: "currentValue";
120
+ compatEvent: {
121
+ id: {
122
+ readonly commandClass: CommandClasses.Basic;
123
+ readonly property: "event";
125
124
  };
126
- readonly endpoint: (endpoint?: number | undefined) => {
125
+ endpoint: (endpoint?: number) => {
127
126
  readonly commandClass: CommandClasses.Basic;
128
127
  readonly endpoint: number;
129
- readonly property: "currentValue";
128
+ readonly property: "event";
130
129
  };
131
- readonly is: (valueId: ValueID) => boolean;
130
+ is: (valueId: ValueID) => boolean;
132
131
  readonly meta: {
133
- readonly label: "Current value";
132
+ readonly label: "Event value";
134
133
  readonly writeable: false;
135
- readonly max: 99;
136
134
  readonly min: 0;
135
+ readonly max: 255;
137
136
  readonly type: "number";
138
137
  readonly readable: true;
139
138
  };
140
- readonly options: {
139
+ options: {
141
140
  readonly internal: false;
142
141
  readonly minVersion: 1;
143
142
  readonly secret: false;
144
- readonly stateful: true;
143
+ readonly stateful: false;
145
144
  readonly supportsEndpoints: true;
146
- readonly autoCreate: true;
145
+ readonly autoCreate: false;
147
146
  };
148
147
  };
149
148
  }>;
@@ -168,7 +167,7 @@ export declare class BasicCCSet extends BasicCC {
168
167
  constructor(options: WithAddress<BasicCCSetOptions>);
169
168
  static from(raw: CCRaw, ctx: CCParsingContext): BasicCCSet;
170
169
  targetValue: number;
171
- serialize(ctx: CCEncodingContext): Bytes;
170
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
172
171
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
173
172
  }
174
173
  export interface BasicCCReportOptions {
@@ -183,7 +182,7 @@ export declare class BasicCCReport extends BasicCC {
183
182
  readonly targetValue: MaybeUnknown<number> | undefined;
184
183
  readonly duration: Duration | undefined;
185
184
  persistValues(ctx: PersistValuesContext): boolean;
186
- serialize(ctx: CCEncodingContext): Bytes;
185
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
187
186
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
188
187
  }
189
188
  export declare class BasicCCGet extends BasicCC {
@@ -34,7 +34,7 @@ __export(BasicCC_exports, {
34
34
  BasicCCGet: () => BasicCCGet,
35
35
  BasicCCReport: () => BasicCCReport,
36
36
  BasicCCSet: () => BasicCCSet,
37
- BasicCCValues: () => BasicCCValues
37
+ BasicCCValues: () => import_CCValues_generated.BasicCCValues
38
38
  });
39
39
  module.exports = __toCommonJS(BasicCC_exports);
40
40
  var __validateArgs = __toESM(require("./BasicCC._validateArgs.js"), 1);
@@ -46,6 +46,7 @@ var import_CommandClass = require("../lib/CommandClass.js");
46
46
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
47
47
  var import_Values = require("../lib/Values.js");
48
48
  var import_Types = require("../lib/_Types.js");
49
+ var import_CCValues_generated = require("./_CCValues.generated.js");
49
50
  var __runInitializers = function(thisArg, initializers, value) {
50
51
  var useValue = arguments.length > 2;
51
52
  for (var i = 0; i < initializers.length; i++) {
@@ -87,38 +88,6 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
87
88
  done = true;
88
89
  };
89
90
  const { validateArgs_BasicCCAPI_set } = __validateArgs;
90
- const BasicCCValues = Object.freeze({
91
- ...import_Values.V.defineStaticCCValues(import_safe.CommandClasses.Basic, {
92
- ...import_Values.V.staticProperty("currentValue", {
93
- ...import_safe.ValueMetadata.ReadOnlyLevel,
94
- label: "Current value"
95
- }),
96
- ...import_Values.V.staticProperty("targetValue", {
97
- ...import_safe.ValueMetadata.UInt8,
98
- label: "Target value",
99
- forceCreation: true
100
- }),
101
- ...import_Values.V.staticProperty("duration", {
102
- ...import_safe.ValueMetadata.ReadOnlyDuration,
103
- label: "Remaining duration",
104
- minVersion: 2
105
- }),
106
- ...import_Values.V.staticProperty("restorePrevious", {
107
- ...import_safe.ValueMetadata.WriteOnlyBoolean,
108
- label: "Restore previous value",
109
- states: {
110
- true: "Restore"
111
- }
112
- }),
113
- ...import_Values.V.staticPropertyWithName("compatEvent", "event", {
114
- ...import_safe.ValueMetadata.ReadOnlyUInt8,
115
- label: "Event value"
116
- }, {
117
- stateful: false,
118
- autoCreate: false
119
- })
120
- })
121
- });
122
91
  let BasicCCAPI = (() => {
123
92
  let _classDecorators = [(0, import_CommandClassDecorators.API)(import_safe.CommandClasses.Basic)];
124
93
  let _classDescriptor;
@@ -173,7 +142,7 @@ let BasicCCAPI = (() => {
173
142
  value = 255;
174
143
  }
175
144
  if (property === "targetValue") {
176
- const currentValueValueId = BasicCCValues.currentValue.endpoint(this.endpoint.index);
145
+ const currentValueValueId = import_CCValues_generated.BasicCCValues.currentValue.endpoint(this.endpoint.index);
177
146
  return {
178
147
  optimisticallyUpdateRelatedValues: /* @__PURE__ */ __name((_supervisedAndSuccessful) => {
179
148
  if (typeof value === "number" && value >= 0 && value <= 99) {
@@ -219,7 +188,7 @@ let BasicCCAPI = (() => {
219
188
  });
220
189
  const response = await this.host.sendCommand(cc, this.commandOptions);
221
190
  if (response) {
222
- this.tryGetValueDB()?.setValue(BasicCCValues.currentValue.endpoint(this.endpoint.index), response.currentValue);
191
+ this.tryGetValueDB()?.setValue(import_CCValues_generated.BasicCCValues.currentValue.endpoint(this.endpoint.index), response.currentValue);
223
192
  return (0, import_safe3.pick)(response, ["currentValue", "targetValue", "duration"]);
224
193
  }
225
194
  }
@@ -236,7 +205,7 @@ let BasicCCAPI = (() => {
236
205
  return BasicCCAPI2 = _classThis;
237
206
  })();
238
207
  let BasicCC = (() => {
239
- let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses.Basic), (0, import_CommandClassDecorators.implementedVersion)(2), (0, import_CommandClassDecorators.ccValues)(BasicCCValues)];
208
+ let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses.Basic), (0, import_CommandClassDecorators.implementedVersion)(2), (0, import_CommandClassDecorators.ccValues)(import_CCValues_generated.BasicCCValues)];
240
209
  let _classDescriptor;
241
210
  let _classExtraInitializers = [];
242
211
  let _classThis;
@@ -265,7 +234,7 @@ let BasicCC = (() => {
265
234
  });
266
235
  endpoint.addCC(import_safe.CommandClasses.Basic, { isSupported: true });
267
236
  await this.refreshValues(ctx);
268
- if (this.getValue(ctx, BasicCCValues.currentValue) == void 0) {
237
+ if (this.getValue(ctx, import_CCValues_generated.BasicCCValues.currentValue) == void 0) {
269
238
  ctx.logNode(node.id, {
270
239
  endpoint: this.endpointIndex,
271
240
  message: "No response to Basic Get command, assuming Basic CC is unsupported..."
@@ -309,12 +278,12 @@ remaining duration: ${basicResponse.duration?.toString() ?? "undefined"}`;
309
278
  const endpoint = this.getEndpoint(ctx);
310
279
  const compat = ctx.getDeviceConfig?.(endpoint.nodeId)?.compat;
311
280
  if (compat?.mapBasicSet === "event") {
312
- ret.push(BasicCCValues.compatEvent.endpoint(endpoint.index));
281
+ ret.push(import_CCValues_generated.BasicCCValues.compatEvent.endpoint(endpoint.index));
313
282
  }
314
283
  if (endpoint.supportsCC(this.ccId)) {
315
284
  ret.push(...super.getDefinedValueIDs(ctx));
316
285
  } else if (endpoint.controlsCC(import_safe.CommandClasses.Basic)) {
317
- ret.push(BasicCCValues.currentValue.endpoint(endpoint.index));
286
+ ret.push(import_CCValues_generated.BasicCCValues.currentValue.endpoint(endpoint.index));
318
287
  }
319
288
  return ret;
320
289
  }
@@ -368,7 +337,7 @@ let BasicCCSet = (() => {
368
337
  return BasicCCSet2 = _classThis;
369
338
  })();
370
339
  let BasicCCReport = (() => {
371
- let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.BasicCommand.Report), (0, import_CommandClassDecorators.ccValueProperty)("currentValue", BasicCCValues.currentValue), (0, import_CommandClassDecorators.ccValueProperty)("targetValue", BasicCCValues.targetValue), (0, import_CommandClassDecorators.ccValueProperty)("duration", BasicCCValues.duration)];
340
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.BasicCommand.Report), (0, import_CommandClassDecorators.ccValueProperty)("currentValue", import_CCValues_generated.BasicCCValues.currentValue), (0, import_CommandClassDecorators.ccValueProperty)("targetValue", import_CCValues_generated.BasicCCValues.targetValue), (0, import_CommandClassDecorators.ccValueProperty)("duration", import_CCValues_generated.BasicCCValues.duration)];
372
341
  let _classDescriptor;
373
342
  let _classExtraInitializers = [];
374
343
  let _classThis;
@@ -419,17 +388,17 @@ let BasicCCReport = (() => {
419
388
  duration;
420
389
  persistValues(ctx) {
421
390
  const definedValueIDs = this.getDefinedValueIDs(ctx);
422
- const shouldPersistCurrentValue = definedValueIDs.some((vid) => BasicCCValues.currentValue.is(vid));
423
- const shouldPersistTargetValue = definedValueIDs.some((vid) => BasicCCValues.targetValue.is(vid));
424
- const shouldPersistDuration = definedValueIDs.some((vid) => BasicCCValues.duration.is(vid));
391
+ const shouldPersistCurrentValue = definedValueIDs.some((vid) => import_CCValues_generated.BasicCCValues.currentValue.is(vid));
392
+ const shouldPersistTargetValue = definedValueIDs.some((vid) => import_CCValues_generated.BasicCCValues.targetValue.is(vid));
393
+ const shouldPersistDuration = definedValueIDs.some((vid) => import_CCValues_generated.BasicCCValues.duration.is(vid));
425
394
  if (this.currentValue !== void 0 && shouldPersistCurrentValue) {
426
- this.setValue(ctx, BasicCCValues.currentValue, this.currentValue);
395
+ this.setValue(ctx, import_CCValues_generated.BasicCCValues.currentValue, this.currentValue);
427
396
  }
428
397
  if (this.targetValue !== void 0 && shouldPersistTargetValue) {
429
- this.setValue(ctx, BasicCCValues.targetValue, this.targetValue);
398
+ this.setValue(ctx, import_CCValues_generated.BasicCCValues.targetValue, this.targetValue);
430
399
  }
431
400
  if (this.duration !== void 0 && shouldPersistDuration) {
432
- this.setValue(ctx, BasicCCValues.duration, this.duration);
401
+ this.setValue(ctx, import_CCValues_generated.BasicCCValues.duration, this.duration);
433
402
  }
434
403
  return true;
435
404
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/BasicCC.ts"],
4
- "sourcesContent": ["import {\n\tCommandClasses,\n\ttype ControlsCC,\n\tDuration,\n\ttype EndpointId,\n\ttype GetEndpoint,\n\ttype MaybeNotKnown,\n\ttype MaybeUnknown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype NodeId,\n\ttype SupervisionResult,\n\ttype SupportsCC,\n\ttype ValueID,\n\tValueMetadata,\n\ttype WithAddress,\n\tmaybeUnknownToString,\n\tparseMaybeNumber,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetDeviceConfig,\n\tGetNode,\n\tGetSupportedCCVersion,\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 {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\tSET_VALUE_HOOKS,\n\ttype SetValueImplementation,\n\ttype SetValueImplementationHooksFactory,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n\tgetEffectiveCCVersion,\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 { BasicCommand } from \"../lib/_Types.js\";\n\nexport const BasicCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses.Basic, {\n\t\t...V.staticProperty(\"currentValue\", {\n\t\t\t...ValueMetadata.ReadOnlyLevel,\n\t\t\tlabel: \"Current value\" as const,\n\t\t}),\n\t\t...V.staticProperty(\"targetValue\", {\n\t\t\t...ValueMetadata.UInt8,\n\t\t\tlabel: \"Target value\" as const,\n\t\t\tforceCreation: true,\n\t\t}),\n\t\t...V.staticProperty(\"duration\", {\n\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\tlabel: \"Remaining duration\" as const,\n\t\t\tminVersion: 2,\n\t\t}),\n\n\t\t...V.staticProperty(\"restorePrevious\", {\n\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\tlabel: \"Restore previous value\" as const,\n\t\t\tstates: {\n\t\t\t\ttrue: \"Restore\",\n\t\t\t},\n\t\t}),\n\n\t\t...V.staticPropertyWithName(\n\t\t\t\"compatEvent\",\n\t\t\t\"event\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: \"Event value\",\n\t\t\t} as const,\n\t\t\t{\n\t\t\t\tstateful: false,\n\t\t\t\tautoCreate: false,\n\t\t\t},\n\t\t),\n\t}),\n});\n\n@API(CommandClasses.Basic)\nexport class BasicCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: BasicCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase BasicCommand.Get:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase BasicCommand.Set:\n\t\t\t\treturn true;\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: BasicCCAPI, { property }, value) {\n\t\t\t// Enable restoring the previous non-zero value\n\t\t\tif (property === \"restorePrevious\") {\n\t\t\t\tproperty = \"targetValue\";\n\t\t\t\tvalue = 255;\n\t\t\t}\n\n\t\t\tif (property !== \"targetValue\") {\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\n\t\t\treturn this.set(value);\n\t\t};\n\t}\n\n\tprotected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = (\n\t\t{ property },\n\t\tvalue,\n\t\t_options,\n\t) => {\n\t\t// Enable restoring the previous non-zero value\n\t\tif (property === \"restorePrevious\") {\n\t\t\tproperty = \"targetValue\";\n\t\t\tvalue = 255;\n\t\t}\n\n\t\tif (property === \"targetValue\") {\n\t\t\tconst currentValueValueId = BasicCCValues.currentValue.endpoint(\n\t\t\t\tthis.endpoint.index,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\toptimisticallyUpdateRelatedValues: (\n\t\t\t\t\t_supervisedAndSuccessful,\n\t\t\t\t) => {\n\t\t\t\t\t// Only update currentValue for valid target values\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof value === \"number\"\n\t\t\t\t\t\t&& value >= 0\n\t\t\t\t\t\t&& value <= 99\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (this.isSinglecast()) {\n\t\t\t\t\t\t\tthis.tryGetValueDB()?.setValue(\n\t\t\t\t\t\t\t\tcurrentValueValueId,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (this.isMulticast()) {\n\t\t\t\t\t\t\t// Figure out which nodes were affected by this command\n\t\t\t\t\t\t\tconst affectedNodes = this.endpoint.node\n\t\t\t\t\t\t\t\t.physicalNodes.filter(\n\t\t\t\t\t\t\t\t\t(node) =>\n\t\t\t\t\t\t\t\t\t\tnode\n\t\t\t\t\t\t\t\t\t\t\t.getEndpoint(this.endpoint.index)\n\t\t\t\t\t\t\t\t\t\t\t?.supportsCC(this.ccId),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// and optimistically update the currentValue\n\t\t\t\t\t\t\tfor (const node of affectedNodes) {\n\t\t\t\t\t\t\t\tthis.host\n\t\t\t\t\t\t\t\t\t.tryGetValueDB(node.id)\n\t\t\t\t\t\t\t\t\t?.setValue(currentValueValueId, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tforceVerifyChanges: () => {\n\t\t\t\t\t// If we don't know the actual value, we need to verify the change, regardless of the supervision result\n\t\t\t\t\treturn value === 255;\n\t\t\t\t},\n\t\t\t\tverifyChanges: () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.isSinglecast()\n\t\t\t\t\t\t// We generally don't want to poll for multicasts because of how much traffic it can cause\n\t\t\t\t\t\t// However, when setting the value 255 (ON), we don't know the actual state\n\t\t\t\t\t\t|| (this.isMulticast() && value === 255)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We query currentValue instead of targetValue to make sure that unsolicited updates cancel the scheduled poll\n\t\t\t\t\t\t(this as this).schedulePoll(\n\t\t\t\t\t\t\tcurrentValueValueId,\n\t\t\t\t\t\t\tvalue === 255 ? undefined : value,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t};\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: BasicCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"currentValue\":\n\t\t\t\tcase \"targetValue\":\n\t\t\t\tcase \"duration\":\n\t\t\t\t\treturn (await this.get())?.[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 get() {\n\t\tthis.assertSupportsCommand(BasicCommand, BasicCommand.Get);\n\n\t\tconst cc = new BasicCCGet({\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<BasicCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\tthis.tryGetValueDB()?.setValue(\n\t\t\t\tBasicCCValues.currentValue.endpoint(this.endpoint.index),\n\t\t\t\tresponse.currentValue,\n\t\t\t);\n\t\t\treturn pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\ttargetValue: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(BasicCommand, BasicCommand.Set);\n\n\t\tconst cc = new BasicCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttargetValue,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Basic)\n@implementedVersion(2) // Update tests in CommandClass.test.ts when changing this\n@ccValues(BasicCCValues)\nexport class BasicCC extends CommandClass {\n\tdeclare ccCommand: BasicCommand;\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\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\t// Assume that the endpoint supports Basic CC, so the values get persisted correctly.\n\t\tendpoint.addCC(CommandClasses.Basic, { isSupported: true });\n\n\t\t// try to query the current state\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remove Basic CC support again when there was no response\n\t\tif (\n\t\t\tthis.getValue(ctx, BasicCCValues.currentValue) == undefined\n\t\t) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t\"No response to Basic Get command, assuming Basic CC is unsupported...\",\n\t\t\t});\n\t\t\t// SDS14223: A controlling node MUST conclude that the Basic Command Class is not supported by a node (or\n\t\t\t// endpoint) if no Basic Report is returned.\n\t\t\tendpoint.addCC(CommandClasses.Basic, { isSupported: false });\n\t\t\tif (!endpoint.controlsCC(CommandClasses.Basic)) {\n\t\t\t\tendpoint.removeCC(CommandClasses.Basic);\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\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\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.Basic,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\t// try to query the current state\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"querying Basic CC state...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst basicResponse = await api.get();\n\t\tif (basicResponse) {\n\t\t\tlet logMessage = `received Basic CC state:\ncurrent value: ${basicResponse.currentValue}`;\n\t\t\tif (basicResponse.targetValue != undefined) {\n\t\t\t\tlogMessage += `\ntarget value: ${basicResponse.targetValue}\nremaining duration: ${basicResponse.duration?.toString() ?? \"undefined\"}`;\n\t\t\t}\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic override getDefinedValueIDs(\n\t\tctx:\n\t\t\t& GetValueDB\n\t\t\t& GetSupportedCCVersion\n\t\t\t& GetDeviceConfig\n\t\t\t& GetNode<\n\t\t\t\tNodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>\n\t\t\t>,\n\t): ValueID[] {\n\t\tconst ret: ValueID[] = [];\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\n\t\tconst compat = ctx.getDeviceConfig?.(endpoint.nodeId)?.compat;\n\t\tif (compat?.mapBasicSet === \"event\") {\n\t\t\t// Add the compat event value if it should be exposed\n\t\t\tret.push(BasicCCValues.compatEvent.endpoint(endpoint.index));\n\t\t}\n\n\t\tif (endpoint.supportsCC(this.ccId)) {\n\t\t\t// Defer to the base implementation if Basic CC is supported.\n\t\t\t// This implies that no other actuator CC is supported.\n\t\t\tret.push(...super.getDefinedValueIDs(ctx));\n\t\t} else if (endpoint.controlsCC(CommandClasses.Basic)) {\n\t\t\t// During the interview, we mark Basic CC as controlled only if we want to expose currentValue\n\t\t\tret.push(BasicCCValues.currentValue.endpoint(endpoint.index));\n\t\t}\n\n\t\treturn ret;\n\t}\n}\n\n// @publicAPI\nexport interface BasicCCSetOptions {\n\ttargetValue: number;\n}\n\n@CCCommand(BasicCommand.Set)\n@useSupervision()\nexport class BasicCCSet extends BasicCC {\n\tpublic constructor(\n\t\toptions: WithAddress<BasicCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.targetValue = options.targetValue;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): BasicCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst targetValue = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttargetValue,\n\t\t});\n\t}\n\n\tpublic targetValue: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.targetValue]);\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: { \"target value\": this.targetValue },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface BasicCCReportOptions {\n\tcurrentValue?: MaybeUnknown<number>;\n\ttargetValue?: MaybeUnknown<number>;\n\tduration?: Duration;\n}\n\n@CCCommand(BasicCommand.Report)\n@ccValueProperty(\"currentValue\", BasicCCValues.currentValue)\n@ccValueProperty(\"targetValue\", BasicCCValues.targetValue)\n@ccValueProperty(\"duration\", BasicCCValues.duration)\nexport class BasicCCReport extends BasicCC {\n\t// @noCCValues See comment in the constructor\n\tpublic constructor(\n\t\toptions: WithAddress<BasicCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.currentValue = options.currentValue;\n\t\tthis.targetValue = options.targetValue;\n\t\tthis.duration = options.duration;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): BasicCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst currentValue: MaybeUnknown<number> | undefined =\n\t\t\t// 0xff is a legacy value for 100% (99)\n\t\t\traw.payload[0] === 0xff\n\t\t\t\t? 99\n\t\t\t\t: parseMaybeNumber(raw.payload[0]);\n\t\tvalidatePayload(currentValue !== undefined);\n\n\t\tlet targetValue: MaybeUnknown<number> | undefined;\n\t\tlet duration: Duration | undefined;\n\n\t\tif (raw.payload.length >= 3) {\n\t\t\ttargetValue = parseMaybeNumber(raw.payload[1]);\n\t\t\tduration = Duration.parseReport(raw.payload[2]);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcurrentValue,\n\t\t\ttargetValue,\n\t\t\tduration,\n\t\t});\n\t}\n\n\tpublic currentValue: MaybeUnknown<number> | undefined;\n\n\tpublic readonly targetValue: MaybeUnknown<number> | undefined;\n\n\tpublic readonly duration: Duration | undefined;\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\t// Basic CC Report persists its values itself, since there are some\n\t\t// specific rules when which value may be persisted.\n\t\t// These rules are essentially encoded in the getDefinedValueIDs overload,\n\t\t// so we simply reuse that here.\n\n\t\t// Figure out which values may be persisted.\n\t\tconst definedValueIDs = this.getDefinedValueIDs(ctx);\n\t\tconst shouldPersistCurrentValue = definedValueIDs.some((vid) =>\n\t\t\tBasicCCValues.currentValue.is(vid)\n\t\t);\n\t\tconst shouldPersistTargetValue = definedValueIDs.some((vid) =>\n\t\t\tBasicCCValues.targetValue.is(vid)\n\t\t);\n\t\tconst shouldPersistDuration = definedValueIDs.some((vid) =>\n\t\t\tBasicCCValues.duration.is(vid)\n\t\t);\n\n\t\tif (this.currentValue !== undefined && shouldPersistCurrentValue) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tBasicCCValues.currentValue,\n\t\t\t\tthis.currentValue,\n\t\t\t);\n\t\t}\n\t\tif (this.targetValue !== undefined && shouldPersistTargetValue) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tBasicCCValues.targetValue,\n\t\t\t\tthis.targetValue,\n\t\t\t);\n\t\t}\n\t\tif (this.duration !== undefined && shouldPersistDuration) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tBasicCCValues.duration,\n\t\t\t\tthis.duration,\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.currentValue ?? 0xfe,\n\t\t\tthis.targetValue ?? 0xfe,\n\t\t\t(this.duration ?? Duration.unknown()).serializeReport(),\n\t\t]);\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\t\tif (\n\t\t\tccVersion < 2 && ctx.getDeviceConfig?.(\n\t\t\t\tthis.nodeId as number,\n\t\t\t)?.compat?.encodeCCsUsingTargetVersion\n\t\t) {\n\t\t\t// When forcing CC version 1, only send the current value\n\t\t\tthis.payload = this.payload.subarray(0, 1);\n\t\t}\n\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\tconst message: MessageRecord = {\n\t\t\t\"current value\": maybeUnknownToString(this.currentValue),\n\t\t};\n\t\tif (this.targetValue !== undefined) {\n\t\t\tmessage[\"target value\"] = maybeUnknownToString(this.targetValue);\n\t\t}\n\t\tif (this.duration != undefined) {\n\t\t\tmessage.duration = this.duration.toString();\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(BasicCommand.Get)\n@expectedCCResponse(BasicCCReport)\nexport class BasicCCGet extends BasicCC {}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { type CCEncodingContext, type CCParsingContext } from \"@zwave-js/cc\";\nimport { type GetDeviceConfig } from \"@zwave-js/config\";\nimport {\n\tCommandClasses,\n\ttype ControlsCC,\n\tDuration,\n\ttype EndpointId,\n\ttype GetEndpoint,\n\ttype GetNode,\n\ttype GetSupportedCCVersion,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MaybeUnknown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype NodeId,\n\ttype SupervisionResult,\n\ttype SupportsCC,\n\ttype ValueID,\n\tValueMetadata,\n\ttype WithAddress,\n\tmaybeUnknownToString,\n\tparseMaybeNumber,\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 {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\tSET_VALUE_HOOKS,\n\ttype SetValueImplementation,\n\ttype SetValueImplementationHooksFactory,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n\tgetEffectiveCCVersion,\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 { BasicCommand } from \"../lib/_Types.js\";\n\nexport const BasicCCValues = V.defineCCValues(CommandClasses.Basic, {\n\t...V.staticProperty(\"currentValue\", {\n\t\t...ValueMetadata.ReadOnlyLevel,\n\t\tlabel: \"Current value\",\n\t}),\n\t...V.staticProperty(\"targetValue\", {\n\t\t...ValueMetadata.UInt8,\n\t\tlabel: \"Target value\",\n\t}),\n\t...V.staticProperty(\"duration\", {\n\t\t...ValueMetadata.ReadOnlyDuration,\n\t\tlabel: \"Remaining duration\",\n\t}, {\n\t\tminVersion: 2,\n\t}),\n\n\t...V.staticProperty(\"restorePrevious\", {\n\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\tlabel: \"Restore previous value\",\n\t\tstates: {\n\t\t\ttrue: \"Restore\",\n\t\t},\n\t}),\n\n\t...V.staticPropertyWithName(\n\t\t\"compatEvent\",\n\t\t\"event\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\tlabel: \"Event value\",\n\t\t},\n\t\t{\n\t\t\tstateful: false,\n\t\t\tautoCreate: false,\n\t\t},\n\t),\n});\n\n@API(CommandClasses.Basic)\nexport class BasicCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: BasicCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase BasicCommand.Get:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase BasicCommand.Set:\n\t\t\t\treturn true;\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: BasicCCAPI, { property }, value) {\n\t\t\t// Enable restoring the previous non-zero value\n\t\t\tif (property === \"restorePrevious\") {\n\t\t\t\tproperty = \"targetValue\";\n\t\t\t\tvalue = 255;\n\t\t\t}\n\n\t\t\tif (property !== \"targetValue\") {\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\n\t\t\treturn this.set(value);\n\t\t};\n\t}\n\n\tprotected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = (\n\t\t{ property },\n\t\tvalue,\n\t\t_options,\n\t) => {\n\t\t// Enable restoring the previous non-zero value\n\t\tif (property === \"restorePrevious\") {\n\t\t\tproperty = \"targetValue\";\n\t\t\tvalue = 255;\n\t\t}\n\n\t\tif (property === \"targetValue\") {\n\t\t\tconst currentValueValueId = BasicCCValues.currentValue.endpoint(\n\t\t\t\tthis.endpoint.index,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\toptimisticallyUpdateRelatedValues: (\n\t\t\t\t\t_supervisedAndSuccessful,\n\t\t\t\t) => {\n\t\t\t\t\t// Only update currentValue for valid target values\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof value === \"number\"\n\t\t\t\t\t\t&& value >= 0\n\t\t\t\t\t\t&& value <= 99\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (this.isSinglecast()) {\n\t\t\t\t\t\t\tthis.tryGetValueDB()?.setValue(\n\t\t\t\t\t\t\t\tcurrentValueValueId,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (this.isMulticast()) {\n\t\t\t\t\t\t\t// Figure out which nodes were affected by this command\n\t\t\t\t\t\t\tconst affectedNodes = this.endpoint.node\n\t\t\t\t\t\t\t\t.physicalNodes.filter(\n\t\t\t\t\t\t\t\t\t(node) =>\n\t\t\t\t\t\t\t\t\t\tnode\n\t\t\t\t\t\t\t\t\t\t\t.getEndpoint(this.endpoint.index)\n\t\t\t\t\t\t\t\t\t\t\t?.supportsCC(this.ccId),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// and optimistically update the currentValue\n\t\t\t\t\t\t\tfor (const node of affectedNodes) {\n\t\t\t\t\t\t\t\tthis.host\n\t\t\t\t\t\t\t\t\t.tryGetValueDB(node.id)\n\t\t\t\t\t\t\t\t\t?.setValue(currentValueValueId, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tforceVerifyChanges: () => {\n\t\t\t\t\t// If we don't know the actual value, we need to verify the change, regardless of the supervision result\n\t\t\t\t\treturn value === 255;\n\t\t\t\t},\n\t\t\t\tverifyChanges: () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.isSinglecast()\n\t\t\t\t\t\t// We generally don't want to poll for multicasts because of how much traffic it can cause\n\t\t\t\t\t\t// However, when setting the value 255 (ON), we don't know the actual state\n\t\t\t\t\t\t|| (this.isMulticast() && value === 255)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We query currentValue instead of targetValue to make sure that unsolicited updates cancel the scheduled poll\n\t\t\t\t\t\t(this as this).schedulePoll(\n\t\t\t\t\t\t\tcurrentValueValueId,\n\t\t\t\t\t\t\tvalue === 255 ? undefined : value,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t};\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: BasicCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"currentValue\":\n\t\t\t\tcase \"targetValue\":\n\t\t\t\tcase \"duration\":\n\t\t\t\t\treturn (await this.get())?.[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 get() {\n\t\tthis.assertSupportsCommand(BasicCommand, BasicCommand.Get);\n\n\t\tconst cc = new BasicCCGet({\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<BasicCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\tthis.tryGetValueDB()?.setValue(\n\t\t\t\tBasicCCValues.currentValue.endpoint(this.endpoint.index),\n\t\t\t\tresponse.currentValue,\n\t\t\t);\n\t\t\treturn pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\ttargetValue: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(BasicCommand, BasicCommand.Set);\n\n\t\tconst cc = new BasicCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttargetValue,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Basic)\n@implementedVersion(2) // Update tests in CommandClass.test.ts when changing this\n@ccValues(BasicCCValues)\nexport class BasicCC extends CommandClass {\n\tdeclare ccCommand: BasicCommand;\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\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\t// Assume that the endpoint supports Basic CC, so the values get persisted correctly.\n\t\tendpoint.addCC(CommandClasses.Basic, { isSupported: true });\n\n\t\t// try to query the current state\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remove Basic CC support again when there was no response\n\t\tif (\n\t\t\tthis.getValue(ctx, BasicCCValues.currentValue) == undefined\n\t\t) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t\"No response to Basic Get command, assuming Basic CC is unsupported...\",\n\t\t\t});\n\t\t\t// SDS14223: A controlling node MUST conclude that the Basic Command Class is not supported by a node (or\n\t\t\t// endpoint) if no Basic Report is returned.\n\t\t\tendpoint.addCC(CommandClasses.Basic, { isSupported: false });\n\t\t\tif (!endpoint.controlsCC(CommandClasses.Basic)) {\n\t\t\t\tendpoint.removeCC(CommandClasses.Basic);\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\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\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.Basic,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\t// try to query the current state\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"querying Basic CC state...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst basicResponse = await api.get();\n\t\tif (basicResponse) {\n\t\t\tlet logMessage = `received Basic CC state:\ncurrent value: ${basicResponse.currentValue}`;\n\t\t\tif (basicResponse.targetValue != undefined) {\n\t\t\t\tlogMessage += `\ntarget value: ${basicResponse.targetValue}\nremaining duration: ${basicResponse.duration?.toString() ?? \"undefined\"}`;\n\t\t\t}\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic override getDefinedValueIDs(\n\t\tctx:\n\t\t\t& GetValueDB\n\t\t\t& GetSupportedCCVersion\n\t\t\t& GetDeviceConfig\n\t\t\t& GetNode<\n\t\t\t\tNodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>\n\t\t\t>,\n\t): ValueID[] {\n\t\tconst ret: ValueID[] = [];\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\n\t\tconst compat = ctx.getDeviceConfig?.(endpoint.nodeId)?.compat;\n\t\tif (compat?.mapBasicSet === \"event\") {\n\t\t\t// Add the compat event value if it should be exposed\n\t\t\tret.push(BasicCCValues.compatEvent.endpoint(endpoint.index));\n\t\t}\n\n\t\tif (endpoint.supportsCC(this.ccId)) {\n\t\t\t// Defer to the base implementation if Basic CC is supported.\n\t\t\t// This implies that no other actuator CC is supported.\n\t\t\tret.push(...super.getDefinedValueIDs(ctx));\n\t\t} else if (endpoint.controlsCC(CommandClasses.Basic)) {\n\t\t\t// During the interview, we mark Basic CC as controlled only if we want to expose currentValue\n\t\t\tret.push(BasicCCValues.currentValue.endpoint(endpoint.index));\n\t\t}\n\n\t\treturn ret;\n\t}\n}\n\n// @publicAPI\nexport interface BasicCCSetOptions {\n\ttargetValue: number;\n}\n\n@CCCommand(BasicCommand.Set)\n@useSupervision()\nexport class BasicCCSet extends BasicCC {\n\tpublic constructor(\n\t\toptions: WithAddress<BasicCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.targetValue = options.targetValue;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): BasicCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst targetValue = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttargetValue,\n\t\t});\n\t}\n\n\tpublic targetValue: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.targetValue]);\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: { \"target value\": this.targetValue },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface BasicCCReportOptions {\n\tcurrentValue?: MaybeUnknown<number>;\n\ttargetValue?: MaybeUnknown<number>;\n\tduration?: Duration;\n}\n\n@CCCommand(BasicCommand.Report)\n@ccValueProperty(\"currentValue\", BasicCCValues.currentValue)\n@ccValueProperty(\"targetValue\", BasicCCValues.targetValue)\n@ccValueProperty(\"duration\", BasicCCValues.duration)\nexport class BasicCCReport extends BasicCC {\n\t// @noCCValues See comment in the constructor\n\tpublic constructor(\n\t\toptions: WithAddress<BasicCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.currentValue = options.currentValue;\n\t\tthis.targetValue = options.targetValue;\n\t\tthis.duration = options.duration;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): BasicCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst currentValue: MaybeUnknown<number> | undefined =\n\t\t\t// 0xff is a legacy value for 100% (99)\n\t\t\traw.payload[0] === 0xff\n\t\t\t\t? 99\n\t\t\t\t: parseMaybeNumber(raw.payload[0]);\n\t\tvalidatePayload(currentValue !== undefined);\n\n\t\tlet targetValue: MaybeUnknown<number> | undefined;\n\t\tlet duration: Duration | undefined;\n\n\t\tif (raw.payload.length >= 3) {\n\t\t\ttargetValue = parseMaybeNumber(raw.payload[1]);\n\t\t\tduration = Duration.parseReport(raw.payload[2]);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcurrentValue,\n\t\t\ttargetValue,\n\t\t\tduration,\n\t\t});\n\t}\n\n\tpublic currentValue: MaybeUnknown<number> | undefined;\n\n\tpublic readonly targetValue: MaybeUnknown<number> | undefined;\n\n\tpublic readonly duration: Duration | undefined;\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\t// Basic CC Report persists its values itself, since there are some\n\t\t// specific rules when which value may be persisted.\n\t\t// These rules are essentially encoded in the getDefinedValueIDs overload,\n\t\t// so we simply reuse that here.\n\n\t\t// Figure out which values may be persisted.\n\t\tconst definedValueIDs = this.getDefinedValueIDs(ctx);\n\t\tconst shouldPersistCurrentValue = definedValueIDs.some((vid) =>\n\t\t\tBasicCCValues.currentValue.is(vid)\n\t\t);\n\t\tconst shouldPersistTargetValue = definedValueIDs.some((vid) =>\n\t\t\tBasicCCValues.targetValue.is(vid)\n\t\t);\n\t\tconst shouldPersistDuration = definedValueIDs.some((vid) =>\n\t\t\tBasicCCValues.duration.is(vid)\n\t\t);\n\n\t\tif (this.currentValue !== undefined && shouldPersistCurrentValue) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tBasicCCValues.currentValue,\n\t\t\t\tthis.currentValue,\n\t\t\t);\n\t\t}\n\t\tif (this.targetValue !== undefined && shouldPersistTargetValue) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tBasicCCValues.targetValue,\n\t\t\t\tthis.targetValue,\n\t\t\t);\n\t\t}\n\t\tif (this.duration !== undefined && shouldPersistDuration) {\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tBasicCCValues.duration,\n\t\t\t\tthis.duration,\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.currentValue ?? 0xfe,\n\t\t\tthis.targetValue ?? 0xfe,\n\t\t\t(this.duration ?? Duration.unknown()).serializeReport(),\n\t\t]);\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\t\tif (\n\t\t\tccVersion < 2 && ctx.getDeviceConfig?.(\n\t\t\t\tthis.nodeId as number,\n\t\t\t)?.compat?.encodeCCsUsingTargetVersion\n\t\t) {\n\t\t\t// When forcing CC version 1, only send the current value\n\t\t\tthis.payload = this.payload.subarray(0, 1);\n\t\t}\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"current value\": maybeUnknownToString(this.currentValue),\n\t\t};\n\t\tif (this.targetValue !== undefined) {\n\t\t\tmessage[\"target value\"] = maybeUnknownToString(this.targetValue);\n\t\t}\n\t\tif (this.duration != undefined) {\n\t\t\tmessage.duration = this.duration.toString();\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(BasicCommand.Get)\n@expectedCCResponse(BasicCCReport)\nexport class BasicCCGet extends BasicCC {}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_safe"]
7
7
  }