@zwave-js/cc 15.21.1 → 15.22.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 (639) hide show
  1. package/build/cjs/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
  2. package/build/cjs/cc/AlarmSensorCC.d.ts +3 -3
  3. package/build/cjs/cc/AlarmSensorCC.js +18 -57
  4. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  5. package/build/cjs/cc/ApplicationStatusCC.js +9 -48
  6. package/build/cjs/cc/ApplicationStatusCC.js.map +1 -1
  7. package/build/cjs/cc/AssociationCC._validateArgs.d.ts +8 -8
  8. package/build/cjs/cc/AssociationCC.d.ts +2 -2
  9. package/build/cjs/cc/AssociationCC.js +32 -71
  10. package/build/cjs/cc/AssociationCC.js.map +2 -2
  11. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
  12. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +3 -3
  13. package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
  14. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  15. package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
  16. package/build/cjs/cc/BarrierOperatorCC.d.ts +3 -3
  17. package/build/cjs/cc/BarrierOperatorCC.js +30 -67
  18. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  19. package/build/cjs/cc/BasicCC._validateArgs.d.ts +1 -1
  20. package/build/cjs/cc/BasicCC.d.ts +3 -3
  21. package/build/cjs/cc/BasicCC.js +17 -54
  22. package/build/cjs/cc/BasicCC.js.map +2 -2
  23. package/build/cjs/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
  24. package/build/cjs/cc/BasicWindowCoveringCC.js +12 -51
  25. package/build/cjs/cc/BasicWindowCoveringCC.js.map +1 -1
  26. package/build/cjs/cc/BatteryCC.d.ts +3 -3
  27. package/build/cjs/cc/BatteryCC.js +15 -54
  28. package/build/cjs/cc/BatteryCC.js.map +2 -2
  29. package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +3 -3
  30. package/build/cjs/cc/BinarySensorCC.d.ts +2 -2
  31. package/build/cjs/cc/BinarySensorCC.js +19 -58
  32. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  33. package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
  34. package/build/cjs/cc/BinarySwitchCC.d.ts +2 -2
  35. package/build/cjs/cc/BinarySwitchCC.js +17 -54
  36. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  37. package/build/cjs/cc/CRC16CC.js +7 -46
  38. package/build/cjs/cc/CRC16CC.js.map +1 -1
  39. package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +1 -1
  40. package/build/cjs/cc/CentralSceneCC.d.ts +1 -1
  41. package/build/cjs/cc/CentralSceneCC.js +19 -58
  42. package/build/cjs/cc/CentralSceneCC.js.map +1 -1
  43. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
  44. package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
  45. package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
  46. package/build/cjs/cc/ClockCC._validateArgs.d.ts +1 -1
  47. package/build/cjs/cc/ClockCC.d.ts +3 -3
  48. package/build/cjs/cc/ClockCC.js +15 -54
  49. package/build/cjs/cc/ClockCC.js.map +2 -2
  50. package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
  51. package/build/cjs/cc/ColorSwitchCC.d.ts +3 -3
  52. package/build/cjs/cc/ColorSwitchCC.js +26 -65
  53. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  54. package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +9 -9
  55. package/build/cjs/cc/ConfigurationCC.d.ts +3 -8
  56. package/build/cjs/cc/ConfigurationCC.js +43 -82
  57. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  58. package/build/cjs/cc/DeviceResetLocallyCC.js +7 -46
  59. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  60. package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +2 -2
  61. package/build/cjs/cc/DoorLockCC.d.ts +5 -5
  62. package/build/cjs/cc/DoorLockCC.js +26 -65
  63. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  64. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
  65. package/build/cjs/cc/DoorLockLoggingCC.d.ts +2 -2
  66. package/build/cjs/cc/DoorLockLoggingCC.js +17 -56
  67. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  68. package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
  69. package/build/cjs/cc/EnergyProductionCC.d.ts +2 -2
  70. package/build/cjs/cc/EnergyProductionCC.js +13 -52
  71. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  72. package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +1 -1
  73. package/build/cjs/cc/EntryControlCC.d.ts +3 -3
  74. package/build/cjs/cc/EntryControlCC.js +25 -64
  75. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  76. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
  77. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +34 -73
  78. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  79. package/build/cjs/cc/HailCC.js +3 -42
  80. package/build/cjs/cc/HailCC.js.map +1 -1
  81. package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
  82. package/build/cjs/cc/HumidityControlModeCC.d.ts +2 -2
  83. package/build/cjs/cc/HumidityControlModeCC.js +19 -58
  84. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  85. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  86. package/build/cjs/cc/HumidityControlOperatingStateCC.js +11 -50
  87. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  88. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
  89. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +2 -2
  90. package/build/cjs/cc/HumidityControlSetpointCC.js +30 -69
  91. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  92. package/build/cjs/cc/InclusionControllerCC.js +9 -48
  93. package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
  94. package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +9 -9
  95. package/build/cjs/cc/IndicatorCC.d.ts +2 -2
  96. package/build/cjs/cc/IndicatorCC.js +31 -70
  97. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  98. package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +10 -10
  99. package/build/cjs/cc/IrrigationCC.d.ts +7 -7
  100. package/build/cjs/cc/IrrigationCC.js +54 -93
  101. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  102. package/build/cjs/cc/LanguageCC._validateArgs.d.ts +1 -1
  103. package/build/cjs/cc/LanguageCC.d.ts +3 -3
  104. package/build/cjs/cc/LanguageCC.js +15 -54
  105. package/build/cjs/cc/LanguageCC.js.map +2 -2
  106. package/build/cjs/cc/LockCC._validateArgs.d.ts +1 -1
  107. package/build/cjs/cc/LockCC.d.ts +2 -2
  108. package/build/cjs/cc/LockCC.js +15 -54
  109. package/build/cjs/cc/LockCC.js.map +2 -2
  110. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
  111. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
  112. package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -49
  113. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  114. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
  115. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +1 -1
  116. package/build/cjs/cc/ManufacturerSpecificCC.js +16 -55
  117. package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
  118. package/build/cjs/cc/MeterCC._validateArgs.d.ts +5 -5
  119. package/build/cjs/cc/MeterCC.d.ts +3 -3
  120. package/build/cjs/cc/MeterCC.js +23 -62
  121. package/build/cjs/cc/MeterCC.js.map +2 -2
  122. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
  123. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +3 -3
  124. package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
  125. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  126. package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +4 -4
  127. package/build/cjs/cc/MultiChannelCC.js +34 -73
  128. package/build/cjs/cc/MultiChannelCC.js.map +1 -1
  129. package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +1 -1
  130. package/build/cjs/cc/MultiCommandCC.js +9 -48
  131. package/build/cjs/cc/MultiCommandCC.js.map +1 -1
  132. package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
  133. package/build/cjs/cc/MultilevelSensorCC.d.ts +2 -2
  134. package/build/cjs/cc/MultilevelSensorCC.js +23 -62
  135. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  136. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
  137. package/build/cjs/cc/MultilevelSwitchCC.d.ts +3 -3
  138. package/build/cjs/cc/MultilevelSwitchCC.js +26 -63
  139. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  140. package/build/cjs/cc/NoOperationCC.js +5 -44
  141. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  142. package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +2 -2
  143. package/build/cjs/cc/NodeNamingCC.d.ts +2 -2
  144. package/build/cjs/cc/NodeNamingCC.js +22 -61
  145. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  146. package/build/cjs/cc/NotificationCC._validateArgs.d.ts +4 -4
  147. package/build/cjs/cc/NotificationCC.d.ts +22 -5
  148. package/build/cjs/cc/NotificationCC.js +141 -104
  149. package/build/cjs/cc/NotificationCC.js.map +2 -2
  150. package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +4 -4
  151. package/build/cjs/cc/PowerlevelCC.d.ts +2 -2
  152. package/build/cjs/cc/PowerlevelCC.js +22 -61
  153. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  154. package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +3 -3
  155. package/build/cjs/cc/ProtectionCC.d.ts +3 -3
  156. package/build/cjs/cc/ProtectionCC.js +33 -72
  157. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  158. package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +1 -1
  159. package/build/cjs/cc/SceneActivationCC.js +9 -48
  160. package/build/cjs/cc/SceneActivationCC.js.map +1 -1
  161. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
  162. package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
  163. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
  164. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
  165. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +2 -2
  166. package/build/cjs/cc/SceneControllerConfigurationCC.js +17 -56
  167. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  168. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
  169. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +1 -1
  170. package/build/cjs/cc/ScheduleEntryLockCC.js +46 -85
  171. package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
  172. package/build/cjs/cc/Security2CC.d.ts +1 -1
  173. package/build/cjs/cc/Security2CC.js +33 -72
  174. package/build/cjs/cc/Security2CC.js.map +1 -1
  175. package/build/cjs/cc/SecurityCC.d.ts +1 -1
  176. package/build/cjs/cc/SecurityCC.js +27 -66
  177. package/build/cjs/cc/SecurityCC.js.map +2 -2
  178. package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
  179. package/build/cjs/cc/SoundSwitchCC.d.ts +2 -2
  180. package/build/cjs/cc/SoundSwitchCC.js +29 -68
  181. package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
  182. package/build/cjs/cc/SupervisionCC.js +9 -48
  183. package/build/cjs/cc/SupervisionCC.js.map +1 -1
  184. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
  185. package/build/cjs/cc/ThermostatFanModeCC.d.ts +2 -2
  186. package/build/cjs/cc/ThermostatFanModeCC.js +19 -58
  187. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  188. package/build/cjs/cc/ThermostatFanStateCC.d.ts +2 -2
  189. package/build/cjs/cc/ThermostatFanStateCC.js +11 -50
  190. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  191. package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
  192. package/build/cjs/cc/ThermostatModeCC.d.ts +3 -3
  193. package/build/cjs/cc/ThermostatModeCC.js +19 -58
  194. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  195. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +2 -2
  196. package/build/cjs/cc/ThermostatOperatingStateCC.js +11 -50
  197. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  198. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
  199. package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
  200. package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
  201. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  202. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
  203. package/build/cjs/cc/ThermostatSetpointCC.d.ts +3 -3
  204. package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
  205. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  206. package/build/cjs/cc/TimeCC._validateArgs.d.ts +4 -4
  207. package/build/cjs/cc/TimeCC.d.ts +1 -1
  208. package/build/cjs/cc/TimeCC.js +24 -63
  209. package/build/cjs/cc/TimeCC.js.map +1 -1
  210. package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +1 -1
  211. package/build/cjs/cc/TimeParametersCC.js +13 -52
  212. package/build/cjs/cc/TimeParametersCC.js.map +1 -1
  213. package/build/cjs/cc/TransportServiceCC.js +13 -52
  214. package/build/cjs/cc/TransportServiceCC.js.map +1 -1
  215. package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +6 -6
  216. package/build/cjs/cc/UserCodeCC.d.ts +7 -5
  217. package/build/cjs/cc/UserCodeCC.js +89 -98
  218. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  219. package/build/cjs/cc/VersionCC._validateArgs.d.ts +3 -3
  220. package/build/cjs/cc/VersionCC.d.ts +2 -2
  221. package/build/cjs/cc/VersionCC.js +25 -64
  222. package/build/cjs/cc/VersionCC.js.map +1 -1
  223. package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +1 -1
  224. package/build/cjs/cc/WakeUpCC.d.ts +1 -1
  225. package/build/cjs/cc/WakeUpCC.js +21 -60
  226. package/build/cjs/cc/WakeUpCC.js.map +1 -1
  227. package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
  228. package/build/cjs/cc/WindowCoveringCC.d.ts +3 -3
  229. package/build/cjs/cc/WindowCoveringCC.js +28 -65
  230. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  231. package/build/cjs/cc/ZWaveLongRangeCC.js +3 -42
  232. package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
  233. package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
  234. package/build/cjs/cc/ZWavePlusCC.d.ts +1 -1
  235. package/build/cjs/cc/ZWavePlusCC.js +11 -50
  236. package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
  237. package/build/cjs/cc/ZWaveProtocolCC.js +73 -112
  238. package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
  239. package/build/cjs/cc/_CCValues.generated.d.ts +1173 -1049
  240. package/build/cjs/cc/_CCValues.generated.js +68 -5
  241. package/build/cjs/cc/_CCValues.generated.js.map +2 -2
  242. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
  243. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  244. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +22 -59
  245. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  246. package/build/cjs/lib/API.d.ts +1 -0
  247. package/build/cjs/lib/API.js.map +2 -2
  248. package/build/cjs/lib/CommandClass.d.ts +6 -2
  249. package/build/cjs/lib/CommandClass.js +2 -1
  250. package/build/cjs/lib/CommandClass.js.map +2 -2
  251. package/build/cjs/lib/Security2/Extension.js +9 -48
  252. package/build/cjs/lib/Security2/Extension.js.map +1 -1
  253. package/build/cjs/lib/Values.d.ts +5 -5
  254. package/build/cjs/lib/Values.js.map +2 -2
  255. package/build/cjs/lib/_CCAPI.generated.d.ts +64 -64
  256. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
  257. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -1
  258. package/build/esm/cc/AlarmSensorCC.d.ts +3 -3
  259. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  260. package/build/esm/cc/AlarmSensorCC.js +9 -38
  261. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  262. package/build/esm/cc/ApplicationStatusCC.d.ts.map +1 -1
  263. package/build/esm/cc/ApplicationStatusCC.js +1 -34
  264. package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
  265. package/build/esm/cc/AssociationCC._validateArgs.d.ts +8 -8
  266. package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -1
  267. package/build/esm/cc/AssociationCC.d.ts +2 -2
  268. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  269. package/build/esm/cc/AssociationCC.js +3 -36
  270. package/build/esm/cc/AssociationCC.js.map +1 -1
  271. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
  272. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -1
  273. package/build/esm/cc/AssociationGroupInfoCC.d.ts +3 -3
  274. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  275. package/build/esm/cc/AssociationGroupInfoCC.js +5 -36
  276. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  277. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
  278. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -1
  279. package/build/esm/cc/BarrierOperatorCC.d.ts +3 -3
  280. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  281. package/build/esm/cc/BarrierOperatorCC.js +5 -36
  282. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  283. package/build/esm/cc/BasicCC._validateArgs.d.ts +1 -1
  284. package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -1
  285. package/build/esm/cc/BasicCC.d.ts +3 -3
  286. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  287. package/build/esm/cc/BasicCC.js +5 -36
  288. package/build/esm/cc/BasicCC.js.map +1 -1
  289. package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
  290. package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts.map +1 -1
  291. package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
  292. package/build/esm/cc/BasicWindowCoveringCC.js +1 -34
  293. package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
  294. package/build/esm/cc/BatteryCC.d.ts +3 -3
  295. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  296. package/build/esm/cc/BatteryCC.js +3 -36
  297. package/build/esm/cc/BatteryCC.js.map +1 -1
  298. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +3 -3
  299. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -1
  300. package/build/esm/cc/BinarySensorCC.d.ts +2 -2
  301. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  302. package/build/esm/cc/BinarySensorCC.js +3 -36
  303. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  304. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
  305. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -1
  306. package/build/esm/cc/BinarySwitchCC.d.ts +2 -2
  307. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  308. package/build/esm/cc/BinarySwitchCC.js +5 -36
  309. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  310. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  311. package/build/esm/cc/CRC16CC.js +1 -34
  312. package/build/esm/cc/CRC16CC.js.map +1 -1
  313. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +1 -1
  314. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -1
  315. package/build/esm/cc/CentralSceneCC.d.ts +1 -1
  316. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  317. package/build/esm/cc/CentralSceneCC.js +1 -34
  318. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  319. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
  320. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -1
  321. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  322. package/build/esm/cc/ClimateControlScheduleCC.js +1 -34
  323. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  324. package/build/esm/cc/ClockCC._validateArgs.d.ts +1 -1
  325. package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -1
  326. package/build/esm/cc/ClockCC.d.ts +3 -3
  327. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  328. package/build/esm/cc/ClockCC.js +3 -36
  329. package/build/esm/cc/ClockCC.js.map +1 -1
  330. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
  331. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -1
  332. package/build/esm/cc/ColorSwitchCC.d.ts +3 -3
  333. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  334. package/build/esm/cc/ColorSwitchCC.js +3 -36
  335. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  336. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +9 -9
  337. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -1
  338. package/build/esm/cc/ConfigurationCC.d.ts +3 -8
  339. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  340. package/build/esm/cc/ConfigurationCC.js +3 -36
  341. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  342. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  343. package/build/esm/cc/DeviceResetLocallyCC.js +1 -34
  344. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  345. package/build/esm/cc/DoorLockCC._validateArgs.d.ts +2 -2
  346. package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -1
  347. package/build/esm/cc/DoorLockCC.d.ts +5 -5
  348. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  349. package/build/esm/cc/DoorLockCC.js +3 -36
  350. package/build/esm/cc/DoorLockCC.js.map +1 -1
  351. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
  352. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -1
  353. package/build/esm/cc/DoorLockLoggingCC.d.ts +2 -2
  354. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  355. package/build/esm/cc/DoorLockLoggingCC.js +3 -36
  356. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  357. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
  358. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -1
  359. package/build/esm/cc/EnergyProductionCC.d.ts +2 -2
  360. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  361. package/build/esm/cc/EnergyProductionCC.js +3 -36
  362. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  363. package/build/esm/cc/EntryControlCC._validateArgs.d.ts +1 -1
  364. package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -1
  365. package/build/esm/cc/EntryControlCC.d.ts +3 -3
  366. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  367. package/build/esm/cc/EntryControlCC.js +3 -36
  368. package/build/esm/cc/EntryControlCC.js.map +1 -1
  369. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
  370. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
  371. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  372. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -34
  373. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  374. package/build/esm/cc/HailCC.js +1 -34
  375. package/build/esm/cc/HailCC.js.map +1 -1
  376. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
  377. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -1
  378. package/build/esm/cc/HumidityControlModeCC.d.ts +2 -2
  379. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  380. package/build/esm/cc/HumidityControlModeCC.js +3 -36
  381. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  382. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  383. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  384. package/build/esm/cc/HumidityControlOperatingStateCC.js +3 -36
  385. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  386. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
  387. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -1
  388. package/build/esm/cc/HumidityControlSetpointCC.d.ts +2 -2
  389. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  390. package/build/esm/cc/HumidityControlSetpointCC.js +3 -36
  391. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  392. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
  393. package/build/esm/cc/InclusionControllerCC.js +1 -34
  394. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  395. package/build/esm/cc/IndicatorCC._validateArgs.d.ts +9 -9
  396. package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -1
  397. package/build/esm/cc/IndicatorCC.d.ts +2 -2
  398. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  399. package/build/esm/cc/IndicatorCC.js +3 -36
  400. package/build/esm/cc/IndicatorCC.js.map +1 -1
  401. package/build/esm/cc/IrrigationCC._validateArgs.d.ts +10 -10
  402. package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -1
  403. package/build/esm/cc/IrrigationCC.d.ts +7 -7
  404. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  405. package/build/esm/cc/IrrigationCC.js +3 -36
  406. package/build/esm/cc/IrrigationCC.js.map +1 -1
  407. package/build/esm/cc/LanguageCC._validateArgs.d.ts +1 -1
  408. package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -1
  409. package/build/esm/cc/LanguageCC.d.ts +3 -3
  410. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  411. package/build/esm/cc/LanguageCC.js +3 -36
  412. package/build/esm/cc/LanguageCC.js.map +1 -1
  413. package/build/esm/cc/LockCC._validateArgs.d.ts +1 -1
  414. package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -1
  415. package/build/esm/cc/LockCC.d.ts +2 -2
  416. package/build/esm/cc/LockCC.d.ts.map +1 -1
  417. package/build/esm/cc/LockCC.js +3 -36
  418. package/build/esm/cc/LockCC.js.map +1 -1
  419. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
  420. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -1
  421. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
  422. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  423. package/build/esm/cc/ManufacturerProprietaryCC.js +3 -36
  424. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  425. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
  426. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
  427. package/build/esm/cc/ManufacturerSpecificCC.d.ts +1 -1
  428. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  429. package/build/esm/cc/ManufacturerSpecificCC.js +1 -34
  430. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  431. package/build/esm/cc/MeterCC._validateArgs.d.ts +5 -5
  432. package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -1
  433. package/build/esm/cc/MeterCC.d.ts +3 -3
  434. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  435. package/build/esm/cc/MeterCC.js +3 -36
  436. package/build/esm/cc/MeterCC.js.map +1 -1
  437. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
  438. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -1
  439. package/build/esm/cc/MultiChannelAssociationCC.d.ts +3 -3
  440. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  441. package/build/esm/cc/MultiChannelAssociationCC.js +4 -37
  442. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  443. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +4 -4
  444. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -1
  445. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  446. package/build/esm/cc/MultiChannelCC.js +1 -34
  447. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  448. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +1 -1
  449. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -1
  450. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
  451. package/build/esm/cc/MultiCommandCC.js +1 -34
  452. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  453. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
  454. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -1
  455. package/build/esm/cc/MultilevelSensorCC.d.ts +2 -2
  456. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  457. package/build/esm/cc/MultilevelSensorCC.js +3 -36
  458. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  459. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
  460. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -1
  461. package/build/esm/cc/MultilevelSwitchCC.d.ts +3 -3
  462. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  463. package/build/esm/cc/MultilevelSwitchCC.js +5 -36
  464. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  465. package/build/esm/cc/NoOperationCC.d.ts.map +1 -1
  466. package/build/esm/cc/NoOperationCC.js +1 -34
  467. package/build/esm/cc/NoOperationCC.js.map +1 -1
  468. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +2 -2
  469. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -1
  470. package/build/esm/cc/NodeNamingCC.d.ts +2 -2
  471. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  472. package/build/esm/cc/NodeNamingCC.js +3 -36
  473. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  474. package/build/esm/cc/NotificationCC._validateArgs.d.ts +4 -4
  475. package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -1
  476. package/build/esm/cc/NotificationCC.d.ts +22 -5
  477. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  478. package/build/esm/cc/NotificationCC.js +143 -89
  479. package/build/esm/cc/NotificationCC.js.map +1 -1
  480. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +4 -4
  481. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -1
  482. package/build/esm/cc/PowerlevelCC.d.ts +2 -2
  483. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  484. package/build/esm/cc/PowerlevelCC.js +1 -34
  485. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  486. package/build/esm/cc/ProtectionCC._validateArgs.d.ts +3 -3
  487. package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -1
  488. package/build/esm/cc/ProtectionCC.d.ts +3 -3
  489. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  490. package/build/esm/cc/ProtectionCC.js +3 -36
  491. package/build/esm/cc/ProtectionCC.js.map +1 -1
  492. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +1 -1
  493. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -1
  494. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  495. package/build/esm/cc/SceneActivationCC.js +1 -34
  496. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  497. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
  498. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -1
  499. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  500. package/build/esm/cc/SceneActuatorConfigurationCC.js +1 -34
  501. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  502. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
  503. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -1
  504. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +2 -2
  505. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  506. package/build/esm/cc/SceneControllerConfigurationCC.js +3 -36
  507. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  508. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
  509. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -1
  510. package/build/esm/cc/ScheduleEntryLockCC.d.ts +1 -1
  511. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  512. package/build/esm/cc/ScheduleEntryLockCC.js +1 -34
  513. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  514. package/build/esm/cc/Security2CC.d.ts +1 -1
  515. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  516. package/build/esm/cc/Security2CC.js +1 -34
  517. package/build/esm/cc/Security2CC.js.map +1 -1
  518. package/build/esm/cc/SecurityCC.d.ts +1 -1
  519. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  520. package/build/esm/cc/SecurityCC.js +2 -36
  521. package/build/esm/cc/SecurityCC.js.map +1 -1
  522. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
  523. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -1
  524. package/build/esm/cc/SoundSwitchCC.d.ts +2 -2
  525. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  526. package/build/esm/cc/SoundSwitchCC.js +1 -34
  527. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  528. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  529. package/build/esm/cc/SupervisionCC.js +1 -34
  530. package/build/esm/cc/SupervisionCC.js.map +1 -1
  531. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
  532. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -1
  533. package/build/esm/cc/ThermostatFanModeCC.d.ts +2 -2
  534. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  535. package/build/esm/cc/ThermostatFanModeCC.js +3 -36
  536. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  537. package/build/esm/cc/ThermostatFanStateCC.d.ts +2 -2
  538. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  539. package/build/esm/cc/ThermostatFanStateCC.js +3 -36
  540. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  541. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
  542. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -1
  543. package/build/esm/cc/ThermostatModeCC.d.ts +3 -3
  544. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  545. package/build/esm/cc/ThermostatModeCC.js +3 -36
  546. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  547. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +2 -2
  548. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  549. package/build/esm/cc/ThermostatOperatingStateCC.js +3 -36
  550. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  551. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
  552. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -1
  553. package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
  554. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  555. package/build/esm/cc/ThermostatSetbackCC.js +3 -36
  556. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  557. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
  558. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -1
  559. package/build/esm/cc/ThermostatSetpointCC.d.ts +3 -3
  560. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  561. package/build/esm/cc/ThermostatSetpointCC.js +3 -36
  562. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  563. package/build/esm/cc/TimeCC._validateArgs.d.ts +4 -4
  564. package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -1
  565. package/build/esm/cc/TimeCC.d.ts +1 -1
  566. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  567. package/build/esm/cc/TimeCC.js +1 -34
  568. package/build/esm/cc/TimeCC.js.map +1 -1
  569. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +1 -1
  570. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -1
  571. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  572. package/build/esm/cc/TimeParametersCC.js +1 -34
  573. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  574. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  575. package/build/esm/cc/TransportServiceCC.js +1 -34
  576. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  577. package/build/esm/cc/UserCodeCC._validateArgs.d.ts +6 -6
  578. package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -1
  579. package/build/esm/cc/UserCodeCC.d.ts +7 -5
  580. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  581. package/build/esm/cc/UserCodeCC.js +55 -48
  582. package/build/esm/cc/UserCodeCC.js.map +1 -1
  583. package/build/esm/cc/VersionCC._validateArgs.d.ts +3 -3
  584. package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -1
  585. package/build/esm/cc/VersionCC.d.ts +2 -2
  586. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  587. package/build/esm/cc/VersionCC.js +1 -34
  588. package/build/esm/cc/VersionCC.js.map +1 -1
  589. package/build/esm/cc/WakeUpCC._validateArgs.d.ts +1 -1
  590. package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -1
  591. package/build/esm/cc/WakeUpCC.d.ts +1 -1
  592. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  593. package/build/esm/cc/WakeUpCC.js +1 -34
  594. package/build/esm/cc/WakeUpCC.js.map +1 -1
  595. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
  596. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -1
  597. package/build/esm/cc/WindowCoveringCC.d.ts +3 -3
  598. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  599. package/build/esm/cc/WindowCoveringCC.js +5 -36
  600. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  601. package/build/esm/cc/ZWaveLongRangeCC.js +1 -34
  602. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  603. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
  604. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -1
  605. package/build/esm/cc/ZWavePlusCC.d.ts +1 -1
  606. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  607. package/build/esm/cc/ZWavePlusCC.js +1 -34
  608. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  609. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  610. package/build/esm/cc/ZWaveProtocolCC.js +1 -34
  611. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  612. package/build/esm/cc/_CCValues.generated.d.ts +1173 -1049
  613. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  614. package/build/esm/cc/_CCValues.generated.js +71 -4
  615. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  616. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
  617. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -1
  618. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  619. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  620. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +7 -38
  621. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  622. package/build/esm/lib/API.d.ts +1 -0
  623. package/build/esm/lib/API.d.ts.map +1 -1
  624. package/build/esm/lib/API.js.map +1 -1
  625. package/build/esm/lib/CommandClass.d.ts +6 -2
  626. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  627. package/build/esm/lib/CommandClass.js +4 -2
  628. package/build/esm/lib/CommandClass.js.map +1 -1
  629. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  630. package/build/esm/lib/Security2/Extension.js +1 -34
  631. package/build/esm/lib/Security2/Extension.js.map +1 -1
  632. package/build/esm/lib/Values.d.ts +5 -5
  633. package/build/esm/lib/Values.d.ts.map +1 -1
  634. package/build/esm/lib/Values.js +4 -1
  635. package/build/esm/lib/Values.js.map +1 -1
  636. package/build/esm/lib/_CCAPI.generated.d.ts +64 -64
  637. package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
  638. package/build/esm/lib/serializers.js.map +1 -1
  639. package/package.json +17 -15
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/BasicCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./BasicCC._validateArgs.js\";\nconst { validateArgs_BasicCCAPI_set } = __validateArgs;\nimport type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, Duration, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type MaybeNotKnown, type MaybeUnknown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type SupervisionResult, type SupportsCC, type ValueID, ValueMetadata, type WithAddress, maybeUnknownToString, parseMaybeNumber, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, getEffectiveCCVersion, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { BasicCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { BasicCCValues } from \"./_CCValues.generated.js\";\nexport { BasicCCValues };\n@API(CommandClasses.Basic)\nexport class BasicCCAPI extends CCAPI {\n public supportsCommand(cmd: BasicCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case BasicCommand.Get:\n return this.isSinglecast();\n case BasicCommand.Set:\n return true;\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: BasicCCAPI, { property }, value) {\n // Enable restoring the previous non-zero value\n if (property === \"restorePrevious\") {\n property = \"targetValue\";\n value = 255;\n }\n if (property !== \"targetValue\") {\n throwUnsupportedProperty(this.ccId, property);\n }\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.set(value);\n };\n }\n protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = ({ property }, value, _options) => {\n // Enable restoring the previous non-zero value\n if (property === \"restorePrevious\") {\n property = \"targetValue\";\n value = 255;\n }\n if (property === \"targetValue\") {\n const currentValueValueId = BasicCCValues.currentValue.endpoint(this.endpoint.index);\n return {\n optimisticallyUpdateRelatedValues: (_supervisedAndSuccessful) => {\n // Only update currentValue for valid target values\n if (typeof value === \"number\"\n && value >= 0\n && value <= 99) {\n if (this.isSinglecast()) {\n this.tryGetValueDB()?.setValue(currentValueValueId, value);\n }\n else if (this.isMulticast()) {\n // Figure out which nodes were affected by this command\n const affectedNodes = this.endpoint.node\n .physicalNodes.filter((node) => node\n .getEndpoint(this.endpoint.index)\n ?.supportsCC(this.ccId));\n // and optimistically update the currentValue\n for (const node of affectedNodes) {\n this.host\n .tryGetValueDB(node.id)\n ?.setValue(currentValueValueId, value);\n }\n }\n }\n },\n forceVerifyChanges: () => {\n // If we don't know the actual value, we need to verify the change, regardless of the supervision result\n return value === 255;\n },\n verifyChanges: () => {\n if (this.isSinglecast()\n // We generally don't want to poll for multicasts because of how much traffic it can cause\n // However, when setting the value 255 (ON), we don't know the actual state\n || (this.isMulticast() && value === 255)) {\n // We query currentValue instead of targetValue to make sure that unsolicited updates cancel the scheduled poll\n (this as this).schedulePoll(currentValueValueId, value === 255 ? undefined : value);\n }\n },\n };\n }\n };\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: BasicCCAPI, { property }) {\n switch (property) {\n case \"currentValue\":\n case \"targetValue\":\n case \"duration\":\n return (await this.get())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(BasicCommand, BasicCommand.Get);\n const cc = new BasicCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<BasicCCReport>(cc, this.commandOptions);\n if (response) {\n this.tryGetValueDB()?.setValue(BasicCCValues.currentValue.endpoint(this.endpoint.index), response.currentValue);\n return pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n }\n }\n @validateArgs_BasicCCAPI_set()\n public async set(targetValue: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(BasicCommand, BasicCommand.Set);\n const cc = new BasicCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n targetValue,\n });\n return this.host.sendCommand(cc, this.commandOptions);\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 declare ccCommand: BasicCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // Assume that the endpoint supports Basic CC, so the values get persisted correctly.\n endpoint.addCC(CommandClasses.Basic, { isSupported: true });\n // try to query the current state\n await this.refreshValues(ctx);\n // Remove Basic CC support again when there was no response\n if (this.getValue(ctx, BasicCCValues.currentValue) == undefined) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"No response to Basic Get command, assuming Basic CC is unsupported...\",\n });\n // SDS14223: A controlling node MUST conclude that the Basic Command Class is not supported by a node (or\n // endpoint) if no Basic Report is returned.\n endpoint.addCC(CommandClasses.Basic, { isSupported: false });\n if (!endpoint.controlsCC(CommandClasses.Basic)) {\n endpoint.removeCC(CommandClasses.Basic);\n }\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Basic, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n // try to query the current state\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying Basic CC state...\",\n direction: \"outbound\",\n });\n const basicResponse = await api.get();\n if (basicResponse) {\n let logMessage = `received Basic CC state:\ncurrent value: ${basicResponse.currentValue}`;\n if (basicResponse.targetValue != undefined) {\n logMessage += `\ntarget value: ${basicResponse.targetValue}\nremaining duration: ${basicResponse.duration?.toString() ?? \"undefined\"}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n public override getDefinedValueIDs(ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): ValueID[] {\n const ret: ValueID[] = [];\n const endpoint = this.getEndpoint(ctx)!;\n const compat = ctx.getDeviceConfig?.(endpoint.nodeId)?.compat;\n if (compat?.mapBasicSet === \"event\") {\n // Add the compat event value if it should be exposed\n ret.push(BasicCCValues.compatEvent.endpoint(endpoint.index));\n }\n if (endpoint.supportsCC(this.ccId)) {\n // Defer to the base implementation if Basic CC is supported.\n // This implies that no other actuator CC is supported.\n ret.push(...super.getDefinedValueIDs(ctx));\n }\n else if (endpoint.controlsCC(CommandClasses.Basic)) {\n // During the interview, we mark Basic CC as controlled only if we want to expose currentValue\n ret.push(BasicCCValues.currentValue.endpoint(endpoint.index));\n }\n return ret;\n }\n}\n// @publicAPI\nexport interface BasicCCSetOptions {\n targetValue: number;\n}\n@CCCommand(BasicCommand.Set)\n@useSupervision()\nexport class BasicCCSet extends BasicCC {\n public constructor(options: WithAddress<BasicCCSetOptions>) {\n super(options);\n this.targetValue = options.targetValue;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BasicCCSet {\n validatePayload(raw.payload.length >= 1);\n const targetValue = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n targetValue,\n });\n }\n public targetValue: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.targetValue]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"target value\": this.targetValue },\n };\n }\n}\n// @publicAPI\nexport interface BasicCCReportOptions {\n currentValue?: MaybeUnknown<number>;\n targetValue?: MaybeUnknown<number>;\n duration?: Duration;\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 // @noCCValues See comment in the constructor\n public constructor(options: WithAddress<BasicCCReportOptions>) {\n super(options);\n this.currentValue = options.currentValue;\n this.targetValue = options.targetValue;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BasicCCReport {\n validatePayload(raw.payload.length >= 1);\n const currentValue: MaybeUnknown<number> | undefined = \n // 0xff is a legacy value for 100% (99)\n raw.payload[0] === 0xff\n ? 99\n : parseMaybeNumber(raw.payload[0]);\n validatePayload(currentValue !== undefined);\n let targetValue: MaybeUnknown<number> | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 3) {\n targetValue = parseMaybeNumber(raw.payload[1]);\n duration = Duration.parseReport(raw.payload[2]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n currentValue,\n targetValue,\n duration,\n });\n }\n public currentValue: MaybeUnknown<number> | undefined;\n public readonly targetValue: MaybeUnknown<number> | undefined;\n public readonly duration: Duration | undefined;\n public persistValues(ctx: PersistValuesContext): boolean {\n // Basic CC Report persists its values itself, since there are some\n // specific rules when which value may be persisted.\n // These rules are essentially encoded in the getDefinedValueIDs overload,\n // so we simply reuse that here.\n // Figure out which values may be persisted.\n const definedValueIDs = this.getDefinedValueIDs(ctx);\n const shouldPersistCurrentValue = definedValueIDs.some((vid) => BasicCCValues.currentValue.is(vid));\n const shouldPersistTargetValue = definedValueIDs.some((vid) => BasicCCValues.targetValue.is(vid));\n const shouldPersistDuration = definedValueIDs.some((vid) => BasicCCValues.duration.is(vid));\n if (this.currentValue !== undefined && shouldPersistCurrentValue) {\n this.setValue(ctx, BasicCCValues.currentValue, this.currentValue);\n }\n if (this.targetValue !== undefined && shouldPersistTargetValue) {\n this.setValue(ctx, BasicCCValues.targetValue, this.targetValue);\n }\n if (this.duration !== undefined && shouldPersistDuration) {\n this.setValue(ctx, BasicCCValues.duration, this.duration);\n }\n return true;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.currentValue ?? 0xfe,\n this.targetValue ?? 0xfe,\n (this.duration ?? Duration.unknown()).serializeReport(),\n ]);\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (ccVersion < 2 && ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.encodeCCsUsingTargetVersion) {\n // When forcing CC version 1, only send the current value\n this.payload = this.payload.subarray(0, 1);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"current value\": maybeUnknownToString(this.currentValue),\n };\n if (this.targetValue !== undefined) {\n message[\"target value\"] = maybeUnknownToString(this.targetValue);\n }\n if (this.duration != undefined) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(BasicCommand.Get)\n@expectedCCResponse(BasicCCReport)\nexport class BasicCCGet extends BasicCC {\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./BasicCC._validateArgs.js\";\nconst { validateArgs_BasicCCAPI_set } = __validateArgs;\nimport type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, Duration, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type MaybeNotKnown, type MaybeUnknown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type SupervisionResult, type SupportsCC, type ValueID, ValueMetadata, type WithAddress, maybeUnknownToString, parseMaybeNumber, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, getEffectiveCCVersion, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { BasicCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { BasicCCValues } from \"./_CCValues.generated.js\";\nexport { BasicCCValues };\n@API(CommandClasses.Basic)\nexport class BasicCCAPI extends CCAPI {\n public supportsCommand(cmd: BasicCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case BasicCommand.Get:\n return this.isSinglecast();\n case BasicCommand.Set:\n return true;\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: BasicCCAPI, { property }, value) {\n // Enable restoring the previous non-zero value\n if (property === \"restorePrevious\") {\n property = \"targetValue\";\n value = 255;\n }\n if (property !== \"targetValue\") {\n throwUnsupportedProperty(this.ccId, property);\n }\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.set(value);\n };\n }\n protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = ({ property }, value, _options) => {\n // Enable restoring the previous non-zero value\n if (property === \"restorePrevious\") {\n property = \"targetValue\";\n value = 255;\n }\n if (property === \"targetValue\") {\n const currentValueValueId = BasicCCValues.currentValue.endpoint(this.endpoint.index);\n return {\n // This is the target value for a split target/current state pair.\n isSplitStateTargetValue: true,\n optimisticallyUpdateRelatedValues: (_supervisedAndSuccessful) => {\n // Only update currentValue for valid target values\n if (typeof value === \"number\"\n && value >= 0\n && value <= 99) {\n if (this.isSinglecast()) {\n this.tryGetValueDB()?.setValue(currentValueValueId, value);\n }\n else if (this.isMulticast()) {\n // Figure out which nodes were affected by this command\n const affectedNodes = this.endpoint.node\n .physicalNodes.filter((node) => node\n .getEndpoint(this.endpoint.index)\n ?.supportsCC(this.ccId));\n // and optimistically update the currentValue\n for (const node of affectedNodes) {\n this.host\n .tryGetValueDB(node.id)\n ?.setValue(currentValueValueId, value);\n }\n }\n }\n },\n forceVerifyChanges: () => {\n // If we don't know the actual value, we need to verify the change, regardless of the supervision result\n return value === 255;\n },\n verifyChanges: () => {\n if (this.isSinglecast()\n // We generally don't want to poll for multicasts because of how much traffic it can cause\n // However, when setting the value 255 (ON), we don't know the actual state\n || (this.isMulticast() && value === 255)) {\n // We query currentValue instead of targetValue to make sure that unsolicited updates cancel the scheduled poll\n (this as this).schedulePoll(currentValueValueId, value === 255 ? undefined : value);\n }\n },\n };\n }\n };\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: BasicCCAPI, { property }) {\n switch (property) {\n case \"currentValue\":\n case \"targetValue\":\n case \"duration\":\n return (await this.get())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(BasicCommand, BasicCommand.Get);\n const cc = new BasicCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<BasicCCReport>(cc, this.commandOptions);\n if (response) {\n this.tryGetValueDB()?.setValue(BasicCCValues.currentValue.endpoint(this.endpoint.index), response.currentValue);\n return pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n }\n }\n @validateArgs_BasicCCAPI_set()\n public async set(targetValue: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(BasicCommand, BasicCommand.Set);\n const cc = new BasicCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n targetValue,\n });\n return this.host.sendCommand(cc, this.commandOptions);\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 declare ccCommand: BasicCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // Assume that the endpoint supports Basic CC, so the values get persisted correctly.\n endpoint.addCC(CommandClasses.Basic, { isSupported: true });\n // try to query the current state\n await this.refreshValues(ctx);\n // Remove Basic CC support again when there was no response\n if (this.getValue(ctx, BasicCCValues.currentValue) == undefined) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"No response to Basic Get command, assuming Basic CC is unsupported...\",\n });\n // SDS14223: A controlling node MUST conclude that the Basic Command Class is not supported by a node (or\n // endpoint) if no Basic Report is returned.\n endpoint.addCC(CommandClasses.Basic, { isSupported: false });\n if (!endpoint.controlsCC(CommandClasses.Basic)) {\n endpoint.removeCC(CommandClasses.Basic);\n }\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Basic, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n // try to query the current state\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying Basic CC state...\",\n direction: \"outbound\",\n });\n const basicResponse = await api.get();\n if (basicResponse) {\n let logMessage = `received Basic CC state:\ncurrent value: ${basicResponse.currentValue}`;\n if (basicResponse.targetValue != undefined) {\n logMessage += `\ntarget value: ${basicResponse.targetValue}\nremaining duration: ${basicResponse.duration?.toString() ?? \"undefined\"}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n public override getDefinedValueIDs(ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): ValueID[] {\n const ret: ValueID[] = [];\n const endpoint = this.getEndpoint(ctx)!;\n const compat = ctx.getDeviceConfig?.(endpoint.nodeId)?.compat;\n if (compat?.mapBasicSet === \"event\") {\n // Add the compat event value if it should be exposed\n ret.push(BasicCCValues.compatEvent.endpoint(endpoint.index));\n }\n if (endpoint.supportsCC(this.ccId)) {\n // Defer to the base implementation if Basic CC is supported.\n // This implies that no other actuator CC is supported.\n ret.push(...super.getDefinedValueIDs(ctx));\n }\n else if (endpoint.controlsCC(CommandClasses.Basic)) {\n // During the interview, we mark Basic CC as controlled only if we want to expose currentValue\n ret.push(BasicCCValues.currentValue.endpoint(endpoint.index));\n }\n return ret;\n }\n}\n// @publicAPI\nexport interface BasicCCSetOptions {\n targetValue: number;\n}\n@CCCommand(BasicCommand.Set)\n@useSupervision()\nexport class BasicCCSet extends BasicCC {\n public constructor(options: WithAddress<BasicCCSetOptions>) {\n super(options);\n this.targetValue = options.targetValue;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BasicCCSet {\n validatePayload(raw.payload.length >= 1);\n const targetValue = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n targetValue,\n });\n }\n public targetValue: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.targetValue]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"target value\": this.targetValue },\n };\n }\n}\n// @publicAPI\nexport interface BasicCCReportOptions {\n currentValue?: MaybeUnknown<number>;\n targetValue?: MaybeUnknown<number>;\n duration?: Duration;\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 // @noCCValues See comment in the constructor\n public constructor(options: WithAddress<BasicCCReportOptions>) {\n super(options);\n this.currentValue = options.currentValue;\n this.targetValue = options.targetValue;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BasicCCReport {\n validatePayload(raw.payload.length >= 1);\n const currentValue: MaybeUnknown<number> | undefined = \n // 0xff is a legacy value for 100% (99)\n raw.payload[0] === 0xff\n ? 99\n : parseMaybeNumber(raw.payload[0]);\n validatePayload(currentValue !== undefined);\n let targetValue: MaybeUnknown<number> | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 3) {\n targetValue = parseMaybeNumber(raw.payload[1]);\n duration = Duration.parseReport(raw.payload[2]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n currentValue,\n targetValue,\n duration,\n });\n }\n public currentValue: MaybeUnknown<number> | undefined;\n public readonly targetValue: MaybeUnknown<number> | undefined;\n public readonly duration: Duration | undefined;\n public persistValues(ctx: PersistValuesContext): boolean {\n // Basic CC Report persists its values itself, since there are some\n // specific rules when which value may be persisted.\n // These rules are essentially encoded in the getDefinedValueIDs overload,\n // so we simply reuse that here.\n // Figure out which values may be persisted.\n const definedValueIDs = this.getDefinedValueIDs(ctx);\n const shouldPersistCurrentValue = definedValueIDs.some((vid) => BasicCCValues.currentValue.is(vid));\n const shouldPersistTargetValue = definedValueIDs.some((vid) => BasicCCValues.targetValue.is(vid));\n const shouldPersistDuration = definedValueIDs.some((vid) => BasicCCValues.duration.is(vid));\n if (this.currentValue !== undefined && shouldPersistCurrentValue) {\n this.setValue(ctx, BasicCCValues.currentValue, this.currentValue);\n }\n if (this.targetValue !== undefined && shouldPersistTargetValue) {\n this.setValue(ctx, BasicCCValues.targetValue, this.targetValue);\n }\n if (this.duration !== undefined && shouldPersistDuration) {\n this.setValue(ctx, BasicCCValues.duration, this.duration);\n }\n return true;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.currentValue ?? 0xfe,\n this.targetValue ?? 0xfe,\n (this.duration ?? Duration.unknown()).serializeReport(),\n ]);\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (ccVersion < 2 && ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.encodeCCsUsingTargetVersion) {\n // When forcing CC version 1, only send the current value\n this.payload = this.payload.subarray(0, 1);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"current value\": maybeUnknownToString(this.currentValue),\n };\n if (this.targetValue !== undefined) {\n message[\"target value\"] = maybeUnknownToString(this.targetValue);\n }\n if (this.duration != undefined) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(BasicCommand.Get)\n@expectedCCResponse(BasicCCReport)\nexport class BasicCCGet extends BasicCC {\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,3 @@
1
- export declare function validateArgs_BasicWindowCoveringCCAPI_startLevelChange(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
2
- export declare function validateArgs_BasicWindowCoveringCCAPI_stopLevelChange(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
1
+ export declare function validateArgs_BasicWindowCoveringCCAPI_startLevelChange(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
2
+ export declare function validateArgs_BasicWindowCoveringCCAPI_stopLevelChange(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
3
3
  //# sourceMappingURL=BasicWindowCoveringCC._validateArgs.d.ts.map
@@ -36,6 +36,7 @@ __export(BasicWindowCoveringCC_exports, {
36
36
  BasicWindowCoveringCCValues: () => import_CCValues_generated.BasicWindowCoveringCCValues
37
37
  });
38
38
  module.exports = __toCommonJS(BasicWindowCoveringCC_exports);
39
+ var import_tslib = require("tslib");
39
40
  var __validateArgs = __toESM(require("./BasicWindowCoveringCC._validateArgs.js"), 1);
40
41
  var import_core = require("@zwave-js/core");
41
42
  var import_shared = require("@zwave-js/shared");
@@ -44,46 +45,6 @@ var import_CommandClass = require("../lib/CommandClass.js");
44
45
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
45
46
  var import_Types = require("../lib/_Types.js");
46
47
  var import_CCValues_generated = require("./_CCValues.generated.js");
47
- var __runInitializers = function(thisArg, initializers, value) {
48
- var useValue = arguments.length > 2;
49
- for (var i = 0; i < initializers.length; i++) {
50
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
51
- }
52
- return useValue ? value : void 0;
53
- };
54
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
55
- function accept(f) {
56
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
57
- return f;
58
- }
59
- __name(accept, "accept");
60
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
61
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
62
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
63
- var _, done = false;
64
- for (var i = decorators.length - 1; i >= 0; i--) {
65
- var context = {};
66
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
67
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
68
- context.addInitializer = function(f) {
69
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
70
- extraInitializers.push(accept(f || null));
71
- };
72
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
73
- if (kind === "accessor") {
74
- if (result === void 0) continue;
75
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
76
- if (_ = accept(result.get)) descriptor.get = _;
77
- if (_ = accept(result.set)) descriptor.set = _;
78
- if (_ = accept(result.init)) initializers.unshift(_);
79
- } else if (_ = accept(result)) {
80
- if (kind === "field") initializers.unshift(_);
81
- else descriptor[key] = _;
82
- }
83
- }
84
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
85
- done = true;
86
- };
87
48
  const { validateArgs_BasicWindowCoveringCCAPI_startLevelChange, validateArgs_BasicWindowCoveringCCAPI_stopLevelChange } = __validateArgs;
88
49
  let BasicWindowCoveringCCAPI = (() => {
89
50
  let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses["Basic Window Covering"])];
@@ -105,12 +66,12 @@ let BasicWindowCoveringCCAPI = (() => {
105
66
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
106
67
  _startLevelChange_decorators = [validateArgs_BasicWindowCoveringCCAPI_startLevelChange()];
107
68
  _stopLevelChange_decorators = [validateArgs_BasicWindowCoveringCCAPI_stopLevelChange()];
108
- __esDecorate(this, null, _startLevelChange_decorators, { kind: "method", name: "startLevelChange", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "startLevelChange" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.startLevelChange, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
109
- __esDecorate(this, null, _stopLevelChange_decorators, { kind: "method", name: "stopLevelChange", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "stopLevelChange" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.stopLevelChange, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
110
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
69
+ (0, import_tslib.__esDecorate)(this, null, _startLevelChange_decorators, { kind: "method", name: "startLevelChange", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "startLevelChange" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.startLevelChange, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
70
+ (0, import_tslib.__esDecorate)(this, null, _stopLevelChange_decorators, { kind: "method", name: "stopLevelChange", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "stopLevelChange" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.stopLevelChange, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
71
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
111
72
  BasicWindowCoveringCCAPI2 = _classThis = _classDescriptor.value;
112
73
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
113
- __runInitializers(_classThis, _classExtraInitializers);
74
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
114
75
  }
115
76
  supportsCommand(cmd) {
116
77
  switch (cmd) {
@@ -160,7 +121,7 @@ let BasicWindowCoveringCCAPI = (() => {
160
121
  }
161
122
  constructor() {
162
123
  super(...arguments);
163
- __runInitializers(this, _instanceExtraInitializers);
124
+ (0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
164
125
  }
165
126
  };
166
127
  return BasicWindowCoveringCCAPI2 = _classThis;
@@ -180,10 +141,10 @@ let BasicWindowCoveringCC = (() => {
180
141
  }
181
142
  static {
182
143
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
183
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
144
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
184
145
  BasicWindowCoveringCC2 = _classThis = _classDescriptor.value;
185
146
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
186
- __runInitializers(_classThis, _classExtraInitializers);
147
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
187
148
  }
188
149
  };
189
150
  return BasicWindowCoveringCC2 = _classThis;
@@ -203,10 +164,10 @@ let BasicWindowCoveringCCStartLevelChange = (() => {
203
164
  }
204
165
  static {
205
166
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
206
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
167
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
207
168
  BasicWindowCoveringCCStartLevelChange2 = _classThis = _classDescriptor.value;
208
169
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
209
- __runInitializers(_classThis, _classExtraInitializers);
170
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
210
171
  }
211
172
  constructor(options) {
212
173
  super(options);
@@ -253,10 +214,10 @@ let BasicWindowCoveringCCStopLevelChange = (() => {
253
214
  }
254
215
  static {
255
216
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
256
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
217
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
257
218
  BasicWindowCoveringCCStopLevelChange2 = _classThis = _classDescriptor.value;
258
219
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
259
- __runInitializers(_classThis, _classExtraInitializers);
220
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
260
221
  }
261
222
  };
262
223
  return BasicWindowCoveringCCStopLevelChange2 = _classThis;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/BasicWindowCoveringCC.ts"],
4
4
  "sourcesContent": ["import * as __validateArgs from \"./BasicWindowCoveringCC._validateArgs.js\";\nconst { validateArgs_BasicWindowCoveringCCAPI_startLevelChange, validateArgs_BasicWindowCoveringCCAPI_stopLevelChange } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, ValueMetadata, type WithAddress, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes } from \"@zwave-js/shared\";\nimport { CCAPI, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValues, commandClass, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { BasicWindowCoveringCommand, type LevelChangeDirection, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { BasicWindowCoveringCCValues } from \"./_CCValues.generated.js\";\nexport { BasicWindowCoveringCCValues };\n@API(CommandClasses[\"Basic Window Covering\"])\nexport class BasicWindowCoveringCCAPI extends CCAPI {\n public supportsCommand(cmd: BasicWindowCoveringCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case BasicWindowCoveringCommand.StartLevelChange:\n case BasicWindowCoveringCommand.StopLevelChange:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: BasicWindowCoveringCCAPI, { property }, value) {\n const valueId = {\n commandClass: this.ccId,\n property,\n };\n if (BasicWindowCoveringCCValues.levelChangeUp.is(valueId)\n || BasicWindowCoveringCCValues.levelChangeDown.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n if (value) {\n const direction = BasicWindowCoveringCCValues.levelChangeUp\n .is(valueId)\n ? \"up\"\n : \"down\";\n return this.startLevelChange(direction);\n }\n else {\n return this.stopLevelChange();\n }\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n @validateArgs_BasicWindowCoveringCCAPI_startLevelChange()\n public async startLevelChange(direction: keyof typeof LevelChangeDirection): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(BasicWindowCoveringCommand, BasicWindowCoveringCommand.StartLevelChange);\n const cc = new BasicWindowCoveringCCStartLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n direction,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_BasicWindowCoveringCCAPI_stopLevelChange()\n public async stopLevelChange(): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(BasicWindowCoveringCommand, BasicWindowCoveringCommand.StopLevelChange);\n const cc = new BasicWindowCoveringCCStopLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Basic Window Covering\"])\n@implementedVersion(1)\n@ccValues(BasicWindowCoveringCCValues)\nexport class BasicWindowCoveringCC extends CommandClass {\n declare ccCommand: BasicWindowCoveringCommand;\n}\n// @publicAPI\nexport interface BasicWindowCoveringCCStartLevelChangeOptions {\n direction: keyof typeof LevelChangeDirection;\n}\n@CCCommand(BasicWindowCoveringCommand.StartLevelChange)\n@useSupervision()\nexport class BasicWindowCoveringCCStartLevelChange extends BasicWindowCoveringCC {\n public constructor(options: WithAddress<BasicWindowCoveringCCStartLevelChangeOptions>) {\n super(options);\n this.direction = options.direction;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BasicWindowCoveringCCStartLevelChange {\n // The CC is obsolete and will never be extended. Check for exact length\n validatePayload(raw.payload.length === 1);\n const direction = !!(raw.payload[0] & 64)\n ? \"down\"\n : \"up\";\n return new this({\n nodeId: ctx.sourceNodeId,\n direction,\n });\n }\n public direction: keyof typeof LevelChangeDirection;\n public async serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.direction === \"down\" ? 64 : 0,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n direction: this.direction,\n },\n };\n }\n}\n@CCCommand(BasicWindowCoveringCommand.StopLevelChange)\n@useSupervision()\nexport class BasicWindowCoveringCCStopLevelChange extends BasicWindowCoveringCC {\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,7 @@ import type { GetDeviceConfig } from "@zwave-js/config";
2
2
  import { type ControlsCC, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type NodeId, type SinglecastCC, type SupportsCC, type WithAddress } from "@zwave-js/core";
3
3
  import { type AllOrNone, Bytes } from "@zwave-js/shared";
4
4
  import { POLL_VALUE, PhysicalCCAPI, type PollValueImplementation } from "../lib/API.js";
5
- import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext } from "../lib/CommandClass.js";
5
+ import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
6
6
  import { BatteryChargingStatus, BatteryCommand, BatteryReplacementStatus } from "../lib/_Types.js";
7
7
  import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
8
8
  import { BatteryCCValues } from "./_CCValues.generated.js";
@@ -10,13 +10,13 @@ export { BatteryCCValues };
10
10
  export declare class BatteryCCAPI extends PhysicalCCAPI {
11
11
  supportsCommand(cmd: BatteryCommand): MaybeNotKnown<boolean>;
12
12
  protected get [POLL_VALUE](): PollValueImplementation;
13
- get(): Promise<Pick<BatteryCCReport, "level" | "chargingStatus" | "rechargeable" | "backup" | "overheating" | "lowFluid" | "rechargeOrReplace" | "disconnected" | "lowTemperatureStatus"> | undefined>;
13
+ get(): Promise<Pick<BatteryCCReport, "backup" | "chargingStatus" | "disconnected" | "level" | "lowFluid" | "lowTemperatureStatus" | "overheating" | "rechargeOrReplace" | "rechargeable"> | undefined>;
14
14
  getHealth(): Promise<Pick<BatteryCCHealthReport, "maximumCapacity" | "temperature"> | undefined>;
15
15
  }
16
16
  export declare class BatteryCC extends CommandClass {
17
17
  ccCommand: BatteryCommand;
18
18
  interview(ctx: InterviewContext): Promise<void>;
19
- refreshValues(ctx: RefreshValuesContext): Promise<void>;
19
+ refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void>;
20
20
  shouldRefreshValues(this: SinglecastCC<this>, ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): boolean;
21
21
  }
22
22
  export type BatteryCCReportOptions = {
@@ -28,6 +28,7 @@ __export(BatteryCC_exports, {
28
28
  BatteryCCValues: () => import_CCValues_generated.BatteryCCValues
29
29
  });
30
30
  module.exports = __toCommonJS(BatteryCC_exports);
31
+ var import_tslib = require("tslib");
31
32
  var import_core = require("@zwave-js/core");
32
33
  var import_shared = require("@zwave-js/shared");
33
34
  var import_API = require("../lib/API.js");
@@ -36,46 +37,6 @@ var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
36
37
  var import_Types = require("../lib/_Types.js");
37
38
  var import_NotificationCC = require("./NotificationCC.js");
38
39
  var import_CCValues_generated = require("./_CCValues.generated.js");
39
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
40
- function accept(f) {
41
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
42
- return f;
43
- }
44
- __name(accept, "accept");
45
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
46
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
47
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
48
- var _, done = false;
49
- for (var i = decorators.length - 1; i >= 0; i--) {
50
- var context = {};
51
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
52
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
53
- context.addInitializer = function(f) {
54
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
55
- extraInitializers.push(accept(f || null));
56
- };
57
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
58
- if (kind === "accessor") {
59
- if (result === void 0) continue;
60
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
61
- if (_ = accept(result.get)) descriptor.get = _;
62
- if (_ = accept(result.set)) descriptor.set = _;
63
- if (_ = accept(result.init)) initializers.unshift(_);
64
- } else if (_ = accept(result)) {
65
- if (kind === "field") initializers.unshift(_);
66
- else descriptor[key] = _;
67
- }
68
- }
69
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
70
- done = true;
71
- };
72
- var __runInitializers = function(thisArg, initializers, value) {
73
- var useValue = arguments.length > 2;
74
- for (var i = 0; i < initializers.length; i++) {
75
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
76
- }
77
- return useValue ? value : void 0;
78
- };
79
40
  let BatteryCCAPI = (() => {
80
41
  let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses.Battery)];
81
42
  let _classDescriptor;
@@ -91,10 +52,10 @@ let BatteryCCAPI = (() => {
91
52
  }
92
53
  static {
93
54
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
94
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
55
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
95
56
  BatteryCCAPI2 = _classThis = _classDescriptor.value;
96
57
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
97
- __runInitializers(_classThis, _classExtraInitializers);
58
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
98
59
  }
99
60
  supportsCommand(cmd) {
100
61
  switch (cmd) {
@@ -179,10 +140,10 @@ let BatteryCC = (() => {
179
140
  }
180
141
  static {
181
142
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
182
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
143
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
183
144
  BatteryCC2 = _classThis = _classDescriptor.value;
184
145
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
185
- __runInitializers(_classThis, _classExtraInitializers);
146
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
186
147
  }
187
148
  async interview(ctx) {
188
149
  const node = this.getNode(ctx);
@@ -194,11 +155,11 @@ let BatteryCC = (() => {
194
155
  await this.refreshValues(ctx);
195
156
  this.setInterviewComplete(ctx, true);
196
157
  }
197
- async refreshValues(ctx) {
158
+ async refreshValues(ctx, options) {
198
159
  const node = this.getNode(ctx);
199
160
  const endpoint = this.getEndpoint(ctx);
200
161
  const api = import_API.CCAPI.create(import_core.CommandClasses.Battery, ctx, endpoint).withOptions({
201
- priority: import_core.MessagePriority.NodeQuery
162
+ priority: options?.priority ?? import_core.MessagePriority.NodeQuery
202
163
  });
203
164
  ctx.logNode(node.id, {
204
165
  endpoint: this.endpointIndex,
@@ -278,10 +239,10 @@ let BatteryCCReport = (() => {
278
239
  }
279
240
  static {
280
241
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
281
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
242
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
282
243
  BatteryCCReport2 = _classThis = _classDescriptor.value;
283
244
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
284
- __runInitializers(_classThis, _classExtraInitializers);
245
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
285
246
  }
286
247
  constructor(options) {
287
248
  super(options);
@@ -443,10 +404,10 @@ let BatteryCCGet = (() => {
443
404
  }
444
405
  static {
445
406
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
446
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
407
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
447
408
  BatteryCCGet2 = _classThis = _classDescriptor.value;
448
409
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
449
- __runInitializers(_classThis, _classExtraInitializers);
410
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
450
411
  }
451
412
  };
452
413
  return BatteryCCGet2 = _classThis;
@@ -466,10 +427,10 @@ let BatteryCCHealthReport = (() => {
466
427
  }
467
428
  static {
468
429
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
469
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
430
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
470
431
  BatteryCCHealthReport2 = _classThis = _classDescriptor.value;
471
432
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
472
- __runInitializers(_classThis, _classExtraInitializers);
433
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
473
434
  }
474
435
  constructor(options) {
475
436
  super(options);
@@ -528,10 +489,10 @@ let BatteryCCHealthGet = (() => {
528
489
  }
529
490
  static {
530
491
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
531
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
492
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
532
493
  BatteryCCHealthGet2 = _classThis = _classDescriptor.value;
533
494
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
534
- __runInitializers(_classThis, _classExtraInitializers);
495
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
535
496
  }
536
497
  };
537
498
  return BatteryCCHealthGet2 = _classThis;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/BatteryCC.ts"],
4
- "sourcesContent": ["import type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type SinglecastCC, type SupportsCC, ValueMetadata, type WithAddress, encodeFloatWithScale, enumValuesToMetadataStates, parseFloatWithScale, timespan, validatePayload, } from \"@zwave-js/core\";\nimport { type AllOrNone, Bytes, getEnumMemberName, pick, } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, throwUnsupportedProperty, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { BatteryChargingStatus, BatteryCommand, BatteryReplacementStatus, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { NotificationCCValues } from \"./NotificationCC.js\";\nimport { BatteryCCValues } from \"./_CCValues.generated.js\";\nexport { BatteryCCValues };\n// @noSetValueAPI This CC is read-only\n@API(CommandClasses.Battery)\nexport class BatteryCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: BatteryCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case BatteryCommand.Get:\n return true; // This is mandatory\n case BatteryCommand.HealthGet:\n return this.version >= 2;\n }\n return super.supportsCommand(cmd);\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: BatteryCCAPI, { property }) {\n switch (property) {\n case \"level\":\n case \"chargingStatus\":\n case \"rechargeable\":\n case \"backup\":\n case \"overheating\":\n case \"lowFluid\":\n case \"rechargeOrReplace\":\n case \"lowTemperatureStatus\":\n case \"disconnected\":\n return (await this.get())?.[property];\n case \"maximumCapacity\":\n case \"temperature\":\n return (await this.getHealth())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(BatteryCommand, BatteryCommand.Get);\n const cc = new BatteryCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<BatteryCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"level\",\n \"chargingStatus\",\n \"rechargeable\",\n \"backup\",\n \"overheating\",\n \"lowFluid\",\n \"rechargeOrReplace\",\n \"lowTemperatureStatus\",\n \"disconnected\",\n ]);\n }\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getHealth() {\n this.assertSupportsCommand(BatteryCommand, BatteryCommand.HealthGet);\n const cc = new BatteryCCHealthGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<BatteryCCHealthReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"maximumCapacity\", \"temperature\"]);\n }\n }\n}\n@commandClass(CommandClasses.Battery)\n@implementedVersion(3)\n@ccValues(BatteryCCValues)\nexport class BatteryCC extends CommandClass {\n declare ccCommand: BatteryCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // Query the Battery status\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Battery, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying battery status...\",\n direction: \"outbound\",\n });\n const batteryStatus = await api.get();\n if (batteryStatus) {\n let logMessage = \"received response for battery information:\";\n if (batteryStatus.disconnected) {\n logMessage += `\nis disconnected: true`;\n }\n else {\n logMessage += `\nlevel: ${batteryStatus.level === 0xff\n ? \"low\"\n : (batteryStatus.level + \" %\")}`;\n }\n if (api.version >= 2) {\n if (!batteryStatus.disconnected) {\n logMessage += `\nstatus: ${BatteryChargingStatus[batteryStatus.chargingStatus!]}`;\n }\n logMessage += `\nrechargeable: ${batteryStatus.rechargeable}\nis backup: ${batteryStatus.backup}\nis overheating: ${batteryStatus.overheating}\nfluid is low: ${batteryStatus.lowFluid}\nneeds to be replaced or charged: ${BatteryReplacementStatus[batteryStatus.rechargeOrReplace!]}\nis low temperature ${batteryStatus.lowTemperatureStatus}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n if (api.version >= 2) {\n // always query the health\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying battery health...\",\n direction: \"outbound\",\n });\n const batteryHealth = await api.getHealth();\n if (batteryHealth) {\n const logMessage = `received response for battery health:\nmax. capacity: ${batteryHealth.maximumCapacity} %\ntemperature: ${batteryHealth.temperature} \u00B0C`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n public shouldRefreshValues(this: SinglecastCC<this>, ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): boolean {\n // Check when the battery state was last updated\n const valueDB = ctx.tryGetValueDB(this.nodeId);\n if (!valueDB)\n return true;\n const lastUpdated = valueDB.getTimestamp(BatteryCCValues.level.endpoint(this.endpointIndex));\n return (lastUpdated == undefined\n // The specs say once per month, but that's a bit too unfrequent IMO\n // Also the maximum that setInterval supports is ~24.85 days\n || Date.now() - lastUpdated > timespan.days(7));\n }\n}\n// @publicAPI\nexport type BatteryCCReportOptions = {\n level: number | \"low\";\n} & AllOrNone<{\n // V2+\n chargingStatus: BatteryChargingStatus;\n rechargeable: boolean;\n backup: boolean;\n overheating: boolean;\n lowFluid: boolean;\n rechargeOrReplace: BatteryReplacementStatus;\n disconnected: boolean;\n}> & AllOrNone<{\n // V3+\n lowTemperatureStatus: boolean;\n}>;\n@CCCommand(BatteryCommand.Report)\n@ccValueProperty(\"level\", BatteryCCValues.level)\n@ccValueProperty(\"chargingStatus\", BatteryCCValues.chargingStatus)\n@ccValueProperty(\"rechargeable\", BatteryCCValues.rechargeable)\n@ccValueProperty(\"backup\", BatteryCCValues.backup)\n@ccValueProperty(\"overheating\", BatteryCCValues.overheating)\n@ccValueProperty(\"lowFluid\", BatteryCCValues.lowFluid)\n@ccValueProperty(\"rechargeOrReplace\", BatteryCCValues.rechargeOrReplace)\n@ccValueProperty(\"disconnected\", BatteryCCValues.disconnected)\n@ccValueProperty(\"lowTemperatureStatus\", BatteryCCValues.lowTemperatureStatus)\nexport class BatteryCCReport extends BatteryCC {\n public constructor(options: WithAddress<BatteryCCReportOptions>) {\n super(options);\n this.level = typeof options.level === \"number\" ? options.level : 0xff;\n this.chargingStatus = options.chargingStatus;\n this.rechargeable = options.rechargeable;\n this.backup = options.backup;\n this.overheating = options.overheating;\n this.lowFluid = options.lowFluid;\n this.rechargeOrReplace = options.rechargeOrReplace;\n this.disconnected = options.disconnected;\n this.lowTemperatureStatus = options.lowTemperatureStatus;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BatteryCCReport {\n let ccOptions: BatteryCCReportOptions;\n validatePayload(raw.payload.length >= 1);\n const level = raw.payload[0];\n validatePayload.withReason(`Invalid battery level ${level}`)(\n // This field MUST be in the range 0x00..0x64 or set to 0xFF\n level <= 100 || level === 0xff);\n ccOptions = {\n level,\n };\n if (raw.payload.length >= 3) {\n // Starting with V2\n const chargingStatus: BatteryChargingStatus = raw.payload[1] >>> 6;\n const rechargeable = !!(raw.payload[1] & 32);\n const backup = !!(raw.payload[1] & 16);\n const overheating = !!(raw.payload[1] & 0b1000);\n const lowFluid = !!(raw.payload[1] & 0b0100);\n const rechargeOrReplace: BatteryReplacementStatus = !!(raw.payload[1] & 0b10)\n ? BatteryReplacementStatus.Now\n : !!(raw.payload[1] & 0b1)\n ? BatteryReplacementStatus.Soon\n : BatteryReplacementStatus.No;\n const lowTemperatureStatus = !!(raw.payload[2] & 0b10);\n const disconnected = !!(raw.payload[2] & 0b1);\n ccOptions = {\n ...ccOptions,\n chargingStatus,\n rechargeable,\n backup,\n overheating,\n lowFluid,\n rechargeOrReplace,\n lowTemperatureStatus,\n disconnected,\n };\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n ...ccOptions,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n // Setting the values to undefined is a bit hacky, but we need to avoid persisting\n // them in these special cases, and I don't like copy-pasting what persistValues does.\n if (this.disconnected) {\n // Level and chargingStatus are meaningless when disconnected.\n // Suppress persisting them, then remove any previously stored values.\n const savedLevel = this.level;\n const savedChargingStatus = this.chargingStatus;\n // @ts-expect-error\n this.level = undefined;\n // @ts-expect-error\n this.chargingStatus = undefined;\n const ret = super.persistValues(ctx);\n // Add the values back to the CC instance, so they can be evaluated downstream if needed\n // @ts-expect-error\n this.level = savedLevel;\n // @ts-expect-error\n this.chargingStatus = savedChargingStatus;\n this.removeValue(ctx, BatteryCCValues.level);\n this.removeValue(ctx, BatteryCCValues.chargingStatus);\n return ret;\n }\n else if (this.level === 0xff) {\n // 0xff is a \"low battery\" notification, not an actual level\n // @ts-expect-error\n this.level = undefined;\n const ret = super.persistValues(ctx);\n // Add the value back to the CC instance, so it can be evaluated downstream if needed\n // @ts-expect-error\n this.level = 0xff;\n return ret;\n }\n // Default behavior for all other cases\n if (!super.persistValues(ctx))\n return false;\n // Na\u00EFve heuristic for a full battery\n if (this.level >= 90) {\n // Some devices send Notification CC Reports with battery information,\n // or this information is mapped from legacy V1 alarm values.\n // We may need to idle the corresponding values when the battery is full\n const notificationCCVersion = ctx.getSupportedCCVersion(CommandClasses.Notification, this.nodeId as number, this.endpointIndex);\n if (\n // supported\n notificationCCVersion > 0\n // but idling is not required\n && notificationCCVersion < 8) {\n const batteryLevelStatusValue = NotificationCCValues\n .notificationVariable(\"Power Management\", \"Battery level status\");\n // If not undefined and not idle\n if (this.getValue(ctx, batteryLevelStatusValue)) {\n this.setValue(ctx, batteryLevelStatusValue, 0);\n }\n }\n }\n return true;\n }\n public readonly level: number;\n public readonly chargingStatus: BatteryChargingStatus | undefined;\n public readonly rechargeable: boolean | undefined;\n public readonly backup: boolean | undefined;\n public readonly overheating: boolean | undefined;\n public readonly lowFluid: boolean | undefined;\n public readonly rechargeOrReplace: BatteryReplacementStatus | undefined;\n public readonly disconnected: boolean | undefined;\n public readonly lowTemperatureStatus: boolean | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.disconnected\n // CC:0080.02.03.11.010\n // If this field is set to 1, the Battery Level field MUST\n // be set to 0x00.\n ? 0\n : this.level,\n ]);\n if (this.chargingStatus != undefined) {\n this.payload = Bytes.concat([\n this.payload,\n [\n (this.chargingStatus << 6)\n + (this.rechargeable ? 32 : 0)\n + (this.backup ? 16 : 0)\n + (this.overheating ? 0b1000 : 0)\n + (this.lowFluid ? 0b0100 : 0)\n + (this.rechargeOrReplace === BatteryReplacementStatus.Now\n ? 0b10\n : this.rechargeOrReplace\n === BatteryReplacementStatus.Soon\n ? 0b1\n : 0),\n (this.lowTemperatureStatus ? 0b10 : 0)\n + (this.disconnected ? 0b1 : 0),\n ],\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.disconnected) {\n message.disconnected = true;\n }\n else if (this.level === 0xff) {\n message[\"is low\"] = true;\n }\n else {\n message.level = this.level;\n }\n if (!this.disconnected && this.chargingStatus != undefined) {\n message[\"charging status\"] = getEnumMemberName(BatteryChargingStatus, this.chargingStatus);\n }\n if (this.rechargeable != undefined) {\n message.rechargeable = this.rechargeable;\n }\n if (this.backup != undefined) {\n message.backup = this.backup;\n }\n if (this.overheating != undefined) {\n message.overheating = this.overheating;\n }\n if (this.lowFluid != undefined) {\n message[\"low fluid\"] = this.lowFluid;\n }\n if (this.rechargeOrReplace != undefined) {\n message[\"recharge or replace\"] = getEnumMemberName(BatteryReplacementStatus, this.rechargeOrReplace);\n }\n if (this.lowTemperatureStatus != undefined) {\n message.lowTemperatureStatus = this.lowTemperatureStatus;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(BatteryCommand.Get)\n@expectedCCResponse(BatteryCCReport)\nexport class BatteryCCGet extends BatteryCC {\n}\n// @publicAPI\nexport interface BatteryCCHealthReportOptions {\n maximumCapacity?: number;\n temperature?: number;\n temperatureScale?: number;\n}\n@CCCommand(BatteryCommand.HealthReport)\n@ccValueProperty(\"maximumCapacity\", BatteryCCValues.maximumCapacity)\n@ccValueProperty(\"temperature\", BatteryCCValues.temperature)\nexport class BatteryCCHealthReport extends BatteryCC {\n public constructor(options: WithAddress<BatteryCCHealthReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.maximumCapacity = options.maximumCapacity;\n this.temperature = options.temperature;\n this.temperatureScale = options.temperatureScale;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BatteryCCHealthReport {\n validatePayload(raw.payload.length >= 2);\n // Parse maximum capacity. 0xff means unknown\n let maximumCapacity: number | undefined = raw.payload[0];\n if (maximumCapacity === 0xff)\n maximumCapacity = undefined;\n const { value: temperature, scale: temperatureScale, } = parseFloatWithScale(raw.payload.subarray(1), true);\n return new this({\n nodeId: ctx.sourceNodeId,\n maximumCapacity,\n temperature,\n temperatureScale,\n });\n }\n public readonly maximumCapacity: number | undefined;\n public readonly temperature: number | undefined;\n private readonly temperatureScale: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const temperature = this.temperature != undefined\n ? encodeFloatWithScale(this.temperature, this.temperatureScale ?? 0x00)\n // size, precision and scale must be 0 if the temperature is omitted\n : Bytes.from([0x00]);\n this.payload = Bytes.concat([\n [this.maximumCapacity ?? 0xff],\n temperature,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n temperature: this.temperature != undefined\n ? this.temperature\n : \"unknown\",\n \"max capacity\": this.maximumCapacity != undefined\n ? `${this.maximumCapacity} %`\n : \"unknown\",\n },\n };\n }\n}\n@CCCommand(BatteryCommand.HealthGet)\n@expectedCCResponse(BatteryCCHealthReport)\nexport class BatteryCCHealthGet extends BatteryCC {\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type SinglecastCC, type SupportsCC, ValueMetadata, type WithAddress, encodeFloatWithScale, enumValuesToMetadataStates, parseFloatWithScale, timespan, validatePayload, } from \"@zwave-js/core\";\nimport { type AllOrNone, Bytes, getEnumMemberName, pick, } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, throwUnsupportedProperty, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { BatteryChargingStatus, BatteryCommand, BatteryReplacementStatus, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { NotificationCCValues } from \"./NotificationCC.js\";\nimport { BatteryCCValues } from \"./_CCValues.generated.js\";\nexport { BatteryCCValues };\n// @noSetValueAPI This CC is read-only\n@API(CommandClasses.Battery)\nexport class BatteryCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: BatteryCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case BatteryCommand.Get:\n return true; // This is mandatory\n case BatteryCommand.HealthGet:\n return this.version >= 2;\n }\n return super.supportsCommand(cmd);\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: BatteryCCAPI, { property }) {\n switch (property) {\n case \"level\":\n case \"chargingStatus\":\n case \"rechargeable\":\n case \"backup\":\n case \"overheating\":\n case \"lowFluid\":\n case \"rechargeOrReplace\":\n case \"lowTemperatureStatus\":\n case \"disconnected\":\n return (await this.get())?.[property];\n case \"maximumCapacity\":\n case \"temperature\":\n return (await this.getHealth())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(BatteryCommand, BatteryCommand.Get);\n const cc = new BatteryCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<BatteryCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"level\",\n \"chargingStatus\",\n \"rechargeable\",\n \"backup\",\n \"overheating\",\n \"lowFluid\",\n \"rechargeOrReplace\",\n \"lowTemperatureStatus\",\n \"disconnected\",\n ]);\n }\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getHealth() {\n this.assertSupportsCommand(BatteryCommand, BatteryCommand.HealthGet);\n const cc = new BatteryCCHealthGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<BatteryCCHealthReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"maximumCapacity\", \"temperature\"]);\n }\n }\n}\n@commandClass(CommandClasses.Battery)\n@implementedVersion(3)\n@ccValues(BatteryCCValues)\nexport class BatteryCC extends CommandClass {\n declare ccCommand: BatteryCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // Query the Battery status\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Battery, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying battery status...\",\n direction: \"outbound\",\n });\n const batteryStatus = await api.get();\n if (batteryStatus) {\n let logMessage = \"received response for battery information:\";\n if (batteryStatus.disconnected) {\n logMessage += `\nis disconnected: true`;\n }\n else {\n logMessage += `\nlevel: ${batteryStatus.level === 0xff\n ? \"low\"\n : (batteryStatus.level + \" %\")}`;\n }\n if (api.version >= 2) {\n if (!batteryStatus.disconnected) {\n logMessage += `\nstatus: ${BatteryChargingStatus[batteryStatus.chargingStatus!]}`;\n }\n logMessage += `\nrechargeable: ${batteryStatus.rechargeable}\nis backup: ${batteryStatus.backup}\nis overheating: ${batteryStatus.overheating}\nfluid is low: ${batteryStatus.lowFluid}\nneeds to be replaced or charged: ${BatteryReplacementStatus[batteryStatus.rechargeOrReplace!]}\nis low temperature ${batteryStatus.lowTemperatureStatus}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n if (api.version >= 2) {\n // always query the health\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying battery health...\",\n direction: \"outbound\",\n });\n const batteryHealth = await api.getHealth();\n if (batteryHealth) {\n const logMessage = `received response for battery health:\nmax. capacity: ${batteryHealth.maximumCapacity} %\ntemperature: ${batteryHealth.temperature} \u00B0C`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n public shouldRefreshValues(this: SinglecastCC<this>, ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): boolean {\n // Check when the battery state was last updated\n const valueDB = ctx.tryGetValueDB(this.nodeId);\n if (!valueDB)\n return true;\n const lastUpdated = valueDB.getTimestamp(BatteryCCValues.level.endpoint(this.endpointIndex));\n return (lastUpdated == undefined\n // The specs say once per month, but that's a bit too unfrequent IMO\n // Also the maximum that setInterval supports is ~24.85 days\n || Date.now() - lastUpdated > timespan.days(7));\n }\n}\n// @publicAPI\nexport type BatteryCCReportOptions = {\n level: number | \"low\";\n} & AllOrNone<{\n // V2+\n chargingStatus: BatteryChargingStatus;\n rechargeable: boolean;\n backup: boolean;\n overheating: boolean;\n lowFluid: boolean;\n rechargeOrReplace: BatteryReplacementStatus;\n disconnected: boolean;\n}> & AllOrNone<{\n // V3+\n lowTemperatureStatus: boolean;\n}>;\n@CCCommand(BatteryCommand.Report)\n@ccValueProperty(\"level\", BatteryCCValues.level)\n@ccValueProperty(\"chargingStatus\", BatteryCCValues.chargingStatus)\n@ccValueProperty(\"rechargeable\", BatteryCCValues.rechargeable)\n@ccValueProperty(\"backup\", BatteryCCValues.backup)\n@ccValueProperty(\"overheating\", BatteryCCValues.overheating)\n@ccValueProperty(\"lowFluid\", BatteryCCValues.lowFluid)\n@ccValueProperty(\"rechargeOrReplace\", BatteryCCValues.rechargeOrReplace)\n@ccValueProperty(\"disconnected\", BatteryCCValues.disconnected)\n@ccValueProperty(\"lowTemperatureStatus\", BatteryCCValues.lowTemperatureStatus)\nexport class BatteryCCReport extends BatteryCC {\n public constructor(options: WithAddress<BatteryCCReportOptions>) {\n super(options);\n this.level = typeof options.level === \"number\" ? options.level : 0xff;\n this.chargingStatus = options.chargingStatus;\n this.rechargeable = options.rechargeable;\n this.backup = options.backup;\n this.overheating = options.overheating;\n this.lowFluid = options.lowFluid;\n this.rechargeOrReplace = options.rechargeOrReplace;\n this.disconnected = options.disconnected;\n this.lowTemperatureStatus = options.lowTemperatureStatus;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BatteryCCReport {\n let ccOptions: BatteryCCReportOptions;\n validatePayload(raw.payload.length >= 1);\n const level = raw.payload[0];\n validatePayload.withReason(`Invalid battery level ${level}`)(\n // This field MUST be in the range 0x00..0x64 or set to 0xFF\n level <= 100 || level === 0xff);\n ccOptions = {\n level,\n };\n if (raw.payload.length >= 3) {\n // Starting with V2\n const chargingStatus: BatteryChargingStatus = raw.payload[1] >>> 6;\n const rechargeable = !!(raw.payload[1] & 32);\n const backup = !!(raw.payload[1] & 16);\n const overheating = !!(raw.payload[1] & 0b1000);\n const lowFluid = !!(raw.payload[1] & 0b0100);\n const rechargeOrReplace: BatteryReplacementStatus = !!(raw.payload[1] & 0b10)\n ? BatteryReplacementStatus.Now\n : !!(raw.payload[1] & 0b1)\n ? BatteryReplacementStatus.Soon\n : BatteryReplacementStatus.No;\n const lowTemperatureStatus = !!(raw.payload[2] & 0b10);\n const disconnected = !!(raw.payload[2] & 0b1);\n ccOptions = {\n ...ccOptions,\n chargingStatus,\n rechargeable,\n backup,\n overheating,\n lowFluid,\n rechargeOrReplace,\n lowTemperatureStatus,\n disconnected,\n };\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n ...ccOptions,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n // Setting the values to undefined is a bit hacky, but we need to avoid persisting\n // them in these special cases, and I don't like copy-pasting what persistValues does.\n if (this.disconnected) {\n // Level and chargingStatus are meaningless when disconnected.\n // Suppress persisting them, then remove any previously stored values.\n const savedLevel = this.level;\n const savedChargingStatus = this.chargingStatus;\n // @ts-expect-error\n this.level = undefined;\n // @ts-expect-error\n this.chargingStatus = undefined;\n const ret = super.persistValues(ctx);\n // Add the values back to the CC instance, so they can be evaluated downstream if needed\n // @ts-expect-error\n this.level = savedLevel;\n // @ts-expect-error\n this.chargingStatus = savedChargingStatus;\n this.removeValue(ctx, BatteryCCValues.level);\n this.removeValue(ctx, BatteryCCValues.chargingStatus);\n return ret;\n }\n else if (this.level === 0xff) {\n // 0xff is a \"low battery\" notification, not an actual level\n // @ts-expect-error\n this.level = undefined;\n const ret = super.persistValues(ctx);\n // Add the value back to the CC instance, so it can be evaluated downstream if needed\n // @ts-expect-error\n this.level = 0xff;\n return ret;\n }\n // Default behavior for all other cases\n if (!super.persistValues(ctx))\n return false;\n // Na\u00EFve heuristic for a full battery\n if (this.level >= 90) {\n // Some devices send Notification CC Reports with battery information,\n // or this information is mapped from legacy V1 alarm values.\n // We may need to idle the corresponding values when the battery is full\n const notificationCCVersion = ctx.getSupportedCCVersion(CommandClasses.Notification, this.nodeId as number, this.endpointIndex);\n if (\n // supported\n notificationCCVersion > 0\n // but idling is not required\n && notificationCCVersion < 8) {\n const batteryLevelStatusValue = NotificationCCValues\n .notificationVariable(\"Power Management\", \"Battery level status\");\n // If not undefined and not idle\n if (this.getValue(ctx, batteryLevelStatusValue)) {\n this.setValue(ctx, batteryLevelStatusValue, 0);\n }\n }\n }\n return true;\n }\n public readonly level: number;\n public readonly chargingStatus: BatteryChargingStatus | undefined;\n public readonly rechargeable: boolean | undefined;\n public readonly backup: boolean | undefined;\n public readonly overheating: boolean | undefined;\n public readonly lowFluid: boolean | undefined;\n public readonly rechargeOrReplace: BatteryReplacementStatus | undefined;\n public readonly disconnected: boolean | undefined;\n public readonly lowTemperatureStatus: boolean | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.disconnected\n // CC:0080.02.03.11.010\n // If this field is set to 1, the Battery Level field MUST\n // be set to 0x00.\n ? 0\n : this.level,\n ]);\n if (this.chargingStatus != undefined) {\n this.payload = Bytes.concat([\n this.payload,\n [\n (this.chargingStatus << 6)\n + (this.rechargeable ? 32 : 0)\n + (this.backup ? 16 : 0)\n + (this.overheating ? 0b1000 : 0)\n + (this.lowFluid ? 0b0100 : 0)\n + (this.rechargeOrReplace === BatteryReplacementStatus.Now\n ? 0b10\n : this.rechargeOrReplace\n === BatteryReplacementStatus.Soon\n ? 0b1\n : 0),\n (this.lowTemperatureStatus ? 0b10 : 0)\n + (this.disconnected ? 0b1 : 0),\n ],\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.disconnected) {\n message.disconnected = true;\n }\n else if (this.level === 0xff) {\n message[\"is low\"] = true;\n }\n else {\n message.level = this.level;\n }\n if (!this.disconnected && this.chargingStatus != undefined) {\n message[\"charging status\"] = getEnumMemberName(BatteryChargingStatus, this.chargingStatus);\n }\n if (this.rechargeable != undefined) {\n message.rechargeable = this.rechargeable;\n }\n if (this.backup != undefined) {\n message.backup = this.backup;\n }\n if (this.overheating != undefined) {\n message.overheating = this.overheating;\n }\n if (this.lowFluid != undefined) {\n message[\"low fluid\"] = this.lowFluid;\n }\n if (this.rechargeOrReplace != undefined) {\n message[\"recharge or replace\"] = getEnumMemberName(BatteryReplacementStatus, this.rechargeOrReplace);\n }\n if (this.lowTemperatureStatus != undefined) {\n message.lowTemperatureStatus = this.lowTemperatureStatus;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(BatteryCommand.Get)\n@expectedCCResponse(BatteryCCReport)\nexport class BatteryCCGet extends BatteryCC {\n}\n// @publicAPI\nexport interface BatteryCCHealthReportOptions {\n maximumCapacity?: number;\n temperature?: number;\n temperatureScale?: number;\n}\n@CCCommand(BatteryCommand.HealthReport)\n@ccValueProperty(\"maximumCapacity\", BatteryCCValues.maximumCapacity)\n@ccValueProperty(\"temperature\", BatteryCCValues.temperature)\nexport class BatteryCCHealthReport extends BatteryCC {\n public constructor(options: WithAddress<BatteryCCHealthReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.maximumCapacity = options.maximumCapacity;\n this.temperature = options.temperature;\n this.temperatureScale = options.temperatureScale;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): BatteryCCHealthReport {\n validatePayload(raw.payload.length >= 2);\n // Parse maximum capacity. 0xff means unknown\n let maximumCapacity: number | undefined = raw.payload[0];\n if (maximumCapacity === 0xff)\n maximumCapacity = undefined;\n const { value: temperature, scale: temperatureScale, } = parseFloatWithScale(raw.payload.subarray(1), true);\n return new this({\n nodeId: ctx.sourceNodeId,\n maximumCapacity,\n temperature,\n temperatureScale,\n });\n }\n public readonly maximumCapacity: number | undefined;\n public readonly temperature: number | undefined;\n private readonly temperatureScale: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const temperature = this.temperature != undefined\n ? encodeFloatWithScale(this.temperature, this.temperatureScale ?? 0x00)\n // size, precision and scale must be 0 if the temperature is omitted\n : Bytes.from([0x00]);\n this.payload = Bytes.concat([\n [this.maximumCapacity ?? 0xff],\n temperature,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n temperature: this.temperature != undefined\n ? this.temperature\n : \"unknown\",\n \"max capacity\": this.maximumCapacity != undefined\n ? `${this.maximumCapacity} %`\n : \"unknown\",\n },\n };\n }\n}\n@CCCommand(BatteryCommand.HealthGet)\n@expectedCCResponse(BatteryCCHealthReport)\nexport class BatteryCCHealthGet extends BatteryCC {\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }