@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/MultilevelSensorCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./MultilevelSensorCC._validateArgs.js\";\nconst { validateArgs_MultilevelSensorCCAPI_get, validateArgs_MultilevelSensorCCAPI_getSupportedScales, validateArgs_MultilevelSensorCCAPI_sendReport } = __validateArgs;\nimport type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type LogNode, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type Scale, type SinglecastCC, type SupervisionResult, type SupportsCC, type ValueID, ValueMetadata, type WithAddress, encodeBitMask, encodeFloatWithScale, getSensor, getSensorName, getSensorScale, getUnknownScale, parseBitMask, parseFloatWithScale, timespan, validatePayload, } from \"@zwave-js/core\";\nimport { type AllOrNone, Bytes, num2hex } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, throwUnsupportedProperty, } from \"../lib/API.js\";\nimport { type CCRaw, type CCResponsePredicate, 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 { MultilevelSensorCommand, type MultilevelSensorValue, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport type { GetUserPreferences } from \"../lib/traits.js\";\nimport { MultilevelSensorCCValues } from \"./_CCValues.generated.js\";\nexport { MultilevelSensorCCValues };\n/**\n * Determine the scale to use to query a sensor reading. Uses the user-preferred scale if given,\n * followed by the most recently used scale, otherwile falls back to the first supported one.\n */\nfunction getPreferredSensorScale(ctx: GetValueDB & GetUserPreferences & LogNode, nodeId: number, endpointIndex: number, sensorType: number, supportedScales: readonly number[]): number {\n const preferences = ctx.getUserPreferences();\n const sensor = getSensor(sensorType);\n // If the sensor type is unknown, we have no default. Use the user-provided scale or 0\n if (!sensor) {\n const preferred = preferences?.scales[sensorType];\n // We cannot look up strings for unknown sensor types, so this must be a number or we use the fallback\n if (typeof preferred !== \"number\")\n return 0;\n return preferred;\n }\n // Look up the preference for the scale\n let preferred: number | string | undefined;\n // Named scales apply to multiple sensor types. To be able to override the scale for single types\n // we need to look at the preferences by sensor type first\n preferred = preferences?.scales[sensorType];\n // If the scale is named, we can then try to use the named preference\n const scaleGroupName = sensor.scaleGroupName;\n if (preferred == undefined && scaleGroupName) {\n preferred = preferences?.scales[scaleGroupName];\n }\n // Then attempt reading the scale from the corresponding value\n if (preferred == undefined) {\n const sensorName = getSensorName(sensorType);\n const sensorValue = MultilevelSensorCCValues.value(sensorName);\n const metadata = ctx\n .tryGetValueDB(nodeId)\n ?.getMetadata(sensorValue.endpoint(endpointIndex));\n const scale = metadata?.ccSpecific?.scale;\n if (typeof scale === \"number\" && supportedScales.includes(scale)) {\n preferred = scale;\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `No scale preference for sensor type ${sensorType}, using the last-used scale ${preferred}`,\n });\n }\n }\n // Then fall back to the first supported scale\n if (preferred == undefined) {\n preferred = supportedScales[0] ?? 0;\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `No scale preference for sensor type ${sensorType}, using the first supported scale ${preferred}`,\n });\n return preferred;\n }\n // If the scale name or unit was given, try to look it up\n if (typeof preferred === \"string\") {\n for (const [key, scale] of Object.entries(sensor.scales)) {\n if (scale.label === preferred || scale.unit === preferred) {\n preferred = parseInt(key, 10);\n break;\n }\n }\n }\n if (typeof preferred === \"string\") {\n // Looking up failed\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `Preferred scale \"${preferred}\" for sensor type ${sensorType} not found, using the first supported scale ${supportedScales[0] ?? 0}`,\n });\n return supportedScales[0] ?? 0;\n }\n // We have a numeric scale key, nothing to look up. Make sure it is supported though\n if (!supportedScales.length) {\n // No info about supported scales, just use the preferred one\n return preferred;\n }\n else if (!supportedScales.includes(preferred)) {\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `Preferred scale ${preferred} not supported for sensor type ${sensorType}, using the first supported scale`,\n });\n return supportedScales[0];\n }\n else {\n return preferred;\n }\n}\n// @noSetValueAPI This CC is read-only\n@API(CommandClasses[\"Multilevel Sensor\"])\nexport class MultilevelSensorCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: MultilevelSensorCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case MultilevelSensorCommand.Get:\n case MultilevelSensorCommand.Report:\n return true; // This is mandatory\n case MultilevelSensorCommand.GetSupportedSensor:\n case MultilevelSensorCommand.GetSupportedScale:\n return this.version >= 5;\n }\n return super.supportsCommand(cmd);\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: MultilevelSensorCCAPI, { property }) {\n // Look up the necessary information\n const valueId: ValueID = {\n commandClass: CommandClasses[\"Multilevel Sensor\"],\n endpoint: this.endpoint.index,\n property,\n };\n const ccSpecific = this.tryGetValueDB()?.getMetadata(valueId)\n ?.ccSpecific;\n if (!ccSpecific) {\n throwUnsupportedProperty(this.ccId, property);\n }\n const { sensorType, scale } = ccSpecific;\n return this.get(sensorType, scale);\n };\n }\n /** Query the default sensor value */\n public async get(): Promise<MaybeNotKnown<MultilevelSensorValue & {\n type: number;\n }>>;\n /** Query the sensor value for the given sensor type using the preferred sensor scale */\n public async get(sensorType: number): Promise<MaybeNotKnown<MultilevelSensorValue>>;\n /** Query the sensor value for the given sensor type using the given sensor scale */\n public async get(sensorType: number, scale: number): Promise<MaybeNotKnown<number>>;\n @validateArgs_MultilevelSensorCCAPI_get()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get(sensorType?: number, scale?: number) {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.Get);\n // Figure out the preferred scale if none was given\n let preferredScale: number | undefined;\n if (sensorType != undefined && scale == undefined) {\n const supportedScales: readonly number[] = this.tryGetValueDB()?.getValue({\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property: \"supportedScales\",\n propertyKey: sensorType,\n }) ?? [];\n preferredScale = getPreferredSensorScale(this.host, this.endpoint.nodeId, this.endpoint.index, sensorType, supportedScales);\n }\n const cc = new MultilevelSensorCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n sensorType: sensorType!,\n scale: (scale ?? preferredScale)!,\n });\n const response = await this.host.sendCommand<MultilevelSensorCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n const responseScale = getSensorScale(response.type, response.scale);\n if (sensorType == undefined) {\n // Overload #1: return the full response\n return {\n type: response.type,\n value: response.value,\n scale: responseScale,\n };\n }\n else if (scale == undefined) {\n // Overload #2: return value and scale\n return {\n value: response.value,\n scale: responseScale,\n };\n }\n else {\n // Overload #3: return only the value\n return response.value;\n }\n }\n public async getSupportedSensorTypes(): Promise<MaybeNotKnown<readonly number[]>> {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.GetSupportedSensor);\n const cc = new MultilevelSensorCCGetSupportedSensor({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<MultilevelSensorCCSupportedSensorReport>(cc, this.commandOptions);\n return response?.supportedSensorTypes;\n }\n @validateArgs_MultilevelSensorCCAPI_getSupportedScales()\n public async getSupportedScales(sensorType: number): Promise<MaybeNotKnown<readonly number[]>> {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.GetSupportedScale);\n const cc = new MultilevelSensorCCGetSupportedScale({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n sensorType,\n });\n const response = await this.host.sendCommand<MultilevelSensorCCSupportedScaleReport>(cc, this.commandOptions);\n return response?.supportedScales;\n }\n @validateArgs_MultilevelSensorCCAPI_sendReport()\n public async sendReport(sensorType: number, scale: number | Scale, value: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.Report);\n const cc = new MultilevelSensorCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n type: sensorType,\n scale,\n value,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Multilevel Sensor\"])\n@implementedVersion(11)\n@ccValues(MultilevelSensorCCValues)\nexport class MultilevelSensorCC extends CommandClass {\n declare ccCommand: MultilevelSensorCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Multilevel Sensor\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n if (api.version >= 5) {\n // Query the supported sensor types\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving supported sensor types...\",\n direction: \"outbound\",\n });\n const sensorTypes = await api.getSupportedSensorTypes();\n if (sensorTypes) {\n const logMessage = \"received supported sensor types:\\n\"\n + sensorTypes\n .map((t) => getSensorName(t))\n .map((name) => `\u00B7 ${name}`)\n .join(\"\\n\");\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported sensor types timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n // As well as the supported scales for each sensor\n for (const type of sensorTypes) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying supported scales for ${getSensorName(type)} sensor`,\n direction: \"outbound\",\n });\n const sensorScales = await api.getSupportedScales(type);\n if (sensorScales) {\n const logMessage = \"received supported scales:\\n\"\n + sensorScales\n .map((s) => (getSensorScale(type, s)\n ?? getUnknownScale(s)).label)\n .map((name) => `\u00B7 ${name}`)\n .join(\"\\n\");\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported scales timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n }\n }\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[\"Multilevel Sensor\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n const valueDB = this.getValueDB(ctx);\n if (api.version <= 4) {\n // Sensors up to V4 only support a single value\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying current sensor reading...\",\n direction: \"outbound\",\n });\n const mlsResponse = await api.get();\n if (mlsResponse) {\n const sensorScale = getSensorScale(mlsResponse.type, mlsResponse.scale.key);\n const logMessage = `received current sensor reading:\nsensor type: ${getSensorName(mlsResponse.type)}\nvalue: ${mlsResponse.value}${sensorScale?.unit ? ` ${sensorScale.unit}` : \"\"}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n else {\n // Query all sensor values\n const sensorTypes: readonly number[] = valueDB.getValue({\n commandClass: this.ccId,\n property: \"supportedSensorTypes\",\n endpoint: this.endpointIndex,\n }) || [];\n for (const type of sensorTypes) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying ${getSensorName(type)} sensor reading...`,\n direction: \"outbound\",\n });\n const value = await api.get(type);\n if (value) {\n const logMessage = `received current ${getSensorName(type)} sensor reading: ${value.value} ${value.scale.unit || \"\"}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n }\n public shouldRefreshValues(this: SinglecastCC<this>, ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): boolean {\n // Poll the device when all of the supported values were last updated longer than 6 hours ago.\n // This may lead to some values not being updated, but the user may have disabled some unnecessary\n // reports to reduce traffic.\n const valueDB = ctx.tryGetValueDB(this.nodeId);\n if (!valueDB)\n return true;\n const values = this.getDefinedValueIDs(ctx).filter((v) => MultilevelSensorCCValues.value.is(v));\n return values.every((v) => {\n const lastUpdated = valueDB.getTimestamp(v);\n return (lastUpdated == undefined\n || Date.now() - lastUpdated > timespan.hours(6));\n });\n }\n /**\n * Returns which sensor types are supported.\n * This only works AFTER the interview process\n */\n public static getSupportedSensorTypesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultilevelSensorCCValues.supportedSensorTypes.endpoint(endpoint.index));\n }\n /**\n * Returns which scales are supported for a given sensor type.\n * This only works AFTER the interview process\n */\n public static getSupportedScalesCached(ctx: GetValueDB, endpoint: EndpointId, sensorType: number): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultilevelSensorCCValues.supportedScales(sensorType).endpoint(endpoint.index));\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n // TODO: check this\n if (property === \"values\" && typeof propertyKey === \"number\") {\n const sensor = getSensor(propertyKey);\n if (sensor)\n return sensor.label;\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n}\n// @publicAPI\nexport interface MultilevelSensorCCReportOptions {\n type: number;\n scale: number | Scale;\n value: number;\n}\n@CCCommand(MultilevelSensorCommand.Report)\n@useSupervision()\nexport class MultilevelSensorCCReport extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCReportOptions>) {\n super(options);\n this.type = options.type;\n this.value = options.value;\n this.scale = typeof options.scale === \"number\"\n ? options.scale\n : options.scale.key;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCReport {\n validatePayload(raw.payload.length >= 1);\n const type = raw.payload[0];\n // parseFloatWithScale does its own validation\n const { value, scale } = parseFloatWithScale(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n value,\n scale,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n const sensor = getSensor(this.type);\n const scale = getSensorScale(this.type, this.scale) ?? getUnknownScale(this.scale);\n // Filter out unknown sensor types and scales, unless the strict validation is disabled\n const measurementValidation = !ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.disableStrictMeasurementValidation;\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (measurementValidation) {\n // Filter out unsupported sensor types and scales if possible\n if (ccVersion >= 5) {\n const supportedSensorTypes = this.getValue<number[]>(ctx, MultilevelSensorCCValues.supportedSensorTypes);\n if (supportedSensorTypes?.length) {\n validatePayload.withReason(`Unsupported sensor type ${getSensorName(this.type)} or corrupted data`)(supportedSensorTypes.includes(this.type));\n }\n const supportedScales = this.getValue<number[]>(ctx, MultilevelSensorCCValues.supportedScales(this.type));\n if (supportedScales?.length) {\n validatePayload.withReason(`Unsupported scale ${scale.label} or corrupted data`)(supportedScales.includes(scale.key));\n }\n }\n else {\n // We support a higher CC version than the device, so any types and scales it uses should be known to us\n // Filter out unknown ones.\n validatePayload.withReason(`Unknown sensor type ${num2hex(this.type)} or corrupted data`)(!!sensor);\n validatePayload.withReason(`Unknown scale ${num2hex(this.scale)} or corrupted data`)(scale.label !== getUnknownScale(this.scale).label);\n }\n }\n const sensorName = getSensorName(this.type);\n const sensorValue = MultilevelSensorCCValues.value(sensorName);\n this.setMetadata(ctx, sensorValue, {\n ...sensorValue.meta,\n unit: scale.unit,\n ccSpecific: {\n sensorType: this.type,\n scale: scale.key,\n },\n });\n this.setValue(ctx, sensorValue, this.value);\n return true;\n }\n public type: number;\n public scale: number;\n public value: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.type],\n encodeFloatWithScale(this.value, this.scale),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"sensor type\": getSensorName(this.type),\n scale: (getSensorScale(this.type, this.scale)\n ?? getUnknownScale(this.scale)).label,\n value: this.value,\n },\n };\n }\n}\nconst testResponseForMultilevelSensorGet: CCResponsePredicate<MultilevelSensorCCGet, MultilevelSensorCCReport> = (sent, received) => {\n // We expect a Multilevel Sensor Report that matches the requested sensor type (if a type was requested)\n return sent.sensorType == undefined || received.type === sent.sensorType;\n};\n// These options are supported starting in V5\n// @publicAPI\nexport type MultilevelSensorCCGetOptions = AllOrNone<{\n sensorType: number;\n scale: number;\n}>;\n@CCCommand(MultilevelSensorCommand.Get)\n@expectedCCResponse(MultilevelSensorCCReport, testResponseForMultilevelSensorGet)\nexport class MultilevelSensorCCGet extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCGetOptions>) {\n super(options);\n if (\"sensorType\" in options) {\n this.sensorType = options.sensorType;\n this.scale = options.scale;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCGet {\n if (raw.payload.length >= 2) {\n const sensorType = raw.payload[0];\n const scale = (raw.payload[1] >> 3) & 0b11;\n return new this({\n nodeId: ctx.sourceNodeId,\n sensorType,\n scale,\n });\n }\n else {\n return new this({\n nodeId: ctx.sourceNodeId,\n });\n }\n }\n public sensorType: number | undefined;\n public scale: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.sensorType != undefined\n && this.scale != undefined) {\n this.payload = Bytes.from([\n this.sensorType,\n (this.scale & 0b11) << 3,\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n let message: MessageRecord = {};\n if (this.sensorType != undefined\n && this.scale != undefined) {\n message = {\n \"sensor type\": getSensorName(this.sensorType),\n scale: (getSensorScale(this.sensorType, this.scale) ?? getUnknownScale(this.scale)).label,\n };\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface MultilevelSensorCCSupportedSensorReportOptions {\n supportedSensorTypes: readonly number[];\n}\n@CCCommand(MultilevelSensorCommand.SupportedSensorReport)\n@ccValueProperty(\"supportedSensorTypes\", MultilevelSensorCCValues.supportedSensorTypes)\nexport class MultilevelSensorCCSupportedSensorReport extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCSupportedSensorReportOptions>) {\n super(options);\n this.supportedSensorTypes = options.supportedSensorTypes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCSupportedSensorReport {\n validatePayload(raw.payload.length >= 1);\n const supportedSensorTypes = parseBitMask(raw.payload);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedSensorTypes,\n });\n }\n // TODO: Use this during interview to precreate values\n public supportedSensorTypes: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeBitMask(this.supportedSensorTypes);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported sensor types\": this.supportedSensorTypes\n .map((t) => `\\n\u00B7 ${getSensorName(t)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(MultilevelSensorCommand.GetSupportedSensor)\n@expectedCCResponse(MultilevelSensorCCSupportedSensorReport)\nexport class MultilevelSensorCCGetSupportedSensor extends MultilevelSensorCC {\n}\n// @publicAPI\nexport interface MultilevelSensorCCSupportedScaleReportOptions {\n sensorType: number;\n supportedScales: readonly number[];\n}\n@CCCommand(MultilevelSensorCommand.SupportedScaleReport)\n@ccValueProperty(\"supportedScales\", MultilevelSensorCCValues.supportedScales, (self) => [self.sensorType])\nexport class MultilevelSensorCCSupportedScaleReport extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCSupportedScaleReportOptions>) {\n super(options);\n this.sensorType = options.sensorType;\n this.supportedScales = options.supportedScales;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCSupportedScaleReport {\n validatePayload(raw.payload.length >= 2);\n const sensorType = raw.payload[0];\n const supportedScales = parseBitMask(Bytes.from([raw.payload[1] & 0b1111]), 0);\n return new this({\n nodeId: ctx.sourceNodeId,\n sensorType,\n supportedScales,\n });\n }\n public readonly sensorType: number;\n public readonly supportedScales: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.sensorType],\n encodeBitMask(this.supportedScales, 4, 0),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"sensor type\": getSensorName(this.sensorType),\n \"supported scales\": this.supportedScales\n .map((s) => `\\n\u00B7 ${(getSensorScale(this.sensorType, s)\n ?? getUnknownScale(s)).label}`)\n .join(\"\"),\n },\n };\n }\n}\n// @publicAPI\nexport interface MultilevelSensorCCGetSupportedScaleOptions {\n sensorType: number;\n}\n@CCCommand(MultilevelSensorCommand.GetSupportedScale)\n@expectedCCResponse(MultilevelSensorCCSupportedScaleReport)\nexport class MultilevelSensorCCGetSupportedScale extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCGetSupportedScaleOptions>) {\n super(options);\n this.sensorType = options.sensorType;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCGetSupportedScale {\n validatePayload(raw.payload.length >= 1);\n const sensorType = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n sensorType,\n });\n }\n public sensorType: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sensorType]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"sensor type\": getSensorName(this.sensorType),\n },\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./MultilevelSensorCC._validateArgs.js\";\nconst { validateArgs_MultilevelSensorCCAPI_get, validateArgs_MultilevelSensorCCAPI_getSupportedScales, validateArgs_MultilevelSensorCCAPI_sendReport } = __validateArgs;\nimport type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, type EndpointId, type GetEndpoint, type GetNode, type GetSupportedCCVersion, type GetValueDB, type LogNode, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type Scale, type SinglecastCC, type SupervisionResult, type SupportsCC, type ValueID, ValueMetadata, type WithAddress, encodeBitMask, encodeFloatWithScale, getSensor, getSensorName, getSensorScale, getUnknownScale, parseBitMask, parseFloatWithScale, timespan, validatePayload, } from \"@zwave-js/core\";\nimport { type AllOrNone, Bytes, num2hex } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, throwUnsupportedProperty, } from \"../lib/API.js\";\nimport { type CCRaw, type CCResponsePredicate, 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 { MultilevelSensorCommand, type MultilevelSensorValue, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport type { GetUserPreferences } from \"../lib/traits.js\";\nimport { MultilevelSensorCCValues } from \"./_CCValues.generated.js\";\nexport { MultilevelSensorCCValues };\n/**\n * Determine the scale to use to query a sensor reading. Uses the user-preferred scale if given,\n * followed by the most recently used scale, otherwile falls back to the first supported one.\n */\nfunction getPreferredSensorScale(ctx: GetValueDB & GetUserPreferences & LogNode, nodeId: number, endpointIndex: number, sensorType: number, supportedScales: readonly number[]): number {\n const preferences = ctx.getUserPreferences();\n const sensor = getSensor(sensorType);\n // If the sensor type is unknown, we have no default. Use the user-provided scale or 0\n if (!sensor) {\n const preferred = preferences?.scales[sensorType];\n // We cannot look up strings for unknown sensor types, so this must be a number or we use the fallback\n if (typeof preferred !== \"number\")\n return 0;\n return preferred;\n }\n // Look up the preference for the scale\n let preferred: number | string | undefined;\n // Named scales apply to multiple sensor types. To be able to override the scale for single types\n // we need to look at the preferences by sensor type first\n preferred = preferences?.scales[sensorType];\n // If the scale is named, we can then try to use the named preference\n const scaleGroupName = sensor.scaleGroupName;\n if (preferred == undefined && scaleGroupName) {\n preferred = preferences?.scales[scaleGroupName];\n }\n // Then attempt reading the scale from the corresponding value\n if (preferred == undefined) {\n const sensorName = getSensorName(sensorType);\n const sensorValue = MultilevelSensorCCValues.value(sensorName);\n const metadata = ctx\n .tryGetValueDB(nodeId)\n ?.getMetadata(sensorValue.endpoint(endpointIndex));\n const scale = metadata?.ccSpecific?.scale;\n if (typeof scale === \"number\" && supportedScales.includes(scale)) {\n preferred = scale;\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `No scale preference for sensor type ${sensorType}, using the last-used scale ${preferred}`,\n });\n }\n }\n // Then fall back to the first supported scale\n if (preferred == undefined) {\n preferred = supportedScales[0] ?? 0;\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `No scale preference for sensor type ${sensorType}, using the first supported scale ${preferred}`,\n });\n return preferred;\n }\n // If the scale name or unit was given, try to look it up\n if (typeof preferred === \"string\") {\n for (const [key, scale] of Object.entries(sensor.scales)) {\n if (scale.label === preferred || scale.unit === preferred) {\n preferred = parseInt(key, 10);\n break;\n }\n }\n }\n if (typeof preferred === \"string\") {\n // Looking up failed\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `Preferred scale \"${preferred}\" for sensor type ${sensorType} not found, using the first supported scale ${supportedScales[0] ?? 0}`,\n });\n return supportedScales[0] ?? 0;\n }\n // We have a numeric scale key, nothing to look up. Make sure it is supported though\n if (!supportedScales.length) {\n // No info about supported scales, just use the preferred one\n return preferred;\n }\n else if (!supportedScales.includes(preferred)) {\n ctx.logNode(nodeId, {\n endpoint: endpointIndex,\n message: `Preferred scale ${preferred} not supported for sensor type ${sensorType}, using the first supported scale`,\n });\n return supportedScales[0];\n }\n else {\n return preferred;\n }\n}\n// @noSetValueAPI This CC is read-only\n@API(CommandClasses[\"Multilevel Sensor\"])\nexport class MultilevelSensorCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: MultilevelSensorCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case MultilevelSensorCommand.Get:\n case MultilevelSensorCommand.Report:\n return true; // This is mandatory\n case MultilevelSensorCommand.GetSupportedSensor:\n case MultilevelSensorCommand.GetSupportedScale:\n return this.version >= 5;\n }\n return super.supportsCommand(cmd);\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: MultilevelSensorCCAPI, { property }) {\n // Look up the necessary information\n const valueId: ValueID = {\n commandClass: CommandClasses[\"Multilevel Sensor\"],\n endpoint: this.endpoint.index,\n property,\n };\n const ccSpecific = this.tryGetValueDB()?.getMetadata(valueId)\n ?.ccSpecific;\n if (!ccSpecific) {\n throwUnsupportedProperty(this.ccId, property);\n }\n const { sensorType, scale } = ccSpecific;\n return this.get(sensorType, scale);\n };\n }\n /** Query the default sensor value */\n public async get(): Promise<MaybeNotKnown<MultilevelSensorValue & {\n type: number;\n }>>;\n /** Query the sensor value for the given sensor type using the preferred sensor scale */\n public async get(sensorType: number): Promise<MaybeNotKnown<MultilevelSensorValue>>;\n /** Query the sensor value for the given sensor type using the given sensor scale */\n public async get(sensorType: number, scale: number): Promise<MaybeNotKnown<number>>;\n @validateArgs_MultilevelSensorCCAPI_get()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get(sensorType?: number, scale?: number) {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.Get);\n // Figure out the preferred scale if none was given\n let preferredScale: number | undefined;\n if (sensorType != undefined && scale == undefined) {\n const supportedScales: readonly number[] = this.tryGetValueDB()?.getValue({\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property: \"supportedScales\",\n propertyKey: sensorType,\n }) ?? [];\n preferredScale = getPreferredSensorScale(this.host, this.endpoint.nodeId, this.endpoint.index, sensorType, supportedScales);\n }\n const cc = new MultilevelSensorCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n sensorType: sensorType!,\n scale: (scale ?? preferredScale)!,\n });\n const response = await this.host.sendCommand<MultilevelSensorCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n const responseScale = getSensorScale(response.type, response.scale);\n if (sensorType == undefined) {\n // Overload #1: return the full response\n return {\n type: response.type,\n value: response.value,\n scale: responseScale,\n };\n }\n else if (scale == undefined) {\n // Overload #2: return value and scale\n return {\n value: response.value,\n scale: responseScale,\n };\n }\n else {\n // Overload #3: return only the value\n return response.value;\n }\n }\n public async getSupportedSensorTypes(): Promise<MaybeNotKnown<readonly number[]>> {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.GetSupportedSensor);\n const cc = new MultilevelSensorCCGetSupportedSensor({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<MultilevelSensorCCSupportedSensorReport>(cc, this.commandOptions);\n return response?.supportedSensorTypes;\n }\n @validateArgs_MultilevelSensorCCAPI_getSupportedScales()\n public async getSupportedScales(sensorType: number): Promise<MaybeNotKnown<readonly number[]>> {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.GetSupportedScale);\n const cc = new MultilevelSensorCCGetSupportedScale({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n sensorType,\n });\n const response = await this.host.sendCommand<MultilevelSensorCCSupportedScaleReport>(cc, this.commandOptions);\n return response?.supportedScales;\n }\n @validateArgs_MultilevelSensorCCAPI_sendReport()\n public async sendReport(sensorType: number, scale: number | Scale, value: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(MultilevelSensorCommand, MultilevelSensorCommand.Report);\n const cc = new MultilevelSensorCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n type: sensorType,\n scale,\n value,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Multilevel Sensor\"])\n@implementedVersion(11)\n@ccValues(MultilevelSensorCCValues)\nexport class MultilevelSensorCC extends CommandClass {\n declare ccCommand: MultilevelSensorCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Multilevel Sensor\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n if (api.version >= 5) {\n // Query the supported sensor types\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving supported sensor types...\",\n direction: \"outbound\",\n });\n const sensorTypes = await api.getSupportedSensorTypes();\n if (sensorTypes) {\n const logMessage = \"received supported sensor types:\\n\"\n + sensorTypes\n .map((t) => getSensorName(t))\n .map((name) => `\u00B7 ${name}`)\n .join(\"\\n\");\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported sensor types timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n // As well as the supported scales for each sensor\n for (const type of sensorTypes) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying supported scales for ${getSensorName(type)} sensor`,\n direction: \"outbound\",\n });\n const sensorScales = await api.getSupportedScales(type);\n if (sensorScales) {\n const logMessage = \"received supported scales:\\n\"\n + sensorScales\n .map((s) => (getSensorScale(type, s)\n ?? getUnknownScale(s)).label)\n .map((name) => `\u00B7 ${name}`)\n .join(\"\\n\");\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported scales timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n }\n }\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[\"Multilevel Sensor\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n const valueDB = this.getValueDB(ctx);\n if (api.version <= 4) {\n // Sensors up to V4 only support a single value\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying current sensor reading...\",\n direction: \"outbound\",\n });\n const mlsResponse = await api.get();\n if (mlsResponse) {\n const sensorScale = getSensorScale(mlsResponse.type, mlsResponse.scale.key);\n const logMessage = `received current sensor reading:\nsensor type: ${getSensorName(mlsResponse.type)}\nvalue: ${mlsResponse.value}${sensorScale?.unit ? ` ${sensorScale.unit}` : \"\"}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n else {\n // Query all sensor values\n const sensorTypes: readonly number[] = valueDB.getValue({\n commandClass: this.ccId,\n property: \"supportedSensorTypes\",\n endpoint: this.endpointIndex,\n }) || [];\n for (const type of sensorTypes) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying ${getSensorName(type)} sensor reading...`,\n direction: \"outbound\",\n });\n const value = await api.get(type);\n if (value) {\n const logMessage = `received current ${getSensorName(type)} sensor reading: ${value.value} ${value.scale.unit || \"\"}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n }\n public shouldRefreshValues(this: SinglecastCC<this>, ctx: GetValueDB & GetSupportedCCVersion & GetDeviceConfig & GetNode<NodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>>): boolean {\n // Poll the device when all of the supported values were last updated longer than 6 hours ago.\n // This may lead to some values not being updated, but the user may have disabled some unnecessary\n // reports to reduce traffic.\n const valueDB = ctx.tryGetValueDB(this.nodeId);\n if (!valueDB)\n return true;\n const values = this.getDefinedValueIDs(ctx).filter((v) => MultilevelSensorCCValues.value.is(v));\n return values.every((v) => {\n const lastUpdated = valueDB.getTimestamp(v);\n return (lastUpdated == undefined\n || Date.now() - lastUpdated > timespan.hours(6));\n });\n }\n /**\n * Returns which sensor types are supported.\n * This only works AFTER the interview process\n */\n public static getSupportedSensorTypesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultilevelSensorCCValues.supportedSensorTypes.endpoint(endpoint.index));\n }\n /**\n * Returns which scales are supported for a given sensor type.\n * This only works AFTER the interview process\n */\n public static getSupportedScalesCached(ctx: GetValueDB, endpoint: EndpointId, sensorType: number): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultilevelSensorCCValues.supportedScales(sensorType).endpoint(endpoint.index));\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n // TODO: check this\n if (property === \"values\" && typeof propertyKey === \"number\") {\n const sensor = getSensor(propertyKey);\n if (sensor)\n return sensor.label;\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n}\n// @publicAPI\nexport interface MultilevelSensorCCReportOptions {\n type: number;\n scale: number | Scale;\n value: number;\n}\n@CCCommand(MultilevelSensorCommand.Report)\n@useSupervision()\nexport class MultilevelSensorCCReport extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCReportOptions>) {\n super(options);\n this.type = options.type;\n this.value = options.value;\n this.scale = typeof options.scale === \"number\"\n ? options.scale\n : options.scale.key;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCReport {\n validatePayload(raw.payload.length >= 1);\n const type = raw.payload[0];\n // parseFloatWithScale does its own validation\n const { value, scale } = parseFloatWithScale(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n value,\n scale,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n const sensor = getSensor(this.type);\n const scale = getSensorScale(this.type, this.scale) ?? getUnknownScale(this.scale);\n // Filter out unknown sensor types and scales, unless the strict validation is disabled\n const measurementValidation = !ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.disableStrictMeasurementValidation;\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (measurementValidation) {\n // Filter out unsupported sensor types and scales if possible\n if (ccVersion >= 5) {\n const supportedSensorTypes = this.getValue<number[]>(ctx, MultilevelSensorCCValues.supportedSensorTypes);\n if (supportedSensorTypes?.length) {\n validatePayload.withReason(`Unsupported sensor type ${getSensorName(this.type)} or corrupted data`)(supportedSensorTypes.includes(this.type));\n }\n const supportedScales = this.getValue<number[]>(ctx, MultilevelSensorCCValues.supportedScales(this.type));\n if (supportedScales?.length) {\n validatePayload.withReason(`Unsupported scale ${scale.label} or corrupted data`)(supportedScales.includes(scale.key));\n }\n }\n else {\n // We support a higher CC version than the device, so any types and scales it uses should be known to us\n // Filter out unknown ones.\n validatePayload.withReason(`Unknown sensor type ${num2hex(this.type)} or corrupted data`)(!!sensor);\n validatePayload.withReason(`Unknown scale ${num2hex(this.scale)} or corrupted data`)(scale.label !== getUnknownScale(this.scale).label);\n }\n }\n const sensorName = getSensorName(this.type);\n const sensorValue = MultilevelSensorCCValues.value(sensorName);\n this.setMetadata(ctx, sensorValue, {\n ...sensorValue.meta,\n unit: scale.unit,\n ccSpecific: {\n sensorType: this.type,\n scale: scale.key,\n },\n });\n this.setValue(ctx, sensorValue, this.value);\n return true;\n }\n public type: number;\n public scale: number;\n public value: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.type],\n encodeFloatWithScale(this.value, this.scale),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"sensor type\": getSensorName(this.type),\n scale: (getSensorScale(this.type, this.scale)\n ?? getUnknownScale(this.scale)).label,\n value: this.value,\n },\n };\n }\n}\nconst testResponseForMultilevelSensorGet: CCResponsePredicate<MultilevelSensorCCGet, MultilevelSensorCCReport> = (sent, received) => {\n // We expect a Multilevel Sensor Report that matches the requested sensor type (if a type was requested)\n return sent.sensorType == undefined || received.type === sent.sensorType;\n};\n// These options are supported starting in V5\n// @publicAPI\nexport type MultilevelSensorCCGetOptions = AllOrNone<{\n sensorType: number;\n scale: number;\n}>;\n@CCCommand(MultilevelSensorCommand.Get)\n@expectedCCResponse(MultilevelSensorCCReport, testResponseForMultilevelSensorGet)\nexport class MultilevelSensorCCGet extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCGetOptions>) {\n super(options);\n if (\"sensorType\" in options) {\n this.sensorType = options.sensorType;\n this.scale = options.scale;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCGet {\n if (raw.payload.length >= 2) {\n const sensorType = raw.payload[0];\n const scale = (raw.payload[1] >> 3) & 0b11;\n return new this({\n nodeId: ctx.sourceNodeId,\n sensorType,\n scale,\n });\n }\n else {\n return new this({\n nodeId: ctx.sourceNodeId,\n });\n }\n }\n public sensorType: number | undefined;\n public scale: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.sensorType != undefined\n && this.scale != undefined) {\n this.payload = Bytes.from([\n this.sensorType,\n (this.scale & 0b11) << 3,\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n let message: MessageRecord = {};\n if (this.sensorType != undefined\n && this.scale != undefined) {\n message = {\n \"sensor type\": getSensorName(this.sensorType),\n scale: (getSensorScale(this.sensorType, this.scale) ?? getUnknownScale(this.scale)).label,\n };\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface MultilevelSensorCCSupportedSensorReportOptions {\n supportedSensorTypes: readonly number[];\n}\n@CCCommand(MultilevelSensorCommand.SupportedSensorReport)\n@ccValueProperty(\"supportedSensorTypes\", MultilevelSensorCCValues.supportedSensorTypes)\nexport class MultilevelSensorCCSupportedSensorReport extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCSupportedSensorReportOptions>) {\n super(options);\n this.supportedSensorTypes = options.supportedSensorTypes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCSupportedSensorReport {\n validatePayload(raw.payload.length >= 1);\n const supportedSensorTypes = parseBitMask(raw.payload);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedSensorTypes,\n });\n }\n // TODO: Use this during interview to precreate values\n public supportedSensorTypes: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeBitMask(this.supportedSensorTypes);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported sensor types\": this.supportedSensorTypes\n .map((t) => `\\n\u00B7 ${getSensorName(t)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(MultilevelSensorCommand.GetSupportedSensor)\n@expectedCCResponse(MultilevelSensorCCSupportedSensorReport)\nexport class MultilevelSensorCCGetSupportedSensor extends MultilevelSensorCC {\n}\n// @publicAPI\nexport interface MultilevelSensorCCSupportedScaleReportOptions {\n sensorType: number;\n supportedScales: readonly number[];\n}\n@CCCommand(MultilevelSensorCommand.SupportedScaleReport)\n@ccValueProperty(\"supportedScales\", MultilevelSensorCCValues.supportedScales, (self) => [self.sensorType])\nexport class MultilevelSensorCCSupportedScaleReport extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCSupportedScaleReportOptions>) {\n super(options);\n this.sensorType = options.sensorType;\n this.supportedScales = options.supportedScales;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCSupportedScaleReport {\n validatePayload(raw.payload.length >= 2);\n const sensorType = raw.payload[0];\n const supportedScales = parseBitMask(Bytes.from([raw.payload[1] & 0b1111]), 0);\n return new this({\n nodeId: ctx.sourceNodeId,\n sensorType,\n supportedScales,\n });\n }\n public readonly sensorType: number;\n public readonly supportedScales: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.sensorType],\n encodeBitMask(this.supportedScales, 4, 0),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"sensor type\": getSensorName(this.sensorType),\n \"supported scales\": this.supportedScales\n .map((s) => `\\n\u00B7 ${(getSensorScale(this.sensorType, s)\n ?? getUnknownScale(s)).label}`)\n .join(\"\"),\n },\n };\n }\n}\n// @publicAPI\nexport interface MultilevelSensorCCGetSupportedScaleOptions {\n sensorType: number;\n}\n@CCCommand(MultilevelSensorCommand.GetSupportedScale)\n@expectedCCResponse(MultilevelSensorCCSupportedScaleReport)\nexport class MultilevelSensorCCGetSupportedScale extends MultilevelSensorCC {\n public constructor(options: WithAddress<MultilevelSensorCCGetSupportedScaleOptions>) {\n super(options);\n this.sensorType = options.sensorType;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultilevelSensorCCGetSupportedScale {\n validatePayload(raw.payload.length >= 1);\n const sensorType = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n sensorType,\n });\n }\n public sensorType: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sensorType]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"sensor type\": getSensorName(this.sensorType),\n },\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["preferred"]
7
7
  }
@@ -1,3 +1,3 @@
1
- export declare function validateArgs_MultilevelSwitchCCAPI_set(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
2
- export declare function validateArgs_MultilevelSwitchCCAPI_startLevelChange(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
1
+ export declare function validateArgs_MultilevelSwitchCCAPI_set(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
2
+ export declare function validateArgs_MultilevelSwitchCCAPI_startLevelChange(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
3
3
  //# sourceMappingURL=MultilevelSwitchCC._validateArgs.d.ts.map
@@ -1,14 +1,14 @@
1
1
  import { Duration, type GetValueDB, type MaybeNotKnown, type MaybeUnknown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core";
2
2
  import { Bytes } from "@zwave-js/shared";
3
3
  import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory } from "../lib/API.js";
4
- import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext } from "../lib/CommandClass.js";
4
+ import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
5
5
  import { LevelChangeDirection, MultilevelSwitchCommand, SwitchType } from "../lib/_Types.js";
6
6
  import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
7
7
  import { MultilevelSwitchCCValues } from "./_CCValues.generated.js";
8
8
  export { MultilevelSwitchCCValues };
9
9
  export declare class MultilevelSwitchCCAPI extends CCAPI {
10
10
  supportsCommand(cmd: MultilevelSwitchCommand): MaybeNotKnown<boolean>;
11
- get(): Promise<Pick<MultilevelSwitchCCReport, "duration" | "currentValue" | "targetValue"> | undefined>;
11
+ get(): Promise<Pick<MultilevelSwitchCCReport, "currentValue" | "duration" | "targetValue"> | undefined>;
12
12
  /**
13
13
  * Sets the switch to a new value
14
14
  * @param targetValue The new target value for the switch
@@ -26,7 +26,7 @@ export declare class MultilevelSwitchCCAPI extends CCAPI {
26
26
  export declare class MultilevelSwitchCC extends CommandClass {
27
27
  ccCommand: MultilevelSwitchCommand;
28
28
  interview(ctx: InterviewContext): Promise<void>;
29
- refreshValues(ctx: RefreshValuesContext): Promise<void>;
29
+ refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void>;
30
30
  setMappedBasicValue(ctx: GetValueDB, value: number): boolean;
31
31
  protected createMetadataForLevelChangeActions(ctx: GetValueDB, switchType?: SwitchType): void;
32
32
  }
@@ -41,6 +41,7 @@ __export(MultilevelSwitchCC_exports, {
41
41
  MultilevelSwitchCCValues: () => import_CCValues_generated.MultilevelSwitchCCValues
42
42
  });
43
43
  module.exports = __toCommonJS(MultilevelSwitchCC_exports);
44
+ var import_tslib = require("tslib");
44
45
  var __validateArgs = __toESM(require("./MultilevelSwitchCC._validateArgs.js"), 1);
45
46
  var import_core = require("@zwave-js/core");
46
47
  var import_shared = require("@zwave-js/shared");
@@ -51,46 +52,6 @@ var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
51
52
  var import_Types = require("../lib/_Types.js");
52
53
  var import_WindowCoveringCC = require("./WindowCoveringCC.js");
53
54
  var import_CCValues_generated = require("./_CCValues.generated.js");
54
- var __runInitializers = function(thisArg, initializers, value) {
55
- var useValue = arguments.length > 2;
56
- for (var i = 0; i < initializers.length; i++) {
57
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
58
- }
59
- return useValue ? value : void 0;
60
- };
61
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
62
- function accept(f) {
63
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
64
- return f;
65
- }
66
- __name(accept, "accept");
67
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
68
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
69
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
70
- var _, done = false;
71
- for (var i = decorators.length - 1; i >= 0; i--) {
72
- var context = {};
73
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
74
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
75
- context.addInitializer = function(f) {
76
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
77
- extraInitializers.push(accept(f || null));
78
- };
79
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
80
- if (kind === "accessor") {
81
- if (result === void 0) continue;
82
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
83
- if (_ = accept(result.get)) descriptor.get = _;
84
- if (_ = accept(result.set)) descriptor.set = _;
85
- if (_ = accept(result.init)) initializers.unshift(_);
86
- } else if (_ = accept(result)) {
87
- if (kind === "field") initializers.unshift(_);
88
- else descriptor[key] = _;
89
- }
90
- }
91
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
92
- done = true;
93
- };
94
55
  const { validateArgs_MultilevelSwitchCCAPI_set, validateArgs_MultilevelSwitchCCAPI_startLevelChange } = __validateArgs;
95
56
  let MultilevelSwitchCCAPI = (() => {
96
57
  let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses["Multilevel Switch"])];
@@ -110,12 +71,12 @@ let MultilevelSwitchCCAPI = (() => {
110
71
  }
111
72
  static {
112
73
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
113
- __esDecorate(this, null, _set_decorators, { kind: "method", name: "set", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "set" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.set, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
114
- __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);
115
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
74
+ (0, import_tslib.__esDecorate)(this, null, _set_decorators, { kind: "method", name: "set", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "set" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.set, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ (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);
76
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
116
77
  MultilevelSwitchCCAPI2 = _classThis = _classDescriptor.value;
117
78
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
118
- __runInitializers(_classThis, _classExtraInitializers);
79
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
119
80
  }
120
81
  supportsCommand(cmd) {
121
82
  switch (cmd) {
@@ -219,7 +180,7 @@ let MultilevelSwitchCCAPI = (() => {
219
180
  }
220
181
  };
221
182
  }
222
- [import_API.SET_VALUE_HOOKS] = (__runInitializers(this, _instanceExtraInitializers), ({ property }, value, options) => {
183
+ [import_API.SET_VALUE_HOOKS] = ((0, import_tslib.__runInitializers)(this, _instanceExtraInitializers), ({ property }, value, options) => {
223
184
  if (property === "restorePrevious") {
224
185
  property = "targetValue";
225
186
  value = 255;
@@ -228,6 +189,8 @@ let MultilevelSwitchCCAPI = (() => {
228
189
  const duration = import_core.Duration.from(options?.transitionDuration);
229
190
  const currentValueValueId = import_CCValues_generated.MultilevelSwitchCCValues.currentValue.endpoint(this.endpoint.index);
230
191
  return {
192
+ // This is the target value for a split target/current state pair.
193
+ isSplitStateTargetValue: true,
231
194
  // Multilevel Switch commands may take some time to be executed.
232
195
  // Therefore we try to supervise the command execution and delay the
233
196
  // optimistic update until the final result is received.
@@ -317,10 +280,10 @@ let MultilevelSwitchCC = (() => {
317
280
  }
318
281
  static {
319
282
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
320
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
283
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
321
284
  MultilevelSwitchCC2 = _classThis = _classDescriptor.value;
322
285
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
323
- __runInitializers(_classThis, _classExtraInitializers);
286
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
324
287
  }
325
288
  async interview(ctx) {
326
289
  const node = this.getNode(ctx);
@@ -353,11 +316,11 @@ let MultilevelSwitchCC = (() => {
353
316
  await this.refreshValues(ctx);
354
317
  this.setInterviewComplete(ctx, true);
355
318
  }
356
- async refreshValues(ctx) {
319
+ async refreshValues(ctx, options) {
357
320
  const node = this.getNode(ctx);
358
321
  const endpoint = this.getEndpoint(ctx);
359
322
  const api = import_API.CCAPI.create(import_core.CommandClasses["Multilevel Switch"], ctx, endpoint).withOptions({
360
- priority: import_core.MessagePriority.NodeQuery
323
+ priority: options?.priority ?? import_core.MessagePriority.NodeQuery
361
324
  });
362
325
  ctx.logNode(node.id, {
363
326
  endpoint: this.endpointIndex,
@@ -392,10 +355,10 @@ let MultilevelSwitchCCSet = (() => {
392
355
  }
393
356
  static {
394
357
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
395
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
358
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
396
359
  MultilevelSwitchCCSet2 = _classThis = _classDescriptor.value;
397
360
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
398
- __runInitializers(_classThis, _classExtraInitializers);
361
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
399
362
  }
400
363
  constructor(options) {
401
364
  super(options);
@@ -458,10 +421,10 @@ let MultilevelSwitchCCReport = (() => {
458
421
  }
459
422
  static {
460
423
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
461
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
424
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
462
425
  MultilevelSwitchCCReport2 = _classThis = _classDescriptor.value;
463
426
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
464
- __runInitializers(_classThis, _classExtraInitializers);
427
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
465
428
  }
466
429
  constructor(options) {
467
430
  super(options);
@@ -563,10 +526,10 @@ let MultilevelSwitchCCGet = (() => {
563
526
  }
564
527
  static {
565
528
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
566
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
529
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
567
530
  MultilevelSwitchCCGet2 = _classThis = _classDescriptor.value;
568
531
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
569
- __runInitializers(_classThis, _classExtraInitializers);
532
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
570
533
  }
571
534
  };
572
535
  return MultilevelSwitchCCGet2 = _classThis;
@@ -586,10 +549,10 @@ let MultilevelSwitchCCStartLevelChange = (() => {
586
549
  }
587
550
  static {
588
551
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
589
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
552
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
590
553
  MultilevelSwitchCCStartLevelChange2 = _classThis = _classDescriptor.value;
591
554
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
592
- __runInitializers(_classThis, _classExtraInitializers);
555
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
593
556
  }
594
557
  constructor(options) {
595
558
  super(options);
@@ -663,10 +626,10 @@ let MultilevelSwitchCCStopLevelChange = (() => {
663
626
  }
664
627
  static {
665
628
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
666
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
629
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
667
630
  MultilevelSwitchCCStopLevelChange2 = _classThis = _classDescriptor.value;
668
631
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
669
- __runInitializers(_classThis, _classExtraInitializers);
632
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
670
633
  }
671
634
  };
672
635
  return MultilevelSwitchCCStopLevelChange2 = _classThis;
@@ -686,10 +649,10 @@ let MultilevelSwitchCCSupportedReport = (() => {
686
649
  }
687
650
  static {
688
651
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
689
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
652
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
690
653
  MultilevelSwitchCCSupportedReport2 = _classThis = _classDescriptor.value;
691
654
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
692
- __runInitializers(_classThis, _classExtraInitializers);
655
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
693
656
  }
694
657
  constructor(options) {
695
658
  super(options);
@@ -741,10 +704,10 @@ let MultilevelSwitchCCSupportedGet = (() => {
741
704
  }
742
705
  static {
743
706
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
744
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
707
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
745
708
  MultilevelSwitchCCSupportedGet2 = _classThis = _classDescriptor.value;
746
709
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
747
- __runInitializers(_classThis, _classExtraInitializers);
710
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
748
711
  }
749
712
  };
750
713
  return MultilevelSwitchCCSupportedGet2 = _classThis;