@zwave-js/cc 14.0.0-beta.4 → 14.0.0-beta.5

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 (331) hide show
  1. package/build/cjs/cc/AlarmSensorCC.js +381 -266
  2. package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
  3. package/build/cjs/cc/AssociationCC.js +669 -503
  4. package/build/cjs/cc/AssociationCC.js.map +3 -3
  5. package/build/cjs/cc/AssociationGroupInfoCC.js +633 -492
  6. package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
  7. package/build/cjs/cc/BarrierOperatorCC.js +595 -429
  8. package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
  9. package/build/cjs/cc/BasicCC.js +354 -260
  10. package/build/cjs/cc/BasicCC.js.map +3 -3
  11. package/build/cjs/cc/BatteryCC.js +427 -345
  12. package/build/cjs/cc/BatteryCC.js.map +3 -3
  13. package/build/cjs/cc/BinarySensorCC.js +391 -276
  14. package/build/cjs/cc/BinarySensorCC.js.map +3 -3
  15. package/build/cjs/cc/BinarySwitchCC.js +347 -253
  16. package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
  17. package/build/cjs/cc/CRC16CC.js +160 -85
  18. package/build/cjs/cc/CRC16CC.js.map +3 -3
  19. package/build/cjs/cc/CentralSceneCC.js +459 -324
  20. package/build/cjs/cc/CentralSceneCC.js.map +3 -3
  21. package/build/cjs/cc/ClimateControlScheduleCC.js +459 -293
  22. package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
  23. package/build/cjs/cc/ClockCC.js +254 -150
  24. package/build/cjs/cc/ClockCC.js.map +3 -3
  25. package/build/cjs/cc/ColorSwitchCC.js +758 -610
  26. package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
  27. package/build/cjs/cc/ConfigurationCC.js +1700 -1453
  28. package/build/cjs/cc/ConfigurationCC.js.map +3 -3
  29. package/build/cjs/cc/DeviceResetLocallyCC.js +125 -49
  30. package/build/cjs/cc/DeviceResetLocallyCC.js.map +3 -3
  31. package/build/cjs/cc/DoorLockCC.js +904 -777
  32. package/build/cjs/cc/DoorLockCC.js.map +3 -3
  33. package/build/cjs/cc/DoorLockLoggingCC.js +321 -206
  34. package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
  35. package/build/cjs/cc/EnergyProductionCC.js +249 -160
  36. package/build/cjs/cc/EnergyProductionCC.js.map +3 -3
  37. package/build/cjs/cc/EntryControlCC.js +619 -458
  38. package/build/cjs/cc/EntryControlCC.js.map +3 -3
  39. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +898 -698
  40. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
  41. package/build/cjs/cc/HailCC.js +57 -11
  42. package/build/cjs/cc/HailCC.js.map +2 -2
  43. package/build/cjs/cc/HumidityControlModeCC.js +359 -233
  44. package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
  45. package/build/cjs/cc/HumidityControlOperatingStateCC.js +189 -103
  46. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
  47. package/build/cjs/cc/HumidityControlSetpointCC.js +682 -495
  48. package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
  49. package/build/cjs/cc/InclusionControllerCC.js +205 -114
  50. package/build/cjs/cc/InclusionControllerCC.js.map +3 -3
  51. package/build/cjs/cc/IndicatorCC.js +897 -736
  52. package/build/cjs/cc/IndicatorCC.js.map +3 -3
  53. package/build/cjs/cc/IrrigationCC.js +1651 -1405
  54. package/build/cjs/cc/IrrigationCC.js.map +3 -3
  55. package/build/cjs/cc/LanguageCC.js +268 -171
  56. package/build/cjs/cc/LanguageCC.js.map +3 -3
  57. package/build/cjs/cc/LockCC.js +254 -154
  58. package/build/cjs/cc/LockCC.js.map +3 -3
  59. package/build/cjs/cc/ManufacturerProprietaryCC.js +189 -129
  60. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  61. package/build/cjs/cc/ManufacturerSpecificCC.js +319 -213
  62. package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
  63. package/build/cjs/cc/MeterCC.js +827 -707
  64. package/build/cjs/cc/MeterCC.js.map +3 -3
  65. package/build/cjs/cc/MultiChannelAssociationCC.js +612 -478
  66. package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
  67. package/build/cjs/cc/MultiChannelCC.js +1037 -819
  68. package/build/cjs/cc/MultiChannelCC.js.map +3 -3
  69. package/build/cjs/cc/MultiCommandCC.js +172 -97
  70. package/build/cjs/cc/MultiCommandCC.js.map +3 -3
  71. package/build/cjs/cc/MultilevelSensorCC.js +589 -449
  72. package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
  73. package/build/cjs/cc/MultilevelSwitchCC.js +587 -439
  74. package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
  75. package/build/cjs/cc/NoOperationCC.js +89 -27
  76. package/build/cjs/cc/NoOperationCC.js.map +2 -2
  77. package/build/cjs/cc/NodeNamingCC.js +417 -277
  78. package/build/cjs/cc/NodeNamingCC.js.map +3 -3
  79. package/build/cjs/cc/NotificationCC.js +972 -818
  80. package/build/cjs/cc/NotificationCC.js.map +3 -3
  81. package/build/cjs/cc/PowerlevelCC.js +450 -303
  82. package/build/cjs/cc/PowerlevelCC.js.map +3 -3
  83. package/build/cjs/cc/ProtectionCC.js +686 -494
  84. package/build/cjs/cc/ProtectionCC.js.map +3 -3
  85. package/build/cjs/cc/SceneActivationCC.js +165 -97
  86. package/build/cjs/cc/SceneActivationCC.js.map +3 -3
  87. package/build/cjs/cc/SceneActuatorConfigurationCC.js +346 -243
  88. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
  89. package/build/cjs/cc/SceneControllerConfigurationCC.js +401 -298
  90. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
  91. package/build/cjs/cc/ScheduleEntryLockCC.js +1552 -1272
  92. package/build/cjs/cc/ScheduleEntryLockCC.js.map +3 -3
  93. package/build/cjs/cc/Security2CC.js +1483 -1219
  94. package/build/cjs/cc/Security2CC.js.map +3 -3
  95. package/build/cjs/cc/SecurityCC.js +839 -619
  96. package/build/cjs/cc/SecurityCC.js.map +3 -3
  97. package/build/cjs/cc/SoundSwitchCC.js +707 -515
  98. package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
  99. package/build/cjs/cc/SupervisionCC.js +327 -237
  100. package/build/cjs/cc/SupervisionCC.js.map +3 -3
  101. package/build/cjs/cc/ThermostatFanModeCC.js +386 -263
  102. package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
  103. package/build/cjs/cc/ThermostatFanStateCC.js +192 -106
  104. package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
  105. package/build/cjs/cc/ThermostatModeCC.js +425 -302
  106. package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
  107. package/build/cjs/cc/ThermostatOperatingStateCC.js +188 -102
  108. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
  109. package/build/cjs/cc/ThermostatSetbackCC.js +277 -173
  110. package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
  111. package/build/cjs/cc/ThermostatSetpointCC.js +645 -491
  112. package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
  113. package/build/cjs/cc/TimeCC.js +515 -353
  114. package/build/cjs/cc/TimeCC.js.map +3 -3
  115. package/build/cjs/cc/TimeParametersCC.js +302 -202
  116. package/build/cjs/cc/TimeParametersCC.js.map +3 -3
  117. package/build/cjs/cc/TransportServiceCC.js +433 -315
  118. package/build/cjs/cc/TransportServiceCC.js.map +3 -3
  119. package/build/cjs/cc/UserCodeCC.js +1385 -1102
  120. package/build/cjs/cc/UserCodeCC.js.map +3 -3
  121. package/build/cjs/cc/VersionCC.js +696 -562
  122. package/build/cjs/cc/VersionCC.js.map +3 -3
  123. package/build/cjs/cc/WakeUpCC.js +499 -346
  124. package/build/cjs/cc/WakeUpCC.js.map +3 -3
  125. package/build/cjs/cc/WindowCoveringCC.js +626 -478
  126. package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
  127. package/build/cjs/cc/ZWaveLongRangeCC.js +57 -10
  128. package/build/cjs/cc/ZWaveLongRangeCC.js.map +2 -2
  129. package/build/cjs/cc/ZWavePlusCC.js +233 -159
  130. package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
  131. package/build/cjs/cc/ZWaveProtocolCC.js +1515 -948
  132. package/build/cjs/cc/ZWaveProtocolCC.js.map +3 -3
  133. package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +4 -4
  134. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
  135. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +395 -274
  136. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +3 -3
  137. package/build/cjs/lib/CommandClassDecorators.d.ts +11 -15
  138. package/build/cjs/lib/CommandClassDecorators.js +19 -20
  139. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  140. package/build/cjs/lib/Security2/Extension.d.ts +1 -1
  141. package/build/cjs/lib/Security2/Extension.js +217 -126
  142. package/build/cjs/lib/Security2/Extension.js.map +3 -3
  143. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  144. package/build/esm/cc/AlarmSensorCC.js +389 -291
  145. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  146. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  147. package/build/esm/cc/AssociationCC.js +678 -537
  148. package/build/esm/cc/AssociationCC.js.map +1 -1
  149. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  150. package/build/esm/cc/AssociationGroupInfoCC.js +659 -539
  151. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  152. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  153. package/build/esm/cc/BarrierOperatorCC.js +634 -493
  154. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  155. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  156. package/build/esm/cc/BasicCC.js +380 -302
  157. package/build/esm/cc/BasicCC.js.map +1 -1
  158. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  159. package/build/esm/cc/BatteryCC.js +449 -384
  160. package/build/esm/cc/BatteryCC.js.map +1 -1
  161. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  162. package/build/esm/cc/BinarySensorCC.js +395 -297
  163. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  164. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  165. package/build/esm/cc/BinarySwitchCC.js +353 -274
  166. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  167. package/build/esm/cc/CRC16CC.js +162 -98
  168. package/build/esm/cc/CRC16CC.js.map +1 -1
  169. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  170. package/build/esm/cc/CentralSceneCC.js +465 -351
  171. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  172. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  173. package/build/esm/cc/ClimateControlScheduleCC.js +454 -313
  174. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  175. package/build/esm/cc/ClockCC.js +248 -159
  176. package/build/esm/cc/ClockCC.js.map +1 -1
  177. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  178. package/build/esm/cc/ColorSwitchCC.js +802 -677
  179. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  180. package/build/esm/cc/ConfigurationCC.js +1899 -1687
  181. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  182. package/build/esm/cc/DeviceResetLocallyCC.js +124 -59
  183. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  184. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  185. package/build/esm/cc/DoorLockCC.js +951 -849
  186. package/build/esm/cc/DoorLockCC.js.map +1 -1
  187. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  188. package/build/esm/cc/DoorLockLoggingCC.js +316 -218
  189. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  190. package/build/esm/cc/EnergyProductionCC.js +240 -164
  191. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  192. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  193. package/build/esm/cc/EntryControlCC.js +629 -493
  194. package/build/esm/cc/EntryControlCC.js.map +1 -1
  195. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  196. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +938 -769
  197. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  198. package/build/esm/cc/HailCC.js +51 -12
  199. package/build/esm/cc/HailCC.js.map +1 -1
  200. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  201. package/build/esm/cc/HumidityControlModeCC.js +357 -250
  202. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  203. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  204. package/build/esm/cc/HumidityControlOperatingStateCC.js +182 -109
  205. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  206. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  207. package/build/esm/cc/HumidityControlSetpointCC.js +706 -546
  208. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  209. package/build/esm/cc/InclusionControllerCC.js +197 -119
  210. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  211. package/build/esm/cc/IndicatorCC.js +973 -835
  212. package/build/esm/cc/IndicatorCC.js.map +1 -1
  213. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  214. package/build/esm/cc/IrrigationCC.js +1697 -1496
  215. package/build/esm/cc/IrrigationCC.js.map +1 -1
  216. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  217. package/build/esm/cc/LanguageCC.js +266 -184
  218. package/build/esm/cc/LanguageCC.js.map +1 -1
  219. package/build/esm/cc/LockCC.d.ts.map +1 -1
  220. package/build/esm/cc/LockCC.js +247 -162
  221. package/build/esm/cc/LockCC.js.map +1 -1
  222. package/build/esm/cc/ManufacturerProprietaryCC.js +192 -141
  223. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  224. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  225. package/build/esm/cc/ManufacturerSpecificCC.js +312 -223
  226. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  227. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  228. package/build/esm/cc/MeterCC.js +896 -795
  229. package/build/esm/cc/MeterCC.js.map +1 -1
  230. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  231. package/build/esm/cc/MultiChannelAssociationCC.js +631 -518
  232. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  233. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  234. package/build/esm/cc/MultiChannelCC.js +1106 -921
  235. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  236. package/build/esm/cc/MultiCommandCC.js +166 -102
  237. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  238. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  239. package/build/esm/cc/MultilevelSensorCC.js +616 -497
  240. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  241. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  242. package/build/esm/cc/MultilevelSwitchCC.js +621 -496
  243. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  244. package/build/esm/cc/NoOperationCC.js +82 -29
  245. package/build/esm/cc/NoOperationCC.js.map +1 -1
  246. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  247. package/build/esm/cc/NodeNamingCC.js +413 -294
  248. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  249. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  250. package/build/esm/cc/NotificationCC.js +1097 -966
  251. package/build/esm/cc/NotificationCC.js.map +1 -1
  252. package/build/esm/cc/PowerlevelCC.js +437 -311
  253. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  254. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  255. package/build/esm/cc/ProtectionCC.js +704 -543
  256. package/build/esm/cc/ProtectionCC.js.map +1 -1
  257. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  258. package/build/esm/cc/SceneActivationCC.js +157 -100
  259. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  260. package/build/esm/cc/SceneActuatorConfigurationCC.js +357 -269
  261. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  262. package/build/esm/cc/SceneControllerConfigurationCC.js +434 -346
  263. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  264. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  265. package/build/esm/cc/ScheduleEntryLockCC.js +1596 -1357
  266. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  267. package/build/esm/cc/Security2CC.js +1633 -1406
  268. package/build/esm/cc/Security2CC.js.map +1 -1
  269. package/build/esm/cc/SecurityCC.js +876 -687
  270. package/build/esm/cc/SecurityCC.js.map +1 -1
  271. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  272. package/build/esm/cc/SoundSwitchCC.js +689 -526
  273. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  274. package/build/esm/cc/SupervisionCC.js +349 -272
  275. package/build/esm/cc/SupervisionCC.js.map +1 -1
  276. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  277. package/build/esm/cc/ThermostatFanModeCC.js +388 -284
  278. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  279. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  280. package/build/esm/cc/ThermostatFanStateCC.js +184 -111
  281. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  282. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  283. package/build/esm/cc/ThermostatModeCC.js +435 -331
  284. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  285. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  286. package/build/esm/cc/ThermostatOperatingStateCC.js +180 -107
  287. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  288. package/build/esm/cc/ThermostatSetbackCC.js +274 -185
  289. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  290. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  291. package/build/esm/cc/ThermostatSetpointCC.js +674 -543
  292. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  293. package/build/esm/cc/TimeCC.js +499 -360
  294. package/build/esm/cc/TimeCC.js.map +1 -1
  295. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  296. package/build/esm/cc/TimeParametersCC.js +296 -211
  297. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  298. package/build/esm/cc/TransportServiceCC.js +464 -363
  299. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  300. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  301. package/build/esm/cc/UserCodeCC.js +1443 -1205
  302. package/build/esm/cc/UserCodeCC.js.map +1 -1
  303. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  304. package/build/esm/cc/VersionCC.js +744 -635
  305. package/build/esm/cc/VersionCC.js.map +1 -1
  306. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  307. package/build/esm/cc/WakeUpCC.js +494 -364
  308. package/build/esm/cc/WakeUpCC.js.map +1 -1
  309. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  310. package/build/esm/cc/WindowCoveringCC.js +655 -530
  311. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  312. package/build/esm/cc/ZWaveLongRangeCC.js +51 -11
  313. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  314. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  315. package/build/esm/cc/ZWavePlusCC.js +223 -162
  316. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  317. package/build/esm/cc/ZWaveProtocolCC.js +1443 -953
  318. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  319. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +4 -4
  320. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
  321. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +390 -286
  322. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  323. package/build/esm/lib/CommandClassDecorators.d.ts +11 -15
  324. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  325. package/build/esm/lib/CommandClassDecorators.js +24 -24
  326. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  327. package/build/esm/lib/Security2/Extension.d.ts +1 -1
  328. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  329. package/build/esm/lib/Security2/Extension.js +207 -123
  330. package/build/esm/lib/Security2/Extension.js.map +1 -1
  331. package/package.json +6 -6
@@ -1,10 +1,37 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
6
34
  };
7
- var HumidityControlSetpointCCReport_1, HumidityControlSetpointCCSupportedReport_1, HumidityControlSetpointCCScaleSupportedReport_1, HumidityControlSetpointCCCapabilitiesReport_1;
8
35
  function __assertType(argName, typeName, boundHasError) {
9
36
  const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
10
37
  if (boundHasError()) {
@@ -22,7 +49,7 @@ import { Bytes } from "@zwave-js/shared/safe";
22
49
  import { getEnumMemberName, pick } from "@zwave-js/shared/safe";
23
50
  import { CCAPI, POLL_VALUE, SET_VALUE, throwUnsupportedProperty, throwWrongValueType, } from "../lib/API.js";
24
51
  import { CommandClass, } from "../lib/CommandClass.js";
25
- import { API, CCCommand, ccValue, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from "../lib/CommandClassDecorators.js";
52
+ import { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from "../lib/CommandClassDecorators.js";
26
53
  import { V } from "../lib/Values.js";
27
54
  import { HumidityControlSetpointCommand, HumidityControlSetpointType, } from "../lib/_Types.js";
28
55
  export const HumidityControlSetpointCCValues = Object.freeze({
@@ -50,596 +77,729 @@ function getScale(scale) {
50
77
  function getSetpointUnit(scale) {
51
78
  return getScale(scale).unit ?? "";
52
79
  }
53
- let HumidityControlSetpointCCAPI = class HumidityControlSetpointCCAPI extends CCAPI {
54
- supportsCommand(cmd) {
55
- switch (cmd) {
56
- case HumidityControlSetpointCommand.Get:
57
- case HumidityControlSetpointCommand.SupportedGet:
58
- case HumidityControlSetpointCommand.CapabilitiesGet:
59
- return this.isSinglecast();
60
- case HumidityControlSetpointCommand.Set:
61
- return true; // This is mandatory
62
- }
63
- return super.supportsCommand(cmd);
64
- }
65
- get [SET_VALUE]() {
66
- return async function ({ property, propertyKey }, value) {
67
- if (property !== "setpoint") {
68
- throwUnsupportedProperty(this.ccId, property);
69
- }
70
- if (typeof propertyKey !== "number") {
71
- throw new ZWaveError(`${CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);
72
- }
73
- if (typeof value !== "number") {
74
- throwWrongValueType(this.ccId, property, "number", typeof value);
75
- }
76
- const scaleValueId = HumidityControlSetpointCCValues.setpointScale(propertyKey).endpoint(this.endpoint.index);
77
- const preferredScale = this.tryGetValueDB()?.getValue(scaleValueId);
78
- const result = await this.set(propertyKey, value, preferredScale ?? 0);
79
- // Verify the change after a delay, unless the command was supervised and successful
80
- if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {
81
- this.schedulePoll({ property, propertyKey }, value);
80
+ let HumidityControlSetpointCCAPI = (() => {
81
+ let _classDecorators = [API(CommandClasses["Humidity Control Setpoint"])];
82
+ let _classDescriptor;
83
+ let _classExtraInitializers = [];
84
+ let _classThis;
85
+ let _classSuper = CCAPI;
86
+ var HumidityControlSetpointCCAPI = class extends _classSuper {
87
+ static { _classThis = this; }
88
+ static {
89
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
90
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
91
+ HumidityControlSetpointCCAPI = _classThis = _classDescriptor.value;
92
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
93
+ __runInitializers(_classThis, _classExtraInitializers);
94
+ }
95
+ supportsCommand(cmd) {
96
+ switch (cmd) {
97
+ case HumidityControlSetpointCommand.Get:
98
+ case HumidityControlSetpointCommand.SupportedGet:
99
+ case HumidityControlSetpointCommand.CapabilitiesGet:
100
+ return this.isSinglecast();
101
+ case HumidityControlSetpointCommand.Set:
102
+ return true; // This is mandatory
82
103
  }
83
- return result;
84
- };
85
- }
86
- get [POLL_VALUE]() {
87
- return async function ({ property, propertyKey }) {
88
- switch (property) {
89
- case "setpoint":
90
- if (typeof propertyKey !== "number") {
91
- throw new ZWaveError(`${CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);
92
- }
93
- return (await this.get(propertyKey))?.value;
94
- default:
104
+ return super.supportsCommand(cmd);
105
+ }
106
+ get [SET_VALUE]() {
107
+ return async function ({ property, propertyKey }, value) {
108
+ if (property !== "setpoint") {
95
109
  throwUnsupportedProperty(this.ccId, property);
96
- }
97
- };
98
- }
99
- async get(setpointType) {
100
- __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
101
- this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Get);
102
- const cc = new HumidityControlSetpointCCGet({
103
- nodeId: this.endpoint.nodeId,
104
- endpointIndex: this.endpoint.index,
105
- setpointType,
106
- });
107
- const response = await this.host.sendCommand(cc, this.commandOptions);
108
- if (!response)
109
- return;
110
- return response.type === HumidityControlSetpointType["N/A"]
111
- // not supported
112
- ? undefined
113
- // supported
114
- : {
115
- value: response.value,
116
- scale: response.scale,
110
+ }
111
+ if (typeof propertyKey !== "number") {
112
+ throw new ZWaveError(`${CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);
113
+ }
114
+ if (typeof value !== "number") {
115
+ throwWrongValueType(this.ccId, property, "number", typeof value);
116
+ }
117
+ const scaleValueId = HumidityControlSetpointCCValues.setpointScale(propertyKey).endpoint(this.endpoint.index);
118
+ const preferredScale = this.tryGetValueDB()?.getValue(scaleValueId);
119
+ const result = await this.set(propertyKey, value, preferredScale ?? 0);
120
+ // Verify the change after a delay, unless the command was supervised and successful
121
+ if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {
122
+ this.schedulePoll({ property, propertyKey }, value);
123
+ }
124
+ return result;
117
125
  };
118
- }
119
- async set(setpointType, value, scale) {
120
- __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
121
- __assertType("value", "number", __assertType__number.bind(void 0, value));
122
- __assertType("scale", "number", __assertType__number.bind(void 0, scale));
123
- this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Set);
124
- const cc = new HumidityControlSetpointCCSet({
125
- nodeId: this.endpoint.nodeId,
126
- endpointIndex: this.endpoint.index,
127
- setpointType,
128
- value,
129
- scale,
130
- });
131
- return this.host.sendCommand(cc, this.commandOptions);
132
- }
133
- async getCapabilities(setpointType) {
134
- __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
135
- this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.CapabilitiesGet);
136
- const cc = new HumidityControlSetpointCCCapabilitiesGet({
137
- nodeId: this.endpoint.nodeId,
138
- endpointIndex: this.endpoint.index,
139
- setpointType,
140
- });
141
- const response = await this.host.sendCommand(cc, this.commandOptions);
142
- if (response) {
143
- return pick(response, [
144
- "minValue",
145
- "maxValue",
146
- "minValueScale",
147
- "maxValueScale",
148
- ]);
149
126
  }
150
- }
151
- async getSupportedSetpointTypes() {
152
- this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);
153
- const cc = new HumidityControlSetpointCCSupportedGet({
154
- nodeId: this.endpoint.nodeId,
155
- endpointIndex: this.endpoint.index,
156
- });
157
- const response = await this.host.sendCommand(cc, this.commandOptions);
158
- return response?.supportedSetpointTypes;
159
- }
160
- async getSupportedScales(setpointType) {
161
- __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
162
- this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);
163
- const cc = new HumidityControlSetpointCCScaleSupportedGet({
164
- nodeId: this.endpoint.nodeId,
165
- endpointIndex: this.endpoint.index,
166
- setpointType,
167
- });
168
- const response = await this.host.sendCommand(cc, this.commandOptions);
169
- if (response) {
170
- return response.supportedScales.map((scale) => getScale(scale));
127
+ get [POLL_VALUE]() {
128
+ return async function ({ property, propertyKey }) {
129
+ switch (property) {
130
+ case "setpoint":
131
+ if (typeof propertyKey !== "number") {
132
+ throw new ZWaveError(`${CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);
133
+ }
134
+ return (await this.get(propertyKey))?.value;
135
+ default:
136
+ throwUnsupportedProperty(this.ccId, property);
137
+ }
138
+ };
171
139
  }
172
- }
173
- };
174
- HumidityControlSetpointCCAPI = __decorate([
175
- API(CommandClasses["Humidity Control Setpoint"])
176
- ], HumidityControlSetpointCCAPI);
177
- export { HumidityControlSetpointCCAPI };
178
- let HumidityControlSetpointCC = class HumidityControlSetpointCC extends CommandClass {
179
- translatePropertyKey(ctx, property, propertyKey) {
180
- if (property === "setpoint") {
181
- return getEnumMemberName(HumidityControlSetpointType, propertyKey);
140
+ async get(setpointType) {
141
+ __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
142
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Get);
143
+ const cc = new HumidityControlSetpointCCGet({
144
+ nodeId: this.endpoint.nodeId,
145
+ endpointIndex: this.endpoint.index,
146
+ setpointType,
147
+ });
148
+ const response = await this.host.sendCommand(cc, this.commandOptions);
149
+ if (!response)
150
+ return;
151
+ return response.type === HumidityControlSetpointType["N/A"]
152
+ // not supported
153
+ ? undefined
154
+ // supported
155
+ : {
156
+ value: response.value,
157
+ scale: response.scale,
158
+ };
182
159
  }
183
- else {
184
- return super.translatePropertyKey(ctx, property, propertyKey);
160
+ async set(setpointType, value, scale) {
161
+ __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
162
+ __assertType("value", "number", __assertType__number.bind(void 0, value));
163
+ __assertType("scale", "number", __assertType__number.bind(void 0, scale));
164
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Set);
165
+ const cc = new HumidityControlSetpointCCSet({
166
+ nodeId: this.endpoint.nodeId,
167
+ endpointIndex: this.endpoint.index,
168
+ setpointType,
169
+ value,
170
+ scale,
171
+ });
172
+ return this.host.sendCommand(cc, this.commandOptions);
185
173
  }
186
- }
187
- async interview(ctx) {
188
- const node = this.getNode(ctx);
189
- const endpoint = this.getEndpoint(ctx);
190
- const api = CCAPI.create(CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
191
- priority: MessagePriority.NodeQuery,
192
- });
193
- ctx.logNode(node.id, {
194
- endpoint: this.endpointIndex,
195
- message: `Interviewing ${this.ccName}...`,
196
- direction: "none",
197
- });
198
- // Query the supported setpoint types
199
- let setpointTypes = [];
200
- ctx.logNode(node.id, {
201
- endpoint: this.endpointIndex,
202
- message: "retrieving supported setpoint types...",
203
- direction: "outbound",
204
- });
205
- const resp = await api.getSupportedSetpointTypes();
206
- if (resp) {
207
- setpointTypes = [...resp];
208
- const logMessage = "received supported setpoint types:\n"
209
- + setpointTypes
210
- .map((type) => getEnumMemberName(HumidityControlSetpointType, type))
211
- .map((name) => `· ${name}`)
212
- .join("\n");
213
- ctx.logNode(node.id, {
214
- endpoint: this.endpointIndex,
215
- message: logMessage,
216
- direction: "inbound",
174
+ async getCapabilities(setpointType) {
175
+ __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
176
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.CapabilitiesGet);
177
+ const cc = new HumidityControlSetpointCCCapabilitiesGet({
178
+ nodeId: this.endpoint.nodeId,
179
+ endpointIndex: this.endpoint.index,
180
+ setpointType,
181
+ });
182
+ const response = await this.host.sendCommand(cc, this.commandOptions);
183
+ if (response) {
184
+ return pick(response, [
185
+ "minValue",
186
+ "maxValue",
187
+ "minValueScale",
188
+ "maxValueScale",
189
+ ]);
190
+ }
191
+ }
192
+ async getSupportedSetpointTypes() {
193
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);
194
+ const cc = new HumidityControlSetpointCCSupportedGet({
195
+ nodeId: this.endpoint.nodeId,
196
+ endpointIndex: this.endpoint.index,
197
+ });
198
+ const response = await this.host.sendCommand(cc, this.commandOptions);
199
+ return response?.supportedSetpointTypes;
200
+ }
201
+ async getSupportedScales(setpointType) {
202
+ __assertType("setpointType", "HumidityControlSetpointType", __assertType__number.bind(void 0, setpointType));
203
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);
204
+ const cc = new HumidityControlSetpointCCScaleSupportedGet({
205
+ nodeId: this.endpoint.nodeId,
206
+ endpointIndex: this.endpoint.index,
207
+ setpointType,
217
208
  });
209
+ const response = await this.host.sendCommand(cc, this.commandOptions);
210
+ if (response) {
211
+ return response.supportedScales.map((scale) => getScale(scale));
212
+ }
213
+ }
214
+ };
215
+ return HumidityControlSetpointCCAPI = _classThis;
216
+ })();
217
+ export { HumidityControlSetpointCCAPI };
218
+ let HumidityControlSetpointCC = (() => {
219
+ let _classDecorators = [commandClass(CommandClasses["Humidity Control Setpoint"]), implementedVersion(2), ccValues(HumidityControlSetpointCCValues)];
220
+ let _classDescriptor;
221
+ let _classExtraInitializers = [];
222
+ let _classThis;
223
+ let _classSuper = CommandClass;
224
+ var HumidityControlSetpointCC = class extends _classSuper {
225
+ static { _classThis = this; }
226
+ static {
227
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
228
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
229
+ HumidityControlSetpointCC = _classThis = _classDescriptor.value;
230
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
231
+ __runInitializers(_classThis, _classExtraInitializers);
232
+ }
233
+ translatePropertyKey(ctx, property, propertyKey) {
234
+ if (property === "setpoint") {
235
+ return getEnumMemberName(HumidityControlSetpointType, propertyKey);
236
+ }
237
+ else {
238
+ return super.translatePropertyKey(ctx, property, propertyKey);
239
+ }
218
240
  }
219
- else {
241
+ async interview(ctx) {
242
+ const node = this.getNode(ctx);
243
+ const endpoint = this.getEndpoint(ctx);
244
+ const api = CCAPI.create(CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
245
+ priority: MessagePriority.NodeQuery,
246
+ });
220
247
  ctx.logNode(node.id, {
221
248
  endpoint: this.endpointIndex,
222
- message: "Querying supported setpoint types timed out, skipping interview...",
223
- level: "warn",
249
+ message: `Interviewing ${this.ccName}...`,
250
+ direction: "none",
224
251
  });
225
- return;
226
- }
227
- for (const type of setpointTypes) {
228
- const setpointName = getEnumMemberName(HumidityControlSetpointType, type);
229
- // Find out the capabilities of this setpoint
252
+ // Query the supported setpoint types
253
+ let setpointTypes = [];
230
254
  ctx.logNode(node.id, {
231
255
  endpoint: this.endpointIndex,
232
- message: `retrieving capabilities for setpoint ${setpointName}...`,
256
+ message: "retrieving supported setpoint types...",
233
257
  direction: "outbound",
234
258
  });
235
- const setpointScaleSupported = await api.getSupportedScales(type);
236
- if (setpointScaleSupported) {
237
- const logMessage = `received supported scales for setpoint ${setpointName}:
238
- ${setpointScaleSupported
239
- .map((t) => `\n· ${t.key} ${t.unit} - ${t.label}`)
240
- .join("")}`;
259
+ const resp = await api.getSupportedSetpointTypes();
260
+ if (resp) {
261
+ setpointTypes = [...resp];
262
+ const logMessage = "received supported setpoint types:\n"
263
+ + setpointTypes
264
+ .map((type) => getEnumMemberName(HumidityControlSetpointType, type))
265
+ .map((name) => `· ${name}`)
266
+ .join("\n");
241
267
  ctx.logNode(node.id, {
242
268
  endpoint: this.endpointIndex,
243
269
  message: logMessage,
244
270
  direction: "inbound",
245
271
  });
246
- const scaleValue = HumidityControlSetpointCCValues
247
- .setpointScale(type);
248
- const states = {};
249
- for (const scale of setpointScaleSupported) {
250
- if (scale.unit)
251
- states[scale.key] = scale.unit;
252
- }
253
- this.setMetadata(ctx, scaleValue, {
254
- ...scaleValue.meta,
255
- states,
272
+ }
273
+ else {
274
+ ctx.logNode(node.id, {
275
+ endpoint: this.endpointIndex,
276
+ message: "Querying supported setpoint types timed out, skipping interview...",
277
+ level: "warn",
256
278
  });
279
+ return;
257
280
  }
258
- const setpointCaps = await api.getCapabilities(type);
259
- if (setpointCaps) {
260
- const minValueUnit = getSetpointUnit(setpointCaps.minValueScale);
261
- const maxValueUnit = getSetpointUnit(setpointCaps.maxValueScale);
262
- const logMessage = `received capabilities for setpoint ${setpointName}:
263
- minimum value: ${setpointCaps.minValue} ${minValueUnit}
264
- maximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;
281
+ for (const type of setpointTypes) {
282
+ const setpointName = getEnumMemberName(HumidityControlSetpointType, type);
283
+ // Find out the capabilities of this setpoint
265
284
  ctx.logNode(node.id, {
266
285
  endpoint: this.endpointIndex,
267
- message: logMessage,
268
- direction: "inbound",
286
+ message: `retrieving capabilities for setpoint ${setpointName}...`,
287
+ direction: "outbound",
269
288
  });
289
+ const setpointScaleSupported = await api.getSupportedScales(type);
290
+ if (setpointScaleSupported) {
291
+ const logMessage = `received supported scales for setpoint ${setpointName}:
292
+ ${setpointScaleSupported
293
+ .map((t) => `\n· ${t.key} ${t.unit} - ${t.label}`)
294
+ .join("")}`;
295
+ ctx.logNode(node.id, {
296
+ endpoint: this.endpointIndex,
297
+ message: logMessage,
298
+ direction: "inbound",
299
+ });
300
+ const scaleValue = HumidityControlSetpointCCValues
301
+ .setpointScale(type);
302
+ const states = {};
303
+ for (const scale of setpointScaleSupported) {
304
+ if (scale.unit)
305
+ states[scale.key] = scale.unit;
306
+ }
307
+ this.setMetadata(ctx, scaleValue, {
308
+ ...scaleValue.meta,
309
+ states,
310
+ });
311
+ }
312
+ const setpointCaps = await api.getCapabilities(type);
313
+ if (setpointCaps) {
314
+ const minValueUnit = getSetpointUnit(setpointCaps.minValueScale);
315
+ const maxValueUnit = getSetpointUnit(setpointCaps.maxValueScale);
316
+ const logMessage = `received capabilities for setpoint ${setpointName}:
317
+ minimum value: ${setpointCaps.minValue} ${minValueUnit}
318
+ maximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;
319
+ ctx.logNode(node.id, {
320
+ endpoint: this.endpointIndex,
321
+ message: logMessage,
322
+ direction: "inbound",
323
+ });
324
+ }
270
325
  }
326
+ // Query the current value for all setpoint types
327
+ await this.refreshValues(ctx);
328
+ // Remember that the interview is complete
329
+ this.setInterviewComplete(ctx, true);
271
330
  }
272
- // Query the current value for all setpoint types
273
- await this.refreshValues(ctx);
274
- // Remember that the interview is complete
275
- this.setInterviewComplete(ctx, true);
276
- }
277
- async refreshValues(ctx) {
278
- const node = this.getNode(ctx);
279
- const endpoint = this.getEndpoint(ctx);
280
- const api = CCAPI.create(CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
281
- priority: MessagePriority.NodeQuery,
282
- });
283
- const setpointTypes = this.getValue(ctx, HumidityControlSetpointCCValues.supportedSetpointTypes) ?? [];
284
- // Query each setpoint's current value
285
- for (const type of setpointTypes) {
286
- const setpointName = getEnumMemberName(HumidityControlSetpointType, type);
287
- // Every time, query the current value
288
- ctx.logNode(node.id, {
289
- endpoint: this.endpointIndex,
290
- message: `querying current value of setpoint ${setpointName}...`,
291
- direction: "outbound",
331
+ async refreshValues(ctx) {
332
+ const node = this.getNode(ctx);
333
+ const endpoint = this.getEndpoint(ctx);
334
+ const api = CCAPI.create(CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
335
+ priority: MessagePriority.NodeQuery,
292
336
  });
293
- const setpoint = await api.get(type);
294
- if (setpoint) {
295
- const logMessage = `received current value of setpoint ${setpointName}: ${setpoint.value} ${getScale(setpoint.scale).unit ?? ""}`;
337
+ const setpointTypes = this.getValue(ctx, HumidityControlSetpointCCValues.supportedSetpointTypes) ?? [];
338
+ // Query each setpoint's current value
339
+ for (const type of setpointTypes) {
340
+ const setpointName = getEnumMemberName(HumidityControlSetpointType, type);
341
+ // Every time, query the current value
296
342
  ctx.logNode(node.id, {
297
343
  endpoint: this.endpointIndex,
298
- message: logMessage,
299
- direction: "inbound",
344
+ message: `querying current value of setpoint ${setpointName}...`,
345
+ direction: "outbound",
300
346
  });
347
+ const setpoint = await api.get(type);
348
+ if (setpoint) {
349
+ const logMessage = `received current value of setpoint ${setpointName}: ${setpoint.value} ${getScale(setpoint.scale).unit ?? ""}`;
350
+ ctx.logNode(node.id, {
351
+ endpoint: this.endpointIndex,
352
+ message: logMessage,
353
+ direction: "inbound",
354
+ });
355
+ }
301
356
  }
302
357
  }
303
- }
304
- };
305
- HumidityControlSetpointCC = __decorate([
306
- commandClass(CommandClasses["Humidity Control Setpoint"]),
307
- implementedVersion(2),
308
- ccValues(HumidityControlSetpointCCValues)
309
- ], HumidityControlSetpointCC);
358
+ };
359
+ return HumidityControlSetpointCC = _classThis;
360
+ })();
310
361
  export { HumidityControlSetpointCC };
311
- let HumidityControlSetpointCCSet = class HumidityControlSetpointCCSet extends HumidityControlSetpointCC {
312
- constructor(options) {
313
- super(options);
314
- this.setpointType = options.setpointType;
315
- this.value = options.value;
316
- this.scale = options.scale;
317
- }
318
- static from(_raw, _ctx) {
319
- // TODO: Deserialize payload
320
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
321
- // return new HumidityControlSetpointCCSet({
322
- // nodeId: ctx.sourceNodeId,
323
- // });
324
- }
325
- setpointType;
326
- value;
327
- scale;
328
- serialize(ctx) {
329
- this.payload = Bytes.concat([
330
- Bytes.from([this.setpointType & 0b1111]),
331
- encodeFloatWithScale(this.value, this.scale),
332
- ]);
333
- return super.serialize(ctx);
334
- }
335
- toLogEntry(ctx) {
336
- const scale = getScale(this.scale);
337
- return {
338
- ...super.toLogEntry(ctx),
339
- message: {
340
- "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
341
- value: `${this.value} ${scale.unit}`,
342
- },
343
- };
344
- }
345
- };
346
- HumidityControlSetpointCCSet = __decorate([
347
- CCCommand(HumidityControlSetpointCommand.Set),
348
- useSupervision()
349
- ], HumidityControlSetpointCCSet);
362
+ let HumidityControlSetpointCCSet = (() => {
363
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.Set), useSupervision()];
364
+ let _classDescriptor;
365
+ let _classExtraInitializers = [];
366
+ let _classThis;
367
+ let _classSuper = HumidityControlSetpointCC;
368
+ var HumidityControlSetpointCCSet = class extends _classSuper {
369
+ static { _classThis = this; }
370
+ static {
371
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
372
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
373
+ HumidityControlSetpointCCSet = _classThis = _classDescriptor.value;
374
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
375
+ __runInitializers(_classThis, _classExtraInitializers);
376
+ }
377
+ constructor(options) {
378
+ super(options);
379
+ this.setpointType = options.setpointType;
380
+ this.value = options.value;
381
+ this.scale = options.scale;
382
+ }
383
+ static from(_raw, _ctx) {
384
+ // TODO: Deserialize payload
385
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
386
+ // return new HumidityControlSetpointCCSet({
387
+ // nodeId: ctx.sourceNodeId,
388
+ // });
389
+ }
390
+ setpointType;
391
+ value;
392
+ scale;
393
+ serialize(ctx) {
394
+ this.payload = Bytes.concat([
395
+ Bytes.from([this.setpointType & 0b1111]),
396
+ encodeFloatWithScale(this.value, this.scale),
397
+ ]);
398
+ return super.serialize(ctx);
399
+ }
400
+ toLogEntry(ctx) {
401
+ const scale = getScale(this.scale);
402
+ return {
403
+ ...super.toLogEntry(ctx),
404
+ message: {
405
+ "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
406
+ value: `${this.value} ${scale.unit}`,
407
+ },
408
+ };
409
+ }
410
+ };
411
+ return HumidityControlSetpointCCSet = _classThis;
412
+ })();
350
413
  export { HumidityControlSetpointCCSet };
351
- let HumidityControlSetpointCCReport = HumidityControlSetpointCCReport_1 = class HumidityControlSetpointCCReport extends HumidityControlSetpointCC {
352
- constructor(options) {
353
- super(options);
354
- // TODO: Check implementation:
355
- this.type = options.type;
356
- this.value = options.value;
357
- this.scale = options.scale;
358
- }
359
- static from(raw, ctx) {
360
- validatePayload(raw.payload.length >= 1);
361
- const type = raw.payload[0] & 0b1111;
362
- // Setpoint type 0 is not defined in the spec, prevent devices from using it.
363
- if (type === 0) {
364
- // Not supported
365
- return new HumidityControlSetpointCCReport_1({
414
+ let HumidityControlSetpointCCReport = (() => {
415
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.Report)];
416
+ let _classDescriptor;
417
+ let _classExtraInitializers = [];
418
+ let _classThis;
419
+ let _classSuper = HumidityControlSetpointCC;
420
+ var HumidityControlSetpointCCReport = class extends _classSuper {
421
+ static { _classThis = this; }
422
+ static {
423
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
424
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
425
+ HumidityControlSetpointCCReport = _classThis = _classDescriptor.value;
426
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
427
+ __runInitializers(_classThis, _classExtraInitializers);
428
+ }
429
+ constructor(options) {
430
+ super(options);
431
+ // TODO: Check implementation:
432
+ this.type = options.type;
433
+ this.value = options.value;
434
+ this.scale = options.scale;
435
+ }
436
+ static from(raw, ctx) {
437
+ validatePayload(raw.payload.length >= 1);
438
+ const type = raw.payload[0] & 0b1111;
439
+ // Setpoint type 0 is not defined in the spec, prevent devices from using it.
440
+ if (type === 0) {
441
+ // Not supported
442
+ return new this({
443
+ nodeId: ctx.sourceNodeId,
444
+ type,
445
+ value: 0,
446
+ scale: 0,
447
+ });
448
+ }
449
+ // parseFloatWithScale does its own validation
450
+ const { value, scale } = parseFloatWithScale(raw.payload.subarray(1));
451
+ return new this({
366
452
  nodeId: ctx.sourceNodeId,
367
453
  type,
368
- value: 0,
369
- scale: 0,
454
+ value,
455
+ scale,
370
456
  });
371
457
  }
372
- // parseFloatWithScale does its own validation
373
- const { value, scale } = parseFloatWithScale(raw.payload.subarray(1));
374
- return new HumidityControlSetpointCCReport_1({
375
- nodeId: ctx.sourceNodeId,
376
- type,
377
- value,
378
- scale,
379
- });
380
- }
381
- persistValues(ctx) {
382
- if (!super.persistValues(ctx))
383
- return false;
384
- const scale = getScale(this.scale);
385
- const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);
386
- const existingMetadata = this.getMetadata(ctx, setpointValue);
387
- // Update the metadata when it is missing or the unit has changed
388
- if (existingMetadata?.unit !== scale.unit) {
389
- this.setMetadata(ctx, setpointValue, {
390
- ...(existingMetadata ?? setpointValue.meta),
391
- unit: scale.unit,
392
- });
458
+ persistValues(ctx) {
459
+ if (!super.persistValues(ctx))
460
+ return false;
461
+ const scale = getScale(this.scale);
462
+ const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);
463
+ const existingMetadata = this.getMetadata(ctx, setpointValue);
464
+ // Update the metadata when it is missing or the unit has changed
465
+ if (existingMetadata?.unit !== scale.unit) {
466
+ this.setMetadata(ctx, setpointValue, {
467
+ ...(existingMetadata ?? setpointValue.meta),
468
+ unit: scale.unit,
469
+ });
470
+ }
471
+ this.setValue(ctx, setpointValue, this.value);
472
+ // Remember the device-preferred setpoint scale so it can be used in SET commands
473
+ this.setValue(ctx, HumidityControlSetpointCCValues.setpointScale(this.type), this.scale);
474
+ return true;
393
475
  }
394
- this.setValue(ctx, setpointValue, this.value);
395
- // Remember the device-preferred setpoint scale so it can be used in SET commands
396
- this.setValue(ctx, HumidityControlSetpointCCValues.setpointScale(this.type), this.scale);
397
- return true;
398
- }
399
- type;
400
- scale;
401
- value;
402
- toLogEntry(ctx) {
403
- const scale = getScale(this.scale);
404
- return {
405
- ...super.toLogEntry(ctx),
406
- message: {
407
- "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.type),
408
- value: `${this.value} ${scale.unit}`,
409
- },
410
- };
411
- }
412
- };
413
- HumidityControlSetpointCCReport = HumidityControlSetpointCCReport_1 = __decorate([
414
- CCCommand(HumidityControlSetpointCommand.Report)
415
- ], HumidityControlSetpointCCReport);
476
+ type;
477
+ scale;
478
+ value;
479
+ toLogEntry(ctx) {
480
+ const scale = getScale(this.scale);
481
+ return {
482
+ ...super.toLogEntry(ctx),
483
+ message: {
484
+ "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.type),
485
+ value: `${this.value} ${scale.unit}`,
486
+ },
487
+ };
488
+ }
489
+ };
490
+ return HumidityControlSetpointCCReport = _classThis;
491
+ })();
416
492
  export { HumidityControlSetpointCCReport };
417
493
  function testResponseForHumidityControlSetpointGet(sent, received) {
418
494
  // We expect a Humidity Control Setpoint Report that matches the requested setpoint type
419
495
  return received.type === sent.setpointType;
420
496
  }
421
- let HumidityControlSetpointCCGet = class HumidityControlSetpointCCGet extends HumidityControlSetpointCC {
422
- constructor(options) {
423
- super(options);
424
- this.setpointType = options.setpointType;
425
- }
426
- static from(_raw, _ctx) {
427
- // TODO: Deserialize payload
428
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
429
- // return new HumidityControlSetpointCCGet({
430
- // nodeId: ctx.sourceNodeId,
431
- // });
432
- }
433
- setpointType;
434
- serialize(ctx) {
435
- this.payload = Bytes.from([this.setpointType & 0b1111]);
436
- return super.serialize(ctx);
437
- }
438
- toLogEntry(ctx) {
439
- return {
440
- ...super.toLogEntry(ctx),
441
- message: {
442
- "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
443
- },
444
- };
445
- }
446
- };
447
- HumidityControlSetpointCCGet = __decorate([
448
- CCCommand(HumidityControlSetpointCommand.Get),
449
- expectedCCResponse(HumidityControlSetpointCCReport, testResponseForHumidityControlSetpointGet)
450
- ], HumidityControlSetpointCCGet);
497
+ let HumidityControlSetpointCCGet = (() => {
498
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.Get), expectedCCResponse(HumidityControlSetpointCCReport, testResponseForHumidityControlSetpointGet)];
499
+ let _classDescriptor;
500
+ let _classExtraInitializers = [];
501
+ let _classThis;
502
+ let _classSuper = HumidityControlSetpointCC;
503
+ var HumidityControlSetpointCCGet = class extends _classSuper {
504
+ static { _classThis = this; }
505
+ static {
506
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
507
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
508
+ HumidityControlSetpointCCGet = _classThis = _classDescriptor.value;
509
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
510
+ __runInitializers(_classThis, _classExtraInitializers);
511
+ }
512
+ constructor(options) {
513
+ super(options);
514
+ this.setpointType = options.setpointType;
515
+ }
516
+ static from(_raw, _ctx) {
517
+ // TODO: Deserialize payload
518
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
519
+ // return new HumidityControlSetpointCCGet({
520
+ // nodeId: ctx.sourceNodeId,
521
+ // });
522
+ }
523
+ setpointType;
524
+ serialize(ctx) {
525
+ this.payload = Bytes.from([this.setpointType & 0b1111]);
526
+ return super.serialize(ctx);
527
+ }
528
+ toLogEntry(ctx) {
529
+ return {
530
+ ...super.toLogEntry(ctx),
531
+ message: {
532
+ "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
533
+ },
534
+ };
535
+ }
536
+ };
537
+ return HumidityControlSetpointCCGet = _classThis;
538
+ })();
451
539
  export { HumidityControlSetpointCCGet };
452
- let HumidityControlSetpointCCSupportedReport = HumidityControlSetpointCCSupportedReport_1 = class HumidityControlSetpointCCSupportedReport extends HumidityControlSetpointCC {
453
- constructor(options) {
454
- super(options);
455
- // TODO: Check implementation:
456
- this.supportedSetpointTypes = options.supportedSetpointTypes;
457
- }
458
- static from(raw, ctx) {
459
- validatePayload(raw.payload.length >= 1);
460
- const supportedSetpointTypes = parseBitMask(raw.payload, HumidityControlSetpointType["N/A"]);
461
- return new HumidityControlSetpointCCSupportedReport_1({
462
- nodeId: ctx.sourceNodeId,
463
- supportedSetpointTypes,
464
- });
465
- }
466
- supportedSetpointTypes;
467
- toLogEntry(ctx) {
468
- return {
469
- ...super.toLogEntry(ctx),
470
- message: {
471
- "supported setpoint types": this.supportedSetpointTypes
472
- .map((t) => `\n· ${getEnumMemberName(HumidityControlSetpointType, t)}`)
473
- .join(""),
474
- },
475
- };
476
- }
477
- };
478
- __decorate([
479
- ccValue(HumidityControlSetpointCCValues.supportedSetpointTypes)
480
- ], HumidityControlSetpointCCSupportedReport.prototype, "supportedSetpointTypes", void 0);
481
- HumidityControlSetpointCCSupportedReport = HumidityControlSetpointCCSupportedReport_1 = __decorate([
482
- CCCommand(HumidityControlSetpointCommand.SupportedReport)
483
- ], HumidityControlSetpointCCSupportedReport);
540
+ let HumidityControlSetpointCCSupportedReport = (() => {
541
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.SupportedReport), ccValueProperty("supportedSetpointTypes", HumidityControlSetpointCCValues.supportedSetpointTypes)];
542
+ let _classDescriptor;
543
+ let _classExtraInitializers = [];
544
+ let _classThis;
545
+ let _classSuper = HumidityControlSetpointCC;
546
+ var HumidityControlSetpointCCSupportedReport = class extends _classSuper {
547
+ static { _classThis = this; }
548
+ static {
549
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
550
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
551
+ HumidityControlSetpointCCSupportedReport = _classThis = _classDescriptor.value;
552
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
553
+ __runInitializers(_classThis, _classExtraInitializers);
554
+ }
555
+ constructor(options) {
556
+ super(options);
557
+ // TODO: Check implementation:
558
+ this.supportedSetpointTypes = options.supportedSetpointTypes;
559
+ }
560
+ static from(raw, ctx) {
561
+ validatePayload(raw.payload.length >= 1);
562
+ const supportedSetpointTypes = parseBitMask(raw.payload, HumidityControlSetpointType["N/A"]);
563
+ return new this({
564
+ nodeId: ctx.sourceNodeId,
565
+ supportedSetpointTypes,
566
+ });
567
+ }
568
+ supportedSetpointTypes;
569
+ toLogEntry(ctx) {
570
+ return {
571
+ ...super.toLogEntry(ctx),
572
+ message: {
573
+ "supported setpoint types": this.supportedSetpointTypes
574
+ .map((t) => `\n· ${getEnumMemberName(HumidityControlSetpointType, t)}`)
575
+ .join(""),
576
+ },
577
+ };
578
+ }
579
+ };
580
+ return HumidityControlSetpointCCSupportedReport = _classThis;
581
+ })();
484
582
  export { HumidityControlSetpointCCSupportedReport };
485
- let HumidityControlSetpointCCSupportedGet = class HumidityControlSetpointCCSupportedGet extends HumidityControlSetpointCC {
486
- };
487
- HumidityControlSetpointCCSupportedGet = __decorate([
488
- CCCommand(HumidityControlSetpointCommand.SupportedGet),
489
- expectedCCResponse(HumidityControlSetpointCCSupportedReport)
490
- ], HumidityControlSetpointCCSupportedGet);
583
+ let HumidityControlSetpointCCSupportedGet = (() => {
584
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.SupportedGet), expectedCCResponse(HumidityControlSetpointCCSupportedReport)];
585
+ let _classDescriptor;
586
+ let _classExtraInitializers = [];
587
+ let _classThis;
588
+ let _classSuper = HumidityControlSetpointCC;
589
+ var HumidityControlSetpointCCSupportedGet = class extends _classSuper {
590
+ static { _classThis = this; }
591
+ static {
592
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
593
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
594
+ HumidityControlSetpointCCSupportedGet = _classThis = _classDescriptor.value;
595
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
596
+ __runInitializers(_classThis, _classExtraInitializers);
597
+ }
598
+ };
599
+ return HumidityControlSetpointCCSupportedGet = _classThis;
600
+ })();
491
601
  export { HumidityControlSetpointCCSupportedGet };
492
- let HumidityControlSetpointCCScaleSupportedReport = HumidityControlSetpointCCScaleSupportedReport_1 = class HumidityControlSetpointCCScaleSupportedReport extends HumidityControlSetpointCC {
493
- constructor(options) {
494
- super(options);
495
- // TODO: Check implementation:
496
- this.supportedScales = options.supportedScales;
497
- }
498
- static from(raw, ctx) {
499
- validatePayload(raw.payload.length >= 1);
500
- const supportedScales = parseBitMask(Bytes.from([raw.payload[0] & 0b1111]), 0);
501
- return new HumidityControlSetpointCCScaleSupportedReport_1({
502
- nodeId: ctx.sourceNodeId,
503
- supportedScales,
504
- });
505
- }
506
- supportedScales;
507
- toLogEntry(ctx) {
508
- const supportedScales = this.supportedScales.map((scale) => getScale(scale));
509
- return {
510
- ...super.toLogEntry(ctx),
511
- message: {
512
- "scale supported": supportedScales
513
- .map((t) => `\n· ${t.key} ${t.unit} - ${t.label}`)
514
- .join(""),
515
- },
516
- };
517
- }
518
- };
519
- HumidityControlSetpointCCScaleSupportedReport = HumidityControlSetpointCCScaleSupportedReport_1 = __decorate([
520
- CCCommand(HumidityControlSetpointCommand.ScaleSupportedReport)
521
- ], HumidityControlSetpointCCScaleSupportedReport);
602
+ let HumidityControlSetpointCCScaleSupportedReport = (() => {
603
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.ScaleSupportedReport)];
604
+ let _classDescriptor;
605
+ let _classExtraInitializers = [];
606
+ let _classThis;
607
+ let _classSuper = HumidityControlSetpointCC;
608
+ var HumidityControlSetpointCCScaleSupportedReport = class extends _classSuper {
609
+ static { _classThis = this; }
610
+ static {
611
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
612
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
613
+ HumidityControlSetpointCCScaleSupportedReport = _classThis = _classDescriptor.value;
614
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
615
+ __runInitializers(_classThis, _classExtraInitializers);
616
+ }
617
+ constructor(options) {
618
+ super(options);
619
+ // TODO: Check implementation:
620
+ this.supportedScales = options.supportedScales;
621
+ }
622
+ static from(raw, ctx) {
623
+ validatePayload(raw.payload.length >= 1);
624
+ const supportedScales = parseBitMask(Bytes.from([raw.payload[0] & 0b1111]), 0);
625
+ return new this({
626
+ nodeId: ctx.sourceNodeId,
627
+ supportedScales,
628
+ });
629
+ }
630
+ supportedScales;
631
+ toLogEntry(ctx) {
632
+ const supportedScales = this.supportedScales.map((scale) => getScale(scale));
633
+ return {
634
+ ...super.toLogEntry(ctx),
635
+ message: {
636
+ "scale supported": supportedScales
637
+ .map((t) => `\n· ${t.key} ${t.unit} - ${t.label}`)
638
+ .join(""),
639
+ },
640
+ };
641
+ }
642
+ };
643
+ return HumidityControlSetpointCCScaleSupportedReport = _classThis;
644
+ })();
522
645
  export { HumidityControlSetpointCCScaleSupportedReport };
523
- let HumidityControlSetpointCCScaleSupportedGet = class HumidityControlSetpointCCScaleSupportedGet extends HumidityControlSetpointCC {
524
- constructor(options) {
525
- super(options);
526
- this.setpointType = options.setpointType;
527
- }
528
- static from(_raw, _ctx) {
529
- // TODO: Deserialize payload
530
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
531
- // return new HumidityControlSetpointCCScaleSupportedGet({
532
- // nodeId: ctx.sourceNodeId,
533
- // });
534
- }
535
- setpointType;
536
- serialize(ctx) {
537
- this.payload = Bytes.from([this.setpointType & 0b1111]);
538
- return super.serialize(ctx);
539
- }
540
- toLogEntry(ctx) {
541
- return {
542
- ...super.toLogEntry(ctx),
543
- message: {
544
- "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
545
- },
546
- };
547
- }
548
- };
549
- HumidityControlSetpointCCScaleSupportedGet = __decorate([
550
- CCCommand(HumidityControlSetpointCommand.ScaleSupportedGet),
551
- expectedCCResponse(HumidityControlSetpointCCScaleSupportedReport)
552
- ], HumidityControlSetpointCCScaleSupportedGet);
646
+ let HumidityControlSetpointCCScaleSupportedGet = (() => {
647
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.ScaleSupportedGet), expectedCCResponse(HumidityControlSetpointCCScaleSupportedReport)];
648
+ let _classDescriptor;
649
+ let _classExtraInitializers = [];
650
+ let _classThis;
651
+ let _classSuper = HumidityControlSetpointCC;
652
+ var HumidityControlSetpointCCScaleSupportedGet = class extends _classSuper {
653
+ static { _classThis = this; }
654
+ static {
655
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
656
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
657
+ HumidityControlSetpointCCScaleSupportedGet = _classThis = _classDescriptor.value;
658
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
659
+ __runInitializers(_classThis, _classExtraInitializers);
660
+ }
661
+ constructor(options) {
662
+ super(options);
663
+ this.setpointType = options.setpointType;
664
+ }
665
+ static from(_raw, _ctx) {
666
+ // TODO: Deserialize payload
667
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
668
+ // return new HumidityControlSetpointCCScaleSupportedGet({
669
+ // nodeId: ctx.sourceNodeId,
670
+ // });
671
+ }
672
+ setpointType;
673
+ serialize(ctx) {
674
+ this.payload = Bytes.from([this.setpointType & 0b1111]);
675
+ return super.serialize(ctx);
676
+ }
677
+ toLogEntry(ctx) {
678
+ return {
679
+ ...super.toLogEntry(ctx),
680
+ message: {
681
+ "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
682
+ },
683
+ };
684
+ }
685
+ };
686
+ return HumidityControlSetpointCCScaleSupportedGet = _classThis;
687
+ })();
553
688
  export { HumidityControlSetpointCCScaleSupportedGet };
554
- let HumidityControlSetpointCCCapabilitiesReport = HumidityControlSetpointCCCapabilitiesReport_1 = class HumidityControlSetpointCCCapabilitiesReport extends HumidityControlSetpointCC {
555
- constructor(options) {
556
- super(options);
557
- this.type = options.type;
558
- this.minValue = options.minValue;
559
- this.maxValue = options.maxValue;
560
- this.minValueScale = options.minValueScale;
561
- this.maxValueScale = options.maxValueScale;
562
- }
563
- static from(raw, ctx) {
564
- validatePayload(raw.payload.length >= 1);
565
- const type = raw.payload[0] & 0b1111;
566
- // parseFloatWithScale does its own validation
567
- const { value: minValue, scale: minValueScale, bytesRead, } = parseFloatWithScale(raw.payload.subarray(1));
568
- const { value: maxValue, scale: maxValueScale } = parseFloatWithScale(raw.payload.subarray(1 + bytesRead));
569
- return new HumidityControlSetpointCCCapabilitiesReport_1({
570
- nodeId: ctx.sourceNodeId,
571
- type,
572
- minValue,
573
- minValueScale,
574
- maxValue,
575
- maxValueScale,
576
- });
577
- }
578
- persistValues(ctx) {
579
- if (!super.persistValues(ctx))
580
- return false;
581
- // Predefine the metadata
582
- const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);
583
- this.setMetadata(ctx, setpointValue, {
584
- ...setpointValue.meta,
585
- min: this.minValue,
586
- max: this.maxValue,
587
- unit: getSetpointUnit(this.minValueScale)
588
- || getSetpointUnit(this.maxValueScale),
589
- });
590
- return true;
591
- }
592
- type;
593
- minValue;
594
- maxValue;
595
- minValueScale;
596
- maxValueScale;
597
- toLogEntry(ctx) {
598
- const minValueScale = getScale(this.minValueScale);
599
- const maxValueScale = getScale(this.maxValueScale);
600
- return {
601
- ...super.toLogEntry(ctx),
602
- message: {
603
- "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.type),
604
- "min value": `${this.minValue} ${minValueScale.unit}`,
605
- "max value": `${this.maxValue} ${maxValueScale.unit}`,
606
- },
607
- };
608
- }
609
- };
610
- HumidityControlSetpointCCCapabilitiesReport = HumidityControlSetpointCCCapabilitiesReport_1 = __decorate([
611
- CCCommand(HumidityControlSetpointCommand.CapabilitiesReport)
612
- ], HumidityControlSetpointCCCapabilitiesReport);
689
+ let HumidityControlSetpointCCCapabilitiesReport = (() => {
690
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.CapabilitiesReport)];
691
+ let _classDescriptor;
692
+ let _classExtraInitializers = [];
693
+ let _classThis;
694
+ let _classSuper = HumidityControlSetpointCC;
695
+ var HumidityControlSetpointCCCapabilitiesReport = class extends _classSuper {
696
+ static { _classThis = this; }
697
+ static {
698
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
699
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
700
+ HumidityControlSetpointCCCapabilitiesReport = _classThis = _classDescriptor.value;
701
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
702
+ __runInitializers(_classThis, _classExtraInitializers);
703
+ }
704
+ constructor(options) {
705
+ super(options);
706
+ this.type = options.type;
707
+ this.minValue = options.minValue;
708
+ this.maxValue = options.maxValue;
709
+ this.minValueScale = options.minValueScale;
710
+ this.maxValueScale = options.maxValueScale;
711
+ }
712
+ static from(raw, ctx) {
713
+ validatePayload(raw.payload.length >= 1);
714
+ const type = raw.payload[0] & 0b1111;
715
+ // parseFloatWithScale does its own validation
716
+ const { value: minValue, scale: minValueScale, bytesRead, } = parseFloatWithScale(raw.payload.subarray(1));
717
+ const { value: maxValue, scale: maxValueScale } = parseFloatWithScale(raw.payload.subarray(1 + bytesRead));
718
+ return new this({
719
+ nodeId: ctx.sourceNodeId,
720
+ type,
721
+ minValue,
722
+ minValueScale,
723
+ maxValue,
724
+ maxValueScale,
725
+ });
726
+ }
727
+ persistValues(ctx) {
728
+ if (!super.persistValues(ctx))
729
+ return false;
730
+ // Predefine the metadata
731
+ const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);
732
+ this.setMetadata(ctx, setpointValue, {
733
+ ...setpointValue.meta,
734
+ min: this.minValue,
735
+ max: this.maxValue,
736
+ unit: getSetpointUnit(this.minValueScale)
737
+ || getSetpointUnit(this.maxValueScale),
738
+ });
739
+ return true;
740
+ }
741
+ type;
742
+ minValue;
743
+ maxValue;
744
+ minValueScale;
745
+ maxValueScale;
746
+ toLogEntry(ctx) {
747
+ const minValueScale = getScale(this.minValueScale);
748
+ const maxValueScale = getScale(this.maxValueScale);
749
+ return {
750
+ ...super.toLogEntry(ctx),
751
+ message: {
752
+ "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.type),
753
+ "min value": `${this.minValue} ${minValueScale.unit}`,
754
+ "max value": `${this.maxValue} ${maxValueScale.unit}`,
755
+ },
756
+ };
757
+ }
758
+ };
759
+ return HumidityControlSetpointCCCapabilitiesReport = _classThis;
760
+ })();
613
761
  export { HumidityControlSetpointCCCapabilitiesReport };
614
- let HumidityControlSetpointCCCapabilitiesGet = class HumidityControlSetpointCCCapabilitiesGet extends HumidityControlSetpointCC {
615
- constructor(options) {
616
- super(options);
617
- this.setpointType = options.setpointType;
618
- }
619
- static from(_raw, _ctx) {
620
- // TODO: Deserialize payload
621
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
622
- // return new HumidityControlSetpointCCCapabilitiesGet({
623
- // nodeId: ctx.sourceNodeId,
624
- // });
625
- }
626
- setpointType;
627
- serialize(ctx) {
628
- this.payload = Bytes.from([this.setpointType & 0b1111]);
629
- return super.serialize(ctx);
630
- }
631
- toLogEntry(ctx) {
632
- return {
633
- ...super.toLogEntry(ctx),
634
- message: {
635
- "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
636
- },
637
- };
638
- }
639
- };
640
- HumidityControlSetpointCCCapabilitiesGet = __decorate([
641
- CCCommand(HumidityControlSetpointCommand.CapabilitiesGet),
642
- expectedCCResponse(HumidityControlSetpointCCCapabilitiesReport)
643
- ], HumidityControlSetpointCCCapabilitiesGet);
762
+ let HumidityControlSetpointCCCapabilitiesGet = (() => {
763
+ let _classDecorators = [CCCommand(HumidityControlSetpointCommand.CapabilitiesGet), expectedCCResponse(HumidityControlSetpointCCCapabilitiesReport)];
764
+ let _classDescriptor;
765
+ let _classExtraInitializers = [];
766
+ let _classThis;
767
+ let _classSuper = HumidityControlSetpointCC;
768
+ var HumidityControlSetpointCCCapabilitiesGet = class extends _classSuper {
769
+ static { _classThis = this; }
770
+ static {
771
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
772
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
773
+ HumidityControlSetpointCCCapabilitiesGet = _classThis = _classDescriptor.value;
774
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
775
+ __runInitializers(_classThis, _classExtraInitializers);
776
+ }
777
+ constructor(options) {
778
+ super(options);
779
+ this.setpointType = options.setpointType;
780
+ }
781
+ static from(_raw, _ctx) {
782
+ // TODO: Deserialize payload
783
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
784
+ // return new HumidityControlSetpointCCCapabilitiesGet({
785
+ // nodeId: ctx.sourceNodeId,
786
+ // });
787
+ }
788
+ setpointType;
789
+ serialize(ctx) {
790
+ this.payload = Bytes.from([this.setpointType & 0b1111]);
791
+ return super.serialize(ctx);
792
+ }
793
+ toLogEntry(ctx) {
794
+ return {
795
+ ...super.toLogEntry(ctx),
796
+ message: {
797
+ "setpoint type": getEnumMemberName(HumidityControlSetpointType, this.setpointType),
798
+ },
799
+ };
800
+ }
801
+ };
802
+ return HumidityControlSetpointCCCapabilitiesGet = _classThis;
803
+ })();
644
804
  export { HumidityControlSetpointCCCapabilitiesGet };
645
805
  //# sourceMappingURL=HumidityControlSetpointCC.js.map