@zwave-js/cc 15.21.1 → 15.22.0

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 (419) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +2 -2
  2. package/build/cjs/cc/AlarmSensorCC.js +18 -57
  3. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  4. package/build/cjs/cc/ApplicationStatusCC.js +9 -48
  5. package/build/cjs/cc/ApplicationStatusCC.js.map +1 -1
  6. package/build/cjs/cc/AssociationCC.d.ts +2 -2
  7. package/build/cjs/cc/AssociationCC.js +32 -71
  8. package/build/cjs/cc/AssociationCC.js.map +2 -2
  9. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +2 -2
  10. package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
  11. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  12. package/build/cjs/cc/BarrierOperatorCC.d.ts +2 -2
  13. package/build/cjs/cc/BarrierOperatorCC.js +28 -67
  14. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  15. package/build/cjs/cc/BasicCC.d.ts +2 -2
  16. package/build/cjs/cc/BasicCC.js +15 -54
  17. package/build/cjs/cc/BasicCC.js.map +2 -2
  18. package/build/cjs/cc/BasicWindowCoveringCC.js +12 -51
  19. package/build/cjs/cc/BasicWindowCoveringCC.js.map +1 -1
  20. package/build/cjs/cc/BatteryCC.d.ts +2 -2
  21. package/build/cjs/cc/BatteryCC.js +15 -54
  22. package/build/cjs/cc/BatteryCC.js.map +2 -2
  23. package/build/cjs/cc/BinarySensorCC.d.ts +2 -2
  24. package/build/cjs/cc/BinarySensorCC.js +19 -58
  25. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  26. package/build/cjs/cc/BinarySwitchCC.d.ts +2 -2
  27. package/build/cjs/cc/BinarySwitchCC.js +15 -54
  28. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  29. package/build/cjs/cc/CRC16CC.js +7 -46
  30. package/build/cjs/cc/CRC16CC.js.map +1 -1
  31. package/build/cjs/cc/CentralSceneCC.js +19 -58
  32. package/build/cjs/cc/CentralSceneCC.js.map +1 -1
  33. package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
  34. package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
  35. package/build/cjs/cc/ClockCC.d.ts +2 -2
  36. package/build/cjs/cc/ClockCC.js +15 -54
  37. package/build/cjs/cc/ClockCC.js.map +2 -2
  38. package/build/cjs/cc/ColorSwitchCC.d.ts +2 -2
  39. package/build/cjs/cc/ColorSwitchCC.js +26 -65
  40. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  41. package/build/cjs/cc/ConfigurationCC.d.ts +2 -2
  42. package/build/cjs/cc/ConfigurationCC.js +43 -82
  43. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  44. package/build/cjs/cc/DeviceResetLocallyCC.js +7 -46
  45. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  46. package/build/cjs/cc/DoorLockCC.d.ts +2 -2
  47. package/build/cjs/cc/DoorLockCC.js +26 -65
  48. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  49. package/build/cjs/cc/DoorLockLoggingCC.d.ts +2 -2
  50. package/build/cjs/cc/DoorLockLoggingCC.js +17 -56
  51. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  52. package/build/cjs/cc/EnergyProductionCC.d.ts +2 -2
  53. package/build/cjs/cc/EnergyProductionCC.js +13 -52
  54. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  55. package/build/cjs/cc/EntryControlCC.d.ts +2 -2
  56. package/build/cjs/cc/EntryControlCC.js +25 -64
  57. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  58. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +34 -73
  59. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  60. package/build/cjs/cc/HailCC.js +3 -42
  61. package/build/cjs/cc/HailCC.js.map +1 -1
  62. package/build/cjs/cc/HumidityControlModeCC.d.ts +2 -2
  63. package/build/cjs/cc/HumidityControlModeCC.js +19 -58
  64. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  65. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  66. package/build/cjs/cc/HumidityControlOperatingStateCC.js +11 -50
  67. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  68. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +2 -2
  69. package/build/cjs/cc/HumidityControlSetpointCC.js +30 -69
  70. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  71. package/build/cjs/cc/InclusionControllerCC.js +9 -48
  72. package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
  73. package/build/cjs/cc/IndicatorCC.d.ts +2 -2
  74. package/build/cjs/cc/IndicatorCC.js +31 -70
  75. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  76. package/build/cjs/cc/IrrigationCC.d.ts +2 -2
  77. package/build/cjs/cc/IrrigationCC.js +54 -93
  78. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  79. package/build/cjs/cc/LanguageCC.d.ts +2 -2
  80. package/build/cjs/cc/LanguageCC.js +15 -54
  81. package/build/cjs/cc/LanguageCC.js.map +2 -2
  82. package/build/cjs/cc/LockCC.d.ts +2 -2
  83. package/build/cjs/cc/LockCC.js +15 -54
  84. package/build/cjs/cc/LockCC.js.map +2 -2
  85. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
  86. package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -49
  87. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  88. package/build/cjs/cc/ManufacturerSpecificCC.js +16 -55
  89. package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
  90. package/build/cjs/cc/MeterCC.d.ts +2 -2
  91. package/build/cjs/cc/MeterCC.js +23 -62
  92. package/build/cjs/cc/MeterCC.js.map +2 -2
  93. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +2 -2
  94. package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
  95. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  96. package/build/cjs/cc/MultiChannelCC.js +34 -73
  97. package/build/cjs/cc/MultiChannelCC.js.map +1 -1
  98. package/build/cjs/cc/MultiCommandCC.js +9 -48
  99. package/build/cjs/cc/MultiCommandCC.js.map +1 -1
  100. package/build/cjs/cc/MultilevelSensorCC.d.ts +2 -2
  101. package/build/cjs/cc/MultilevelSensorCC.js +23 -62
  102. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  103. package/build/cjs/cc/MultilevelSwitchCC.d.ts +2 -2
  104. package/build/cjs/cc/MultilevelSwitchCC.js +24 -63
  105. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  106. package/build/cjs/cc/NoOperationCC.js +5 -44
  107. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  108. package/build/cjs/cc/NodeNamingCC.d.ts +2 -2
  109. package/build/cjs/cc/NodeNamingCC.js +22 -61
  110. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  111. package/build/cjs/cc/NotificationCC.d.ts +20 -3
  112. package/build/cjs/cc/NotificationCC.js +141 -104
  113. package/build/cjs/cc/NotificationCC.js.map +2 -2
  114. package/build/cjs/cc/PowerlevelCC.js +22 -61
  115. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  116. package/build/cjs/cc/ProtectionCC.d.ts +2 -2
  117. package/build/cjs/cc/ProtectionCC.js +33 -72
  118. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  119. package/build/cjs/cc/SceneActivationCC.js +9 -48
  120. package/build/cjs/cc/SceneActivationCC.js.map +1 -1
  121. package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
  122. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
  123. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +2 -2
  124. package/build/cjs/cc/SceneControllerConfigurationCC.js +17 -56
  125. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  126. package/build/cjs/cc/ScheduleEntryLockCC.js +46 -85
  127. package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
  128. package/build/cjs/cc/Security2CC.js +33 -72
  129. package/build/cjs/cc/Security2CC.js.map +1 -1
  130. package/build/cjs/cc/SecurityCC.js +27 -66
  131. package/build/cjs/cc/SecurityCC.js.map +1 -1
  132. package/build/cjs/cc/SoundSwitchCC.js +29 -68
  133. package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
  134. package/build/cjs/cc/SupervisionCC.js +9 -48
  135. package/build/cjs/cc/SupervisionCC.js.map +1 -1
  136. package/build/cjs/cc/ThermostatFanModeCC.d.ts +2 -2
  137. package/build/cjs/cc/ThermostatFanModeCC.js +19 -58
  138. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  139. package/build/cjs/cc/ThermostatFanStateCC.d.ts +2 -2
  140. package/build/cjs/cc/ThermostatFanStateCC.js +11 -50
  141. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  142. package/build/cjs/cc/ThermostatModeCC.d.ts +2 -2
  143. package/build/cjs/cc/ThermostatModeCC.js +19 -58
  144. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  145. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +2 -2
  146. package/build/cjs/cc/ThermostatOperatingStateCC.js +11 -50
  147. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  148. package/build/cjs/cc/ThermostatSetbackCC.d.ts +2 -2
  149. package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
  150. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  151. package/build/cjs/cc/ThermostatSetpointCC.d.ts +2 -2
  152. package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
  153. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  154. package/build/cjs/cc/TimeCC.js +24 -63
  155. package/build/cjs/cc/TimeCC.js.map +1 -1
  156. package/build/cjs/cc/TimeParametersCC.js +13 -52
  157. package/build/cjs/cc/TimeParametersCC.js.map +1 -1
  158. package/build/cjs/cc/TransportServiceCC.js +13 -52
  159. package/build/cjs/cc/TransportServiceCC.js.map +1 -1
  160. package/build/cjs/cc/UserCodeCC.d.ts +6 -4
  161. package/build/cjs/cc/UserCodeCC.js +89 -98
  162. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  163. package/build/cjs/cc/VersionCC.js +25 -64
  164. package/build/cjs/cc/VersionCC.js.map +1 -1
  165. package/build/cjs/cc/WakeUpCC.js +21 -60
  166. package/build/cjs/cc/WakeUpCC.js.map +1 -1
  167. package/build/cjs/cc/WindowCoveringCC.d.ts +2 -2
  168. package/build/cjs/cc/WindowCoveringCC.js +26 -65
  169. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  170. package/build/cjs/cc/ZWaveLongRangeCC.js +3 -42
  171. package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
  172. package/build/cjs/cc/ZWavePlusCC.js +11 -50
  173. package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
  174. package/build/cjs/cc/ZWaveProtocolCC.js +73 -112
  175. package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
  176. package/build/cjs/cc/_CCValues.generated.d.ts +131 -7
  177. package/build/cjs/cc/_CCValues.generated.js +68 -5
  178. package/build/cjs/cc/_CCValues.generated.js.map +2 -2
  179. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  180. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +22 -59
  181. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  182. package/build/cjs/lib/CommandClass.d.ts +6 -2
  183. package/build/cjs/lib/CommandClass.js +1 -1
  184. package/build/cjs/lib/CommandClass.js.map +2 -2
  185. package/build/cjs/lib/Security2/Extension.js +9 -48
  186. package/build/cjs/lib/Security2/Extension.js.map +1 -1
  187. package/build/cjs/lib/Values.d.ts +1 -1
  188. package/build/cjs/lib/Values.js.map +1 -1
  189. package/build/esm/cc/AlarmSensorCC.d.ts +2 -2
  190. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  191. package/build/esm/cc/AlarmSensorCC.js +9 -38
  192. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  193. package/build/esm/cc/ApplicationStatusCC.js +1 -34
  194. package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
  195. package/build/esm/cc/AssociationCC.d.ts +2 -2
  196. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  197. package/build/esm/cc/AssociationCC.js +3 -36
  198. package/build/esm/cc/AssociationCC.js.map +1 -1
  199. package/build/esm/cc/AssociationGroupInfoCC.d.ts +2 -2
  200. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  201. package/build/esm/cc/AssociationGroupInfoCC.js +5 -36
  202. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  203. package/build/esm/cc/BarrierOperatorCC.d.ts +2 -2
  204. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  205. package/build/esm/cc/BarrierOperatorCC.js +3 -36
  206. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  207. package/build/esm/cc/BasicCC.d.ts +2 -2
  208. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  209. package/build/esm/cc/BasicCC.js +3 -36
  210. package/build/esm/cc/BasicCC.js.map +1 -1
  211. package/build/esm/cc/BasicWindowCoveringCC.js +1 -34
  212. package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
  213. package/build/esm/cc/BatteryCC.d.ts +2 -2
  214. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  215. package/build/esm/cc/BatteryCC.js +3 -36
  216. package/build/esm/cc/BatteryCC.js.map +1 -1
  217. package/build/esm/cc/BinarySensorCC.d.ts +2 -2
  218. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  219. package/build/esm/cc/BinarySensorCC.js +3 -36
  220. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  221. package/build/esm/cc/BinarySwitchCC.d.ts +2 -2
  222. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  223. package/build/esm/cc/BinarySwitchCC.js +3 -36
  224. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  225. package/build/esm/cc/CRC16CC.js +1 -34
  226. package/build/esm/cc/CRC16CC.js.map +1 -1
  227. package/build/esm/cc/CentralSceneCC.js +1 -34
  228. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  229. package/build/esm/cc/ClimateControlScheduleCC.js +1 -34
  230. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  231. package/build/esm/cc/ClockCC.d.ts +2 -2
  232. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  233. package/build/esm/cc/ClockCC.js +3 -36
  234. package/build/esm/cc/ClockCC.js.map +1 -1
  235. package/build/esm/cc/ColorSwitchCC.d.ts +2 -2
  236. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  237. package/build/esm/cc/ColorSwitchCC.js +3 -36
  238. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  239. package/build/esm/cc/ConfigurationCC.d.ts +2 -2
  240. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  241. package/build/esm/cc/ConfigurationCC.js +3 -36
  242. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  243. package/build/esm/cc/DeviceResetLocallyCC.js +1 -34
  244. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  245. package/build/esm/cc/DoorLockCC.d.ts +2 -2
  246. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  247. package/build/esm/cc/DoorLockCC.js +3 -36
  248. package/build/esm/cc/DoorLockCC.js.map +1 -1
  249. package/build/esm/cc/DoorLockLoggingCC.d.ts +2 -2
  250. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  251. package/build/esm/cc/DoorLockLoggingCC.js +3 -36
  252. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  253. package/build/esm/cc/EnergyProductionCC.d.ts +2 -2
  254. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  255. package/build/esm/cc/EnergyProductionCC.js +3 -36
  256. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  257. package/build/esm/cc/EntryControlCC.d.ts +2 -2
  258. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  259. package/build/esm/cc/EntryControlCC.js +3 -36
  260. package/build/esm/cc/EntryControlCC.js.map +1 -1
  261. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -34
  262. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  263. package/build/esm/cc/HailCC.js +1 -34
  264. package/build/esm/cc/HailCC.js.map +1 -1
  265. package/build/esm/cc/HumidityControlModeCC.d.ts +2 -2
  266. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  267. package/build/esm/cc/HumidityControlModeCC.js +3 -36
  268. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  269. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  270. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  271. package/build/esm/cc/HumidityControlOperatingStateCC.js +3 -36
  272. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  273. package/build/esm/cc/HumidityControlSetpointCC.d.ts +2 -2
  274. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  275. package/build/esm/cc/HumidityControlSetpointCC.js +3 -36
  276. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  277. package/build/esm/cc/InclusionControllerCC.js +1 -34
  278. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  279. package/build/esm/cc/IndicatorCC.d.ts +2 -2
  280. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  281. package/build/esm/cc/IndicatorCC.js +3 -36
  282. package/build/esm/cc/IndicatorCC.js.map +1 -1
  283. package/build/esm/cc/IrrigationCC.d.ts +2 -2
  284. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  285. package/build/esm/cc/IrrigationCC.js +3 -36
  286. package/build/esm/cc/IrrigationCC.js.map +1 -1
  287. package/build/esm/cc/LanguageCC.d.ts +2 -2
  288. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  289. package/build/esm/cc/LanguageCC.js +3 -36
  290. package/build/esm/cc/LanguageCC.js.map +1 -1
  291. package/build/esm/cc/LockCC.d.ts +2 -2
  292. package/build/esm/cc/LockCC.d.ts.map +1 -1
  293. package/build/esm/cc/LockCC.js +3 -36
  294. package/build/esm/cc/LockCC.js.map +1 -1
  295. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
  296. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  297. package/build/esm/cc/ManufacturerProprietaryCC.js +3 -36
  298. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  299. package/build/esm/cc/ManufacturerSpecificCC.js +1 -34
  300. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  301. package/build/esm/cc/MeterCC.d.ts +2 -2
  302. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  303. package/build/esm/cc/MeterCC.js +3 -36
  304. package/build/esm/cc/MeterCC.js.map +1 -1
  305. package/build/esm/cc/MultiChannelAssociationCC.d.ts +2 -2
  306. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  307. package/build/esm/cc/MultiChannelAssociationCC.js +4 -37
  308. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  309. package/build/esm/cc/MultiChannelCC.js +1 -34
  310. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  311. package/build/esm/cc/MultiCommandCC.js +1 -34
  312. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  313. package/build/esm/cc/MultilevelSensorCC.d.ts +2 -2
  314. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  315. package/build/esm/cc/MultilevelSensorCC.js +3 -36
  316. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  317. package/build/esm/cc/MultilevelSwitchCC.d.ts +2 -2
  318. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  319. package/build/esm/cc/MultilevelSwitchCC.js +3 -36
  320. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  321. package/build/esm/cc/NoOperationCC.js +1 -34
  322. package/build/esm/cc/NoOperationCC.js.map +1 -1
  323. package/build/esm/cc/NodeNamingCC.d.ts +2 -2
  324. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  325. package/build/esm/cc/NodeNamingCC.js +3 -36
  326. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  327. package/build/esm/cc/NotificationCC.d.ts +20 -3
  328. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  329. package/build/esm/cc/NotificationCC.js +143 -89
  330. package/build/esm/cc/NotificationCC.js.map +1 -1
  331. package/build/esm/cc/PowerlevelCC.js +1 -34
  332. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  333. package/build/esm/cc/ProtectionCC.d.ts +2 -2
  334. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  335. package/build/esm/cc/ProtectionCC.js +3 -36
  336. package/build/esm/cc/ProtectionCC.js.map +1 -1
  337. package/build/esm/cc/SceneActivationCC.js +1 -34
  338. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  339. package/build/esm/cc/SceneActuatorConfigurationCC.js +1 -34
  340. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  341. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +2 -2
  342. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  343. package/build/esm/cc/SceneControllerConfigurationCC.js +3 -36
  344. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  345. package/build/esm/cc/ScheduleEntryLockCC.js +1 -34
  346. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  347. package/build/esm/cc/Security2CC.js +1 -34
  348. package/build/esm/cc/Security2CC.js.map +1 -1
  349. package/build/esm/cc/SecurityCC.js +1 -34
  350. package/build/esm/cc/SecurityCC.js.map +1 -1
  351. package/build/esm/cc/SoundSwitchCC.js +1 -34
  352. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  353. package/build/esm/cc/SupervisionCC.js +1 -34
  354. package/build/esm/cc/SupervisionCC.js.map +1 -1
  355. package/build/esm/cc/ThermostatFanModeCC.d.ts +2 -2
  356. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  357. package/build/esm/cc/ThermostatFanModeCC.js +3 -36
  358. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  359. package/build/esm/cc/ThermostatFanStateCC.d.ts +2 -2
  360. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  361. package/build/esm/cc/ThermostatFanStateCC.js +3 -36
  362. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  363. package/build/esm/cc/ThermostatModeCC.d.ts +2 -2
  364. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  365. package/build/esm/cc/ThermostatModeCC.js +3 -36
  366. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  367. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +2 -2
  368. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  369. package/build/esm/cc/ThermostatOperatingStateCC.js +3 -36
  370. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  371. package/build/esm/cc/ThermostatSetbackCC.d.ts +2 -2
  372. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  373. package/build/esm/cc/ThermostatSetbackCC.js +3 -36
  374. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  375. package/build/esm/cc/ThermostatSetpointCC.d.ts +2 -2
  376. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  377. package/build/esm/cc/ThermostatSetpointCC.js +3 -36
  378. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  379. package/build/esm/cc/TimeCC.js +1 -34
  380. package/build/esm/cc/TimeCC.js.map +1 -1
  381. package/build/esm/cc/TimeParametersCC.js +1 -34
  382. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  383. package/build/esm/cc/TransportServiceCC.js +1 -34
  384. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  385. package/build/esm/cc/UserCodeCC.d.ts +6 -4
  386. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  387. package/build/esm/cc/UserCodeCC.js +55 -48
  388. package/build/esm/cc/UserCodeCC.js.map +1 -1
  389. package/build/esm/cc/VersionCC.js +1 -34
  390. package/build/esm/cc/VersionCC.js.map +1 -1
  391. package/build/esm/cc/WakeUpCC.js +1 -34
  392. package/build/esm/cc/WakeUpCC.js.map +1 -1
  393. package/build/esm/cc/WindowCoveringCC.d.ts +2 -2
  394. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  395. package/build/esm/cc/WindowCoveringCC.js +3 -36
  396. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  397. package/build/esm/cc/ZWaveLongRangeCC.js +1 -34
  398. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  399. package/build/esm/cc/ZWavePlusCC.js +1 -34
  400. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  401. package/build/esm/cc/ZWaveProtocolCC.js +1 -34
  402. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  403. package/build/esm/cc/_CCValues.generated.d.ts +131 -7
  404. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  405. package/build/esm/cc/_CCValues.generated.js +71 -4
  406. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  407. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  408. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  409. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +7 -38
  410. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  411. package/build/esm/lib/CommandClass.d.ts +6 -2
  412. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  413. package/build/esm/lib/CommandClass.js +1 -1
  414. package/build/esm/lib/CommandClass.js.map +1 -1
  415. package/build/esm/lib/Security2/Extension.js +1 -34
  416. package/build/esm/lib/Security2/Extension.js.map +1 -1
  417. package/build/esm/lib/Values.d.ts +1 -1
  418. package/build/esm/lib/Values.d.ts.map +1 -1
  419. package/package.json +9 -8
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/MultiChannelAssociationCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./MultiChannelAssociationCC._validateArgs.js\";\nconst { validateArgs_MultiChannelAssociationCCAPI_reportGroupCount, validateArgs_MultiChannelAssociationCCAPI_getGroup, validateArgs_MultiChannelAssociationCCAPI_sendReport, validateArgs_MultiChannelAssociationCCAPI_addDestinations, validateArgs_MultiChannelAssociationCCAPI_removeDestinations } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, MAX_NODES, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView, pick } from \"@zwave-js/shared\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type AssociationAddress, type EndpointAddress, MultiChannelAssociationCommand, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport * as ccUtils from \"../lib/utils.js\";\nimport { AssociationCCValues } from \"./AssociationCC.js\";\nimport { MultiChannelAssociationCCValues } from \"./_CCValues.generated.js\";\nexport { MultiChannelAssociationCCValues };\nfunction endpointAddressesToString(endpoints: readonly EndpointAddress[]): string {\n return endpoints\n .map(({ nodeId, endpoint }) => {\n if (typeof endpoint === \"number\") {\n return `${nodeId}:${endpoint}`;\n }\n else {\n return `${nodeId}:[${endpoint.map(String).join(\", \")}]`;\n }\n })\n .join(\", \");\n}\nconst MULTI_CHANNEL_ASSOCIATION_MARKER = 0x00;\nfunction serializeMultiChannelAssociationDestination(nodeIds: number[], endpoints: EndpointAddress[]): Bytes {\n const nodeAddressBytes = nodeIds.length;\n const endpointAddressBytes = endpoints.length * 2;\n const payload = new Bytes(\n // node addresses\n nodeAddressBytes\n // endpoint marker\n + (endpointAddressBytes > 0 ? 1 : 0)\n // endpoints\n + endpointAddressBytes);\n // write node addresses\n for (let i = 0; i < nodeIds.length; i++) {\n payload[i] = nodeIds[i];\n }\n // write endpoint addresses\n if (endpointAddressBytes > 0) {\n let offset = nodeIds.length;\n payload[offset] = MULTI_CHANNEL_ASSOCIATION_MARKER;\n offset += 1;\n for (let i = 0; i < endpoints.length; i++) {\n const endpoint = endpoints[i];\n const destination = typeof endpoint.endpoint === \"number\"\n // The destination is a single number\n ? endpoint.endpoint & 127\n // The destination is a bit mask\n : encodeBitMask(endpoint.endpoint, 7)[0] | 128;\n payload[offset + 2 * i] = endpoint.nodeId;\n payload[offset + 2 * i + 1] = destination;\n }\n }\n return payload;\n}\nfunction deserializeMultiChannelAssociationDestination(data: BytesView): {\n nodeIds: number[];\n endpoints: EndpointAddress[];\n} {\n const nodeIds: number[] = [];\n let endpointOffset = data.length;\n // Scan node ids until we find the marker\n for (let i = 0; i < data.length; i++) {\n if (data[i] === MULTI_CHANNEL_ASSOCIATION_MARKER) {\n endpointOffset = i + 1;\n break;\n }\n nodeIds.push(data[i]);\n }\n const endpoints: EndpointAddress[] = [];\n for (let i = endpointOffset; i < data.length; i += 2) {\n const nodeId = data[i];\n const isBitMask = !!(data[i + 1] & 128);\n const destination = data[i + 1] & 127;\n const endpoint = isBitMask\n ? parseBitMask(Bytes.from([destination]))\n : destination;\n endpoints.push({ nodeId, endpoint });\n }\n return { nodeIds, endpoints };\n}\n// @noSetValueAPI\n@API(CommandClasses[\"Multi Channel Association\"])\nexport class MultiChannelAssociationCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: MultiChannelAssociationCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case MultiChannelAssociationCommand.Get:\n case MultiChannelAssociationCommand.Set:\n case MultiChannelAssociationCommand.Report:\n case MultiChannelAssociationCommand.Remove:\n case MultiChannelAssociationCommand.SupportedGroupingsGet:\n case MultiChannelAssociationCommand.SupportedGroupingsReport:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n /**\n * Returns the number of association groups a node supports.\n * Association groups are consecutive, starting at 1.\n */\n public async getGroupCount(): Promise<MaybeNotKnown<number>> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.SupportedGroupingsGet);\n const cc = new MultiChannelAssociationCCSupportedGroupingsGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<MultiChannelAssociationCCSupportedGroupingsReport>(cc, this.commandOptions);\n return response?.groupCount;\n }\n @validateArgs_MultiChannelAssociationCCAPI_reportGroupCount()\n public async reportGroupCount(groupCount: number): Promise<void> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.SupportedGroupingsReport);\n const cc = new MultiChannelAssociationCCSupportedGroupingsReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n groupCount,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Returns information about an association group.\n */\n @validateArgs_MultiChannelAssociationCCAPI_getGroup()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getGroup(groupId: number) {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Get);\n const cc = new MultiChannelAssociationCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n groupId,\n });\n const response = await this.host.sendCommand<MultiChannelAssociationCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"maxNodes\", \"nodeIds\", \"endpoints\"]);\n }\n }\n @validateArgs_MultiChannelAssociationCCAPI_sendReport()\n public async sendReport(options: MultiChannelAssociationCCReportOptions): Promise<void> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Report);\n const cc = new MultiChannelAssociationCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Adds new nodes or endpoints to an association group\n */\n @validateArgs_MultiChannelAssociationCCAPI_addDestinations()\n public async addDestinations(options: MultiChannelAssociationCCSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Set);\n const cc = new MultiChannelAssociationCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Removes nodes or endpoints from an association group\n */\n @validateArgs_MultiChannelAssociationCCAPI_removeDestinations()\n public async removeDestinations(options: MultiChannelAssociationCCRemoveOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Remove);\n if (!options.groupId && this.version === 1) {\n // V1 does not support omitting the group, manually remove the destination from all groups\n // We don't want to do too much work, so find out which groups the destination is in\n const currentDestinations = MultiChannelAssociationCC\n .getAllDestinationsCached(this.host, this.endpoint);\n for (const [group, destinations] of currentDestinations) {\n const cc = new MultiChannelAssociationCCRemove({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n groupId: group,\n nodeIds: destinations\n .filter((d) => d.endpoint != undefined)\n .map((d) => d.nodeId),\n endpoints: destinations.filter((d): d is AssociationAddress & {\n endpoint: number;\n } => d.endpoint != undefined),\n });\n // TODO: evaluate intermediate supervision results\n await this.host.sendCommand(cc, this.commandOptions);\n }\n }\n else if (options.groupId && options.groupId < 0) {\n throw new ZWaveError(\"The group id must not be negative!\", ZWaveErrorCodes.Argument_Invalid);\n }\n else {\n const cc = new MultiChannelAssociationCCRemove({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n }\n}\n@commandClass(CommandClasses[\"Multi Channel Association\"])\n@implementedVersion(5)\n@ccValues(MultiChannelAssociationCCValues)\nexport class MultiChannelAssociationCC extends CommandClass {\n declare ccCommand: MultiChannelAssociationCommand;\n public determineRequiredCCInterviews(): readonly CommandClasses[] {\n // MultiChannelAssociationCC must be interviewed after Z-Wave+ if that is supported\n return [\n ...super.determineRequiredCCInterviews(),\n CommandClasses[\"Z-Wave Plus Info\"],\n // We need information about endpoints to correctly configure the lifeline associations\n CommandClasses[\"Multi Channel\"],\n // AssociationCC will short-circuit if this CC is supported\n CommandClasses.Association,\n ];\n }\n /**\n * Returns the number of association groups reported by the node/endpoint.\n * This only works AFTER the interview process\n */\n public static getGroupCountCached(ctx: GetValueDB, endpoint: EndpointId): number {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultiChannelAssociationCCValues.groupCount.endpoint(endpoint.index)) || 0;\n }\n /**\n * Returns the number of nodes an association group supports.\n * This only works AFTER the interview process\n */\n public static getMaxNodesCached(ctx: GetValueDB, endpoint: EndpointId, groupId: number): number {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultiChannelAssociationCCValues.maxNodes(groupId).endpoint(endpoint.index)) ?? 0;\n }\n /**\n * Returns all the destinations of all association groups reported by the node/endpoint.\n * This only works AFTER the interview process\n */\n public static getAllDestinationsCached(ctx: GetValueDB, endpoint: EndpointId): ReadonlyMap<number, readonly AssociationAddress[]> {\n const ret = new Map<number, AssociationAddress[]>();\n const groupCount = this.getGroupCountCached(ctx, endpoint);\n const valueDB = ctx.getValueDB(endpoint.nodeId);\n for (let i = 1; i <= groupCount; i++) {\n const groupDestinations: AssociationAddress[] = [];\n // Add all node destinations\n const nodes = valueDB.getValue<number[]>(MultiChannelAssociationCCValues.nodeIds(i).endpoint(endpoint.index)) ?? [];\n groupDestinations.push(...nodes.map((nodeId) => ({ nodeId })));\n // And all endpoint destinations\n const endpoints = valueDB.getValue<EndpointAddress[]>(MultiChannelAssociationCCValues.endpoints(i).endpoint(endpoint.index)) ?? [];\n for (const ep of endpoints) {\n if (typeof ep.endpoint === \"number\") {\n groupDestinations.push({\n nodeId: ep.nodeId,\n endpoint: ep.endpoint,\n });\n }\n else {\n groupDestinations.push(...ep.endpoint.map((e) => ({\n nodeId: ep.nodeId,\n endpoint: e,\n })));\n }\n }\n ret.set(i, \n // Filter out duplicates\n groupDestinations.filter((addr, index) => index\n === groupDestinations.findIndex(({ nodeId, endpoint }) => nodeId === addr.nodeId\n && endpoint === addr.endpoint)));\n }\n return ret;\n }\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const mcAPI = CCAPI.create(CommandClasses[\"Multi Channel Association\"], ctx, endpoint);\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // First find out how many groups are supported as multi channel\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying number of multi channel association groups...\",\n direction: \"outbound\",\n });\n const mcGroupCount = await mcAPI.getGroupCount();\n if (mcGroupCount != undefined) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `supports ${mcGroupCount} multi channel association groups`,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying multi channel association groups timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n // Query each association group for its members\n await this.refreshValues(ctx);\n // And set up lifeline associations\n await ccUtils.configureLifelineAssociations(ctx, endpoint);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const mcAPI = CCAPI.create(CommandClasses[\"Multi Channel Association\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n const assocAPI = CCAPI.create(CommandClasses.Association, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n const mcGroupCount: number = this.getValue(ctx, MultiChannelAssociationCCValues.groupCount) ?? 0;\n // Some devices report more association groups than multi channel association groups, so we need this info here\n const assocGroupCount: number = this.getValue(ctx, AssociationCCValues.groupCount)\n || mcGroupCount;\n // Then query each multi channel association group\n for (let groupId = 1; groupId <= mcGroupCount; groupId++) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying multi channel association group #${groupId}...`,\n direction: \"outbound\",\n });\n const group = await mcAPI.getGroup(groupId);\n if (!group)\n continue;\n const logMessage = `received information for multi channel association group #${groupId}:\nmaximum # of nodes: ${group.maxNodes}\ncurrently assigned nodes: ${group.nodeIds.map(String).join(\", \")}\ncurrently assigned endpoints: ${group.endpoints\n .map(({ nodeId, endpoint }) => {\n if (typeof endpoint === \"number\") {\n return `${nodeId}:${endpoint}`;\n }\n else {\n return `${nodeId}:[${endpoint.map(String).join(\", \")}]`;\n }\n })\n .join(\"\")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n // Check if there are more non-multi-channel association groups we haven't queried yet\n if (assocAPI.isSupported() && assocGroupCount > mcGroupCount) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying additional non-multi-channel association groups...`,\n direction: \"outbound\",\n });\n for (let groupId = mcGroupCount + 1; groupId <= assocGroupCount; groupId++) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying association group #${groupId}...`,\n direction: \"outbound\",\n });\n const group = await assocAPI.getGroup(groupId);\n if (!group)\n continue;\n const logMessage = `received information for association group #${groupId}:\nmaximum # of nodes: ${group.maxNodes}\ncurrently assigned nodes: ${group.nodeIds.map(String).join(\", \")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n}\n// @publicAPI\nexport type MultiChannelAssociationCCSetOptions = {\n groupId: number;\n} & ({\n nodeIds: number[];\n} | {\n endpoints: EndpointAddress[];\n} | {\n nodeIds: number[];\n endpoints: EndpointAddress[];\n});\n@CCCommand(MultiChannelAssociationCommand.Set)\n@useSupervision()\nexport class MultiChannelAssociationCCSet extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCSetOptions>) {\n super(options);\n if (options.groupId < 1) {\n throw new ZWaveError(\"The group id must be positive!\", ZWaveErrorCodes.Argument_Invalid);\n }\n this.groupId = options.groupId;\n this.nodeIds = (\"nodeIds\" in options && options.nodeIds) || [];\n if (this.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n throw new ZWaveError(`All node IDs must be between 1 and ${MAX_NODES}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.endpoints = (\"endpoints\" in options && options.endpoints)\n || [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCSet {\n validatePayload(raw.payload.length >= 1);\n const groupId = raw.payload[0];\n const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n nodeIds,\n endpoints,\n });\n }\n public groupId: number;\n public nodeIds: number[];\n public endpoints: EndpointAddress[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.groupId],\n serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"group id\": this.groupId,\n \"node ids\": this.nodeIds.join(\", \"),\n endpoints: endpointAddressesToString(this.endpoints),\n },\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCRemoveOptions {\n /** The group from which to remove the nodes. If none is specified, the nodes will be removed from all groups. */\n groupId?: number;\n /** The nodes to remove. If no nodeIds and no endpoint addresses are specified, ALL nodes will be removed. */\n nodeIds?: number[];\n /** The single endpoints to remove. If no nodeIds and no endpoint addresses are specified, ALL will be removed. */\n endpoints?: EndpointAddress[];\n}\n@CCCommand(MultiChannelAssociationCommand.Remove)\n@useSupervision()\nexport class MultiChannelAssociationCCRemove extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCRemoveOptions>) {\n super(options);\n // When removing associations, we allow invalid node IDs.\n // See GH#3606 - it is possible that those exist.\n this.groupId = options.groupId;\n this.nodeIds = options.nodeIds;\n this.endpoints = options.endpoints;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCRemove {\n validatePayload(raw.payload.length >= 1);\n const groupId: number | undefined = raw.payload[0];\n const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n nodeIds,\n endpoints,\n });\n }\n public groupId?: number;\n public nodeIds?: number[];\n public endpoints?: EndpointAddress[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.groupId || 0],\n serializeMultiChannelAssociationDestination(this.nodeIds || [], this.endpoints || []),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"group id\": this.groupId || \"(all groups)\",\n };\n if (this.nodeIds) {\n message[\"node ids\"] = this.nodeIds.join(\", \");\n }\n if (this.endpoints) {\n message.endpoints = endpointAddressesToString(this.endpoints);\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCReportOptions {\n groupId: number;\n maxNodes: number;\n nodeIds: number[];\n endpoints: EndpointAddress[];\n reportsToFollow: number;\n}\n@CCCommand(MultiChannelAssociationCommand.Report)\n@ccValueProperty(\"maxNodes\", MultiChannelAssociationCCValues.maxNodes, (self) => [self.groupId])\n@ccValueProperty(\"nodeIds\", MultiChannelAssociationCCValues.nodeIds, (self) => [self.groupId])\n@ccValueProperty(\"endpoints\", MultiChannelAssociationCCValues.endpoints, (self) => [self.groupId])\nexport class MultiChannelAssociationCCReport extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCReportOptions>) {\n super(options);\n this.groupId = options.groupId;\n this.maxNodes = options.maxNodes;\n this.nodeIds = options.nodeIds;\n this.endpoints = options.endpoints;\n this.reportsToFollow = options.reportsToFollow;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCReport {\n validatePayload(raw.payload.length >= 3);\n const groupId = raw.payload[0];\n const maxNodes = raw.payload[1];\n const reportsToFollow = raw.payload[2];\n const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(3));\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n maxNodes,\n nodeIds,\n endpoints,\n reportsToFollow,\n });\n }\n public readonly groupId: number;\n public maxNodes: number;\n public nodeIds: number[];\n public endpoints: EndpointAddress[];\n public reportsToFollow: number;\n public getPartialCCSessionId(): Record<string, any> | undefined {\n // Distinguish sessions by the association group ID\n return { groupId: this.groupId };\n }\n public expectMoreMessages(): boolean {\n return this.reportsToFollow > 0;\n }\n public mergePartialCCs(partials: MultiChannelAssociationCCReport[], _ctx: CCParsingContext): Promise<void> {\n // Concat the list of nodes\n this.nodeIds = [...partials, this]\n .map((report) => [...report.nodeIds])\n .reduce((prev, cur) => prev.concat(...cur), []);\n // Concat the list of endpoints\n this.endpoints = [...partials, this]\n .map((report) => [...report.endpoints])\n .reduce((prev, cur) => prev.concat(...cur), []);\n return Promise.resolve();\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const destinations = serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints);\n this.payload = Bytes.concat([\n [\n this.groupId,\n this.maxNodes,\n this.reportsToFollow,\n ],\n destinations,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"group id\": this.groupId,\n \"maximum # of nodes\": this.maxNodes,\n \"node ids\": this.nodeIds.join(\", \"),\n endpoints: endpointAddressesToString(this.endpoints),\n },\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCGetOptions {\n groupId: number;\n}\n@CCCommand(MultiChannelAssociationCommand.Get)\n@expectedCCResponse(MultiChannelAssociationCCReport)\nexport class MultiChannelAssociationCCGet extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCGetOptions>) {\n super(options);\n if (options.groupId < 1) {\n throw new ZWaveError(\"The group id must be positive!\", ZWaveErrorCodes.Argument_Invalid);\n }\n this.groupId = options.groupId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCGet {\n validatePayload(raw.payload.length >= 1);\n const groupId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n });\n }\n public groupId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.groupId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"group id\": this.groupId },\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCSupportedGroupingsReportOptions {\n groupCount: number;\n}\n@CCCommand(MultiChannelAssociationCommand.SupportedGroupingsReport)\n@ccValueProperty(\"groupCount\", MultiChannelAssociationCCValues.groupCount)\nexport class MultiChannelAssociationCCSupportedGroupingsReport extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCSupportedGroupingsReportOptions>) {\n super(options);\n this.groupCount = options.groupCount;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCSupportedGroupingsReport {\n validatePayload(raw.payload.length >= 1);\n const groupCount = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n groupCount,\n });\n }\n public readonly groupCount: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.groupCount]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"group count\": this.groupCount },\n };\n }\n}\n@CCCommand(MultiChannelAssociationCommand.SupportedGroupingsGet)\n@expectedCCResponse(MultiChannelAssociationCCSupportedGroupingsReport)\nexport class MultiChannelAssociationCCSupportedGroupingsGet extends MultiChannelAssociationCC {\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./MultiChannelAssociationCC._validateArgs.js\";\nconst { validateArgs_MultiChannelAssociationCCAPI_reportGroupCount, validateArgs_MultiChannelAssociationCCAPI_getGroup, validateArgs_MultiChannelAssociationCCAPI_sendReport, validateArgs_MultiChannelAssociationCCAPI_addDestinations, validateArgs_MultiChannelAssociationCCAPI_removeDestinations } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, MAX_NODES, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView, pick } from \"@zwave-js/shared\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type AssociationAddress, type EndpointAddress, MultiChannelAssociationCommand, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport * as ccUtils from \"../lib/utils.js\";\nimport { AssociationCCValues } from \"./AssociationCC.js\";\nimport { MultiChannelAssociationCCValues } from \"./_CCValues.generated.js\";\nexport { MultiChannelAssociationCCValues };\nfunction endpointAddressesToString(endpoints: readonly EndpointAddress[]): string {\n return endpoints\n .map(({ nodeId, endpoint }) => {\n if (typeof endpoint === \"number\") {\n return `${nodeId}:${endpoint}`;\n }\n else {\n return `${nodeId}:[${endpoint.map(String).join(\", \")}]`;\n }\n })\n .join(\", \");\n}\nconst MULTI_CHANNEL_ASSOCIATION_MARKER = 0x00;\nfunction serializeMultiChannelAssociationDestination(nodeIds: number[], endpoints: EndpointAddress[]): Bytes {\n const nodeAddressBytes = nodeIds.length;\n const endpointAddressBytes = endpoints.length * 2;\n const payload = new Bytes(\n // node addresses\n nodeAddressBytes\n // endpoint marker\n + (endpointAddressBytes > 0 ? 1 : 0)\n // endpoints\n + endpointAddressBytes);\n // write node addresses\n for (let i = 0; i < nodeIds.length; i++) {\n payload[i] = nodeIds[i];\n }\n // write endpoint addresses\n if (endpointAddressBytes > 0) {\n let offset = nodeIds.length;\n payload[offset] = MULTI_CHANNEL_ASSOCIATION_MARKER;\n offset += 1;\n for (let i = 0; i < endpoints.length; i++) {\n const endpoint = endpoints[i];\n const destination = typeof endpoint.endpoint === \"number\"\n // The destination is a single number\n ? endpoint.endpoint & 127\n // The destination is a bit mask\n : encodeBitMask(endpoint.endpoint, 7)[0] | 128;\n payload[offset + 2 * i] = endpoint.nodeId;\n payload[offset + 2 * i + 1] = destination;\n }\n }\n return payload;\n}\nfunction deserializeMultiChannelAssociationDestination(data: BytesView): {\n nodeIds: number[];\n endpoints: EndpointAddress[];\n} {\n const nodeIds: number[] = [];\n let endpointOffset = data.length;\n // Scan node ids until we find the marker\n for (let i = 0; i < data.length; i++) {\n if (data[i] === MULTI_CHANNEL_ASSOCIATION_MARKER) {\n endpointOffset = i + 1;\n break;\n }\n nodeIds.push(data[i]);\n }\n const endpoints: EndpointAddress[] = [];\n for (let i = endpointOffset; i < data.length; i += 2) {\n const nodeId = data[i];\n const isBitMask = !!(data[i + 1] & 128);\n const destination = data[i + 1] & 127;\n const endpoint = isBitMask\n ? parseBitMask(Bytes.from([destination]))\n : destination;\n endpoints.push({ nodeId, endpoint });\n }\n return { nodeIds, endpoints };\n}\n// @noSetValueAPI\n@API(CommandClasses[\"Multi Channel Association\"])\nexport class MultiChannelAssociationCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: MultiChannelAssociationCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case MultiChannelAssociationCommand.Get:\n case MultiChannelAssociationCommand.Set:\n case MultiChannelAssociationCommand.Report:\n case MultiChannelAssociationCommand.Remove:\n case MultiChannelAssociationCommand.SupportedGroupingsGet:\n case MultiChannelAssociationCommand.SupportedGroupingsReport:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n /**\n * Returns the number of association groups a node supports.\n * Association groups are consecutive, starting at 1.\n */\n public async getGroupCount(): Promise<MaybeNotKnown<number>> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.SupportedGroupingsGet);\n const cc = new MultiChannelAssociationCCSupportedGroupingsGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<MultiChannelAssociationCCSupportedGroupingsReport>(cc, this.commandOptions);\n return response?.groupCount;\n }\n @validateArgs_MultiChannelAssociationCCAPI_reportGroupCount()\n public async reportGroupCount(groupCount: number): Promise<void> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.SupportedGroupingsReport);\n const cc = new MultiChannelAssociationCCSupportedGroupingsReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n groupCount,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Returns information about an association group.\n */\n @validateArgs_MultiChannelAssociationCCAPI_getGroup()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getGroup(groupId: number) {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Get);\n const cc = new MultiChannelAssociationCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n groupId,\n });\n const response = await this.host.sendCommand<MultiChannelAssociationCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"maxNodes\", \"nodeIds\", \"endpoints\"]);\n }\n }\n @validateArgs_MultiChannelAssociationCCAPI_sendReport()\n public async sendReport(options: MultiChannelAssociationCCReportOptions): Promise<void> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Report);\n const cc = new MultiChannelAssociationCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Adds new nodes or endpoints to an association group\n */\n @validateArgs_MultiChannelAssociationCCAPI_addDestinations()\n public async addDestinations(options: MultiChannelAssociationCCSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Set);\n const cc = new MultiChannelAssociationCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Removes nodes or endpoints from an association group\n */\n @validateArgs_MultiChannelAssociationCCAPI_removeDestinations()\n public async removeDestinations(options: MultiChannelAssociationCCRemoveOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(MultiChannelAssociationCommand, MultiChannelAssociationCommand.Remove);\n if (!options.groupId && this.version === 1) {\n // V1 does not support omitting the group, manually remove the destination from all groups\n // We don't want to do too much work, so find out which groups the destination is in\n const currentDestinations = MultiChannelAssociationCC\n .getAllDestinationsCached(this.host, this.endpoint);\n for (const [group, destinations] of currentDestinations) {\n const cc = new MultiChannelAssociationCCRemove({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n groupId: group,\n nodeIds: destinations\n .filter((d) => d.endpoint != undefined)\n .map((d) => d.nodeId),\n endpoints: destinations.filter((d): d is AssociationAddress & {\n endpoint: number;\n } => d.endpoint != undefined),\n });\n // TODO: evaluate intermediate supervision results\n await this.host.sendCommand(cc, this.commandOptions);\n }\n }\n else if (options.groupId && options.groupId < 0) {\n throw new ZWaveError(\"The group id must not be negative!\", ZWaveErrorCodes.Argument_Invalid);\n }\n else {\n const cc = new MultiChannelAssociationCCRemove({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n }\n}\n@commandClass(CommandClasses[\"Multi Channel Association\"])\n@implementedVersion(5)\n@ccValues(MultiChannelAssociationCCValues)\nexport class MultiChannelAssociationCC extends CommandClass {\n declare ccCommand: MultiChannelAssociationCommand;\n public determineRequiredCCInterviews(): readonly CommandClasses[] {\n // MultiChannelAssociationCC must be interviewed after Z-Wave+ if that is supported\n return [\n ...super.determineRequiredCCInterviews(),\n CommandClasses[\"Z-Wave Plus Info\"],\n // We need information about endpoints to correctly configure the lifeline associations\n CommandClasses[\"Multi Channel\"],\n // AssociationCC will short-circuit if this CC is supported\n CommandClasses.Association,\n ];\n }\n /**\n * Returns the number of association groups reported by the node/endpoint.\n * This only works AFTER the interview process\n */\n public static getGroupCountCached(ctx: GetValueDB, endpoint: EndpointId): number {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultiChannelAssociationCCValues.groupCount.endpoint(endpoint.index)) || 0;\n }\n /**\n * Returns the number of nodes an association group supports.\n * This only works AFTER the interview process\n */\n public static getMaxNodesCached(ctx: GetValueDB, endpoint: EndpointId, groupId: number): number {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(MultiChannelAssociationCCValues.maxNodes(groupId).endpoint(endpoint.index)) ?? 0;\n }\n /**\n * Returns all the destinations of all association groups reported by the node/endpoint.\n * This only works AFTER the interview process\n */\n public static getAllDestinationsCached(ctx: GetValueDB, endpoint: EndpointId): ReadonlyMap<number, readonly AssociationAddress[]> {\n const ret = new Map<number, AssociationAddress[]>();\n const groupCount = this.getGroupCountCached(ctx, endpoint);\n const valueDB = ctx.getValueDB(endpoint.nodeId);\n for (let i = 1; i <= groupCount; i++) {\n const groupDestinations: AssociationAddress[] = [];\n // Add all node destinations\n const nodes = valueDB.getValue<number[]>(MultiChannelAssociationCCValues.nodeIds(i).endpoint(endpoint.index)) ?? [];\n groupDestinations.push(...nodes.map((nodeId) => ({ nodeId })));\n // And all endpoint destinations\n const endpoints = valueDB.getValue<EndpointAddress[]>(MultiChannelAssociationCCValues.endpoints(i).endpoint(endpoint.index)) ?? [];\n for (const ep of endpoints) {\n if (typeof ep.endpoint === \"number\") {\n groupDestinations.push({\n nodeId: ep.nodeId,\n endpoint: ep.endpoint,\n });\n }\n else {\n groupDestinations.push(...ep.endpoint.map((e) => ({\n nodeId: ep.nodeId,\n endpoint: e,\n })));\n }\n }\n ret.set(i, \n // Filter out duplicates\n groupDestinations.filter((addr, index) => index\n === groupDestinations.findIndex(({ nodeId, endpoint }) => nodeId === addr.nodeId\n && endpoint === addr.endpoint)));\n }\n return ret;\n }\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const mcAPI = CCAPI.create(CommandClasses[\"Multi Channel Association\"], ctx, endpoint);\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // First find out how many groups are supported as multi channel\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying number of multi channel association groups...\",\n direction: \"outbound\",\n });\n const mcGroupCount = await mcAPI.getGroupCount();\n if (mcGroupCount != undefined) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `supports ${mcGroupCount} multi channel association groups`,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying multi channel association groups timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n // Query each association group for its members\n await this.refreshValues(ctx);\n // And set up lifeline associations\n await ccUtils.configureLifelineAssociations(ctx, endpoint);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const mcAPI = CCAPI.create(CommandClasses[\"Multi Channel Association\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n const assocAPI = CCAPI.create(CommandClasses.Association, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n const mcGroupCount: number = this.getValue(ctx, MultiChannelAssociationCCValues.groupCount) ?? 0;\n // Some devices report more association groups than multi channel association groups, so we need this info here\n const assocGroupCount: number = this.getValue(ctx, AssociationCCValues.groupCount)\n || mcGroupCount;\n // Then query each multi channel association group\n for (let groupId = 1; groupId <= mcGroupCount; groupId++) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying multi channel association group #${groupId}...`,\n direction: \"outbound\",\n });\n const group = await mcAPI.getGroup(groupId);\n if (!group)\n continue;\n const logMessage = `received information for multi channel association group #${groupId}:\nmaximum # of nodes: ${group.maxNodes}\ncurrently assigned nodes: ${group.nodeIds.map(String).join(\", \")}\ncurrently assigned endpoints: ${group.endpoints\n .map(({ nodeId, endpoint }) => {\n if (typeof endpoint === \"number\") {\n return `${nodeId}:${endpoint}`;\n }\n else {\n return `${nodeId}:[${endpoint.map(String).join(\", \")}]`;\n }\n })\n .join(\"\")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n // Check if there are more non-multi-channel association groups we haven't queried yet\n if (assocAPI.isSupported() && assocGroupCount > mcGroupCount) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying additional non-multi-channel association groups...`,\n direction: \"outbound\",\n });\n for (let groupId = mcGroupCount + 1; groupId <= assocGroupCount; groupId++) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying association group #${groupId}...`,\n direction: \"outbound\",\n });\n const group = await assocAPI.getGroup(groupId);\n if (!group)\n continue;\n const logMessage = `received information for association group #${groupId}:\nmaximum # of nodes: ${group.maxNodes}\ncurrently assigned nodes: ${group.nodeIds.map(String).join(\", \")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n}\n// @publicAPI\nexport type MultiChannelAssociationCCSetOptions = {\n groupId: number;\n} & ({\n nodeIds: number[];\n} | {\n endpoints: EndpointAddress[];\n} | {\n nodeIds: number[];\n endpoints: EndpointAddress[];\n});\n@CCCommand(MultiChannelAssociationCommand.Set)\n@useSupervision()\nexport class MultiChannelAssociationCCSet extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCSetOptions>) {\n super(options);\n if (options.groupId < 1) {\n throw new ZWaveError(\"The group id must be positive!\", ZWaveErrorCodes.Argument_Invalid);\n }\n this.groupId = options.groupId;\n this.nodeIds = (\"nodeIds\" in options && options.nodeIds) || [];\n if (this.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n throw new ZWaveError(`All node IDs must be between 1 and ${MAX_NODES}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.endpoints = (\"endpoints\" in options && options.endpoints)\n || [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCSet {\n validatePayload(raw.payload.length >= 1);\n const groupId = raw.payload[0];\n const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n nodeIds,\n endpoints,\n });\n }\n public groupId: number;\n public nodeIds: number[];\n public endpoints: EndpointAddress[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.groupId],\n serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"group id\": this.groupId,\n \"node ids\": this.nodeIds.join(\", \"),\n endpoints: endpointAddressesToString(this.endpoints),\n },\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCRemoveOptions {\n /** The group from which to remove the nodes. If none is specified, the nodes will be removed from all groups. */\n groupId?: number;\n /** The nodes to remove. If no nodeIds and no endpoint addresses are specified, ALL nodes will be removed. */\n nodeIds?: number[];\n /** The single endpoints to remove. If no nodeIds and no endpoint addresses are specified, ALL will be removed. */\n endpoints?: EndpointAddress[];\n}\n@CCCommand(MultiChannelAssociationCommand.Remove)\n@useSupervision()\nexport class MultiChannelAssociationCCRemove extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCRemoveOptions>) {\n super(options);\n // When removing associations, we allow invalid node IDs.\n // See GH#3606 - it is possible that those exist.\n this.groupId = options.groupId;\n this.nodeIds = options.nodeIds;\n this.endpoints = options.endpoints;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCRemove {\n validatePayload(raw.payload.length >= 1);\n const groupId: number | undefined = raw.payload[0];\n const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n nodeIds,\n endpoints,\n });\n }\n public groupId?: number;\n public nodeIds?: number[];\n public endpoints?: EndpointAddress[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.groupId || 0],\n serializeMultiChannelAssociationDestination(this.nodeIds || [], this.endpoints || []),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"group id\": this.groupId || \"(all groups)\",\n };\n if (this.nodeIds) {\n message[\"node ids\"] = this.nodeIds.join(\", \");\n }\n if (this.endpoints) {\n message.endpoints = endpointAddressesToString(this.endpoints);\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCReportOptions {\n groupId: number;\n maxNodes: number;\n nodeIds: number[];\n endpoints: EndpointAddress[];\n reportsToFollow: number;\n}\n@CCCommand(MultiChannelAssociationCommand.Report)\n@ccValueProperty(\"maxNodes\", MultiChannelAssociationCCValues.maxNodes, (self) => [self.groupId])\n@ccValueProperty(\"nodeIds\", MultiChannelAssociationCCValues.nodeIds, (self) => [self.groupId])\n@ccValueProperty(\"endpoints\", MultiChannelAssociationCCValues.endpoints, (self) => [self.groupId])\nexport class MultiChannelAssociationCCReport extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCReportOptions>) {\n super(options);\n this.groupId = options.groupId;\n this.maxNodes = options.maxNodes;\n this.nodeIds = options.nodeIds;\n this.endpoints = options.endpoints;\n this.reportsToFollow = options.reportsToFollow;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCReport {\n validatePayload(raw.payload.length >= 3);\n const groupId = raw.payload[0];\n const maxNodes = raw.payload[1];\n const reportsToFollow = raw.payload[2];\n const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(3));\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n maxNodes,\n nodeIds,\n endpoints,\n reportsToFollow,\n });\n }\n public readonly groupId: number;\n public maxNodes: number;\n public nodeIds: number[];\n public endpoints: EndpointAddress[];\n public reportsToFollow: number;\n public getPartialCCSessionId(): Record<string, any> | undefined {\n // Distinguish sessions by the association group ID\n return { groupId: this.groupId };\n }\n public expectMoreMessages(): boolean {\n return this.reportsToFollow > 0;\n }\n public mergePartialCCs(partials: MultiChannelAssociationCCReport[], _ctx: CCParsingContext): Promise<void> {\n // Concat the list of nodes\n this.nodeIds = [...partials, this]\n .map((report) => [...report.nodeIds])\n .reduce((prev, cur) => prev.concat(...cur), []);\n // Concat the list of endpoints\n this.endpoints = [...partials, this]\n .map((report) => [...report.endpoints])\n .reduce((prev, cur) => prev.concat(...cur), []);\n return Promise.resolve();\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const destinations = serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints);\n this.payload = Bytes.concat([\n [\n this.groupId,\n this.maxNodes,\n this.reportsToFollow,\n ],\n destinations,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"group id\": this.groupId,\n \"maximum # of nodes\": this.maxNodes,\n \"node ids\": this.nodeIds.join(\", \"),\n endpoints: endpointAddressesToString(this.endpoints),\n },\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCGetOptions {\n groupId: number;\n}\n@CCCommand(MultiChannelAssociationCommand.Get)\n@expectedCCResponse(MultiChannelAssociationCCReport)\nexport class MultiChannelAssociationCCGet extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCGetOptions>) {\n super(options);\n if (options.groupId < 1) {\n throw new ZWaveError(\"The group id must be positive!\", ZWaveErrorCodes.Argument_Invalid);\n }\n this.groupId = options.groupId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCGet {\n validatePayload(raw.payload.length >= 1);\n const groupId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n groupId,\n });\n }\n public groupId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.groupId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"group id\": this.groupId },\n };\n }\n}\n// @publicAPI\nexport interface MultiChannelAssociationCCSupportedGroupingsReportOptions {\n groupCount: number;\n}\n@CCCommand(MultiChannelAssociationCommand.SupportedGroupingsReport)\n@ccValueProperty(\"groupCount\", MultiChannelAssociationCCValues.groupCount)\nexport class MultiChannelAssociationCCSupportedGroupingsReport extends MultiChannelAssociationCC {\n public constructor(options: WithAddress<MultiChannelAssociationCCSupportedGroupingsReportOptions>) {\n super(options);\n this.groupCount = options.groupCount;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): MultiChannelAssociationCCSupportedGroupingsReport {\n validatePayload(raw.payload.length >= 1);\n const groupCount = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n groupCount,\n });\n }\n public readonly groupCount: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.groupCount]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"group count\": this.groupCount },\n };\n }\n}\n@CCCommand(MultiChannelAssociationCommand.SupportedGroupingsGet)\n@expectedCCResponse(MultiChannelAssociationCCSupportedGroupingsReport)\nexport class MultiChannelAssociationCCSupportedGroupingsGet extends MultiChannelAssociationCC {\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["endpoint"]
7
7
  }
@@ -46,6 +46,7 @@ __export(MultiChannelCC_exports, {
46
46
  MultiChannelCCValues: () => import_CCValues_generated.MultiChannelCCValues
47
47
  });
48
48
  module.exports = __toCommonJS(MultiChannelCC_exports);
49
+ var import_tslib = require("tslib");
49
50
  var __validateArgs = __toESM(require("./MultiChannelCC._validateArgs.js"), 1);
50
51
  var import_core = require("@zwave-js/core");
51
52
  var import_shared = require("@zwave-js/shared");
@@ -56,46 +57,6 @@ var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
56
57
  var import_EncapsulatingCommandClass = require("../lib/EncapsulatingCommandClass.js");
57
58
  var import_Types = require("../lib/_Types.js");
58
59
  var import_CCValues_generated = require("./_CCValues.generated.js");
59
- var __runInitializers = function(thisArg, initializers, value) {
60
- var useValue = arguments.length > 2;
61
- for (var i = 0; i < initializers.length; i++) {
62
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
63
- }
64
- return useValue ? value : void 0;
65
- };
66
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
67
- function accept(f) {
68
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
69
- return f;
70
- }
71
- __name(accept, "accept");
72
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
73
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
74
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
75
- var _, done = false;
76
- for (var i = decorators.length - 1; i >= 0; i--) {
77
- var context = {};
78
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
79
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
80
- context.addInitializer = function(f) {
81
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
82
- extraInitializers.push(accept(f || null));
83
- };
84
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
85
- if (kind === "accessor") {
86
- if (result === void 0) continue;
87
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
88
- if (_ = accept(result.get)) descriptor.get = _;
89
- if (_ = accept(result.set)) descriptor.set = _;
90
- if (_ = accept(result.init)) initializers.unshift(_);
91
- } else if (_ = accept(result)) {
92
- if (kind === "field") initializers.unshift(_);
93
- else descriptor[key] = _;
94
- }
95
- }
96
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
97
- done = true;
98
- };
99
60
  const { validateArgs_MultiChannelCCAPI_getEndpointCapabilities, validateArgs_MultiChannelCCAPI_findEndpoints, validateArgs_MultiChannelCCAPI_getAggregatedMembers, validateArgs_MultiChannelCCAPI_getEndpointCountV1 } = __validateArgs;
100
61
  function areEndpointsUnnecessary(ctx, nodeId, endpointIndizes) {
101
62
  const deviceClasses = /* @__PURE__ */ new Map();
@@ -153,14 +114,14 @@ let MultiChannelCCAPI = (() => {
153
114
  _findEndpoints_decorators = [validateArgs_MultiChannelCCAPI_findEndpoints()];
154
115
  _getAggregatedMembers_decorators = [validateArgs_MultiChannelCCAPI_getAggregatedMembers()];
155
116
  _getEndpointCountV1_decorators = [validateArgs_MultiChannelCCAPI_getEndpointCountV1()];
156
- __esDecorate(this, null, _getEndpointCapabilities_decorators, { kind: "method", name: "getEndpointCapabilities", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getEndpointCapabilities" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getEndpointCapabilities, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
157
- __esDecorate(this, null, _findEndpoints_decorators, { kind: "method", name: "findEndpoints", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "findEndpoints" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.findEndpoints, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
158
- __esDecorate(this, null, _getAggregatedMembers_decorators, { kind: "method", name: "getAggregatedMembers", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getAggregatedMembers" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getAggregatedMembers, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
159
- __esDecorate(this, null, _getEndpointCountV1_decorators, { kind: "method", name: "getEndpointCountV1", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getEndpointCountV1" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getEndpointCountV1, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
160
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
117
+ (0, import_tslib.__esDecorate)(this, null, _getEndpointCapabilities_decorators, { kind: "method", name: "getEndpointCapabilities", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getEndpointCapabilities" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getEndpointCapabilities, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
118
+ (0, import_tslib.__esDecorate)(this, null, _findEndpoints_decorators, { kind: "method", name: "findEndpoints", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "findEndpoints" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.findEndpoints, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
119
+ (0, import_tslib.__esDecorate)(this, null, _getAggregatedMembers_decorators, { kind: "method", name: "getAggregatedMembers", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getAggregatedMembers" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getAggregatedMembers, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
120
+ (0, import_tslib.__esDecorate)(this, null, _getEndpointCountV1_decorators, { kind: "method", name: "getEndpointCountV1", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getEndpointCountV1" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getEndpointCountV1, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
121
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
161
122
  MultiChannelCCAPI2 = _classThis = _classDescriptor.value;
162
123
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
163
- __runInitializers(_classThis, _classExtraInitializers);
124
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
164
125
  }
165
126
  supportsCommand(cmd) {
166
127
  switch (cmd) {
@@ -274,7 +235,7 @@ let MultiChannelCCAPI = (() => {
274
235
  }
275
236
  constructor() {
276
237
  super(...arguments);
277
- __runInitializers(this, _instanceExtraInitializers);
238
+ (0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
278
239
  }
279
240
  };
280
241
  return MultiChannelCCAPI2 = _classThis;
@@ -294,10 +255,10 @@ let MultiChannelCC = (() => {
294
255
  }
295
256
  static {
296
257
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
297
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
258
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
298
259
  MultiChannelCC2 = _classThis = _classDescriptor.value;
299
260
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
300
- __runInitializers(_classThis, _classExtraInitializers);
261
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
301
262
  }
302
263
  /** Tests if a command targets a specific endpoint and thus requires encapsulation */
303
264
  static requiresEncapsulation(cc) {
@@ -574,10 +535,10 @@ let MultiChannelCCEndPointReport = (() => {
574
535
  }
575
536
  static {
576
537
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
577
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
538
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
578
539
  MultiChannelCCEndPointReport2 = _classThis = _classDescriptor.value;
579
540
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
580
- __runInitializers(_classThis, _classExtraInitializers);
541
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
581
542
  }
582
543
  constructor(options) {
583
544
  super(options);
@@ -648,10 +609,10 @@ let MultiChannelCCEndPointGet = (() => {
648
609
  }
649
610
  static {
650
611
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
651
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
612
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
652
613
  MultiChannelCCEndPointGet2 = _classThis = _classDescriptor.value;
653
614
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
654
- __runInitializers(_classThis, _classExtraInitializers);
615
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
655
616
  }
656
617
  };
657
618
  return MultiChannelCCEndPointGet2 = _classThis;
@@ -671,10 +632,10 @@ let MultiChannelCCCapabilityReport = (() => {
671
632
  }
672
633
  static {
673
634
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
674
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
635
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
675
636
  MultiChannelCCCapabilityReport2 = _classThis = _classDescriptor.value;
676
637
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
677
- __runInitializers(_classThis, _classExtraInitializers);
638
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
678
639
  }
679
640
  constructor(options) {
680
641
  super(options);
@@ -771,10 +732,10 @@ let MultiChannelCCCapabilityGet = (() => {
771
732
  }
772
733
  static {
773
734
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
774
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
735
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
775
736
  MultiChannelCCCapabilityGet2 = _classThis = _classDescriptor.value;
776
737
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
777
- __runInitializers(_classThis, _classExtraInitializers);
738
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
778
739
  }
779
740
  constructor(options) {
780
741
  super(options);
@@ -817,10 +778,10 @@ let MultiChannelCCEndPointFindReport = (() => {
817
778
  }
818
779
  static {
819
780
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
820
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
781
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
821
782
  MultiChannelCCEndPointFindReport2 = _classThis = _classDescriptor.value;
822
783
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
823
- __runInitializers(_classThis, _classExtraInitializers);
784
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
824
785
  }
825
786
  constructor(options) {
826
787
  super(options);
@@ -900,10 +861,10 @@ let MultiChannelCCEndPointFind = (() => {
900
861
  }
901
862
  static {
902
863
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
903
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
864
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
904
865
  MultiChannelCCEndPointFind2 = _classThis = _classDescriptor.value;
905
866
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
906
- __runInitializers(_classThis, _classExtraInitializers);
867
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
907
868
  }
908
869
  constructor(options) {
909
870
  super(options);
@@ -953,10 +914,10 @@ let MultiChannelCCAggregatedMembersReport = (() => {
953
914
  }
954
915
  static {
955
916
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
956
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
917
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
957
918
  MultiChannelCCAggregatedMembersReport2 = _classThis = _classDescriptor.value;
958
919
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
959
- __runInitializers(_classThis, _classExtraInitializers);
920
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
960
921
  }
961
922
  constructor(options) {
962
923
  super(options);
@@ -1005,10 +966,10 @@ let MultiChannelCCAggregatedMembersGet = (() => {
1005
966
  }
1006
967
  static {
1007
968
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1008
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
969
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1009
970
  MultiChannelCCAggregatedMembersGet2 = _classThis = _classDescriptor.value;
1010
971
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1011
- __runInitializers(_classThis, _classExtraInitializers);
972
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1012
973
  }
1013
974
  constructor(options) {
1014
975
  super(options);
@@ -1062,10 +1023,10 @@ let MultiChannelCCCommandEncapsulation = (() => {
1062
1023
  }
1063
1024
  static {
1064
1025
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1065
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1026
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1066
1027
  MultiChannelCCCommandEncapsulation2 = _classThis = _classDescriptor.value;
1067
1028
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1068
- __runInitializers(_classThis, _classExtraInitializers);
1029
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1069
1030
  }
1070
1031
  constructor(options) {
1071
1032
  super(options);
@@ -1156,10 +1117,10 @@ let MultiChannelCCV1Report = (() => {
1156
1117
  }
1157
1118
  static {
1158
1119
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1159
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1120
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1160
1121
  MultiChannelCCV1Report2 = _classThis = _classDescriptor.value;
1161
1122
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1162
- __runInitializers(_classThis, _classExtraInitializers);
1123
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1163
1124
  }
1164
1125
  constructor(options) {
1165
1126
  super(options);
@@ -1216,10 +1177,10 @@ let MultiChannelCCV1Get = (() => {
1216
1177
  }
1217
1178
  static {
1218
1179
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1219
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1180
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1220
1181
  MultiChannelCCV1Get2 = _classThis = _classDescriptor.value;
1221
1182
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1222
- __runInitializers(_classThis, _classExtraInitializers);
1183
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1223
1184
  }
1224
1185
  constructor(options) {
1225
1186
  super(options);
@@ -1275,10 +1236,10 @@ let MultiChannelCCV1CommandEncapsulation = (() => {
1275
1236
  }
1276
1237
  static {
1277
1238
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1278
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1239
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1279
1240
  MultiChannelCCV1CommandEncapsulation2 = _classThis = _classDescriptor.value;
1280
1241
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1281
- __runInitializers(_classThis, _classExtraInitializers);
1242
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1282
1243
  }
1283
1244
  constructor(options) {
1284
1245
  super(options);