@zwave-js/cc 14.3.3 → 14.3.4

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 (627) hide show
  1. package/build/cjs/cc/AlarmSensorCC._validateArgs.d.ts +2 -0
  2. package/build/cjs/cc/AlarmSensorCC._validateArgs.js +51 -0
  3. package/build/cjs/cc/AlarmSensorCC._validateArgs.js.map +7 -0
  4. package/build/cjs/cc/AlarmSensorCC.js +48 -28
  5. package/build/cjs/cc/AlarmSensorCC.js.map +1 -1
  6. package/build/cjs/cc/AssociationCC._validateArgs.d.ts +9 -0
  7. package/build/cjs/cc/AssociationCC._validateArgs.js +142 -0
  8. package/build/cjs/cc/AssociationCC._validateArgs.js.map +7 -0
  9. package/build/cjs/cc/AssociationCC.js +70 -119
  10. package/build/cjs/cc/AssociationCC.js.map +1 -1
  11. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +7 -0
  12. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js +116 -0
  13. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js.map +7 -0
  14. package/build/cjs/cc/AssociationGroupInfoCC.js +68 -176
  15. package/build/cjs/cc/AssociationGroupInfoCC.js.map +1 -1
  16. package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +5 -0
  17. package/build/cjs/cc/BarrierOperatorCC._validateArgs.js +90 -0
  18. package/build/cjs/cc/BarrierOperatorCC._validateArgs.js.map +7 -0
  19. package/build/cjs/cc/BarrierOperatorCC.js +73 -60
  20. package/build/cjs/cc/BarrierOperatorCC.js.map +1 -1
  21. package/build/cjs/cc/BasicCC._validateArgs.d.ts +2 -0
  22. package/build/cjs/cc/BasicCC._validateArgs.js +51 -0
  23. package/build/cjs/cc/BasicCC._validateArgs.js.map +7 -0
  24. package/build/cjs/cc/BasicCC.js +48 -28
  25. package/build/cjs/cc/BasicCC.js.map +1 -1
  26. package/build/cjs/cc/BatteryCC.js +20 -0
  27. package/build/cjs/cc/BatteryCC.js.map +1 -1
  28. package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +4 -0
  29. package/build/cjs/cc/BinarySensorCC._validateArgs.js +77 -0
  30. package/build/cjs/cc/BinarySensorCC._validateArgs.js.map +7 -0
  31. package/build/cjs/cc/BinarySensorCC.js +54 -67
  32. package/build/cjs/cc/BinarySensorCC.js.map +1 -1
  33. package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +2 -0
  34. package/build/cjs/cc/BinarySwitchCC._validateArgs.js +52 -0
  35. package/build/cjs/cc/BinarySwitchCC._validateArgs.js.map +7 -0
  36. package/build/cjs/cc/BinarySwitchCC.js +46 -54
  37. package/build/cjs/cc/BinarySwitchCC.js.map +1 -1
  38. package/build/cjs/cc/CRC16CC.js +12 -0
  39. package/build/cjs/cc/CRC16CC.js.map +1 -1
  40. package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +2 -0
  41. package/build/cjs/cc/CentralSceneCC._validateArgs.js +51 -0
  42. package/build/cjs/cc/CentralSceneCC._validateArgs.js.map +7 -0
  43. package/build/cjs/cc/CentralSceneCC.js +43 -21
  44. package/build/cjs/cc/CentralSceneCC.js.map +1 -1
  45. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +4 -0
  46. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js +77 -0
  47. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js.map +7 -0
  48. package/build/cjs/cc/ClimateControlScheduleCC.js +65 -114
  49. package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
  50. package/build/cjs/cc/ClockCC._validateArgs.d.ts +2 -0
  51. package/build/cjs/cc/ClockCC._validateArgs.js +51 -0
  52. package/build/cjs/cc/ClockCC._validateArgs.js.map +7 -0
  53. package/build/cjs/cc/ClockCC.js +44 -36
  54. package/build/cjs/cc/ClockCC.js.map +1 -1
  55. package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +5 -0
  56. package/build/cjs/cc/ColorSwitchCC._validateArgs.js +91 -0
  57. package/build/cjs/cc/ColorSwitchCC._validateArgs.js.map +7 -0
  58. package/build/cjs/cc/ColorSwitchCC.js +65 -346
  59. package/build/cjs/cc/ColorSwitchCC.js.map +1 -1
  60. package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +10 -0
  61. package/build/cjs/cc/ConfigurationCC._validateArgs.js +155 -0
  62. package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +7 -0
  63. package/build/cjs/cc/ConfigurationCC.js +115 -395
  64. package/build/cjs/cc/ConfigurationCC.js.map +1 -1
  65. package/build/cjs/cc/DeviceResetLocallyCC.js +11 -0
  66. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  67. package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +3 -0
  68. package/build/cjs/cc/DoorLockCC._validateArgs.js +64 -0
  69. package/build/cjs/cc/DoorLockCC._validateArgs.js.map +7 -0
  70. package/build/cjs/cc/DoorLockCC.js +69 -161
  71. package/build/cjs/cc/DoorLockCC.js.map +1 -1
  72. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +2 -0
  73. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js +51 -0
  74. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js.map +7 -0
  75. package/build/cjs/cc/DoorLockLoggingCC.js +50 -28
  76. package/build/cjs/cc/DoorLockLoggingCC.js.map +1 -1
  77. package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +2 -0
  78. package/build/cjs/cc/EnergyProductionCC._validateArgs.js +51 -0
  79. package/build/cjs/cc/EnergyProductionCC._validateArgs.js.map +7 -0
  80. package/build/cjs/cc/EnergyProductionCC.js +42 -20
  81. package/build/cjs/cc/EnergyProductionCC.js.map +1 -1
  82. package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +2 -0
  83. package/build/cjs/cc/EntryControlCC._validateArgs.js +51 -0
  84. package/build/cjs/cc/EntryControlCC._validateArgs.js.map +7 -0
  85. package/build/cjs/cc/EntryControlCC.js +49 -22
  86. package/build/cjs/cc/EntryControlCC.js.map +1 -1
  87. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +5 -0
  88. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +90 -0
  89. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +7 -0
  90. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +77 -310
  91. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  92. package/build/cjs/cc/HailCC.js +5 -0
  93. package/build/cjs/cc/HailCC.js.map +1 -1
  94. package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +2 -0
  95. package/build/cjs/cc/HumidityControlModeCC._validateArgs.js +51 -0
  96. package/build/cjs/cc/HumidityControlModeCC._validateArgs.js.map +7 -0
  97. package/build/cjs/cc/HumidityControlModeCC.js +50 -20
  98. package/build/cjs/cc/HumidityControlModeCC.js.map +1 -1
  99. package/build/cjs/cc/HumidityControlOperatingStateCC.js +14 -0
  100. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +1 -1
  101. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +5 -0
  102. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js +90 -0
  103. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js.map +7 -0
  104. package/build/cjs/cc/HumidityControlSetpointCC.js +74 -25
  105. package/build/cjs/cc/HumidityControlSetpointCC.js.map +1 -1
  106. package/build/cjs/cc/InclusionControllerCC.js +14 -0
  107. package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
  108. package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +10 -0
  109. package/build/cjs/cc/IndicatorCC._validateArgs.js +155 -0
  110. package/build/cjs/cc/IndicatorCC._validateArgs.js.map +7 -0
  111. package/build/cjs/cc/IndicatorCC.js +87 -257
  112. package/build/cjs/cc/IndicatorCC.js.map +1 -1
  113. package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +11 -0
  114. package/build/cjs/cc/IrrigationCC._validateArgs.js +168 -0
  115. package/build/cjs/cc/IrrigationCC._validateArgs.js.map +7 -0
  116. package/build/cjs/cc/IrrigationCC.js +110 -215
  117. package/build/cjs/cc/IrrigationCC.js.map +1 -1
  118. package/build/cjs/cc/LanguageCC._validateArgs.d.ts +2 -0
  119. package/build/cjs/cc/LanguageCC._validateArgs.js +51 -0
  120. package/build/cjs/cc/LanguageCC._validateArgs.js.map +7 -0
  121. package/build/cjs/cc/LanguageCC.js +44 -35
  122. package/build/cjs/cc/LanguageCC.js.map +1 -1
  123. package/build/cjs/cc/LockCC._validateArgs.d.ts +2 -0
  124. package/build/cjs/cc/LockCC._validateArgs.js +51 -0
  125. package/build/cjs/cc/LockCC._validateArgs.js.map +7 -0
  126. package/build/cjs/cc/LockCC.js +44 -21
  127. package/build/cjs/cc/LockCC.js.map +1 -1
  128. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +3 -0
  129. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js +64 -0
  130. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js.map +7 -0
  131. package/build/cjs/cc/ManufacturerProprietaryCC.js +37 -37
  132. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +1 -1
  133. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +3 -0
  134. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js +64 -0
  135. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js.map +7 -0
  136. package/build/cjs/cc/ManufacturerSpecificCC.js +50 -50
  137. package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
  138. package/build/cjs/cc/MeterCC._validateArgs.d.ts +6 -0
  139. package/build/cjs/cc/MeterCC._validateArgs.js +103 -0
  140. package/build/cjs/cc/MeterCC._validateArgs.js.map +7 -0
  141. package/build/cjs/cc/MeterCC.js +72 -290
  142. package/build/cjs/cc/MeterCC.js.map +1 -1
  143. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +6 -0
  144. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js +103 -0
  145. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js.map +7 -0
  146. package/build/cjs/cc/MultiChannelAssociationCC.js +58 -321
  147. package/build/cjs/cc/MultiChannelAssociationCC.js.map +1 -1
  148. package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +5 -0
  149. package/build/cjs/cc/MultiChannelCC._validateArgs.js +90 -0
  150. package/build/cjs/cc/MultiChannelCC._validateArgs.js.map +7 -0
  151. package/build/cjs/cc/MultiChannelCC.js +89 -26
  152. package/build/cjs/cc/MultiChannelCC.js.map +1 -1
  153. package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +2 -0
  154. package/build/cjs/cc/MultiCommandCC._validateArgs.js +52 -0
  155. package/build/cjs/cc/MultiCommandCC._validateArgs.js.map +7 -0
  156. package/build/cjs/cc/MultiCommandCC.js +38 -30
  157. package/build/cjs/cc/MultiCommandCC.js.map +1 -1
  158. package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +4 -0
  159. package/build/cjs/cc/MultilevelSensorCC._validateArgs.js +77 -0
  160. package/build/cjs/cc/MultilevelSensorCC._validateArgs.js.map +7 -0
  161. package/build/cjs/cc/MultilevelSensorCC.js +62 -86
  162. package/build/cjs/cc/MultilevelSensorCC.js.map +1 -1
  163. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +3 -0
  164. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js +65 -0
  165. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js.map +7 -0
  166. package/build/cjs/cc/MultilevelSwitchCC.js +68 -185
  167. package/build/cjs/cc/MultilevelSwitchCC.js.map +1 -1
  168. package/build/cjs/cc/NoOperationCC.js +8 -0
  169. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  170. package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +3 -0
  171. package/build/cjs/cc/NodeNamingCC._validateArgs.js +64 -0
  172. package/build/cjs/cc/NodeNamingCC._validateArgs.js.map +7 -0
  173. package/build/cjs/cc/NodeNamingCC.js +57 -21
  174. package/build/cjs/cc/NodeNamingCC.js.map +1 -1
  175. package/build/cjs/cc/NotificationCC._validateArgs.d.ts +5 -0
  176. package/build/cjs/cc/NotificationCC._validateArgs.js +90 -0
  177. package/build/cjs/cc/NotificationCC._validateArgs.js.map +7 -0
  178. package/build/cjs/cc/NotificationCC.js +63 -125
  179. package/build/cjs/cc/NotificationCC.js.map +1 -1
  180. package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +5 -0
  181. package/build/cjs/cc/PowerlevelCC._validateArgs.js +90 -0
  182. package/build/cjs/cc/PowerlevelCC._validateArgs.js.map +7 -0
  183. package/build/cjs/cc/PowerlevelCC.js +62 -154
  184. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  185. package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +4 -0
  186. package/build/cjs/cc/ProtectionCC._validateArgs.js +78 -0
  187. package/build/cjs/cc/ProtectionCC._validateArgs.js.map +7 -0
  188. package/build/cjs/cc/ProtectionCC.js +74 -49
  189. package/build/cjs/cc/ProtectionCC.js.map +1 -1
  190. package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +2 -0
  191. package/build/cjs/cc/SceneActivationCC._validateArgs.js +52 -0
  192. package/build/cjs/cc/SceneActivationCC._validateArgs.js.map +7 -0
  193. package/build/cjs/cc/SceneActivationCC.js +38 -47
  194. package/build/cjs/cc/SceneActivationCC.js.map +1 -1
  195. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +3 -0
  196. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js +65 -0
  197. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js.map +7 -0
  198. package/build/cjs/cc/SceneActuatorConfigurationCC.js +48 -63
  199. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
  200. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +4 -0
  201. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js +78 -0
  202. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js.map +7 -0
  203. package/build/cjs/cc/SceneControllerConfigurationCC.js +51 -50
  204. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +1 -1
  205. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +9 -0
  206. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js +142 -0
  207. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js.map +7 -0
  208. package/build/cjs/cc/ScheduleEntryLockCC.js +110 -286
  209. package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
  210. package/build/cjs/cc/Security2CC.js +86 -14
  211. package/build/cjs/cc/Security2CC.js.map +1 -1
  212. package/build/cjs/cc/SecurityCC.js +46 -0
  213. package/build/cjs/cc/SecurityCC.js.map +1 -1
  214. package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +4 -0
  215. package/build/cjs/cc/SoundSwitchCC._validateArgs.js +77 -0
  216. package/build/cjs/cc/SoundSwitchCC._validateArgs.js.map +7 -0
  217. package/build/cjs/cc/SoundSwitchCC.js +71 -41
  218. package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
  219. package/build/cjs/cc/SupervisionCC.js +15 -0
  220. package/build/cjs/cc/SupervisionCC.js.map +1 -1
  221. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +2 -0
  222. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js +51 -0
  223. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js.map +7 -0
  224. package/build/cjs/cc/ThermostatFanModeCC.js +50 -35
  225. package/build/cjs/cc/ThermostatFanModeCC.js.map +1 -1
  226. package/build/cjs/cc/ThermostatFanStateCC.js +14 -0
  227. package/build/cjs/cc/ThermostatFanStateCC.js.map +1 -1
  228. package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +2 -0
  229. package/build/cjs/cc/ThermostatModeCC._validateArgs.js +51 -0
  230. package/build/cjs/cc/ThermostatModeCC._validateArgs.js.map +7 -0
  231. package/build/cjs/cc/ThermostatModeCC.js +50 -47
  232. package/build/cjs/cc/ThermostatModeCC.js.map +1 -1
  233. package/build/cjs/cc/ThermostatOperatingStateCC.js +14 -0
  234. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +1 -1
  235. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +2 -0
  236. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js +51 -0
  237. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js.map +7 -0
  238. package/build/cjs/cc/ThermostatSetbackCC.js +44 -45
  239. package/build/cjs/cc/ThermostatSetbackCC.js.map +1 -1
  240. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +4 -0
  241. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js +77 -0
  242. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js.map +7 -0
  243. package/build/cjs/cc/ThermostatSetpointCC.js +65 -24
  244. package/build/cjs/cc/ThermostatSetpointCC.js.map +1 -1
  245. package/build/cjs/cc/TimeCC._validateArgs.d.ts +5 -0
  246. package/build/cjs/cc/TimeCC._validateArgs.js +90 -0
  247. package/build/cjs/cc/TimeCC._validateArgs.js.map +7 -0
  248. package/build/cjs/cc/TimeCC.js +65 -73
  249. package/build/cjs/cc/TimeCC.js.map +1 -1
  250. package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +2 -0
  251. package/build/cjs/cc/TimeParametersCC._validateArgs.js +51 -0
  252. package/build/cjs/cc/TimeParametersCC._validateArgs.js.map +7 -0
  253. package/build/cjs/cc/TimeParametersCC.js +47 -28
  254. package/build/cjs/cc/TimeParametersCC.js.map +1 -1
  255. package/build/cjs/cc/TransportServiceCC.js +22 -0
  256. package/build/cjs/cc/TransportServiceCC.js.map +1 -1
  257. package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +7 -0
  258. package/build/cjs/cc/UserCodeCC._validateArgs.js +116 -0
  259. package/build/cjs/cc/UserCodeCC._validateArgs.js.map +7 -0
  260. package/build/cjs/cc/UserCodeCC.js +109 -247
  261. package/build/cjs/cc/UserCodeCC.js.map +1 -1
  262. package/build/cjs/cc/VersionCC._validateArgs.d.ts +4 -0
  263. package/build/cjs/cc/VersionCC._validateArgs.js +77 -0
  264. package/build/cjs/cc/VersionCC._validateArgs.js.map +7 -0
  265. package/build/cjs/cc/VersionCC.js +69 -74
  266. package/build/cjs/cc/VersionCC.js.map +1 -1
  267. package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +2 -0
  268. package/build/cjs/cc/WakeUpCC._validateArgs.js +51 -0
  269. package/build/cjs/cc/WakeUpCC._validateArgs.js.map +7 -0
  270. package/build/cjs/cc/WakeUpCC.js +56 -21
  271. package/build/cjs/cc/WakeUpCC.js.map +1 -1
  272. package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +5 -0
  273. package/build/cjs/cc/WindowCoveringCC._validateArgs.js +91 -0
  274. package/build/cjs/cc/WindowCoveringCC._validateArgs.js.map +7 -0
  275. package/build/cjs/cc/WindowCoveringCC.js +74 -116
  276. package/build/cjs/cc/WindowCoveringCC.js.map +1 -1
  277. package/build/cjs/cc/ZWaveLongRangeCC.js +5 -0
  278. package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
  279. package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +2 -0
  280. package/build/cjs/cc/ZWavePlusCC._validateArgs.js +51 -0
  281. package/build/cjs/cc/ZWavePlusCC._validateArgs.js.map +7 -0
  282. package/build/cjs/cc/ZWavePlusCC.js +41 -61
  283. package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
  284. package/build/cjs/cc/ZWaveProtocolCC.js +113 -0
  285. package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
  286. package/build/cjs/cc/manufacturerProprietary/Decorators.js +2 -0
  287. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
  288. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +3 -0
  289. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js +64 -0
  290. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +7 -0
  291. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +54 -22
  292. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  293. package/build/cjs/lib/API.js +24 -10
  294. package/build/cjs/lib/API.js.map +1 -1
  295. package/build/cjs/lib/CommandClass.js +14 -3
  296. package/build/cjs/lib/CommandClass.js.map +1 -1
  297. package/build/cjs/lib/CommandClassDecorators.js +20 -8
  298. package/build/cjs/lib/CommandClassDecorators.js.map +1 -1
  299. package/build/cjs/lib/EncapsulatingCommandClass.js +4 -0
  300. package/build/cjs/lib/EncapsulatingCommandClass.js.map +1 -1
  301. package/build/cjs/lib/NotificationEventPayload.js +2 -0
  302. package/build/cjs/lib/NotificationEventPayload.js.map +1 -1
  303. package/build/cjs/lib/Security2/Extension.js +24 -0
  304. package/build/cjs/lib/Security2/Extension.js.map +1 -1
  305. package/build/cjs/lib/SetValueResult.js +5 -0
  306. package/build/cjs/lib/SetValueResult.js.map +1 -1
  307. package/build/cjs/lib/Values.js +12 -9
  308. package/build/cjs/lib/Values.js.map +1 -1
  309. package/build/cjs/lib/_Types.js +7 -0
  310. package/build/cjs/lib/_Types.js.map +1 -1
  311. package/build/cjs/lib/serializers.js +7 -0
  312. package/build/cjs/lib/serializers.js.map +1 -1
  313. package/build/cjs/lib/utils.js +16 -4
  314. package/build/cjs/lib/utils.js.map +1 -1
  315. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +2 -0
  316. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -0
  317. package/build/esm/cc/AlarmSensorCC._validateArgs.js +12 -0
  318. package/build/esm/cc/AlarmSensorCC._validateArgs.js.map +1 -0
  319. package/build/esm/cc/AlarmSensorCC.js +17 -28
  320. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  321. package/build/esm/cc/AssociationCC._validateArgs.d.ts +9 -0
  322. package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -0
  323. package/build/esm/cc/AssociationCC._validateArgs.js +82 -0
  324. package/build/esm/cc/AssociationCC._validateArgs.js.map +1 -0
  325. package/build/esm/cc/AssociationCC.js +38 -123
  326. package/build/esm/cc/AssociationCC.js.map +1 -1
  327. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +7 -0
  328. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -0
  329. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js +62 -0
  330. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js.map +1 -0
  331. package/build/esm/cc/AssociationGroupInfoCC.js +32 -190
  332. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  333. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +5 -0
  334. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -0
  335. package/build/esm/cc/BarrierOperatorCC._validateArgs.js +42 -0
  336. package/build/esm/cc/BarrierOperatorCC._validateArgs.js.map +1 -0
  337. package/build/esm/cc/BarrierOperatorCC.js +21 -50
  338. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  339. package/build/esm/cc/BasicCC._validateArgs.d.ts +2 -0
  340. package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -0
  341. package/build/esm/cc/BasicCC._validateArgs.js +12 -0
  342. package/build/esm/cc/BasicCC._validateArgs.js.map +1 -0
  343. package/build/esm/cc/BasicCC.js +15 -22
  344. package/build/esm/cc/BasicCC.js.map +1 -1
  345. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +4 -0
  346. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -0
  347. package/build/esm/cc/BinarySensorCC._validateArgs.js +32 -0
  348. package/build/esm/cc/BinarySensorCC._validateArgs.js.map +1 -0
  349. package/build/esm/cc/BinarySensorCC.js +23 -67
  350. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  351. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +2 -0
  352. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -0
  353. package/build/esm/cc/BinarySwitchCC._validateArgs.js +13 -0
  354. package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -0
  355. package/build/esm/cc/BinarySwitchCC.js +15 -50
  356. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  357. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +2 -0
  358. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -0
  359. package/build/esm/cc/CentralSceneCC._validateArgs.js +12 -0
  360. package/build/esm/cc/CentralSceneCC._validateArgs.js.map +1 -0
  361. package/build/esm/cc/CentralSceneCC.js +17 -21
  362. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  363. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +4 -0
  364. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -0
  365. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js +32 -0
  366. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js.map +1 -0
  367. package/build/esm/cc/ClimateControlScheduleCC.js +23 -117
  368. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  369. package/build/esm/cc/ClockCC._validateArgs.d.ts +2 -0
  370. package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -0
  371. package/build/esm/cc/ClockCC._validateArgs.js +12 -0
  372. package/build/esm/cc/ClockCC._validateArgs.js.map +1 -0
  373. package/build/esm/cc/ClockCC.js +17 -36
  374. package/build/esm/cc/ClockCC.js.map +1 -1
  375. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +5 -0
  376. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -0
  377. package/build/esm/cc/ColorSwitchCC._validateArgs.js +43 -0
  378. package/build/esm/cc/ColorSwitchCC._validateArgs.js.map +1 -0
  379. package/build/esm/cc/ColorSwitchCC.js +23 -352
  380. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  381. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +10 -0
  382. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -0
  383. package/build/esm/cc/ConfigurationCC._validateArgs.js +92 -0
  384. package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -0
  385. package/build/esm/cc/ConfigurationCC.js +41 -410
  386. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  387. package/build/esm/cc/DoorLockCC._validateArgs.d.ts +3 -0
  388. package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -0
  389. package/build/esm/cc/DoorLockCC._validateArgs.js +22 -0
  390. package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -0
  391. package/build/esm/cc/DoorLockCC.js +20 -166
  392. package/build/esm/cc/DoorLockCC.js.map +1 -1
  393. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +2 -0
  394. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -0
  395. package/build/esm/cc/DoorLockLoggingCC._validateArgs.js +12 -0
  396. package/build/esm/cc/DoorLockLoggingCC._validateArgs.js.map +1 -0
  397. package/build/esm/cc/DoorLockLoggingCC.js +17 -28
  398. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  399. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +2 -0
  400. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -0
  401. package/build/esm/cc/EnergyProductionCC._validateArgs.js +12 -0
  402. package/build/esm/cc/EnergyProductionCC._validateArgs.js.map +1 -0
  403. package/build/esm/cc/EnergyProductionCC.js +17 -20
  404. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  405. package/build/esm/cc/EntryControlCC._validateArgs.d.ts +2 -0
  406. package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -0
  407. package/build/esm/cc/EntryControlCC._validateArgs.js +12 -0
  408. package/build/esm/cc/EntryControlCC._validateArgs.js.map +1 -0
  409. package/build/esm/cc/EntryControlCC.js +17 -22
  410. package/build/esm/cc/EntryControlCC.js.map +1 -1
  411. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +5 -0
  412. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -0
  413. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +42 -0
  414. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -0
  415. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +26 -321
  416. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  417. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +2 -0
  418. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -0
  419. package/build/esm/cc/HumidityControlModeCC._validateArgs.js +12 -0
  420. package/build/esm/cc/HumidityControlModeCC._validateArgs.js.map +1 -0
  421. package/build/esm/cc/HumidityControlModeCC.js +17 -20
  422. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  423. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +5 -0
  424. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -0
  425. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js +42 -0
  426. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js.map +1 -0
  427. package/build/esm/cc/HumidityControlSetpointCC.js +26 -25
  428. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  429. package/build/esm/cc/IndicatorCC._validateArgs.d.ts +10 -0
  430. package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -0
  431. package/build/esm/cc/IndicatorCC._validateArgs.js +92 -0
  432. package/build/esm/cc/IndicatorCC._validateArgs.js.map +1 -0
  433. package/build/esm/cc/IndicatorCC.js +41 -265
  434. package/build/esm/cc/IndicatorCC.js.map +1 -1
  435. package/build/esm/cc/IrrigationCC._validateArgs.d.ts +11 -0
  436. package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -0
  437. package/build/esm/cc/IrrigationCC._validateArgs.js +102 -0
  438. package/build/esm/cc/IrrigationCC._validateArgs.js.map +1 -0
  439. package/build/esm/cc/IrrigationCC.js +35 -228
  440. package/build/esm/cc/IrrigationCC.js.map +1 -1
  441. package/build/esm/cc/LanguageCC._validateArgs.d.ts +2 -0
  442. package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -0
  443. package/build/esm/cc/LanguageCC._validateArgs.js +12 -0
  444. package/build/esm/cc/LanguageCC._validateArgs.js.map +1 -0
  445. package/build/esm/cc/LanguageCC.js +17 -35
  446. package/build/esm/cc/LanguageCC.js.map +1 -1
  447. package/build/esm/cc/LockCC._validateArgs.d.ts +2 -0
  448. package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -0
  449. package/build/esm/cc/LockCC._validateArgs.js +12 -0
  450. package/build/esm/cc/LockCC._validateArgs.js.map +1 -0
  451. package/build/esm/cc/LockCC.js +17 -21
  452. package/build/esm/cc/LockCC.js.map +1 -1
  453. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +3 -0
  454. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -0
  455. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js +22 -0
  456. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js.map +1 -0
  457. package/build/esm/cc/ManufacturerProprietaryCC.js +17 -37
  458. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  459. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +3 -0
  460. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -0
  461. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js +22 -0
  462. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js.map +1 -0
  463. package/build/esm/cc/ManufacturerSpecificCC.js +20 -53
  464. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  465. package/build/esm/cc/MeterCC._validateArgs.d.ts +6 -0
  466. package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -0
  467. package/build/esm/cc/MeterCC._validateArgs.js +52 -0
  468. package/build/esm/cc/MeterCC._validateArgs.js.map +1 -0
  469. package/build/esm/cc/MeterCC.js +23 -293
  470. package/build/esm/cc/MeterCC.js.map +1 -1
  471. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +6 -0
  472. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -0
  473. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js +52 -0
  474. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js.map +1 -0
  475. package/build/esm/cc/MultiChannelAssociationCC.js +29 -337
  476. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  477. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +5 -0
  478. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -0
  479. package/build/esm/cc/MultiChannelCC._validateArgs.js +42 -0
  480. package/build/esm/cc/MultiChannelCC._validateArgs.js.map +1 -0
  481. package/build/esm/cc/MultiChannelCC.js +26 -24
  482. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  483. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +2 -0
  484. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -0
  485. package/build/esm/cc/MultiCommandCC._validateArgs.js +13 -0
  486. package/build/esm/cc/MultiCommandCC._validateArgs.js.map +1 -0
  487. package/build/esm/cc/MultiCommandCC.js +17 -30
  488. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  489. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +4 -0
  490. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -0
  491. package/build/esm/cc/MultilevelSensorCC._validateArgs.js +32 -0
  492. package/build/esm/cc/MultilevelSensorCC._validateArgs.js.map +1 -0
  493. package/build/esm/cc/MultilevelSensorCC.js +23 -86
  494. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  495. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +3 -0
  496. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -0
  497. package/build/esm/cc/MultilevelSwitchCC._validateArgs.js +23 -0
  498. package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -0
  499. package/build/esm/cc/MultilevelSwitchCC.js +17 -178
  500. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  501. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +3 -0
  502. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -0
  503. package/build/esm/cc/NodeNamingCC._validateArgs.js +22 -0
  504. package/build/esm/cc/NodeNamingCC._validateArgs.js.map +1 -0
  505. package/build/esm/cc/NodeNamingCC.js +20 -21
  506. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  507. package/build/esm/cc/NotificationCC._validateArgs.d.ts +5 -0
  508. package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -0
  509. package/build/esm/cc/NotificationCC._validateArgs.js +42 -0
  510. package/build/esm/cc/NotificationCC._validateArgs.js.map +1 -0
  511. package/build/esm/cc/NotificationCC.js +26 -123
  512. package/build/esm/cc/NotificationCC.js.map +1 -1
  513. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +5 -0
  514. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -0
  515. package/build/esm/cc/PowerlevelCC._validateArgs.js +42 -0
  516. package/build/esm/cc/PowerlevelCC._validateArgs.js.map +1 -0
  517. package/build/esm/cc/PowerlevelCC.js +26 -160
  518. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  519. package/build/esm/cc/ProtectionCC._validateArgs.d.ts +4 -0
  520. package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -0
  521. package/build/esm/cc/ProtectionCC._validateArgs.js +33 -0
  522. package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -0
  523. package/build/esm/cc/ProtectionCC.js +23 -49
  524. package/build/esm/cc/ProtectionCC.js.map +1 -1
  525. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +2 -0
  526. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -0
  527. package/build/esm/cc/SceneActivationCC._validateArgs.js +13 -0
  528. package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -0
  529. package/build/esm/cc/SceneActivationCC.js +17 -47
  530. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  531. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +3 -0
  532. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -0
  533. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js +23 -0
  534. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -0
  535. package/build/esm/cc/SceneActuatorConfigurationCC.js +20 -63
  536. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  537. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +4 -0
  538. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -0
  539. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js +33 -0
  540. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -0
  541. package/build/esm/cc/SceneControllerConfigurationCC.js +23 -50
  542. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  543. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +9 -0
  544. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -0
  545. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js +82 -0
  546. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js.map +1 -0
  547. package/build/esm/cc/ScheduleEntryLockCC.js +38 -308
  548. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  549. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +4 -0
  550. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -0
  551. package/build/esm/cc/SoundSwitchCC._validateArgs.js +32 -0
  552. package/build/esm/cc/SoundSwitchCC._validateArgs.js.map +1 -0
  553. package/build/esm/cc/SoundSwitchCC.js +21 -39
  554. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  555. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +2 -0
  556. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -0
  557. package/build/esm/cc/ThermostatFanModeCC._validateArgs.js +12 -0
  558. package/build/esm/cc/ThermostatFanModeCC._validateArgs.js.map +1 -0
  559. package/build/esm/cc/ThermostatFanModeCC.js +17 -35
  560. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  561. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +2 -0
  562. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -0
  563. package/build/esm/cc/ThermostatModeCC._validateArgs.js +12 -0
  564. package/build/esm/cc/ThermostatModeCC._validateArgs.js.map +1 -0
  565. package/build/esm/cc/ThermostatModeCC.js +17 -47
  566. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  567. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +2 -0
  568. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -0
  569. package/build/esm/cc/ThermostatSetbackCC._validateArgs.js +12 -0
  570. package/build/esm/cc/ThermostatSetbackCC._validateArgs.js.map +1 -0
  571. package/build/esm/cc/ThermostatSetbackCC.js +17 -45
  572. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  573. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +4 -0
  574. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -0
  575. package/build/esm/cc/ThermostatSetpointCC._validateArgs.js +32 -0
  576. package/build/esm/cc/ThermostatSetpointCC._validateArgs.js.map +1 -0
  577. package/build/esm/cc/ThermostatSetpointCC.js +23 -24
  578. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  579. package/build/esm/cc/TimeCC._validateArgs.d.ts +5 -0
  580. package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -0
  581. package/build/esm/cc/TimeCC._validateArgs.js +42 -0
  582. package/build/esm/cc/TimeCC._validateArgs.js.map +1 -0
  583. package/build/esm/cc/TimeCC.js +26 -77
  584. package/build/esm/cc/TimeCC.js.map +1 -1
  585. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +2 -0
  586. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -0
  587. package/build/esm/cc/TimeParametersCC._validateArgs.js +12 -0
  588. package/build/esm/cc/TimeParametersCC._validateArgs.js.map +1 -0
  589. package/build/esm/cc/TimeParametersCC.js +17 -28
  590. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  591. package/build/esm/cc/UserCodeCC._validateArgs.d.ts +7 -0
  592. package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -0
  593. package/build/esm/cc/UserCodeCC._validateArgs.js +62 -0
  594. package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -0
  595. package/build/esm/cc/UserCodeCC.js +32 -254
  596. package/build/esm/cc/UserCodeCC.js.map +1 -1
  597. package/build/esm/cc/VersionCC._validateArgs.d.ts +4 -0
  598. package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -0
  599. package/build/esm/cc/VersionCC._validateArgs.js +32 -0
  600. package/build/esm/cc/VersionCC._validateArgs.js.map +1 -0
  601. package/build/esm/cc/VersionCC.js +23 -75
  602. package/build/esm/cc/VersionCC.js.map +1 -1
  603. package/build/esm/cc/WakeUpCC._validateArgs.d.ts +2 -0
  604. package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -0
  605. package/build/esm/cc/WakeUpCC._validateArgs.js +12 -0
  606. package/build/esm/cc/WakeUpCC._validateArgs.js.map +1 -0
  607. package/build/esm/cc/WakeUpCC.js +17 -21
  608. package/build/esm/cc/WakeUpCC.js.map +1 -1
  609. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +5 -0
  610. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -0
  611. package/build/esm/cc/WindowCoveringCC._validateArgs.js +43 -0
  612. package/build/esm/cc/WindowCoveringCC._validateArgs.js.map +1 -0
  613. package/build/esm/cc/WindowCoveringCC.js +24 -110
  614. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  615. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +2 -0
  616. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -0
  617. package/build/esm/cc/ZWavePlusCC._validateArgs.js +12 -0
  618. package/build/esm/cc/ZWavePlusCC._validateArgs.js.map +1 -0
  619. package/build/esm/cc/ZWavePlusCC.js +17 -66
  620. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  621. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +3 -0
  622. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -0
  623. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js +22 -0
  624. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +1 -0
  625. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +19 -22
  626. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  627. package/package.json +7 -7
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/MeterCC.ts"],
4
4
  "sourcesContent": ["import {\n\ttype FloatParameters,\n\ttype MaybeUnknown,\n\ttype WithAddress,\n\tencodeBitMask,\n\tencodeFloatWithScale,\n\tgetFloatParameters,\n\tgetMeter,\n\tgetMeterName,\n\tgetMeterScale,\n\tgetUnknownMeterScale,\n\ttimespan,\n} from \"@zwave-js/core\";\nimport {\n\tCommandClasses,\n\ttype ControlsCC,\n\ttype EndpointId,\n\ttype GetEndpoint,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype NodeId,\n\ttype SinglecastCC,\n\ttype SupervisionResult,\n\ttype SupportsCC,\n\tUNKNOWN_STATE,\n\tValueMetadata,\n\tparseBitMask,\n\tparseFloatWithScale,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetDeviceConfig,\n\tGetNode,\n\tGetSupportedCCVersion,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport {\n\ttype AllOrNone,\n\tgetEnumMemberName,\n\tnum2hex,\n\tpick,\n} from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\tPhysicalCCAPI,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\tSET_VALUE_HOOKS,\n\ttype SetValueImplementation,\n\ttype SetValueImplementationHooksFactory,\n\tthrowMissingPropertyKey,\n\tthrowUnsupportedProperty,\n\tthrowUnsupportedPropertyKey,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n\tgetEffectiveCCVersion,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\tgetCommandClass,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { MeterCommand, type MeterReading, RateType } from \"../lib/_Types.js\";\n\nexport const MeterCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses.Meter, {\n\t\t...V.staticProperty(\"type\", undefined, { internal: true }),\n\t\t...V.staticProperty(\"supportsReset\", undefined, { internal: true }),\n\t\t...V.staticProperty(\"supportedScales\", undefined, { internal: true }),\n\t\t...V.staticProperty(\"supportedRateTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\n\t\t...V.staticPropertyWithName(\n\t\t\t\"resetAll\",\n\t\t\t\"reset\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\tlabel: `Reset accumulated values`,\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Reset\",\n\t\t\t\t},\n\t\t\t} as const,\n\t\t),\n\t}),\n\n\t...V.defineDynamicCCValues(CommandClasses.Meter, {\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"resetSingle\",\n\t\t\t\"reset\",\n\t\t\ttoPropertyKey,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"reset\" && typeof propertyKey === \"number\",\n\t\t\t(meterType: number, rateType: RateType, scale: number) => ({\n\t\t\t\t...ValueMetadata.WriteOnlyBoolean,\n\t\t\t\t// This is only a placeholder label. A config manager is needed to\n\t\t\t\t// determine the actual label.\n\t\t\t\tlabel: `Reset (${\n\t\t\t\t\trateType === RateType.Consumed\n\t\t\t\t\t\t? \"Consumption, \"\n\t\t\t\t\t\t: rateType === RateType.Produced\n\t\t\t\t\t\t? \"Production, \"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t}${num2hex(scale)})`,\n\t\t\t\tstates: {\n\t\t\t\t\ttrue: \"Reset\",\n\t\t\t\t},\n\t\t\t\tccSpecific: {\n\t\t\t\t\tmeterType,\n\t\t\t\t\trateType,\n\t\t\t\t\tscale,\n\t\t\t\t},\n\t\t\t} as const),\n\t\t),\n\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"value\",\n\t\t\t\"value\",\n\t\t\ttoPropertyKey,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"value\" && typeof propertyKey === \"number\",\n\t\t\t(meterType: number, rateType: RateType, scale: number) => ({\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\t// Label and unit can only be determined with a config manager\n\t\t\t\tccSpecific: {\n\t\t\t\t\tmeterType,\n\t\t\t\t\trateType,\n\t\t\t\t\tscale,\n\t\t\t\t},\n\t\t\t} as const),\n\t\t),\n\t}),\n});\n\nfunction toPropertyKey(\n\tmeterType: number,\n\trateType: RateType,\n\tscale: number,\n): number {\n\treturn (meterType << 16) | (scale << 8) | rateType;\n}\n\nfunction splitPropertyKey(key: number): {\n\tmeterType: number;\n\trateType: RateType;\n\tscale: number;\n} {\n\treturn {\n\t\trateType: key & 0xff,\n\t\tscale: (key >>> 8) & 0xff,\n\t\tmeterType: key >>> 16,\n\t};\n}\n\nfunction getValueLabel(\n\tmeterType: number,\n\tscale: number,\n\trateType: RateType,\n\tsuffix?: string,\n): string {\n\tlet ret = getMeterName(meterType);\n\tconst scaleLabel =\n\t\t(getMeterScale(meterType, scale) ?? getUnknownMeterScale(scale)).label;\n\tswitch (rateType) {\n\t\tcase RateType.Consumed:\n\t\t\tret += ` Consumption [${scaleLabel}]`;\n\t\t\tbreak;\n\t\tcase RateType.Produced:\n\t\t\tret += ` Production [${scaleLabel}]`;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tret += ` [${scaleLabel}]`;\n\t}\n\tif (suffix) {\n\t\tret += ` (${suffix})`;\n\t}\n\treturn ret;\n}\n\nfunction parseMeterValueAndInfo(data: Uint8Array, offset: number): {\n\ttype: number;\n\trateType: RateType;\n\tscale1: number;\n\tvalue: number;\n\tbytesRead: number;\n} {\n\tvalidatePayload(data.length >= offset + 1);\n\n\tconst type = data[offset] & 0b0_00_11111;\n\tconst rateType = (data[offset] & 0b0_11_00000) >>> 5;\n\tconst scale1Bit2 = (data[offset] & 0b1_00_00000) >>> 7;\n\n\tconst {\n\t\tscale: scale1Bits10,\n\t\tvalue,\n\t\tbytesRead,\n\t} = parseFloatWithScale(data.subarray(offset + 1));\n\n\treturn {\n\t\ttype,\n\t\trateType,\n\t\t// The scale is composed of two fields\n\t\tscale1: (scale1Bit2 << 2) | scale1Bits10,\n\t\tvalue,\n\t\t// We've read one byte more than the float contains\n\t\tbytesRead: bytesRead + 1,\n\t};\n}\n\nfunction encodeMeterValueAndInfo(\n\ttype: number,\n\trateType: RateType,\n\tscale: number,\n\tvalue: number,\n): { data: Bytes; floatParams: FloatParameters; scale2: number | undefined } {\n\t// We need at least 2 bytes\n\n\tconst scale1 = scale >= 7 ? 7 : scale & 0b111;\n\tconst scale1Bits10 = scale1 & 0b11;\n\tconst scale1Bit2 = scale1 >>> 2;\n\tconst scale2 = scale >= 7 ? scale - 7 : undefined;\n\n\tconst typeByte = (type & 0b0_00_11111)\n\t\t| ((rateType & 0b11) << 5)\n\t\t| (scale1Bit2 << 7);\n\n\tconst floatParams = getFloatParameters(value);\n\tconst valueBytes = encodeFloatWithScale(\n\t\tvalue,\n\t\tscale1Bits10,\n\t\tfloatParams,\n\t);\n\n\treturn {\n\t\tdata: Bytes.concat([Bytes.from([typeByte]), valueBytes]),\n\t\tfloatParams: pick(floatParams, [\"precision\", \"size\"]),\n\t\tscale2,\n\t};\n}\n\nfunction parseScale(\n\tscale1: number,\n\tdata: Uint8Array,\n\tscale2Offset: number,\n): number {\n\tif (scale1 === 7) {\n\t\tvalidatePayload(data.length >= scale2Offset + 1);\n\t\tconst scale2 = data[scale2Offset];\n\t\treturn scale1 + scale2;\n\t} else {\n\t\treturn scale1;\n\t}\n}\n\nexport function isAccumulatedValue(\n\tmeterType: number,\n\tscale: number,\n): boolean {\n\t// FIXME: We should probably move the meter definitions into code\n\tswitch (meterType) {\n\t\tcase 0x01: // Electric\n\t\t\treturn (\n\t\t\t\t// kVarh\n\t\t\t\t// Pulse count\n\t\t\t\tscale === 0x00 // kWh\n\t\t\t\t|| scale === 0x01 // kVAh\n\t\t\t\t|| scale === 0x03\n\t\t\t\t|| scale === 0x08\n\t\t\t);\n\t\tcase 0x02: // Gas\n\t\t\treturn (\n\t\t\t\t// Pulse count\n\t\t\t\t// ft\u00B3\n\t\t\t\tscale === 0x00 // m\u00B3\n\t\t\t\t|| scale === 0x01\n\t\t\t\t|| scale === 0x03\n\t\t\t);\n\t\tcase 0x03: // Water\n\t\t\treturn (\n\t\t\t\t// Pulse count\n\t\t\t\t// US gallons\n\t\t\t\tscale === 0x00 // m\u00B3\n\t\t\t\t|| scale === 0x01 // ft\u00B3\n\t\t\t\t|| scale === 0x02\n\t\t\t\t|| scale === 0x03\n\t\t\t);\n\t\tcase 0x04: // Heating\n\t\t\treturn scale === 0x00; // kWh\n\t\tcase 0x05: // Cooling\n\t\t\treturn scale === 0x00; // kWh\n\t}\n\treturn false;\n}\n\n@API(CommandClasses.Meter)\nexport class MeterCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(cmd: MeterCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase MeterCommand.Get:\n\t\t\tcase MeterCommand.Report:\n\t\t\t\treturn true; // This is mandatory\n\t\t\tcase MeterCommand.SupportedGet:\n\t\t\tcase MeterCommand.SupportedReport:\n\t\t\t\treturn this.version >= 2;\n\t\t\tcase MeterCommand.Reset: {\n\t\t\t\tconst ret = this.tryGetValueDB()?.getValue<boolean>({\n\t\t\t\t\tcommandClass: getCommandClass(this),\n\t\t\t\t\tendpoint: this.endpoint.index,\n\t\t\t\t\tproperty: \"supportsReset\",\n\t\t\t\t});\n\t\t\t\treturn ret === true;\n\t\t\t}\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: MeterCCAPI, { property, propertyKey }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"value\":\n\t\t\t\tcase \"previousValue\":\n\t\t\t\tcase \"deltaTime\": {\n\t\t\t\t\tif (propertyKey == undefined) {\n\t\t\t\t\t\tthrowMissingPropertyKey(this.ccId, property);\n\t\t\t\t\t} else if (typeof propertyKey !== \"number\") {\n\t\t\t\t\t\tthrowUnsupportedPropertyKey(\n\t\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\tpropertyKey,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst { rateType, scale } = splitPropertyKey(propertyKey);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tawait this.get({\n\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t})\n\t\t\t\t\t)?.[property];\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async get(\n\t\toptions?: MeterCCGetOptions,\n\t): Promise<MeterReading | undefined> {\n\t\tthis.assertSupportsCommand(MeterCommand, MeterCommand.Get);\n\n\t\tconst cc = new MeterCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\t\tconst response = await this.host.sendCommand<MeterCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn {\n\t\t\t\ttype: response.type,\n\t\t\t\tscale: getMeterScale(response.type, response.scale)\n\t\t\t\t\t?? getUnknownMeterScale(response.scale),\n\t\t\t\t...pick(response, [\n\t\t\t\t\t\"value\",\n\t\t\t\t\t\"previousValue\",\n\t\t\t\t\t\"rateType\",\n\t\t\t\t\t\"deltaTime\",\n\t\t\t\t]),\n\t\t\t};\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async sendReport(\n\t\toptions: MeterCCReportOptions,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(MeterCommand, MeterCommand.Report);\n\n\t\tconst cc = new MeterCCReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getAll(\n\t\taccumulatedOnly: boolean = false,\n\t): Promise<MeterReading[]> {\n\t\tconst valueDB = this.tryGetValueDB();\n\n\t\tif (this.version >= 2) {\n\t\t\tconst meterType = valueDB?.getValue<number>(\n\t\t\t\tMeterCCValues.type.endpoint(this.endpoint.index),\n\t\t\t);\n\t\t\tconst supportedScales = valueDB?.getValue<number[]>(\n\t\t\t\tMeterCCValues.supportedScales.endpoint(this.endpoint.index),\n\t\t\t) ?? [];\n\t\t\tconst supportedRateTypes = valueDB?.getValue<RateType[]>(\n\t\t\t\tMeterCCValues.supportedRateTypes.endpoint(\n\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t),\n\t\t\t) ?? [];\n\n\t\t\tconst rateTypes = supportedRateTypes.length\n\t\t\t\t? supportedRateTypes\n\t\t\t\t: [undefined];\n\n\t\t\tconst ret = [];\n\t\t\tfor (const rateType of rateTypes) {\n\t\t\t\tfor (const scale of supportedScales) {\n\t\t\t\t\t// Skip non-accumulated values if requested\n\t\t\t\t\tif (\n\t\t\t\t\t\taccumulatedOnly\n\t\t\t\t\t\t&& meterType != undefined\n\t\t\t\t\t\t&& !isAccumulatedValue(meterType, scale)\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst response = await this.get({\n\t\t\t\t\t\tscale,\n\t\t\t\t\t\trateType,\n\t\t\t\t\t});\n\t\t\t\t\tif (response) ret.push(response);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn ret;\n\t\t} else {\n\t\t\tconst response = await this.get();\n\t\t\treturn response ? [response] : [];\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupported() {\n\t\tthis.assertSupportsCommand(MeterCommand, MeterCommand.SupportedGet);\n\n\t\tconst cc = new MeterCCSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tMeterCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"type\",\n\t\t\t\t\"supportsReset\",\n\t\t\t\t\"supportedScales\",\n\t\t\t\t\"supportedRateTypes\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async sendSupportedReport(\n\t\toptions: MeterCCSupportedReportOptions,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(MeterCommand, MeterCommand.SupportedReport);\n\n\t\tconst cc = new MeterCCSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async reset(\n\t\toptions?: MeterCCResetOptions,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(MeterCommand, MeterCommand.Reset);\n\n\t\tconst cc = new MeterCCReset({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: MeterCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property !== \"reset\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t} else if (\n\t\t\t\tpropertyKey != undefined\n\t\t\t\t&& typeof propertyKey !== \"number\"\n\t\t\t) {\n\t\t\t\tthrowUnsupportedPropertyKey(this.ccId, property, propertyKey);\n\t\t\t} else if (value !== true) {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"true\",\n\t\t\t\t\tvalue === false ? \"false\" : typeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof propertyKey === \"number\") {\n\t\t\t\tconst { meterType, scale, rateType } = splitPropertyKey(\n\t\t\t\t\tpropertyKey,\n\t\t\t\t);\n\t\t\t\treturn this.reset({\n\t\t\t\t\ttype: meterType,\n\t\t\t\t\tscale,\n\t\t\t\t\trateType,\n\t\t\t\t\ttargetValue: 0,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn this.reset();\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\t}\n\n\tprotected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = (\n\t\t{ property, propertyKey },\n\t\t_value,\n\t\t_options,\n\t) => {\n\t\tif (property !== \"reset\") return;\n\n\t\tif (typeof propertyKey === \"number\") {\n\t\t\t// Reset single\n\t\t\tconst { meterType, rateType, scale } = splitPropertyKey(\n\t\t\t\tpropertyKey,\n\t\t\t);\n\t\t\tconst readingValueId = MeterCCValues.value(\n\t\t\t\tmeterType,\n\t\t\t\trateType,\n\t\t\t\tscale,\n\t\t\t).endpoint(this.endpoint.index);\n\n\t\t\treturn {\n\t\t\t\toptimisticallyUpdateRelatedValues: (\n\t\t\t\t\tsupervisedAndSuccessful,\n\t\t\t\t) => {\n\t\t\t\t\tif (!supervisedAndSuccessful) return;\n\n\t\t\t\t\t// After resetting a single reading with supervision, store zero\n\t\t\t\t\t// in the corresponding value\n\t\t\t\t\tconst valueDB = this.tryGetValueDB();\n\t\t\t\t\tif (!valueDB) return;\n\n\t\t\t\t\tif (isAccumulatedValue(meterType, scale)) {\n\t\t\t\t\t\tvalueDB.setValue({\n\t\t\t\t\t\t\tcommandClass: this.ccId,\n\t\t\t\t\t\t\tendpoint: this.endpoint.index,\n\t\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\tpropertyKey,\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tverifyChanges: () => {\n\t\t\t\t\tthis.schedulePoll(\n\t\t\t\t\t\treadingValueId,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t{ transition: \"fast\" },\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else {\n\t\t\t// Reset all\n\t\t\tconst valueDB = this.tryGetValueDB();\n\t\t\tif (!valueDB) return;\n\n\t\t\tconst accumulatedValues = valueDB.findValues((vid) =>\n\t\t\t\tvid.commandClass === this.ccId\n\t\t\t\t&& vid.endpoint === this.endpoint.index\n\t\t\t\t&& MeterCCValues.value.is(vid)\n\t\t\t).filter(({ propertyKey }) => {\n\t\t\t\tif (typeof propertyKey !== \"number\") return false;\n\t\t\t\tconst { meterType, scale } = splitPropertyKey(propertyKey);\n\t\t\t\treturn isAccumulatedValue(meterType, scale);\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\toptimisticallyUpdateRelatedValues: (\n\t\t\t\t\tsupervisedAndSuccessful,\n\t\t\t\t) => {\n\t\t\t\t\tif (!supervisedAndSuccessful) return;\n\n\t\t\t\t\t// After setting the reset all value with supervision,\n\t\t\t\t\t// reset all accumulated values, since we know they are now zero.\n\t\t\t\t\tfor (const value of accumulatedValues) {\n\t\t\t\t\t\tvalueDB.setValue(value, 0);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tverifyChanges: () => {\n\t\t\t\t\t// Poll all accumulated values, unless they were updated by the device\n\t\t\t\t\tfor (const valueID of accumulatedValues) {\n\t\t\t\t\t\tthis.schedulePoll(\n\t\t\t\t\t\t\tvalueID,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t{ transition: \"fast\" },\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t};\n}\n\n@commandClass(CommandClasses.Meter)\n@implementedVersion(6)\n@ccValues(MeterCCValues)\nexport class MeterCC extends CommandClass {\n\tdeclare ccCommand: MeterCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Meter,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tif (api.version >= 2) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: \"querying meter support...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\n\t\t\tconst suppResp = await api.getSupported();\n\t\t\tif (suppResp) {\n\t\t\t\tconst logMessage = `received meter support:\ntype: ${getMeterName(suppResp.type)}\nsupported scales: ${\n\t\t\t\t\tsuppResp.supportedScales\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(s) =>\n\t\t\t\t\t\t\t\t(getMeterScale(suppResp.type, s)\n\t\t\t\t\t\t\t\t\t?? getUnknownMeterScale(s)).label,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.map((label) => `\\n\u00B7 ${label}`)\n\t\t\t\t\t\t.join(\"\")\n\t\t\t\t}\nsupported rate types: ${\n\t\t\t\t\tsuppResp.supportedRateTypes\n\t\t\t\t\t\t.map((rt) => getEnumMemberName(RateType, rt))\n\t\t\t\t\t\t.map((label) => `\\n\u00B7 ${label}`)\n\t\t\t\t\t\t.join(\"\")\n\t\t\t\t}\nsupports reset: ${suppResp.supportsReset}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t\"Querying meter support timed out, skipping interview...\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Query current meter values\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Meter,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tif (api.version === 1) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `querying default meter value...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tawait api.get();\n\t\t} else {\n\t\t\tconst type: number = this.getValue(ctx, MeterCCValues.type)\n\t\t\t\t?? 0;\n\n\t\t\tconst supportedScales: readonly number[] =\n\t\t\t\tthis.getValue(ctx, MeterCCValues.supportedScales) ?? [];\n\n\t\t\tconst supportedRateTypes: readonly RateType[] =\n\t\t\t\tthis.getValue(ctx, MeterCCValues.supportedRateTypes) ?? [];\n\n\t\t\tconst rateTypes = supportedRateTypes.length\n\t\t\t\t? supportedRateTypes\n\t\t\t\t: [undefined];\n\t\t\tfor (const rateType of rateTypes) {\n\t\t\t\tfor (const scale of supportedScales) {\n\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\tmessage: `querying meter value (type = ${\n\t\t\t\t\t\t\tgetMeterName(type)\n\t\t\t\t\t\t}, scale = ${\n\t\t\t\t\t\t\t(getMeterScale(type, scale)\n\t\t\t\t\t\t\t\t?? getUnknownMeterScale(scale)).label\n\t\t\t\t\t\t}${\n\t\t\t\t\t\t\trateType != undefined\n\t\t\t\t\t\t\t\t? `, rate type = ${\n\t\t\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\t\t\tRateType,\n\t\t\t\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t})...`,\n\t\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t\t});\n\t\t\t\t\tawait api.get({ scale, rateType });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic shouldRefreshValues(\n\t\tthis: SinglecastCC<this>,\n\t\tctx:\n\t\t\t& GetValueDB\n\t\t\t& GetSupportedCCVersion\n\t\t\t& GetDeviceConfig\n\t\t\t& GetNode<\n\t\t\t\tNodeId & GetEndpoint<EndpointId & SupportsCC & ControlsCC>\n\t\t\t>,\n\t): boolean {\n\t\t// Poll the device when all of the supported values were last updated longer than 6 hours ago.\n\t\t// This may lead to some values not being updated, but the user may have disabled some unnecessary\n\t\t// reports to reduce traffic.\n\t\tconst valueDB = ctx.tryGetValueDB(this.nodeId);\n\t\tif (!valueDB) return true;\n\n\t\tconst values = this.getDefinedValueIDs(ctx).filter((v) =>\n\t\t\tMeterCCValues.value.is(v)\n\t\t);\n\t\treturn values.every((v) => {\n\t\t\tconst lastUpdated = valueDB.getTimestamp(v);\n\t\t\treturn (\n\t\t\t\tlastUpdated == undefined\n\t\t\t\t|| Date.now() - lastUpdated > timespan.hours(6)\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Returns which type this meter has.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getMeterTypeCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<number> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(MeterCCValues.type.endpoint(endpoint.index));\n\t}\n\n\t/**\n\t * Returns which scales are supported by this meter.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getSupportedScalesCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<number[]> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(MeterCCValues.supportedScales.endpoint(endpoint.index));\n\t}\n\n\t/**\n\t * Returns whether reset is supported by this meter.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static supportsResetCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<boolean> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(MeterCCValues.supportsReset.endpoint(endpoint.index));\n\t}\n\n\t/**\n\t * Returns which rate types are supported by this meter.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getSupportedRateTypesCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<RateType[]> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(\n\t\t\t\tMeterCCValues.supportedRateTypes.endpoint(endpoint.index),\n\t\t\t);\n\t}\n\n\tpublic translatePropertyKey(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey: string | number,\n\t): string | undefined {\n\t\tif (property === \"value\" && typeof propertyKey === \"number\") {\n\t\t\tconst { meterType, rateType, scale } = splitPropertyKey(\n\t\t\t\tpropertyKey,\n\t\t\t);\n\t\t\tlet ret: string;\n\t\t\tif (meterType !== 0) {\n\t\t\t\tret = `${getMeterName(meterType)}_${\n\t\t\t\t\t(getMeterScale(meterType, scale)\n\t\t\t\t\t\t?? getUnknownMeterScale(scale)).label\n\t\t\t\t}`;\n\t\t\t} else {\n\t\t\t\tret = \"default\";\n\t\t\t}\n\t\t\tif (rateType !== RateType.Unspecified) {\n\t\t\t\tret += \"_\" + getEnumMemberName(RateType, rateType);\n\t\t\t}\n\t\t\treturn ret;\n\t\t} else if (property === \"reset\" && typeof propertyKey === \"number\") {\n\t\t\treturn getMeterName(propertyKey);\n\t\t}\n\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t}\n}\n\n// @publicAPI\nexport interface MeterCCReportOptions {\n\ttype: number;\n\tscale: number;\n\tvalue: number;\n\tpreviousValue?: MaybeNotKnown<number>;\n\trateType?: RateType;\n\tdeltaTime?: MaybeUnknown<number>;\n}\n\n@CCCommand(MeterCommand.Report)\nexport class MeterCCReport extends MeterCC {\n\tpublic constructor(\n\t\toptions: WithAddress<MeterCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.scale = options.scale;\n\t\tthis.value = options.value;\n\t\tthis.previousValue = options.previousValue;\n\t\tthis.rateType = options.rateType ?? RateType.Unspecified;\n\t\tthis.deltaTime = options.deltaTime ?? UNKNOWN_STATE;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): MeterCCReport {\n\t\tconst { type, rateType, scale1, value, bytesRead } =\n\t\t\tparseMeterValueAndInfo(raw.payload, 0);\n\t\tlet offset = bytesRead;\n\t\tconst floatSize = bytesRead - 2;\n\t\tlet deltaTime: MaybeUnknown<number>;\n\t\tlet previousValue: MaybeNotKnown<number>;\n\n\t\tif (raw.payload.length >= offset + 2) {\n\t\t\tdeltaTime = raw.payload.readUInt16BE(offset);\n\t\t\toffset += 2;\n\t\t\tif (deltaTime === 0xffff) {\n\t\t\t\tdeltaTime = UNKNOWN_STATE;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Previous value is included only if delta time is not 0\n\t\t\t\tdeltaTime !== 0\n\t\t\t\t&& raw.payload.length >= offset + floatSize\n\t\t\t) {\n\t\t\t\tconst { value: prevValue } = parseFloatWithScale(\n\t\t\t\t\t// This float is split in the payload\n\t\t\t\t\tBytes.concat([\n\t\t\t\t\t\tBytes.from([raw.payload[1]]),\n\t\t\t\t\t\traw.payload.subarray(offset),\n\t\t\t\t\t]),\n\t\t\t\t);\n\t\t\t\toffset += floatSize;\n\t\t\t\tpreviousValue = prevValue;\n\t\t\t}\n\t\t} else {\n\t\t\t// 0 means that no previous value is included\n\t\t\tdeltaTime = 0;\n\t\t}\n\t\tconst scale = parseScale(scale1, raw.payload, offset);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\trateType,\n\t\t\tvalue,\n\t\t\tdeltaTime,\n\t\t\tpreviousValue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\n\t\tconst meter = getMeter(this.type);\n\t\tconst scale = getMeterScale(this.type, this.scale)\n\t\t\t?? getUnknownMeterScale(this.scale);\n\n\t\t// Filter out unknown meter types and scales, unless the strict validation is disabled\n\t\tconst measurementValidation = !ctx.getDeviceConfig?.(\n\t\t\tthis.nodeId as number,\n\t\t)?.compat?.disableStrictMeasurementValidation;\n\n\t\tif (measurementValidation) {\n\t\t\tvalidatePayload.withReason(\n\t\t\t\t`Unknown meter type ${num2hex(this.type)} or corrupted data`,\n\t\t\t)(!!meter);\n\t\t\tvalidatePayload.withReason(\n\t\t\t\t`Unknown meter scale ${num2hex(this.scale)} or corrupted data`,\n\t\t\t)(scale.label !== getUnknownMeterScale(this.scale).label);\n\n\t\t\t// Filter out unsupported meter types, scales and rate types if possible\n\t\t\tif (ccVersion >= 2) {\n\t\t\t\tconst expectedType = this.getValue<number>(\n\t\t\t\t\tctx,\n\t\t\t\t\tMeterCCValues.type,\n\t\t\t\t);\n\t\t\t\tif (expectedType != undefined) {\n\t\t\t\t\tvalidatePayload.withReason(\n\t\t\t\t\t\t\"Unexpected meter type or corrupted data\",\n\t\t\t\t\t)(this.type === expectedType);\n\t\t\t\t}\n\n\t\t\t\tconst supportedScales = this.getValue<number[]>(\n\t\t\t\t\tctx,\n\t\t\t\t\tMeterCCValues.supportedScales,\n\t\t\t\t);\n\t\t\t\tif (supportedScales?.length) {\n\t\t\t\t\tvalidatePayload.withReason(\n\t\t\t\t\t\t`Unsupported meter scale ${scale.label} or corrupted data`,\n\t\t\t\t\t)(supportedScales.includes(this.scale));\n\t\t\t\t}\n\n\t\t\t\tconst supportedRateTypes = this.getValue<RateType[]>(\n\t\t\t\t\tctx,\n\t\t\t\t\tMeterCCValues.supportedRateTypes,\n\t\t\t\t);\n\t\t\t\tif (supportedRateTypes?.length) {\n\t\t\t\t\tvalidatePayload.withReason(\n\t\t\t\t\t\t`Unsupported rate type ${\n\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\tRateType,\n\t\t\t\t\t\t\t\tthis.rateType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} or corrupted data`,\n\t\t\t\t\t)(supportedRateTypes.includes(this.rateType));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst valueValue = MeterCCValues.value(\n\t\t\tthis.type,\n\t\t\tthis.rateType,\n\t\t\tthis.scale,\n\t\t);\n\t\tthis.setMetadata(ctx, valueValue, {\n\t\t\t...valueValue.meta,\n\t\t\tlabel: getValueLabel(this.type, this.scale, this.rateType),\n\t\t\tunit: scale.unit,\n\t\t\tccSpecific: {\n\t\t\t\tmeterType: this.type,\n\t\t\t\tscale: this.scale,\n\t\t\t\trateType: this.rateType,\n\t\t\t},\n\t\t});\n\t\tthis.setValue(ctx, valueValue, this.value);\n\n\t\treturn true;\n\t}\n\n\tpublic type: number;\n\tpublic scale: number;\n\tpublic value: number;\n\tpublic previousValue: MaybeNotKnown<number>;\n\tpublic rateType: RateType;\n\tpublic deltaTime: MaybeUnknown<number>;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst { data: typeAndValue, floatParams, scale2 } =\n\t\t\tencodeMeterValueAndInfo(\n\t\t\t\tthis.type,\n\t\t\t\tthis.rateType,\n\t\t\t\tthis.scale,\n\t\t\t\tthis.value,\n\t\t\t);\n\n\t\tconst deltaTime = this.deltaTime ?? 0xffff;\n\t\tconst deltaTimeBytes = new Bytes(2);\n\t\tdeltaTimeBytes.writeUInt16BE(deltaTime, 0);\n\n\t\tthis.payload = Bytes.concat([\n\t\t\ttypeAndValue,\n\t\t\tdeltaTimeBytes,\n\t\t]);\n\n\t\tif (this.deltaTime !== 0 && this.previousValue != undefined) {\n\t\t\t// Encode the float, but only keep the value bytes\n\t\t\tconst prevValueBytes = encodeFloatWithScale(\n\t\t\t\tthis.previousValue,\n\t\t\t\t0, // we discard the scale anyways\n\t\t\t\tfloatParams,\n\t\t\t).subarray(1);\n\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tprevValueBytes,\n\t\t\t]);\n\t\t}\n\n\t\tif (scale2 != undefined) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from([scale2]),\n\t\t\t]);\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getMeterScale(this.type, this.scale)\n\t\t\t?? getUnknownMeterScale(this.scale);\n\n\t\tconst message: MessageRecord = {\n\t\t\t\"meter type\": getMeterName(this.type),\n\t\t\tscale: scale.label,\n\t\t\t\"rate type\": getEnumMemberName(RateType, this.rateType),\n\t\t\tvalue: this.value,\n\t\t};\n\t\tif (this.deltaTime !== UNKNOWN_STATE) {\n\t\t\tmessage[\"time delta\"] = `${this.deltaTime} seconds`;\n\t\t}\n\t\tif (this.previousValue != undefined) {\n\t\t\tmessage[\"prev. value\"] = this.previousValue;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\nfunction testResponseForMeterGet(sent: MeterCCGet, received: MeterCCReport) {\n\t// We expect a Meter Report that matches the requested scale and rate type\n\t// (if they were requested)\n\treturn (\n\t\t(sent.scale == undefined || sent.scale === received.scale)\n\t\t&& (sent.rateType == undefined || sent.rateType == received.rateType)\n\t);\n}\n\n// @publicAPI\nexport interface MeterCCGetOptions {\n\tscale?: number;\n\trateType?: RateType;\n}\n\n@CCCommand(MeterCommand.Get)\n@expectedCCResponse(MeterCCReport, testResponseForMeterGet)\nexport class MeterCCGet extends MeterCC {\n\tpublic constructor(\n\t\toptions: WithAddress<MeterCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.rateType = options.rateType;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): MeterCCGet {\n\t\tlet rateType: RateType | undefined;\n\t\tlet scale: number | undefined;\n\n\t\tif (raw.payload.length >= 1) {\n\t\t\trateType = (raw.payload[0] & 0b11_000_000) >>> 6;\n\t\t\tscale = (raw.payload[0] & 0b00_111_000) >>> 3;\n\t\t\tif (scale === 7) {\n\t\t\t\tvalidatePayload(raw.payload.length >= 2);\n\t\t\t\tscale += raw.payload[1];\n\t\t\t}\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\trateType,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic rateType: RateType | undefined;\n\tpublic scale: number | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tlet scale1: number;\n\t\tlet scale2: number | undefined;\n\t\tlet bufferLength = 0;\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\t\tif (this.scale == undefined) {\n\t\t\tscale1 = 0;\n\t\t} else if (ccVersion >= 4 && this.scale >= 7) {\n\t\t\tscale1 = 7;\n\t\t\tscale2 = this.scale >>> 3;\n\t\t\tbufferLength = 2;\n\t\t} else if (ccVersion >= 3) {\n\t\t\tscale1 = this.scale & 0b111;\n\t\t\tbufferLength = 1;\n\t\t} else if (ccVersion >= 2) {\n\t\t\tscale1 = this.scale & 0b11;\n\t\t\tbufferLength = 1;\n\t\t} else {\n\t\t\tscale1 = 0;\n\t\t}\n\n\t\tlet rateTypeFlags = 0;\n\t\tif (ccVersion >= 4 && this.rateType != undefined) {\n\t\t\trateTypeFlags = this.rateType & 0b11;\n\t\t\tbufferLength = Math.max(bufferLength, 1);\n\t\t}\n\n\t\tthis.payload = Bytes.alloc(bufferLength, 0);\n\t\tthis.payload[0] = (rateTypeFlags << 6) | (scale1 << 3);\n\t\tif (scale2) this.payload[1] = scale2;\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.rateType != undefined) {\n\t\t\tmessage[\"rate type\"] = getEnumMemberName(RateType, this.rateType);\n\t\t}\n\t\tif (this.scale != undefined) {\n\t\t\tif (ctx) {\n\t\t\t\t// Try to lookup the meter type to translate the scale\n\t\t\t\tconst type = this.getValue<number>(ctx, MeterCCValues.type);\n\t\t\t\tif (type != undefined) {\n\t\t\t\t\tmessage.scale = (getMeterScale(type, this.scale)\n\t\t\t\t\t\t?? getUnknownMeterScale(this.scale)).label;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage.scale = this.scale;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface MeterCCSupportedReportOptions {\n\ttype: number;\n\tsupportsReset: boolean;\n\tsupportedScales: readonly number[];\n\tsupportedRateTypes: readonly RateType[];\n}\n\n@CCCommand(MeterCommand.SupportedReport)\n@ccValueProperty(\"type\", MeterCCValues.type)\n@ccValueProperty(\"supportsReset\", MeterCCValues.supportsReset)\n@ccValueProperty(\"supportedScales\", MeterCCValues.supportedScales)\n@ccValueProperty(\"supportedRateTypes\", MeterCCValues.supportedRateTypes)\nexport class MeterCCSupportedReport extends MeterCC {\n\tpublic constructor(\n\t\toptions: WithAddress<MeterCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.supportsReset = options.supportsReset;\n\t\tthis.supportedScales = options.supportedScales;\n\t\tthis.supportedRateTypes = options.supportedRateTypes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): MeterCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst type = raw.payload[0] & 0b0_00_11111;\n\t\tconst supportsReset = !!(raw.payload[0] & 0b1_00_00000);\n\t\tconst hasMoreScales = !!(raw.payload[1] & 0b1_0000000);\n\n\t\tlet supportedScales: number[] | undefined;\n\t\tif (hasMoreScales) {\n\t\t\t// The bitmask is spread out\n\t\t\tvalidatePayload(raw.payload.length >= 3);\n\t\t\tconst extraBytes = raw.payload[2];\n\t\t\tvalidatePayload(raw.payload.length >= 3 + extraBytes);\n\t\t\t// The bitmask is the original payload byte plus all following bytes\n\t\t\t// Since the first byte only has 7 bits, we need to reduce all following bits by 1\n\t\t\tsupportedScales = parseBitMask(\n\t\t\t\tBytes.concat([\n\t\t\t\t\tBytes.from([raw.payload[1] & 0b0_1111111]),\n\t\t\t\t\traw.payload.subarray(3, 3 + extraBytes),\n\t\t\t\t]),\n\t\t\t\t0,\n\t\t\t).map((scale) => (scale >= 8 ? scale - 1 : scale));\n\t\t} else {\n\t\t\t// only 7 bits in the bitmask. Bit 7 is 0, so no need to mask it out\n\t\t\tsupportedScales = parseBitMask(\n\t\t\t\tBytes.from([raw.payload[1]]),\n\t\t\t\t0,\n\t\t\t);\n\t\t}\n\t\t// This is only present in V4+\n\t\tconst supportedRateTypes: RateType[] = parseBitMask(\n\t\t\tBytes.from([(raw.payload[0] & 0b0_11_00000) >>> 5]),\n\t\t\t1,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tsupportsReset,\n\t\t\tsupportedScales,\n\t\t\tsupportedRateTypes,\n\t\t});\n\t}\n\n\tpublic readonly type: number;\n\n\tpublic readonly supportsReset: boolean;\n\n\tpublic readonly supportedScales: readonly number[];\n\n\tpublic readonly supportedRateTypes: readonly RateType[];\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\t\tif (!this.supportsReset) return true;\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\n\t\t// Create reset values\n\t\tif (ccVersion < 6) {\n\t\t\tthis.ensureMetadata(ctx, MeterCCValues.resetAll);\n\t\t} else {\n\t\t\tfor (const scale of this.supportedScales) {\n\t\t\t\t// Only accumulated values can be reset\n\t\t\t\tif (!isAccumulatedValue(this.type, scale)) continue;\n\n\t\t\t\tfor (const rateType of this.supportedRateTypes) {\n\t\t\t\t\tconst resetSingleValue = MeterCCValues.resetSingle(\n\t\t\t\t\t\tthis.type,\n\t\t\t\t\t\trateType,\n\t\t\t\t\t\tscale,\n\t\t\t\t\t);\n\t\t\t\t\tthis.ensureMetadata(ctx, resetSingleValue, {\n\t\t\t\t\t\t...resetSingleValue.meta,\n\t\t\t\t\t\tlabel: `Reset ${\n\t\t\t\t\t\t\tgetValueLabel(\n\t\t\t\t\t\t\t\tthis.type,\n\t\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\t\trateType,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst typeByte = (this.type & 0b0_00_11111)\n\t\t\t| (this.supportedRateTypes.includes(RateType.Consumed)\n\t\t\t\t? 0b0_01_00000\n\t\t\t\t: 0)\n\t\t\t| (this.supportedRateTypes.includes(RateType.Produced)\n\t\t\t\t? 0b0_10_00000\n\t\t\t\t: 0)\n\t\t\t| (this.supportsReset ? 0b1_00_00000 : 0);\n\t\tconst supportedScales = encodeBitMask(\n\t\t\tthis.supportedScales,\n\t\t\tundefined,\n\t\t\t// The first byte only has 7 bits for the bitmask,\n\t\t\t// so we add a fake bit for the value -1 and later shift\n\t\t\t// the first byte one to the right\n\t\t\t-1,\n\t\t);\n\t\tconst scalesByte1 = (supportedScales[0] >>> 1)\n\t\t\t| (supportedScales.length > 1 ? 0b1000_0000 : 0);\n\n\t\tthis.payload = Bytes.from([\n\t\t\ttypeByte,\n\t\t\tscalesByte1,\n\t\t]);\n\t\tif (supportedScales.length > 1) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from([supportedScales.length - 1]),\n\t\t\t\tBytes.from(supportedScales.subarray(1)),\n\t\t\t]);\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"meter type\": getMeterName(this.type),\n\t\t\t\"supports reset\": this.supportsReset,\n\t\t\t\"supported scales\": `${\n\t\t\t\tthis.supportedScales\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(scale) => `\n\u00B7 ${(getMeterScale(this.type, scale) ?? getUnknownMeterScale(scale)).label}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\")\n\t\t\t}`,\n\t\t\t\"supported rate types\": this.supportedRateTypes\n\t\t\t\t.map((rt) => getEnumMemberName(RateType, rt))\n\t\t\t\t.join(\", \"),\n\t\t};\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(MeterCommand.SupportedGet)\n@expectedCCResponse(MeterCCSupportedReport)\nexport class MeterCCSupportedGet extends MeterCC {}\n\n// @publicAPI\nexport type MeterCCResetOptions = AllOrNone<{\n\ttype: number;\n\tscale: number;\n\trateType: RateType;\n\ttargetValue: number;\n}>;\n\n@CCCommand(MeterCommand.Reset)\n@useSupervision()\nexport class MeterCCReset extends MeterCC {\n\tpublic constructor(\n\t\toptions: WithAddress<MeterCCResetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.type = options.type;\n\t\tthis.scale = options.scale;\n\t\tthis.rateType = options.rateType;\n\t\tthis.targetValue = options.targetValue;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): MeterCCReset {\n\t\tif (raw.payload.length === 0) {\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t});\n\t\t}\n\n\t\tconst {\n\t\t\ttype,\n\t\t\trateType,\n\t\t\tscale1,\n\t\t\tvalue: targetValue,\n\t\t\tbytesRead: scale2Offset,\n\t\t} = parseMeterValueAndInfo(raw.payload, 0);\n\t\tconst scale = parseScale(scale1, raw.payload, scale2Offset);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\trateType,\n\t\t\ttargetValue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic type: number | undefined;\n\tpublic scale: number | undefined;\n\tpublic rateType: RateType | undefined;\n\tpublic targetValue: number | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (\n\t\t\tthis.type != undefined\n\t\t\t&& this.scale != undefined\n\t\t\t&& this.rateType != undefined\n\t\t\t&& this.targetValue != undefined\n\t\t) {\n\t\t\tconst { data: typeAndValue, scale2 } = encodeMeterValueAndInfo(\n\t\t\t\tthis.type,\n\t\t\t\tthis.rateType,\n\t\t\t\tthis.scale,\n\t\t\t\tthis.targetValue,\n\t\t\t);\n\n\t\t\tthis.payload = typeAndValue;\n\n\t\t\tif (scale2 != undefined) {\n\t\t\t\tthis.payload = Bytes.concat([\n\t\t\t\t\tthis.payload,\n\t\t\t\t\tBytes.from([scale2]),\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.type != undefined) {\n\t\t\tmessage.type = getMeterName(this.type);\n\t\t}\n\t\tif (this.rateType != undefined) {\n\t\t\tmessage[\"rate type\"] = getEnumMemberName(RateType, this.rateType);\n\t\t}\n\t\tif (this.type != undefined && this.scale != undefined) {\n\t\t\tmessage.scale = (getMeterScale(this.type, this.scale)\n\t\t\t\t?? getUnknownMeterScale(this.scale)).label;\n\t\t}\n\t\tif (this.targetValue != undefined) {\n\t\t\tmessage[\"target value\"] = this.targetValue;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_safe", "propertyKey"]
7
7
  }
@@ -0,0 +1,6 @@
1
+ export declare function validateArgs_MultiChannelAssociationCCAPI_reportGroupCount(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
2
+ export declare function validateArgs_MultiChannelAssociationCCAPI_getGroup(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
3
+ export declare function validateArgs_MultiChannelAssociationCCAPI_sendReport(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
4
+ export declare function validateArgs_MultiChannelAssociationCCAPI_addDestinations(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
5
+ export declare function validateArgs_MultiChannelAssociationCCAPI_removeDestinations(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
6
+ //# sourceMappingURL=MultiChannelAssociationCC._validateArgs.d.ts.map
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var MultiChannelAssociationCC_validateArgs_exports = {};
31
+ __export(MultiChannelAssociationCC_validateArgs_exports, {
32
+ validateArgs_MultiChannelAssociationCCAPI_addDestinations: () => validateArgs_MultiChannelAssociationCCAPI_addDestinations,
33
+ validateArgs_MultiChannelAssociationCCAPI_getGroup: () => validateArgs_MultiChannelAssociationCCAPI_getGroup,
34
+ validateArgs_MultiChannelAssociationCCAPI_removeDestinations: () => validateArgs_MultiChannelAssociationCCAPI_removeDestinations,
35
+ validateArgs_MultiChannelAssociationCCAPI_reportGroupCount: () => validateArgs_MultiChannelAssociationCCAPI_reportGroupCount,
36
+ validateArgs_MultiChannelAssociationCCAPI_sendReport: () => validateArgs_MultiChannelAssociationCCAPI_sendReport
37
+ });
38
+ module.exports = __toCommonJS(MultiChannelAssociationCC_validateArgs_exports);
39
+ var v = __toESM(require("@zwave-js/core/validation"), 1);
40
+ function validateArgs_MultiChannelAssociationCCAPI_reportGroupCount(options = {}) {
41
+ return (__decoratedMethod, { kind }) => {
42
+ if (kind === "method") {
43
+ return /* @__PURE__ */ __name(function reportGroupCount(groupCount) {
44
+ v.assert(v.primitive({ kind: "parameter", name: "groupCount" }, "number")(groupCount));
45
+ return __decoratedMethod.call(this, groupCount);
46
+ }, "reportGroupCount");
47
+ }
48
+ };
49
+ }
50
+ __name(validateArgs_MultiChannelAssociationCCAPI_reportGroupCount, "validateArgs_MultiChannelAssociationCCAPI_reportGroupCount");
51
+ function validateArgs_MultiChannelAssociationCCAPI_getGroup(options = {}) {
52
+ return (__decoratedMethod, { kind }) => {
53
+ if (kind === "method") {
54
+ return /* @__PURE__ */ __name(function getGroup(groupId) {
55
+ v.assert(v.primitive({ kind: "parameter", name: "groupId" }, "number")(groupId));
56
+ return __decoratedMethod.call(this, groupId);
57
+ }, "getGroup");
58
+ }
59
+ };
60
+ }
61
+ __name(validateArgs_MultiChannelAssociationCCAPI_getGroup, "validateArgs_MultiChannelAssociationCCAPI_getGroup");
62
+ function validateArgs_MultiChannelAssociationCCAPI_sendReport(options = {}) {
63
+ return (__decoratedMethod, { kind }) => {
64
+ if (kind === "method") {
65
+ return /* @__PURE__ */ __name(function sendReport(options2) {
66
+ v.assert(v.object({ kind: "parameter", name: "options" }, "MultiChannelAssociationCCReportOptions", { "groupId": v.primitive({ kind: "property", name: "groupId" }, "number"), "maxNodes": v.primitive({ kind: "property", name: "maxNodes" }, "number"), "nodeIds": v.array({ kind: "property", name: "nodeIds" }, "number", v.primitive({ kind: "item", name: "nodeIds" }, "number")), "endpoints": v.array({ kind: "property", name: "endpoints" }, "EndpointAddress", v.object({ kind: "item", name: "endpoints" }, "EndpointAddress", { "nodeId": v.primitive({ kind: "property", name: "nodeId" }, "number"), "endpoint": v.oneOf({ kind: "property", name: "endpoint" }, void 0, v.primitive({ kind: "property", name: "endpoint" }, "number"), v.array({ kind: "property", name: "endpoint" }, "number", v.primitive({ kind: "item", name: "endpoint" }, "number"))) })), "reportsToFollow": v.primitive({ kind: "property", name: "reportsToFollow" }, "number") })(options2));
67
+ return __decoratedMethod.call(this, options2);
68
+ }, "sendReport");
69
+ }
70
+ };
71
+ }
72
+ __name(validateArgs_MultiChannelAssociationCCAPI_sendReport, "validateArgs_MultiChannelAssociationCCAPI_sendReport");
73
+ function validateArgs_MultiChannelAssociationCCAPI_addDestinations(options = {}) {
74
+ return (__decoratedMethod, { kind }) => {
75
+ if (kind === "method") {
76
+ return /* @__PURE__ */ __name(function addDestinations(options2) {
77
+ v.assert(v.oneOf({ kind: "parameter", name: "options" }, "MultiChannelAssociationCCSetOptions", v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "groupId": v.primitive({ kind: "property", name: "groupId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "nodeIds": v.array({ kind: "property", name: "nodeIds" }, "number", v.primitive({ kind: "item", name: "nodeIds" }, "number")) })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "groupId": v.primitive({ kind: "property", name: "groupId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "endpoints": v.array({ kind: "property", name: "endpoints" }, "EndpointAddress", v.object({ kind: "item", name: "endpoints" }, "EndpointAddress", { "nodeId": v.primitive({ kind: "property", name: "nodeId" }, "number"), "endpoint": v.oneOf({ kind: "property", name: "endpoint" }, void 0, v.primitive({ kind: "property", name: "endpoint" }, "number"), v.array({ kind: "property", name: "endpoint" }, "number", v.primitive({ kind: "item", name: "endpoint" }, "number"))) })) })), v.allOf({ kind: "parameter", name: "options" }, void 0, v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "groupId": v.primitive({ kind: "property", name: "groupId" }, "number") }), v.object({ kind: "parameter", name: "options" }, "<anonymous object>", { "nodeIds": v.array({ kind: "property", name: "nodeIds" }, "number", v.primitive({ kind: "item", name: "nodeIds" }, "number")), "endpoints": v.array({ kind: "property", name: "endpoints" }, "EndpointAddress", v.object({ kind: "item", name: "endpoints" }, "EndpointAddress", { "nodeId": v.primitive({ kind: "property", name: "nodeId" }, "number"), "endpoint": v.oneOf({ kind: "property", name: "endpoint" }, void 0, v.primitive({ kind: "property", name: "endpoint" }, "number"), v.array({ kind: "property", name: "endpoint" }, "number", v.primitive({ kind: "item", name: "endpoint" }, "number"))) })) })))(options2));
78
+ return __decoratedMethod.call(this, options2);
79
+ }, "addDestinations");
80
+ }
81
+ };
82
+ }
83
+ __name(validateArgs_MultiChannelAssociationCCAPI_addDestinations, "validateArgs_MultiChannelAssociationCCAPI_addDestinations");
84
+ function validateArgs_MultiChannelAssociationCCAPI_removeDestinations(options = {}) {
85
+ return (__decoratedMethod, { kind }) => {
86
+ if (kind === "method") {
87
+ return /* @__PURE__ */ __name(function removeDestinations(options2) {
88
+ v.assert(v.object({ kind: "parameter", name: "options" }, "MultiChannelAssociationCCRemoveOptions", { "groupId": v.optional({ kind: "property", name: "groupId" }, v.primitive({ kind: "property", name: "groupId" }, "number")), "nodeIds": v.optional({ kind: "property", name: "nodeIds" }, v.array({ kind: "property", name: "nodeIds" }, "number", v.primitive({ kind: "item", name: "nodeIds" }, "number"))), "endpoints": v.optional({ kind: "property", name: "endpoints" }, v.array({ kind: "property", name: "endpoints" }, "EndpointAddress", v.object({ kind: "item", name: "endpoints" }, "EndpointAddress", { "nodeId": v.primitive({ kind: "property", name: "nodeId" }, "number"), "endpoint": v.oneOf({ kind: "property", name: "endpoint" }, void 0, v.primitive({ kind: "property", name: "endpoint" }, "number"), v.array({ kind: "property", name: "endpoint" }, "number", v.primitive({ kind: "item", name: "endpoint" }, "number"))) }))) })(options2));
89
+ return __decoratedMethod.call(this, options2);
90
+ }, "removeDestinations");
91
+ }
92
+ };
93
+ }
94
+ __name(validateArgs_MultiChannelAssociationCCAPI_removeDestinations, "validateArgs_MultiChannelAssociationCCAPI_removeDestinations");
95
+ // Annotate the CommonJS export names for ESM import in node:
96
+ 0 && (module.exports = {
97
+ validateArgs_MultiChannelAssociationCCAPI_addDestinations,
98
+ validateArgs_MultiChannelAssociationCCAPI_getGroup,
99
+ validateArgs_MultiChannelAssociationCCAPI_removeDestinations,
100
+ validateArgs_MultiChannelAssociationCCAPI_reportGroupCount,
101
+ validateArgs_MultiChannelAssociationCCAPI_sendReport
102
+ });
103
+ //# sourceMappingURL=MultiChannelAssociationCC._validateArgs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cc/MultiChannelAssociationCC._validateArgs.ts"],
4
+ "sourcesContent": [null],
5
+ "mappings": "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",
6
+ "names": ["options"]
7
+ }