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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +194 -0
  2. package/build/cjs/cc/AlarmSensorCC.js +395 -0
  3. package/build/cjs/cc/AlarmSensorCC.js.map +7 -0
  4. package/build/cjs/cc/AssociationCC.d.ts +253 -0
  5. package/build/cjs/cc/AssociationCC.js +711 -0
  6. package/build/cjs/cc/AssociationCC.js.map +7 -0
  7. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +230 -0
  8. package/build/cjs/cc/AssociationGroupInfoCC.js +746 -0
  9. package/build/cjs/cc/AssociationGroupInfoCC.js.map +7 -0
  10. package/build/cjs/cc/BarrierOperatorCC.d.ts +243 -0
  11. package/build/cjs/cc/BarrierOperatorCC.js +582 -0
  12. package/build/cjs/cc/BarrierOperatorCC.js.map +7 -0
  13. package/build/cjs/cc/BasicCC.d.ts +191 -0
  14. package/build/cjs/cc/BasicCC.js +384 -0
  15. package/build/cjs/cc/BasicCC.js.map +7 -0
  16. package/build/cjs/cc/BatteryCC.d.ts +406 -0
  17. package/build/cjs/cc/BatteryCC.js +508 -0
  18. package/build/cjs/cc/BatteryCC.js.map +7 -0
  19. package/build/cjs/cc/BinarySensorCC.d.ts +122 -0
  20. package/build/cjs/cc/BinarySensorCC.js +431 -0
  21. package/build/cjs/cc/BinarySensorCC.js.map +7 -0
  22. package/build/cjs/cc/BinarySwitchCC.d.ts +139 -0
  23. package/build/cjs/cc/BinarySwitchCC.js +378 -0
  24. package/build/cjs/cc/BinarySwitchCC.js.map +7 -0
  25. package/build/cjs/cc/CRC16CC.d.ts +29 -0
  26. package/build/cjs/cc/CRC16CC.js +133 -0
  27. package/build/cjs/cc/CRC16CC.js.map +7 -0
  28. package/build/cjs/cc/CentralSceneCC.d.ts +210 -0
  29. package/build/cjs/cc/CentralSceneCC.js +449 -0
  30. package/build/cjs/cc/CentralSceneCC.js.map +7 -0
  31. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +177 -0
  32. package/build/cjs/cc/ClimateControlScheduleCC.js +480 -0
  33. package/build/cjs/cc/ClimateControlScheduleCC.js.map +7 -0
  34. package/build/cjs/cc/ClockCC.d.ts +47 -0
  35. package/build/cjs/cc/ClockCC.js +226 -0
  36. package/build/cjs/cc/ClockCC.js.map +7 -0
  37. package/build/cjs/cc/ColorSwitchCC.d.ts +339 -0
  38. package/build/cjs/cc/ColorSwitchCC.js +1117 -0
  39. package/build/cjs/cc/ColorSwitchCC.js.map +7 -0
  40. package/build/cjs/cc/ConfigurationCC.d.ts +396 -0
  41. package/build/cjs/cc/ConfigurationCC.js +2230 -0
  42. package/build/cjs/cc/ConfigurationCC.js.map +7 -0
  43. package/build/cjs/cc/DeviceResetLocallyCC.d.ts +17 -0
  44. package/build/cjs/cc/DeviceResetLocallyCC.js +92 -0
  45. package/build/cjs/cc/DeviceResetLocallyCC.js.map +7 -0
  46. package/build/cjs/cc/DoorLockCC.d.ts +837 -0
  47. package/build/cjs/cc/DoorLockCC.js +1239 -0
  48. package/build/cjs/cc/DoorLockCC.js.map +7 -0
  49. package/build/cjs/cc/DoorLockLoggingCC.d.ts +77 -0
  50. package/build/cjs/cc/DoorLockLoggingCC.js +343 -0
  51. package/build/cjs/cc/DoorLockLoggingCC.js.map +7 -0
  52. package/build/cjs/cc/EnergyProductionCC.d.ts +77 -0
  53. package/build/cjs/cc/EnergyProductionCC.js +240 -0
  54. package/build/cjs/cc/EnergyProductionCC.js.map +7 -0
  55. package/build/cjs/cc/EntryControlCC.d.ts +231 -0
  56. package/build/cjs/cc/EntryControlCC.js +593 -0
  57. package/build/cjs/cc/EntryControlCC.js.map +7 -0
  58. package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
  59. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +1122 -0
  60. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +7 -0
  61. package/build/cjs/cc/HailCC.d.ts +6 -0
  62. package/build/cjs/cc/HailCC.js +45 -0
  63. package/build/cjs/cc/HailCC.js.map +7 -0
  64. package/build/cjs/cc/HumidityControlModeCC.d.ts +111 -0
  65. package/build/cjs/cc/HumidityControlModeCC.js +323 -0
  66. package/build/cjs/cc/HumidityControlModeCC.js.map +7 -0
  67. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +60 -0
  68. package/build/cjs/cc/HumidityControlOperatingStateCC.js +164 -0
  69. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +7 -0
  70. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +209 -0
  71. package/build/cjs/cc/HumidityControlSetpointCC.js +634 -0
  72. package/build/cjs/cc/HumidityControlSetpointCC.js.map +7 -0
  73. package/build/cjs/cc/InclusionControllerCC.d.ts +42 -0
  74. package/build/cjs/cc/InclusionControllerCC.js +160 -0
  75. package/build/cjs/cc/InclusionControllerCC.js.map +7 -0
  76. package/build/cjs/cc/IndicatorCC.d.ts +338 -0
  77. package/build/cjs/cc/IndicatorCC.js +1234 -0
  78. package/build/cjs/cc/IndicatorCC.js.map +7 -0
  79. package/build/cjs/cc/IrrigationCC.d.ts +1496 -0
  80. package/build/cjs/cc/IrrigationCC.js +1978 -0
  81. package/build/cjs/cc/IrrigationCC.js.map +7 -0
  82. package/build/cjs/cc/LanguageCC.d.ts +101 -0
  83. package/build/cjs/cc/LanguageCC.js +267 -0
  84. package/build/cjs/cc/LanguageCC.js.map +7 -0
  85. package/build/cjs/cc/LockCC.d.ts +73 -0
  86. package/build/cjs/cc/LockCC.js +222 -0
  87. package/build/cjs/cc/LockCC.js.map +7 -0
  88. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +32 -0
  89. package/build/cjs/cc/ManufacturerProprietaryCC.js +209 -0
  90. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +7 -0
  91. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +171 -0
  92. package/build/cjs/cc/ManufacturerSpecificCC.js +334 -0
  93. package/build/cjs/cc/ManufacturerSpecificCC.js.map +7 -0
  94. package/build/cjs/cc/MeterCC.d.ts +318 -0
  95. package/build/cjs/cc/MeterCC.js +1235 -0
  96. package/build/cjs/cc/MeterCC.js.map +7 -0
  97. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +241 -0
  98. package/build/cjs/cc/MultiChannelAssociationCC.js +956 -0
  99. package/build/cjs/cc/MultiChannelAssociationCC.js.map +7 -0
  100. package/build/cjs/cc/MultiChannelCC.d.ts +394 -0
  101. package/build/cjs/cc/MultiChannelCC.js +1050 -0
  102. package/build/cjs/cc/MultiChannelCC.js.map +7 -0
  103. package/build/cjs/cc/MultiCommandCC.d.ts +27 -0
  104. package/build/cjs/cc/MultiCommandCC.js +159 -0
  105. package/build/cjs/cc/MultiCommandCC.js.map +7 -0
  106. package/build/cjs/cc/MultilevelSensorCC.d.ts +185 -0
  107. package/build/cjs/cc/MultilevelSensorCC.js +716 -0
  108. package/build/cjs/cc/MultilevelSensorCC.js.map +7 -0
  109. package/build/cjs/cc/MultilevelSwitchCC.d.ts +357 -0
  110. package/build/cjs/cc/MultilevelSwitchCC.js +780 -0
  111. package/build/cjs/cc/MultilevelSwitchCC.js.map +7 -0
  112. package/build/cjs/cc/NoOperationCC.d.ts +9 -0
  113. package/build/cjs/cc/NoOperationCC.js +64 -0
  114. package/build/cjs/cc/NoOperationCC.js.map +7 -0
  115. package/build/cjs/cc/NodeNamingCC.d.ts +118 -0
  116. package/build/cjs/cc/NodeNamingCC.js +364 -0
  117. package/build/cjs/cc/NodeNamingCC.js.map +7 -0
  118. package/build/cjs/cc/NotificationCC.d.ts +479 -0
  119. package/build/cjs/cc/NotificationCC.js +1245 -0
  120. package/build/cjs/cc/NotificationCC.js.map +7 -0
  121. package/build/cjs/cc/PowerlevelCC.d.ts +82 -0
  122. package/build/cjs/cc/PowerlevelCC.js +510 -0
  123. package/build/cjs/cc/PowerlevelCC.js.map +7 -0
  124. package/build/cjs/cc/ProtectionCC.d.ts +325 -0
  125. package/build/cjs/cc/ProtectionCC.js +667 -0
  126. package/build/cjs/cc/ProtectionCC.js.map +7 -0
  127. package/build/cjs/cc/SceneActivationCC.d.ts +89 -0
  128. package/build/cjs/cc/SceneActivationCC.js +193 -0
  129. package/build/cjs/cc/SceneActivationCC.js.map +7 -0
  130. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +120 -0
  131. package/build/cjs/cc/SceneActuatorConfigurationCC.js +370 -0
  132. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +7 -0
  133. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +129 -0
  134. package/build/cjs/cc/SceneControllerConfigurationCC.js +423 -0
  135. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +7 -0
  136. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +434 -0
  137. package/build/cjs/cc/ScheduleEntryLockCC.js +1763 -0
  138. package/build/cjs/cc/ScheduleEntryLockCC.js.map +7 -0
  139. package/build/cjs/cc/Security2CC.d.ts +251 -0
  140. package/build/cjs/cc/Security2CC.js +1589 -0
  141. package/build/cjs/cc/Security2CC.js.map +7 -0
  142. package/build/cjs/cc/SecurityCC.d.ts +128 -0
  143. package/build/cjs/cc/SecurityCC.js +757 -0
  144. package/build/cjs/cc/SecurityCC.js.map +7 -0
  145. package/build/cjs/cc/SoundSwitchCC.d.ts +232 -0
  146. package/build/cjs/cc/SoundSwitchCC.js +661 -0
  147. package/build/cjs/cc/SoundSwitchCC.js.map +7 -0
  148. package/build/cjs/cc/SupervisionCC.d.ts +104 -0
  149. package/build/cjs/cc/SupervisionCC.js +308 -0
  150. package/build/cjs/cc/SupervisionCC.js.map +7 -0
  151. package/build/cjs/cc/ThermostatFanModeCC.d.ts +141 -0
  152. package/build/cjs/cc/ThermostatFanModeCC.js +372 -0
  153. package/build/cjs/cc/ThermostatFanModeCC.js.map +7 -0
  154. package/build/cjs/cc/ThermostatFanStateCC.d.ts +60 -0
  155. package/build/cjs/cc/ThermostatFanStateCC.js +166 -0
  156. package/build/cjs/cc/ThermostatFanStateCC.js.map +7 -0
  157. package/build/cjs/cc/ThermostatModeCC.d.ts +150 -0
  158. package/build/cjs/cc/ThermostatModeCC.js +436 -0
  159. package/build/cjs/cc/ThermostatModeCC.js.map +7 -0
  160. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +61 -0
  161. package/build/cjs/cc/ThermostatOperatingStateCC.js +162 -0
  162. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +7 -0
  163. package/build/cjs/cc/ThermostatSetbackCC.d.ts +46 -0
  164. package/build/cjs/cc/ThermostatSetbackCC.js +262 -0
  165. package/build/cjs/cc/ThermostatSetbackCC.js.map +7 -0
  166. package/build/cjs/cc/ThermostatSetpointCC.d.ts +197 -0
  167. package/build/cjs/cc/ThermostatSetpointCC.js +638 -0
  168. package/build/cjs/cc/ThermostatSetpointCC.js.map +7 -0
  169. package/build/cjs/cc/TimeCC.d.ts +88 -0
  170. package/build/cjs/cc/TimeCC.js +473 -0
  171. package/build/cjs/cc/TimeCC.js.map +7 -0
  172. package/build/cjs/cc/TimeParametersCC.d.ts +72 -0
  173. package/build/cjs/cc/TimeParametersCC.js +313 -0
  174. package/build/cjs/cc/TimeParametersCC.js.map +7 -0
  175. package/build/cjs/cc/TransportServiceCC.d.ts +107 -0
  176. package/build/cjs/cc/TransportServiceCC.js +404 -0
  177. package/build/cjs/cc/TransportServiceCC.js.map +7 -0
  178. package/build/cjs/cc/UserCodeCC.d.ts +683 -0
  179. package/build/cjs/cc/UserCodeCC.js +1620 -0
  180. package/build/cjs/cc/UserCodeCC.js.map +7 -0
  181. package/build/cjs/cc/VersionCC.d.ts +469 -0
  182. package/build/cjs/cc/VersionCC.js +828 -0
  183. package/build/cjs/cc/VersionCC.js.map +7 -0
  184. package/build/cjs/cc/WakeUpCC.d.ts +150 -0
  185. package/build/cjs/cc/WakeUpCC.js +456 -0
  186. package/build/cjs/cc/WakeUpCC.js.map +7 -0
  187. package/build/cjs/cc/WindowCoveringCC.d.ts +315 -0
  188. package/build/cjs/cc/WindowCoveringCC.js +776 -0
  189. package/build/cjs/cc/WindowCoveringCC.js.map +7 -0
  190. package/build/cjs/cc/ZWaveLongRangeCC.d.ts +4 -0
  191. package/build/cjs/cc/ZWaveLongRangeCC.js +43 -0
  192. package/build/cjs/cc/ZWaveLongRangeCC.js.map +7 -0
  193. package/build/cjs/cc/ZWavePlusCC.d.ts +163 -0
  194. package/build/cjs/cc/ZWavePlusCC.js +288 -0
  195. package/build/cjs/cc/ZWavePlusCC.js.map +7 -0
  196. package/build/cjs/cc/ZWaveProtocolCC.d.ts +344 -0
  197. package/build/cjs/cc/ZWaveProtocolCC.js +1071 -0
  198. package/build/cjs/cc/ZWaveProtocolCC.js.map +7 -0
  199. package/build/cjs/cc/index.d.ts +132 -0
  200. package/build/cjs/cc/index.js +1180 -0
  201. package/build/cjs/cc/index.js.map +7 -0
  202. package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +64 -0
  203. package/build/cjs/cc/manufacturerProprietary/Decorators.js +76 -0
  204. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +7 -0
  205. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
  206. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +412 -0
  207. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +7 -0
  208. package/build/cjs/index.d.ts +15 -0
  209. package/build/cjs/index.js +77 -0
  210. package/build/cjs/index.js.map +7 -0
  211. package/build/cjs/index_safe.d.ts +3 -0
  212. package/build/cjs/index_safe.js +25 -0
  213. package/build/cjs/index_safe.js.map +7 -0
  214. package/build/cjs/lib/API.d.ts +271 -0
  215. package/build/cjs/lib/API.js +413 -0
  216. package/build/cjs/lib/API.js.map +7 -0
  217. package/build/cjs/lib/CommandClass.d.ts +234 -0
  218. package/build/cjs/lib/CommandClass.js +692 -0
  219. package/build/cjs/lib/CommandClass.js.map +7 -0
  220. package/build/cjs/lib/CommandClassDecorators.d.ts +112 -0
  221. package/build/cjs/lib/CommandClassDecorators.js +182 -0
  222. package/build/cjs/lib/CommandClassDecorators.js.map +7 -0
  223. package/build/cjs/lib/EncapsulatingCommandClass.d.ts +22 -0
  224. package/build/cjs/lib/EncapsulatingCommandClass.js +71 -0
  225. package/build/cjs/lib/EncapsulatingCommandClass.js.map +7 -0
  226. package/build/cjs/lib/ICommandClassContainer.js +17 -0
  227. package/build/cjs/lib/ICommandClassContainer.js.map +7 -0
  228. package/build/cjs/lib/NotificationEventPayload.d.ts +10 -0
  229. package/build/cjs/lib/NotificationEventPayload.js +31 -0
  230. package/build/cjs/lib/NotificationEventPayload.js.map +7 -0
  231. package/build/cjs/lib/Security2/Extension.js +333 -0
  232. package/build/cjs/lib/Security2/Extension.js.map +7 -0
  233. package/build/cjs/lib/Security2/shared.js +69 -0
  234. package/build/cjs/lib/Security2/shared.js.map +7 -0
  235. package/build/cjs/lib/SetValueResult.js +65 -0
  236. package/build/cjs/lib/SetValueResult.js.map +7 -0
  237. package/build/cjs/lib/Values.d.ts +223 -0
  238. package/build/cjs/lib/Values.js +191 -0
  239. package/build/cjs/lib/Values.js.map +7 -0
  240. package/build/cjs/lib/_Types.js +1676 -0
  241. package/build/cjs/lib/_Types.js.map +7 -0
  242. package/build/cjs/lib/serializers.d.ts +34 -0
  243. package/build/cjs/lib/serializers.js +110 -0
  244. package/build/cjs/lib/serializers.js.map +7 -0
  245. package/build/cjs/lib/utils.d.ts +17 -0
  246. package/build/cjs/lib/utils.js +678 -0
  247. package/build/cjs/lib/utils.js.map +7 -0
  248. package/build/cjs/package.json +3 -0
  249. package/build/esm/cc/AlarmSensorCC.d.ts +194 -0
  250. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -0
  251. package/build/esm/cc/AlarmSensorCC.js +392 -0
  252. package/build/esm/cc/AlarmSensorCC.js.map +1 -0
  253. package/build/esm/cc/AssociationCC.d.ts +253 -0
  254. package/build/esm/cc/AssociationCC.d.ts.map +1 -0
  255. package/build/esm/cc/AssociationCC.js +706 -0
  256. package/build/esm/cc/AssociationCC.js.map +1 -0
  257. package/build/esm/cc/AssociationGroupInfoCC.d.ts +230 -0
  258. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -0
  259. package/build/esm/cc/AssociationGroupInfoCC.js +769 -0
  260. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -0
  261. package/build/esm/cc/BarrierOperatorCC.d.ts +243 -0
  262. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -0
  263. package/build/esm/cc/BarrierOperatorCC.js +610 -0
  264. package/build/esm/cc/BarrierOperatorCC.js.map +1 -0
  265. package/build/esm/cc/BasicCC.d.ts +191 -0
  266. package/build/esm/cc/BasicCC.d.ts.map +1 -0
  267. package/build/esm/cc/BasicCC.js +390 -0
  268. package/build/esm/cc/BasicCC.js.map +1 -0
  269. package/build/esm/cc/BatteryCC.d.ts +406 -0
  270. package/build/esm/cc/BatteryCC.d.ts.map +1 -0
  271. package/build/esm/cc/BatteryCC.js +513 -0
  272. package/build/esm/cc/BatteryCC.js.map +1 -0
  273. package/build/esm/cc/BinarySensorCC.d.ts +122 -0
  274. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -0
  275. package/build/esm/cc/BinarySensorCC.js +417 -0
  276. package/build/esm/cc/BinarySensorCC.js.map +1 -0
  277. package/build/esm/cc/BinarySwitchCC.d.ts +139 -0
  278. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -0
  279. package/build/esm/cc/BinarySwitchCC.js +362 -0
  280. package/build/esm/cc/BinarySwitchCC.js.map +1 -0
  281. package/build/esm/cc/CRC16CC.d.ts +29 -0
  282. package/build/esm/cc/CRC16CC.d.ts.map +1 -0
  283. package/build/esm/cc/CRC16CC.js +123 -0
  284. package/build/esm/cc/CRC16CC.js.map +1 -0
  285. package/build/esm/cc/CentralSceneCC.d.ts +210 -0
  286. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -0
  287. package/build/esm/cc/CentralSceneCC.js +427 -0
  288. package/build/esm/cc/CentralSceneCC.js.map +1 -0
  289. package/build/esm/cc/ClimateControlScheduleCC.d.ts +177 -0
  290. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -0
  291. package/build/esm/cc/ClimateControlScheduleCC.js +466 -0
  292. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -0
  293. package/build/esm/cc/ClockCC.d.ts +47 -0
  294. package/build/esm/cc/ClockCC.d.ts.map +1 -0
  295. package/build/esm/cc/ClockCC.js +205 -0
  296. package/build/esm/cc/ClockCC.js.map +1 -0
  297. package/build/esm/cc/ColorSwitchCC.d.ts +339 -0
  298. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -0
  299. package/build/esm/cc/ColorSwitchCC.js +1149 -0
  300. package/build/esm/cc/ColorSwitchCC.js.map +1 -0
  301. package/build/esm/cc/ConfigurationCC.d.ts +396 -0
  302. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -0
  303. package/build/esm/cc/ConfigurationCC.js +2454 -0
  304. package/build/esm/cc/ConfigurationCC.js.map +1 -0
  305. package/build/esm/cc/DeviceResetLocallyCC.d.ts +17 -0
  306. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -0
  307. package/build/esm/cc/DeviceResetLocallyCC.js +73 -0
  308. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -0
  309. package/build/esm/cc/DoorLockCC.d.ts +837 -0
  310. package/build/esm/cc/DoorLockCC.d.ts.map +1 -0
  311. package/build/esm/cc/DoorLockCC.js +1270 -0
  312. package/build/esm/cc/DoorLockCC.js.map +1 -0
  313. package/build/esm/cc/DoorLockLoggingCC.d.ts +77 -0
  314. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -0
  315. package/build/esm/cc/DoorLockLoggingCC.js +316 -0
  316. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -0
  317. package/build/esm/cc/EnergyProductionCC.d.ts +77 -0
  318. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -0
  319. package/build/esm/cc/EnergyProductionCC.js +213 -0
  320. package/build/esm/cc/EnergyProductionCC.js.map +1 -0
  321. package/build/esm/cc/EntryControlCC.d.ts +231 -0
  322. package/build/esm/cc/EntryControlCC.d.ts.map +1 -0
  323. package/build/esm/cc/EntryControlCC.js +581 -0
  324. package/build/esm/cc/EntryControlCC.js.map +1 -0
  325. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
  326. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
  327. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1142 -0
  328. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
  329. package/build/esm/cc/HailCC.d.ts +6 -0
  330. package/build/esm/cc/HailCC.d.ts.map +1 -0
  331. package/build/esm/cc/HailCC.js +21 -0
  332. package/build/esm/cc/HailCC.js.map +1 -0
  333. package/build/esm/cc/HumidityControlModeCC.d.ts +111 -0
  334. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -0
  335. package/build/esm/cc/HumidityControlModeCC.js +305 -0
  336. package/build/esm/cc/HumidityControlModeCC.js.map +1 -0
  337. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +60 -0
  338. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
  339. package/build/esm/cc/HumidityControlOperatingStateCC.js +137 -0
  340. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -0
  341. package/build/esm/cc/HumidityControlSetpointCC.d.ts +209 -0
  342. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -0
  343. package/build/esm/cc/HumidityControlSetpointCC.js +645 -0
  344. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -0
  345. package/build/esm/cc/InclusionControllerCC.d.ts +42 -0
  346. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -0
  347. package/build/esm/cc/InclusionControllerCC.js +133 -0
  348. package/build/esm/cc/InclusionControllerCC.js.map +1 -0
  349. package/build/esm/cc/IndicatorCC.d.ts +338 -0
  350. package/build/esm/cc/IndicatorCC.d.ts.map +1 -0
  351. package/build/esm/cc/IndicatorCC.js +1317 -0
  352. package/build/esm/cc/IndicatorCC.js.map +1 -0
  353. package/build/esm/cc/IrrigationCC.d.ts +1496 -0
  354. package/build/esm/cc/IrrigationCC.d.ts.map +1 -0
  355. package/build/esm/cc/IrrigationCC.js +2038 -0
  356. package/build/esm/cc/IrrigationCC.js.map +1 -0
  357. package/build/esm/cc/LanguageCC.d.ts +101 -0
  358. package/build/esm/cc/LanguageCC.d.ts.map +1 -0
  359. package/build/esm/cc/LanguageCC.js +243 -0
  360. package/build/esm/cc/LanguageCC.js.map +1 -0
  361. package/build/esm/cc/LockCC.d.ts +73 -0
  362. package/build/esm/cc/LockCC.d.ts.map +1 -0
  363. package/build/esm/cc/LockCC.js +197 -0
  364. package/build/esm/cc/LockCC.js.map +1 -0
  365. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +32 -0
  366. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
  367. package/build/esm/cc/ManufacturerProprietaryCC.js +201 -0
  368. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -0
  369. package/build/esm/cc/ManufacturerSpecificCC.d.ts +171 -0
  370. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -0
  371. package/build/esm/cc/ManufacturerSpecificCC.js +315 -0
  372. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -0
  373. package/build/esm/cc/MeterCC.d.ts +318 -0
  374. package/build/esm/cc/MeterCC.d.ts.map +1 -0
  375. package/build/esm/cc/MeterCC.js +1308 -0
  376. package/build/esm/cc/MeterCC.js.map +1 -0
  377. package/build/esm/cc/MultiChannelAssociationCC.d.ts +241 -0
  378. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -0
  379. package/build/esm/cc/MultiChannelAssociationCC.js +981 -0
  380. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -0
  381. package/build/esm/cc/MultiChannelCC.d.ts +394 -0
  382. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -0
  383. package/build/esm/cc/MultiChannelCC.js +1127 -0
  384. package/build/esm/cc/MultiChannelCC.js.map +1 -0
  385. package/build/esm/cc/MultiCommandCC.d.ts +27 -0
  386. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -0
  387. package/build/esm/cc/MultiCommandCC.js +142 -0
  388. package/build/esm/cc/MultiCommandCC.js.map +1 -0
  389. package/build/esm/cc/MultilevelSensorCC.d.ts +185 -0
  390. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -0
  391. package/build/esm/cc/MultilevelSensorCC.js +753 -0
  392. package/build/esm/cc/MultilevelSensorCC.js.map +1 -0
  393. package/build/esm/cc/MultilevelSwitchCC.d.ts +357 -0
  394. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -0
  395. package/build/esm/cc/MultilevelSwitchCC.js +810 -0
  396. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -0
  397. package/build/esm/cc/NoOperationCC.d.ts +9 -0
  398. package/build/esm/cc/NoOperationCC.d.ts.map +1 -0
  399. package/build/esm/cc/NoOperationCC.js +39 -0
  400. package/build/esm/cc/NoOperationCC.js.map +1 -0
  401. package/build/esm/cc/NodeNamingCC.d.ts +118 -0
  402. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -0
  403. package/build/esm/cc/NodeNamingCC.js +345 -0
  404. package/build/esm/cc/NodeNamingCC.js.map +1 -0
  405. package/build/esm/cc/NotificationCC.d.ts +479 -0
  406. package/build/esm/cc/NotificationCC.d.ts.map +1 -0
  407. package/build/esm/cc/NotificationCC.js +1350 -0
  408. package/build/esm/cc/NotificationCC.js.map +1 -0
  409. package/build/esm/cc/PowerlevelCC.d.ts +82 -0
  410. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -0
  411. package/build/esm/cc/PowerlevelCC.js +485 -0
  412. package/build/esm/cc/PowerlevelCC.js.map +1 -0
  413. package/build/esm/cc/ProtectionCC.d.ts +325 -0
  414. package/build/esm/cc/ProtectionCC.d.ts.map +1 -0
  415. package/build/esm/cc/ProtectionCC.js +669 -0
  416. package/build/esm/cc/ProtectionCC.js.map +1 -0
  417. package/build/esm/cc/SceneActivationCC.d.ts +89 -0
  418. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -0
  419. package/build/esm/cc/SceneActivationCC.js +166 -0
  420. package/build/esm/cc/SceneActivationCC.js.map +1 -0
  421. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +120 -0
  422. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
  423. package/build/esm/cc/SceneActuatorConfigurationCC.js +374 -0
  424. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -0
  425. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +129 -0
  426. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
  427. package/build/esm/cc/SceneControllerConfigurationCC.js +446 -0
  428. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -0
  429. package/build/esm/cc/ScheduleEntryLockCC.d.ts +434 -0
  430. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -0
  431. package/build/esm/cc/ScheduleEntryLockCC.js +1826 -0
  432. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -0
  433. package/build/esm/cc/Security2CC.d.ts +251 -0
  434. package/build/esm/cc/Security2CC.d.ts.map +1 -0
  435. package/build/esm/cc/Security2CC.js +1814 -0
  436. package/build/esm/cc/Security2CC.js.map +1 -0
  437. package/build/esm/cc/SecurityCC.d.ts +128 -0
  438. package/build/esm/cc/SecurityCC.d.ts.map +1 -0
  439. package/build/esm/cc/SecurityCC.js +800 -0
  440. package/build/esm/cc/SecurityCC.js.map +1 -0
  441. package/build/esm/cc/SoundSwitchCC.d.ts +232 -0
  442. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -0
  443. package/build/esm/cc/SoundSwitchCC.js +633 -0
  444. package/build/esm/cc/SoundSwitchCC.js.map +1 -0
  445. package/build/esm/cc/SupervisionCC.d.ts +104 -0
  446. package/build/esm/cc/SupervisionCC.d.ts.map +1 -0
  447. package/build/esm/cc/SupervisionCC.js +319 -0
  448. package/build/esm/cc/SupervisionCC.js.map +1 -0
  449. package/build/esm/cc/ThermostatFanModeCC.d.ts +141 -0
  450. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -0
  451. package/build/esm/cc/ThermostatFanModeCC.js +359 -0
  452. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -0
  453. package/build/esm/cc/ThermostatFanStateCC.d.ts +60 -0
  454. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -0
  455. package/build/esm/cc/ThermostatFanStateCC.js +139 -0
  456. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -0
  457. package/build/esm/cc/ThermostatModeCC.d.ts +150 -0
  458. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -0
  459. package/build/esm/cc/ThermostatModeCC.js +426 -0
  460. package/build/esm/cc/ThermostatModeCC.js.map +1 -0
  461. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +61 -0
  462. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
  463. package/build/esm/cc/ThermostatOperatingStateCC.js +135 -0
  464. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -0
  465. package/build/esm/cc/ThermostatSetbackCC.d.ts +46 -0
  466. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -0
  467. package/build/esm/cc/ThermostatSetbackCC.js +244 -0
  468. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -0
  469. package/build/esm/cc/ThermostatSetpointCC.d.ts +197 -0
  470. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -0
  471. package/build/esm/cc/ThermostatSetpointCC.js +655 -0
  472. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -0
  473. package/build/esm/cc/TimeCC.d.ts +88 -0
  474. package/build/esm/cc/TimeCC.d.ts.map +1 -0
  475. package/build/esm/cc/TimeCC.js +451 -0
  476. package/build/esm/cc/TimeCC.js.map +1 -0
  477. package/build/esm/cc/TimeParametersCC.d.ts +72 -0
  478. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -0
  479. package/build/esm/cc/TimeParametersCC.js +300 -0
  480. package/build/esm/cc/TimeParametersCC.js.map +1 -0
  481. package/build/esm/cc/TransportServiceCC.d.ts +107 -0
  482. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -0
  483. package/build/esm/cc/TransportServiceCC.js +422 -0
  484. package/build/esm/cc/TransportServiceCC.js.map +1 -0
  485. package/build/esm/cc/UserCodeCC.d.ts +683 -0
  486. package/build/esm/cc/UserCodeCC.d.ts.map +1 -0
  487. package/build/esm/cc/UserCodeCC.js +1695 -0
  488. package/build/esm/cc/UserCodeCC.js.map +1 -0
  489. package/build/esm/cc/VersionCC.d.ts +469 -0
  490. package/build/esm/cc/VersionCC.d.ts.map +1 -0
  491. package/build/esm/cc/VersionCC.js +862 -0
  492. package/build/esm/cc/VersionCC.js.map +1 -0
  493. package/build/esm/cc/WakeUpCC.d.ts +150 -0
  494. package/build/esm/cc/WakeUpCC.d.ts.map +1 -0
  495. package/build/esm/cc/WakeUpCC.js +438 -0
  496. package/build/esm/cc/WakeUpCC.js.map +1 -0
  497. package/build/esm/cc/WindowCoveringCC.d.ts +315 -0
  498. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -0
  499. package/build/esm/cc/WindowCoveringCC.js +780 -0
  500. package/build/esm/cc/WindowCoveringCC.js.map +1 -0
  501. package/build/esm/cc/ZWaveLongRangeCC.d.ts +4 -0
  502. package/build/esm/cc/ZWaveLongRangeCC.d.ts.map +1 -0
  503. package/build/esm/cc/ZWaveLongRangeCC.js +17 -0
  504. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -0
  505. package/build/esm/cc/ZWavePlusCC.d.ts +163 -0
  506. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -0
  507. package/build/esm/cc/ZWavePlusCC.js +267 -0
  508. package/build/esm/cc/ZWavePlusCC.js.map +1 -0
  509. package/build/esm/cc/ZWaveProtocolCC.d.ts +344 -0
  510. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -0
  511. package/build/esm/cc/ZWaveProtocolCC.js +1030 -0
  512. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -0
  513. package/build/esm/cc/index.d.ts +132 -0
  514. package/build/esm/cc/index.d.ts.map +1 -0
  515. package/build/esm/cc/index.js +71 -0
  516. package/build/esm/cc/index.js.map +1 -0
  517. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +64 -0
  518. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -0
  519. package/build/esm/cc/manufacturerProprietary/Decorators.js +79 -0
  520. package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -0
  521. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
  522. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
  523. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +385 -0
  524. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
  525. package/build/esm/index.d.ts +15 -0
  526. package/build/esm/index.d.ts.map +1 -0
  527. package/build/esm/index.js +14 -0
  528. package/build/esm/index.js.map +1 -0
  529. package/build/esm/index_safe.d.ts +3 -0
  530. package/build/esm/index_safe.d.ts.map +1 -0
  531. package/build/esm/index_safe.js +4 -0
  532. package/build/esm/index_safe.js.map +1 -0
  533. package/build/esm/lib/API.d.ts +271 -0
  534. package/build/esm/lib/API.d.ts.map +1 -0
  535. package/build/esm/lib/API.js +448 -0
  536. package/build/esm/lib/API.js.map +1 -0
  537. package/build/esm/lib/CommandClass.d.ts +234 -0
  538. package/build/esm/lib/CommandClass.d.ts.map +1 -0
  539. package/build/esm/lib/CommandClass.js +781 -0
  540. package/build/esm/lib/CommandClass.js.map +1 -0
  541. package/build/esm/lib/CommandClassDecorators.d.ts +112 -0
  542. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -0
  543. package/build/esm/lib/CommandClassDecorators.js +229 -0
  544. package/build/esm/lib/CommandClassDecorators.js.map +1 -0
  545. package/build/esm/lib/EncapsulatingCommandClass.d.ts +22 -0
  546. package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -0
  547. package/build/esm/lib/EncapsulatingCommandClass.js +56 -0
  548. package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -0
  549. package/build/esm/lib/ICommandClassContainer.d.ts +2 -0
  550. package/build/esm/lib/ICommandClassContainer.d.ts.map +1 -0
  551. package/build/esm/lib/ICommandClassContainer.js +2 -0
  552. package/build/esm/lib/ICommandClassContainer.js.map +1 -0
  553. package/build/esm/lib/NotificationEventPayload.d.ts +10 -0
  554. package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -0
  555. package/build/esm/lib/NotificationEventPayload.js +7 -0
  556. package/build/esm/lib/NotificationEventPayload.js.map +1 -0
  557. package/build/esm/lib/Security2/Extension.d.ts +106 -0
  558. package/build/esm/lib/Security2/Extension.d.ts.map +1 -0
  559. package/build/esm/lib/Security2/Extension.js +296 -0
  560. package/build/esm/lib/Security2/Extension.js.map +1 -0
  561. package/build/esm/lib/Security2/shared.d.ts +37 -0
  562. package/build/esm/lib/Security2/shared.d.ts.map +1 -0
  563. package/build/esm/lib/Security2/shared.js +40 -0
  564. package/build/esm/lib/Security2/shared.js.map +1 -0
  565. package/build/esm/lib/SetValueResult.d.ts +55 -0
  566. package/build/esm/lib/SetValueResult.d.ts.map +1 -0
  567. package/build/esm/lib/SetValueResult.js +53 -0
  568. package/build/esm/lib/SetValueResult.js.map +1 -0
  569. package/build/esm/lib/Values.d.ts +223 -0
  570. package/build/esm/lib/Values.d.ts.map +1 -0
  571. package/build/esm/lib/Values.js +169 -0
  572. package/build/esm/lib/Values.js.map +1 -0
  573. package/build/esm/lib/_Types.d.ts +1461 -0
  574. package/build/esm/lib/_Types.d.ts.map +1 -0
  575. package/build/esm/lib/_Types.js +1432 -0
  576. package/build/esm/lib/_Types.js.map +1 -0
  577. package/build/esm/lib/serializers.d.ts +34 -0
  578. package/build/esm/lib/serializers.d.ts.map +1 -0
  579. package/build/esm/lib/serializers.js +98 -0
  580. package/build/esm/lib/serializers.js.map +1 -0
  581. package/build/esm/lib/utils.d.ts +17 -0
  582. package/build/esm/lib/utils.d.ts.map +1 -0
  583. package/build/esm/lib/utils.js +847 -0
  584. package/build/esm/lib/utils.js.map +1 -0
  585. package/build/esm/package.json +3 -0
  586. package/package.json +28 -23
  587. package/build/cc/AlarmSensorCC.d.ts +0 -194
  588. package/build/cc/AlarmSensorCC.d.ts.map +0 -1
  589. package/build/cc/AlarmSensorCC.js +0 -395
  590. package/build/cc/AlarmSensorCC.js.map +0 -1
  591. package/build/cc/AssociationCC.d.ts +0 -253
  592. package/build/cc/AssociationCC.d.ts.map +0 -1
  593. package/build/cc/AssociationCC.js +0 -732
  594. package/build/cc/AssociationCC.js.map +0 -1
  595. package/build/cc/AssociationGroupInfoCC.d.ts +0 -230
  596. package/build/cc/AssociationGroupInfoCC.d.ts.map +0 -1
  597. package/build/cc/AssociationGroupInfoCC.js +0 -772
  598. package/build/cc/AssociationGroupInfoCC.js.map +0 -1
  599. package/build/cc/BarrierOperatorCC.d.ts +0 -243
  600. package/build/cc/BarrierOperatorCC.d.ts.map +0 -1
  601. package/build/cc/BarrierOperatorCC.js +0 -613
  602. package/build/cc/BarrierOperatorCC.js.map +0 -1
  603. package/build/cc/BasicCC.d.ts +0 -191
  604. package/build/cc/BasicCC.d.ts.map +0 -1
  605. package/build/cc/BasicCC.js +0 -393
  606. package/build/cc/BasicCC.js.map +0 -1
  607. package/build/cc/BatteryCC.d.ts +0 -406
  608. package/build/cc/BatteryCC.d.ts.map +0 -1
  609. package/build/cc/BatteryCC.js +0 -516
  610. package/build/cc/BatteryCC.js.map +0 -1
  611. package/build/cc/BinarySensorCC.d.ts +0 -122
  612. package/build/cc/BinarySensorCC.d.ts.map +0 -1
  613. package/build/cc/BinarySensorCC.js +0 -420
  614. package/build/cc/BinarySensorCC.js.map +0 -1
  615. package/build/cc/BinarySwitchCC.d.ts +0 -139
  616. package/build/cc/BinarySwitchCC.d.ts.map +0 -1
  617. package/build/cc/BinarySwitchCC.js +0 -365
  618. package/build/cc/BinarySwitchCC.js.map +0 -1
  619. package/build/cc/CRC16CC.d.ts +0 -29
  620. package/build/cc/CRC16CC.d.ts.map +0 -1
  621. package/build/cc/CRC16CC.js +0 -126
  622. package/build/cc/CRC16CC.js.map +0 -1
  623. package/build/cc/CentralSceneCC.d.ts +0 -210
  624. package/build/cc/CentralSceneCC.d.ts.map +0 -1
  625. package/build/cc/CentralSceneCC.js +0 -453
  626. package/build/cc/CentralSceneCC.js.map +0 -1
  627. package/build/cc/ClimateControlScheduleCC.d.ts +0 -177
  628. package/build/cc/ClimateControlScheduleCC.d.ts.map +0 -1
  629. package/build/cc/ClimateControlScheduleCC.js +0 -469
  630. package/build/cc/ClimateControlScheduleCC.js.map +0 -1
  631. package/build/cc/ClockCC.d.ts +0 -47
  632. package/build/cc/ClockCC.d.ts.map +0 -1
  633. package/build/cc/ClockCC.js +0 -208
  634. package/build/cc/ClockCC.js.map +0 -1
  635. package/build/cc/ColorSwitchCC.d.ts +0 -339
  636. package/build/cc/ColorSwitchCC.d.ts.map +0 -1
  637. package/build/cc/ColorSwitchCC.js +0 -1152
  638. package/build/cc/ColorSwitchCC.js.map +0 -1
  639. package/build/cc/ConfigurationCC.d.ts +0 -396
  640. package/build/cc/ConfigurationCC.d.ts.map +0 -1
  641. package/build/cc/ConfigurationCC.js +0 -2458
  642. package/build/cc/ConfigurationCC.js.map +0 -1
  643. package/build/cc/DeviceResetLocallyCC.d.ts +0 -17
  644. package/build/cc/DeviceResetLocallyCC.d.ts.map +0 -1
  645. package/build/cc/DeviceResetLocallyCC.js +0 -76
  646. package/build/cc/DeviceResetLocallyCC.js.map +0 -1
  647. package/build/cc/DoorLockCC.d.ts +0 -837
  648. package/build/cc/DoorLockCC.d.ts.map +0 -1
  649. package/build/cc/DoorLockCC.js +0 -1273
  650. package/build/cc/DoorLockCC.js.map +0 -1
  651. package/build/cc/DoorLockLoggingCC.d.ts +0 -77
  652. package/build/cc/DoorLockLoggingCC.d.ts.map +0 -1
  653. package/build/cc/DoorLockLoggingCC.js +0 -319
  654. package/build/cc/DoorLockLoggingCC.js.map +0 -1
  655. package/build/cc/EnergyProductionCC.d.ts +0 -77
  656. package/build/cc/EnergyProductionCC.d.ts.map +0 -1
  657. package/build/cc/EnergyProductionCC.js +0 -216
  658. package/build/cc/EnergyProductionCC.js.map +0 -1
  659. package/build/cc/EntryControlCC.d.ts +0 -231
  660. package/build/cc/EntryControlCC.d.ts.map +0 -1
  661. package/build/cc/EntryControlCC.js +0 -607
  662. package/build/cc/EntryControlCC.js.map +0 -1
  663. package/build/cc/FirmwareUpdateMetaDataCC.d.ts +0 -359
  664. package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +0 -1
  665. package/build/cc/FirmwareUpdateMetaDataCC.js +0 -1145
  666. package/build/cc/FirmwareUpdateMetaDataCC.js.map +0 -1
  667. package/build/cc/HailCC.d.ts +0 -6
  668. package/build/cc/HailCC.d.ts.map +0 -1
  669. package/build/cc/HailCC.js +0 -24
  670. package/build/cc/HailCC.js.map +0 -1
  671. package/build/cc/HumidityControlModeCC.d.ts +0 -111
  672. package/build/cc/HumidityControlModeCC.d.ts.map +0 -1
  673. package/build/cc/HumidityControlModeCC.js +0 -308
  674. package/build/cc/HumidityControlModeCC.js.map +0 -1
  675. package/build/cc/HumidityControlOperatingStateCC.d.ts +0 -60
  676. package/build/cc/HumidityControlOperatingStateCC.d.ts.map +0 -1
  677. package/build/cc/HumidityControlOperatingStateCC.js +0 -140
  678. package/build/cc/HumidityControlOperatingStateCC.js.map +0 -1
  679. package/build/cc/HumidityControlSetpointCC.d.ts +0 -209
  680. package/build/cc/HumidityControlSetpointCC.d.ts.map +0 -1
  681. package/build/cc/HumidityControlSetpointCC.js +0 -648
  682. package/build/cc/HumidityControlSetpointCC.js.map +0 -1
  683. package/build/cc/InclusionControllerCC.d.ts +0 -42
  684. package/build/cc/InclusionControllerCC.d.ts.map +0 -1
  685. package/build/cc/InclusionControllerCC.js +0 -136
  686. package/build/cc/InclusionControllerCC.js.map +0 -1
  687. package/build/cc/IndicatorCC.d.ts +0 -338
  688. package/build/cc/IndicatorCC.d.ts.map +0 -1
  689. package/build/cc/IndicatorCC.js +0 -1320
  690. package/build/cc/IndicatorCC.js.map +0 -1
  691. package/build/cc/IrrigationCC.d.ts +0 -1496
  692. package/build/cc/IrrigationCC.d.ts.map +0 -1
  693. package/build/cc/IrrigationCC.js +0 -2041
  694. package/build/cc/IrrigationCC.js.map +0 -1
  695. package/build/cc/LanguageCC.d.ts +0 -101
  696. package/build/cc/LanguageCC.d.ts.map +0 -1
  697. package/build/cc/LanguageCC.js +0 -246
  698. package/build/cc/LanguageCC.js.map +0 -1
  699. package/build/cc/LockCC.d.ts +0 -73
  700. package/build/cc/LockCC.d.ts.map +0 -1
  701. package/build/cc/LockCC.js +0 -200
  702. package/build/cc/LockCC.js.map +0 -1
  703. package/build/cc/ManufacturerProprietaryCC.d.ts +0 -32
  704. package/build/cc/ManufacturerProprietaryCC.d.ts.map +0 -1
  705. package/build/cc/ManufacturerProprietaryCC.js +0 -204
  706. package/build/cc/ManufacturerProprietaryCC.js.map +0 -1
  707. package/build/cc/ManufacturerSpecificCC.d.ts +0 -171
  708. package/build/cc/ManufacturerSpecificCC.d.ts.map +0 -1
  709. package/build/cc/ManufacturerSpecificCC.js +0 -318
  710. package/build/cc/ManufacturerSpecificCC.js.map +0 -1
  711. package/build/cc/MeterCC.d.ts +0 -318
  712. package/build/cc/MeterCC.d.ts.map +0 -1
  713. package/build/cc/MeterCC.js +0 -1312
  714. package/build/cc/MeterCC.js.map +0 -1
  715. package/build/cc/MultiChannelAssociationCC.d.ts +0 -241
  716. package/build/cc/MultiChannelAssociationCC.d.ts.map +0 -1
  717. package/build/cc/MultiChannelAssociationCC.js +0 -1007
  718. package/build/cc/MultiChannelAssociationCC.js.map +0 -1
  719. package/build/cc/MultiChannelCC.d.ts +0 -394
  720. package/build/cc/MultiChannelCC.d.ts.map +0 -1
  721. package/build/cc/MultiChannelCC.js +0 -1130
  722. package/build/cc/MultiChannelCC.js.map +0 -1
  723. package/build/cc/MultiCommandCC.d.ts +0 -27
  724. package/build/cc/MultiCommandCC.d.ts.map +0 -1
  725. package/build/cc/MultiCommandCC.js +0 -145
  726. package/build/cc/MultiCommandCC.js.map +0 -1
  727. package/build/cc/MultilevelSensorCC.d.ts +0 -185
  728. package/build/cc/MultilevelSensorCC.d.ts.map +0 -1
  729. package/build/cc/MultilevelSensorCC.js +0 -756
  730. package/build/cc/MultilevelSensorCC.js.map +0 -1
  731. package/build/cc/MultilevelSwitchCC.d.ts +0 -357
  732. package/build/cc/MultilevelSwitchCC.d.ts.map +0 -1
  733. package/build/cc/MultilevelSwitchCC.js +0 -813
  734. package/build/cc/MultilevelSwitchCC.js.map +0 -1
  735. package/build/cc/NoOperationCC.d.ts +0 -9
  736. package/build/cc/NoOperationCC.d.ts.map +0 -1
  737. package/build/cc/NoOperationCC.js +0 -42
  738. package/build/cc/NoOperationCC.js.map +0 -1
  739. package/build/cc/NodeNamingCC.d.ts +0 -118
  740. package/build/cc/NodeNamingCC.d.ts.map +0 -1
  741. package/build/cc/NodeNamingCC.js +0 -348
  742. package/build/cc/NodeNamingCC.js.map +0 -1
  743. package/build/cc/NotificationCC.d.ts +0 -479
  744. package/build/cc/NotificationCC.d.ts.map +0 -1
  745. package/build/cc/NotificationCC.js +0 -1379
  746. package/build/cc/NotificationCC.js.map +0 -1
  747. package/build/cc/PowerlevelCC.d.ts +0 -82
  748. package/build/cc/PowerlevelCC.d.ts.map +0 -1
  749. package/build/cc/PowerlevelCC.js +0 -488
  750. package/build/cc/PowerlevelCC.js.map +0 -1
  751. package/build/cc/ProtectionCC.d.ts +0 -325
  752. package/build/cc/ProtectionCC.d.ts.map +0 -1
  753. package/build/cc/ProtectionCC.js +0 -672
  754. package/build/cc/ProtectionCC.js.map +0 -1
  755. package/build/cc/SceneActivationCC.d.ts +0 -89
  756. package/build/cc/SceneActivationCC.d.ts.map +0 -1
  757. package/build/cc/SceneActivationCC.js +0 -169
  758. package/build/cc/SceneActivationCC.js.map +0 -1
  759. package/build/cc/SceneActuatorConfigurationCC.d.ts +0 -120
  760. package/build/cc/SceneActuatorConfigurationCC.d.ts.map +0 -1
  761. package/build/cc/SceneActuatorConfigurationCC.js +0 -377
  762. package/build/cc/SceneActuatorConfigurationCC.js.map +0 -1
  763. package/build/cc/SceneControllerConfigurationCC.d.ts +0 -129
  764. package/build/cc/SceneControllerConfigurationCC.d.ts.map +0 -1
  765. package/build/cc/SceneControllerConfigurationCC.js +0 -449
  766. package/build/cc/SceneControllerConfigurationCC.js.map +0 -1
  767. package/build/cc/ScheduleEntryLockCC.d.ts +0 -434
  768. package/build/cc/ScheduleEntryLockCC.d.ts.map +0 -1
  769. package/build/cc/ScheduleEntryLockCC.js +0 -1829
  770. package/build/cc/ScheduleEntryLockCC.js.map +0 -1
  771. package/build/cc/Security2CC.d.ts +0 -251
  772. package/build/cc/Security2CC.d.ts.map +0 -1
  773. package/build/cc/Security2CC.js +0 -1817
  774. package/build/cc/Security2CC.js.map +0 -1
  775. package/build/cc/SecurityCC.d.ts +0 -128
  776. package/build/cc/SecurityCC.d.ts.map +0 -1
  777. package/build/cc/SecurityCC.js +0 -803
  778. package/build/cc/SecurityCC.js.map +0 -1
  779. package/build/cc/SoundSwitchCC.d.ts +0 -232
  780. package/build/cc/SoundSwitchCC.d.ts.map +0 -1
  781. package/build/cc/SoundSwitchCC.js +0 -636
  782. package/build/cc/SoundSwitchCC.js.map +0 -1
  783. package/build/cc/SupervisionCC.d.ts +0 -104
  784. package/build/cc/SupervisionCC.d.ts.map +0 -1
  785. package/build/cc/SupervisionCC.js +0 -322
  786. package/build/cc/SupervisionCC.js.map +0 -1
  787. package/build/cc/ThermostatFanModeCC.d.ts +0 -141
  788. package/build/cc/ThermostatFanModeCC.d.ts.map +0 -1
  789. package/build/cc/ThermostatFanModeCC.js +0 -362
  790. package/build/cc/ThermostatFanModeCC.js.map +0 -1
  791. package/build/cc/ThermostatFanStateCC.d.ts +0 -60
  792. package/build/cc/ThermostatFanStateCC.d.ts.map +0 -1
  793. package/build/cc/ThermostatFanStateCC.js +0 -142
  794. package/build/cc/ThermostatFanStateCC.js.map +0 -1
  795. package/build/cc/ThermostatModeCC.d.ts +0 -150
  796. package/build/cc/ThermostatModeCC.d.ts.map +0 -1
  797. package/build/cc/ThermostatModeCC.js +0 -429
  798. package/build/cc/ThermostatModeCC.js.map +0 -1
  799. package/build/cc/ThermostatOperatingStateCC.d.ts +0 -61
  800. package/build/cc/ThermostatOperatingStateCC.d.ts.map +0 -1
  801. package/build/cc/ThermostatOperatingStateCC.js +0 -138
  802. package/build/cc/ThermostatOperatingStateCC.js.map +0 -1
  803. package/build/cc/ThermostatSetbackCC.d.ts +0 -46
  804. package/build/cc/ThermostatSetbackCC.d.ts.map +0 -1
  805. package/build/cc/ThermostatSetbackCC.js +0 -247
  806. package/build/cc/ThermostatSetbackCC.js.map +0 -1
  807. package/build/cc/ThermostatSetpointCC.d.ts +0 -197
  808. package/build/cc/ThermostatSetpointCC.d.ts.map +0 -1
  809. package/build/cc/ThermostatSetpointCC.js +0 -658
  810. package/build/cc/ThermostatSetpointCC.js.map +0 -1
  811. package/build/cc/TimeCC.d.ts +0 -88
  812. package/build/cc/TimeCC.d.ts.map +0 -1
  813. package/build/cc/TimeCC.js +0 -454
  814. package/build/cc/TimeCC.js.map +0 -1
  815. package/build/cc/TimeParametersCC.d.ts +0 -72
  816. package/build/cc/TimeParametersCC.d.ts.map +0 -1
  817. package/build/cc/TimeParametersCC.js +0 -303
  818. package/build/cc/TimeParametersCC.js.map +0 -1
  819. package/build/cc/TransportServiceCC.d.ts +0 -107
  820. package/build/cc/TransportServiceCC.d.ts.map +0 -1
  821. package/build/cc/TransportServiceCC.js +0 -426
  822. package/build/cc/TransportServiceCC.js.map +0 -1
  823. package/build/cc/UserCodeCC.d.ts +0 -683
  824. package/build/cc/UserCodeCC.d.ts.map +0 -1
  825. package/build/cc/UserCodeCC.js +0 -1699
  826. package/build/cc/UserCodeCC.js.map +0 -1
  827. package/build/cc/VersionCC.d.ts +0 -469
  828. package/build/cc/VersionCC.d.ts.map +0 -1
  829. package/build/cc/VersionCC.js +0 -865
  830. package/build/cc/VersionCC.js.map +0 -1
  831. package/build/cc/WakeUpCC.d.ts +0 -150
  832. package/build/cc/WakeUpCC.d.ts.map +0 -1
  833. package/build/cc/WakeUpCC.js +0 -441
  834. package/build/cc/WakeUpCC.js.map +0 -1
  835. package/build/cc/WindowCoveringCC.d.ts +0 -315
  836. package/build/cc/WindowCoveringCC.d.ts.map +0 -1
  837. package/build/cc/WindowCoveringCC.js +0 -783
  838. package/build/cc/WindowCoveringCC.js.map +0 -1
  839. package/build/cc/ZWaveLongRangeCC.d.ts +0 -4
  840. package/build/cc/ZWaveLongRangeCC.d.ts.map +0 -1
  841. package/build/cc/ZWaveLongRangeCC.js +0 -20
  842. package/build/cc/ZWaveLongRangeCC.js.map +0 -1
  843. package/build/cc/ZWavePlusCC.d.ts +0 -163
  844. package/build/cc/ZWavePlusCC.d.ts.map +0 -1
  845. package/build/cc/ZWavePlusCC.js +0 -270
  846. package/build/cc/ZWavePlusCC.js.map +0 -1
  847. package/build/cc/ZWaveProtocolCC.d.ts +0 -344
  848. package/build/cc/ZWaveProtocolCC.d.ts.map +0 -1
  849. package/build/cc/ZWaveProtocolCC.js +0 -1033
  850. package/build/cc/ZWaveProtocolCC.js.map +0 -1
  851. package/build/cc/index.d.ts +0 -132
  852. package/build/cc/index.d.ts.map +0 -1
  853. package/build/cc/index.js +0 -627
  854. package/build/cc/index.js.map +0 -1
  855. package/build/cc/manufacturerProprietary/Decorators.d.ts +0 -64
  856. package/build/cc/manufacturerProprietary/Decorators.d.ts.map +0 -1
  857. package/build/cc/manufacturerProprietary/Decorators.js +0 -83
  858. package/build/cc/manufacturerProprietary/Decorators.js.map +0 -1
  859. package/build/cc/manufacturerProprietary/FibaroCC.d.ts +0 -79
  860. package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +0 -1
  861. package/build/cc/manufacturerProprietary/FibaroCC.js +0 -392
  862. package/build/cc/manufacturerProprietary/FibaroCC.js.map +0 -1
  863. package/build/index.d.ts +0 -15
  864. package/build/index.d.ts.map +0 -1
  865. package/build/index.js +0 -52
  866. package/build/index.js.map +0 -1
  867. package/build/index_safe.d.ts +0 -3
  868. package/build/index_safe.d.ts.map +0 -1
  869. package/build/index_safe.js +0 -20
  870. package/build/index_safe.js.map +0 -1
  871. package/build/lib/API.d.ts +0 -271
  872. package/build/lib/API.d.ts.map +0 -1
  873. package/build/lib/API.js +0 -458
  874. package/build/lib/API.js.map +0 -1
  875. package/build/lib/CommandClass.d.ts +0 -234
  876. package/build/lib/CommandClass.d.ts.map +0 -1
  877. package/build/lib/CommandClass.js +0 -788
  878. package/build/lib/CommandClass.js.map +0 -1
  879. package/build/lib/CommandClassDecorators.d.ts +0 -112
  880. package/build/lib/CommandClassDecorators.d.ts.map +0 -1
  881. package/build/lib/CommandClassDecorators.js +0 -243
  882. package/build/lib/CommandClassDecorators.js.map +0 -1
  883. package/build/lib/EncapsulatingCommandClass.d.ts +0 -22
  884. package/build/lib/EncapsulatingCommandClass.d.ts.map +0 -1
  885. package/build/lib/EncapsulatingCommandClass.js +0 -61
  886. package/build/lib/EncapsulatingCommandClass.js.map +0 -1
  887. package/build/lib/ICommandClassContainer.d.ts.map +0 -1
  888. package/build/lib/ICommandClassContainer.js +0 -3
  889. package/build/lib/ICommandClassContainer.js.map +0 -1
  890. package/build/lib/NotificationEventPayload.d.ts +0 -10
  891. package/build/lib/NotificationEventPayload.d.ts.map +0 -1
  892. package/build/lib/NotificationEventPayload.js +0 -10
  893. package/build/lib/NotificationEventPayload.js.map +0 -1
  894. package/build/lib/Security2/Extension.d.ts.map +0 -1
  895. package/build/lib/Security2/Extension.js +0 -303
  896. package/build/lib/Security2/Extension.js.map +0 -1
  897. package/build/lib/Security2/shared.d.ts.map +0 -1
  898. package/build/lib/Security2/shared.js +0 -43
  899. package/build/lib/Security2/shared.js.map +0 -1
  900. package/build/lib/SetValueResult.d.ts.map +0 -1
  901. package/build/lib/SetValueResult.js +0 -60
  902. package/build/lib/SetValueResult.js.map +0 -1
  903. package/build/lib/Values.d.ts +0 -223
  904. package/build/lib/Values.d.ts.map +0 -1
  905. package/build/lib/Values.js +0 -172
  906. package/build/lib/Values.js.map +0 -1
  907. package/build/lib/_Types.d.ts.map +0 -1
  908. package/build/lib/_Types.js +0 -1443
  909. package/build/lib/_Types.js.map +0 -1
  910. package/build/lib/serializers.d.ts +0 -34
  911. package/build/lib/serializers.d.ts.map +0 -1
  912. package/build/lib/serializers.js +0 -107
  913. package/build/lib/serializers.js.map +0 -1
  914. package/build/lib/utils.d.ts +0 -17
  915. package/build/lib/utils.d.ts.map +0 -1
  916. package/build/lib/utils.js +0 -860
  917. package/build/lib/utils.js.map +0 -1
  918. /package/build/{lib → cjs/lib}/ICommandClassContainer.d.ts +0 -0
  919. /package/build/{lib → cjs/lib}/Security2/Extension.d.ts +0 -0
  920. /package/build/{lib → cjs/lib}/Security2/shared.d.ts +0 -0
  921. /package/build/{lib → cjs/lib}/SetValueResult.d.ts +0 -0
  922. /package/build/{lib → cjs/lib}/_Types.d.ts +0 -0
@@ -0,0 +1,1127 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var MultiChannelCCEndPointReport_1, MultiChannelCCCapabilityReport_1, MultiChannelCCCapabilityGet_1, MultiChannelCCEndPointFindReport_1, MultiChannelCCEndPointFind_1, MultiChannelCCAggregatedMembersReport_1, MultiChannelCCCommandEncapsulation_1, MultiChannelCCV1Report_1, MultiChannelCCV1CommandEncapsulation_1;
8
+ function __assertType(argName, typeName, boundHasError) {
9
+ const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
10
+ if (boundHasError()) {
11
+ throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
12
+ }
13
+ }
14
+ const __assertType__number = $o => {
15
+ function _number($o) {
16
+ return typeof $o !== "number" ? {} : null;
17
+ }
18
+ return _number($o);
19
+ };
20
+ import { CommandClasses, MessagePriority, ZWaveError, ZWaveErrorCodes, encodeApplicationNodeInformation, encodeBitMask, getCCName, getGenericDeviceClass, getSpecificDeviceClass, parseApplicationNodeInformation, parseBitMask, validatePayload, } from "@zwave-js/core/safe";
21
+ import { Bytes } from "@zwave-js/shared/safe";
22
+ import { distinct } from "alcalzone-shared/arrays/index.js";
23
+ import { CCAPI } from "../lib/API.js";
24
+ import { CommandClass, getEffectiveCCVersion, } from "../lib/CommandClass.js";
25
+ import { API, CCCommand, ccValue, ccValues, commandClass, expectedCCResponse, implementedVersion, } from "../lib/CommandClassDecorators.js";
26
+ import { isEncapsulatingCommandClass, isMultiEncapsulatingCommandClass, } from "../lib/EncapsulatingCommandClass.js";
27
+ import { V } from "../lib/Values.js";
28
+ import { MultiChannelCommand } from "../lib/_Types.js";
29
+ // TODO: Handle removal reports of dynamic endpoints
30
+ export const MultiChannelCCValues = Object.freeze({
31
+ ...V.defineStaticCCValues(CommandClasses["Multi Channel"], {
32
+ ...V.staticProperty("endpointIndizes", undefined, {
33
+ internal: true,
34
+ supportsEndpoints: false,
35
+ }),
36
+ ...V.staticPropertyWithName("individualEndpointCount", "individualCount", undefined, {
37
+ internal: true,
38
+ supportsEndpoints: false,
39
+ }),
40
+ ...V.staticPropertyWithName("aggregatedEndpointCount", "aggregatedCount", undefined, {
41
+ internal: true,
42
+ supportsEndpoints: false,
43
+ }),
44
+ ...V.staticPropertyWithName("endpointCountIsDynamic", "countIsDynamic", undefined, {
45
+ internal: true,
46
+ supportsEndpoints: false,
47
+ }),
48
+ ...V.staticPropertyWithName("endpointsHaveIdenticalCapabilities", "identicalCapabilities", undefined, {
49
+ internal: true,
50
+ supportsEndpoints: false,
51
+ }),
52
+ ...V.staticPropertyWithName("endpointCCs", "commandClasses", undefined, { internal: true }),
53
+ ...V.staticPropertyWithName("endpointDeviceClass", "deviceClass", undefined, { internal: true }),
54
+ }),
55
+ ...V.defineDynamicCCValues(CommandClasses["Multi Channel"], {
56
+ ...V.dynamicPropertyAndKeyWithName("aggregatedEndpointMembers", "members", (endpointIndex) => endpointIndex, ({ property, propertyKey }) => property === "members" && typeof propertyKey === "number", undefined, { internal: true }),
57
+ }),
58
+ });
59
+ // @noSetValueAPI
60
+ /**
61
+ * Many devices unnecessarily use endpoints when they could (or do) provide all functionality via the root device.
62
+ * This function gives an estimate if this is the case (i.e. all endpoints have a different device class)
63
+ */
64
+ function areEndpointsUnnecessary(ctx, nodeId, endpointIndizes) {
65
+ // Gather all device classes
66
+ const deviceClasses = new Map();
67
+ for (const endpoint of endpointIndizes) {
68
+ const devClassValueId = MultiChannelCCValues.endpointDeviceClass
69
+ .endpoint(endpoint);
70
+ const deviceClass = ctx.getValueDB(nodeId).getValue(devClassValueId);
71
+ if (deviceClass) {
72
+ deviceClasses.set(endpoint, {
73
+ generic: deviceClass.generic,
74
+ specific: deviceClass.specific,
75
+ });
76
+ }
77
+ }
78
+ // Endpoints may be useless if all of them have different device classes
79
+ const distinctDeviceClasses = distinct([...deviceClasses.values()].map(({ generic, specific }) => generic * 256 + specific));
80
+ if (distinctDeviceClasses.length !== endpointIndizes.length) {
81
+ // There are endpoints with the same device class, so they are not unnecessary
82
+ return false;
83
+ }
84
+ // Endpoints are necessary if more than 1 of them has a switch-type device class
85
+ const switchTypeDeviceClasses = [
86
+ 0x10, // Binary Switch
87
+ 0x11, // Multilevel Switch
88
+ 0x12, // Remote Switch
89
+ 0x13, // Toggle Switch
90
+ ];
91
+ const numSwitchEndpoints = [...deviceClasses.values()].filter(({ generic }) => switchTypeDeviceClasses.includes(generic)).length;
92
+ if (numSwitchEndpoints > 1)
93
+ return false;
94
+ return true;
95
+ }
96
+ let MultiChannelCCAPI = class MultiChannelCCAPI extends CCAPI {
97
+ supportsCommand(cmd) {
98
+ switch (cmd) {
99
+ // Legacy commands:
100
+ case MultiChannelCommand.GetV1:
101
+ return this.isSinglecast() && this.version === 1;
102
+ case MultiChannelCommand.CommandEncapsulationV1:
103
+ return this.version === 1;
104
+ // The specs start at version 3 but according to OZW,
105
+ // these do seem to be supported in version 2
106
+ case MultiChannelCommand.EndPointGet:
107
+ case MultiChannelCommand.CapabilityGet:
108
+ return this.version >= 2 && this.isSinglecast();
109
+ case MultiChannelCommand.CommandEncapsulation:
110
+ return this.version >= 2;
111
+ case MultiChannelCommand.EndPointFind:
112
+ return this.version >= 3 && this.isSinglecast();
113
+ case MultiChannelCommand.AggregatedMembersGet:
114
+ return this.version >= 4 && this.isSinglecast();
115
+ }
116
+ return super.supportsCommand(cmd);
117
+ }
118
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
119
+ async getEndpoints() {
120
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.EndPointGet);
121
+ const cc = new MultiChannelCCEndPointGet({
122
+ nodeId: this.endpoint.nodeId,
123
+ endpointIndex: this.endpoint.index,
124
+ });
125
+ const response = await this.host.sendCommand(cc, this.commandOptions);
126
+ if (response) {
127
+ return {
128
+ isDynamicEndpointCount: response.countIsDynamic,
129
+ identicalCapabilities: response.identicalCapabilities,
130
+ individualEndpointCount: response.individualCount,
131
+ aggregatedEndpointCount: response.aggregatedCount,
132
+ };
133
+ }
134
+ }
135
+ async getEndpointCapabilities(endpoint) {
136
+ __assertType("endpoint", "number", __assertType__number.bind(void 0, endpoint));
137
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.CapabilityGet);
138
+ const cc = new MultiChannelCCCapabilityGet({
139
+ nodeId: this.endpoint.nodeId,
140
+ endpointIndex: this.endpoint.index,
141
+ requestedEndpoint: endpoint,
142
+ });
143
+ const response = await this.host.sendCommand(cc, this.commandOptions);
144
+ if (response) {
145
+ const generic = getGenericDeviceClass(response.genericDeviceClass);
146
+ const specific = getSpecificDeviceClass(response.genericDeviceClass, response.specificDeviceClass);
147
+ return {
148
+ isDynamic: response.isDynamic,
149
+ wasRemoved: response.wasRemoved,
150
+ supportedCCs: response.supportedCCs,
151
+ generic,
152
+ specific,
153
+ };
154
+ }
155
+ }
156
+ async findEndpoints(genericClass, specificClass) {
157
+ __assertType("genericClass", "number", __assertType__number.bind(void 0, genericClass));
158
+ __assertType("specificClass", "number", __assertType__number.bind(void 0, specificClass));
159
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.EndPointFind);
160
+ const cc = new MultiChannelCCEndPointFind({
161
+ nodeId: this.endpoint.nodeId,
162
+ endpointIndex: this.endpoint.index,
163
+ genericClass,
164
+ specificClass,
165
+ });
166
+ const response = await this.host.sendCommand(cc, this.commandOptions);
167
+ return response?.foundEndpoints;
168
+ }
169
+ async getAggregatedMembers(endpoint) {
170
+ __assertType("endpoint", "number", __assertType__number.bind(void 0, endpoint));
171
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.AggregatedMembersGet);
172
+ const cc = new MultiChannelCCAggregatedMembersGet({
173
+ nodeId: this.endpoint.nodeId,
174
+ endpointIndex: this.endpoint.index,
175
+ requestedEndpoint: endpoint,
176
+ });
177
+ const response = await this.host.sendCommand(cc, this.commandOptions);
178
+ return response?.members;
179
+ }
180
+ // Encapsulation is used internally and too frequently that we
181
+ // want to pay the cost of validating each call
182
+ // eslint-disable-next-line @zwave-js/ccapi-validate-args
183
+ async sendEncapsulated(options) {
184
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.CommandEncapsulation);
185
+ const cc = new MultiChannelCCCommandEncapsulation({
186
+ nodeId: this.endpoint.nodeId,
187
+ ...options,
188
+ });
189
+ await this.host.sendCommand(cc, this.commandOptions);
190
+ }
191
+ async getEndpointCountV1(ccId) {
192
+ __assertType("ccId", "CommandClasses", __assertType__number.bind(void 0, ccId));
193
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.GetV1);
194
+ const cc = new MultiChannelCCV1Get({
195
+ nodeId: this.endpoint.nodeId,
196
+ requestedCC: ccId,
197
+ });
198
+ const response = await this.host.sendCommand(cc, this.commandOptions);
199
+ return response?.endpointCount;
200
+ }
201
+ // Encapsulation is used internally and too frequently that we
202
+ // want to pay the cost of validating each call
203
+ // eslint-disable-next-line @zwave-js/ccapi-validate-args
204
+ async sendEncapsulatedV1(encapsulated) {
205
+ this.assertSupportsCommand(MultiChannelCommand, MultiChannelCommand.CommandEncapsulationV1);
206
+ const cc = new MultiChannelCCV1CommandEncapsulation({
207
+ nodeId: this.endpoint.nodeId,
208
+ encapsulated,
209
+ });
210
+ await this.host.sendCommand(cc, this.commandOptions);
211
+ }
212
+ };
213
+ MultiChannelCCAPI = __decorate([
214
+ API(CommandClasses["Multi Channel"])
215
+ ], MultiChannelCCAPI);
216
+ export { MultiChannelCCAPI };
217
+ let MultiChannelCC = class MultiChannelCC extends CommandClass {
218
+ /** Tests if a command targets a specific endpoint and thus requires encapsulation */
219
+ static requiresEncapsulation(cc) {
220
+ return (cc.endpointIndex !== 0
221
+ && !(cc instanceof MultiChannelCCCommandEncapsulation)
222
+ && !(cc instanceof MultiChannelCCV1CommandEncapsulation));
223
+ }
224
+ /** Encapsulates a command that targets a specific endpoint, with version 2+ of the Multi Channel CC */
225
+ static encapsulate(cc) {
226
+ const ret = new MultiChannelCCCommandEncapsulation({
227
+ nodeId: cc.nodeId,
228
+ encapsulated: cc,
229
+ destination: cc.endpointIndex,
230
+ });
231
+ // Copy the encapsulation flags from the encapsulated command
232
+ ret.encapsulationFlags = cc.encapsulationFlags;
233
+ return ret;
234
+ }
235
+ /** Encapsulates a command that targets a specific endpoint, with version 1 of the Multi Channel CC */
236
+ static encapsulateV1(cc) {
237
+ const ret = new MultiChannelCCV1CommandEncapsulation({
238
+ nodeId: cc.nodeId,
239
+ encapsulated: cc,
240
+ });
241
+ // Copy the encapsulation flags from the encapsulated command
242
+ ret.encapsulationFlags = cc.encapsulationFlags;
243
+ return ret;
244
+ }
245
+ skipEndpointInterview() {
246
+ // The endpoints are discovered by querying the root device
247
+ return true;
248
+ }
249
+ async interview(ctx) {
250
+ const node = this.getNode(ctx);
251
+ const removeEndpoints = ctx.getDeviceConfig?.(node.id)?.compat
252
+ ?.removeEndpoints;
253
+ if (removeEndpoints === "*") {
254
+ ctx.logNode(node.id, {
255
+ endpoint: this.endpointIndex,
256
+ message: `Skipping ${this.ccName} interview b/c all endpoints are ignored by the device config file...`,
257
+ direction: "none",
258
+ });
259
+ return;
260
+ }
261
+ ctx.logNode(node.id, {
262
+ endpoint: this.endpointIndex,
263
+ message: `Interviewing ${this.ccName}...`,
264
+ direction: "none",
265
+ });
266
+ // Special interview procedure for legacy nodes
267
+ const ccVersion = getEffectiveCCVersion(ctx, this);
268
+ if (ccVersion === 1)
269
+ return this.interviewV1(ctx);
270
+ const endpoint = node.getEndpoint(this.endpointIndex);
271
+ const api = CCAPI.create(CommandClasses["Multi Channel"], ctx, endpoint).withOptions({
272
+ priority: MessagePriority.NodeQuery,
273
+ });
274
+ const valueDB = this.getValueDB(ctx);
275
+ // Step 1: Retrieve general information about end points
276
+ ctx.logNode(node.id, {
277
+ endpoint: this.endpointIndex,
278
+ message: "querying device endpoint information...",
279
+ direction: "outbound",
280
+ });
281
+ const multiResponse = await api.getEndpoints();
282
+ if (!multiResponse) {
283
+ ctx.logNode(node.id, {
284
+ endpoint: this.endpointIndex,
285
+ message: "Querying device endpoint information timed out, aborting interview...",
286
+ level: "warn",
287
+ });
288
+ return this.throwMissingCriticalInterviewResponse();
289
+ }
290
+ let logMessage = `received response for device endpoints:
291
+ endpoint count (individual): ${multiResponse.individualEndpointCount}
292
+ count is dynamic: ${multiResponse.isDynamicEndpointCount}
293
+ identical capabilities: ${multiResponse.identicalCapabilities}`;
294
+ if (multiResponse.aggregatedEndpointCount != undefined) {
295
+ logMessage +=
296
+ `\nendpoint count (aggregated): ${multiResponse.aggregatedEndpointCount}`;
297
+ }
298
+ ctx.logNode(node.id, {
299
+ endpoint: this.endpointIndex,
300
+ message: logMessage,
301
+ direction: "inbound",
302
+ });
303
+ let allEndpoints = [];
304
+ const addSequentialEndpoints = () => {
305
+ for (let i = 1; i
306
+ <= multiResponse.individualEndpointCount
307
+ + (multiResponse.aggregatedEndpointCount ?? 0); i++) {
308
+ allEndpoints.push(i);
309
+ }
310
+ };
311
+ if (api.supportsCommand(MultiChannelCommand.EndPointFind)) {
312
+ // Step 2a: Find all endpoints
313
+ ctx.logNode(node.id, {
314
+ endpoint: this.endpointIndex,
315
+ message: "querying all endpoints...",
316
+ direction: "outbound",
317
+ });
318
+ const foundEndpoints = await api.findEndpoints(0xff, 0xff);
319
+ if (foundEndpoints)
320
+ allEndpoints.push(...foundEndpoints);
321
+ if (!allEndpoints.length) {
322
+ // Create a sequential list of endpoints
323
+ ctx.logNode(node.id, {
324
+ endpoint: this.endpointIndex,
325
+ message: `Endpoint query returned no results, assuming that endpoints are sequential`,
326
+ direction: "inbound",
327
+ });
328
+ addSequentialEndpoints();
329
+ }
330
+ else {
331
+ ctx.logNode(node.id, {
332
+ endpoint: this.endpointIndex,
333
+ message: `received endpoints: ${allEndpoints
334
+ .map(String)
335
+ .join(", ")}`,
336
+ direction: "inbound",
337
+ });
338
+ }
339
+ }
340
+ else {
341
+ // Step 2b: Assume that the endpoints are in sequential order
342
+ ctx.logNode(node.id, {
343
+ endpoint: this.endpointIndex,
344
+ message: `does not support EndPointFind, assuming that endpoints are sequential`,
345
+ direction: "none",
346
+ });
347
+ addSequentialEndpoints();
348
+ }
349
+ // Step 2.5: remove ignored endpoints
350
+ if (removeEndpoints?.length) {
351
+ ctx.logNode(node.id, {
352
+ endpoint: this.endpointIndex,
353
+ message: `The following endpoints are ignored through the config file: ${removeEndpoints.join(", ")}`,
354
+ direction: "none",
355
+ });
356
+ allEndpoints = allEndpoints.filter((e) => !removeEndpoints.includes(e));
357
+ }
358
+ // Step 3: Query endpoints
359
+ let hasQueriedCapabilities = false;
360
+ for (const endpoint of allEndpoints) {
361
+ if (endpoint > multiResponse.individualEndpointCount
362
+ && ccVersion >= 4) {
363
+ // Find members of aggregated end point
364
+ ctx.logNode(node.id, {
365
+ endpoint: this.endpointIndex,
366
+ message: `querying members of aggregated endpoint #${endpoint}...`,
367
+ direction: "outbound",
368
+ });
369
+ const members = await api.getAggregatedMembers(endpoint);
370
+ if (members) {
371
+ ctx.logNode(node.id, {
372
+ endpoint: this.endpointIndex,
373
+ message: `aggregated endpoint #${endpoint} has members ${members
374
+ .map(String)
375
+ .join(", ")}`,
376
+ direction: "inbound",
377
+ });
378
+ }
379
+ }
380
+ // When the device reports identical capabilities for all endpoints,
381
+ // we don't need to query them all
382
+ if (multiResponse.identicalCapabilities && hasQueriedCapabilities) {
383
+ ctx.logNode(node.id, {
384
+ endpoint: this.endpointIndex,
385
+ message: `all endpoints identical, skipping capability query for endpoint #${endpoint}...`,
386
+ direction: "none",
387
+ });
388
+ // copy the capabilities from the first endpoint
389
+ const devClass = valueDB.getValue(MultiChannelCCValues.endpointDeviceClass.endpoint(allEndpoints[0]));
390
+ valueDB.setValue(MultiChannelCCValues.endpointDeviceClass.endpoint(endpoint), devClass);
391
+ const ep1Caps = valueDB.getValue(MultiChannelCCValues.endpointCCs.endpoint(allEndpoints[0]));
392
+ valueDB.setValue(MultiChannelCCValues.endpointCCs.endpoint(endpoint), [...ep1Caps]);
393
+ continue;
394
+ }
395
+ ctx.logNode(node.id, {
396
+ endpoint: this.endpointIndex,
397
+ message: `querying capabilities for endpoint #${endpoint}...`,
398
+ direction: "outbound",
399
+ });
400
+ const caps = await api.getEndpointCapabilities(endpoint);
401
+ if (caps) {
402
+ hasQueriedCapabilities = true;
403
+ logMessage =
404
+ `received response for endpoint capabilities (#${endpoint}):
405
+ generic device class: ${caps.generic.label}
406
+ specific device class: ${caps.specific.label}
407
+ is dynamic end point: ${caps.isDynamic}
408
+ supported CCs:`;
409
+ for (const cc of caps.supportedCCs) {
410
+ logMessage += `\n · ${getCCName(cc)}`;
411
+ }
412
+ ctx.logNode(node.id, {
413
+ endpoint: this.endpointIndex,
414
+ message: logMessage,
415
+ direction: "inbound",
416
+ });
417
+ }
418
+ else {
419
+ ctx.logNode(node.id, {
420
+ endpoint: this.endpointIndex,
421
+ message: `Querying endpoint #${endpoint} capabilities timed out, aborting interview...`,
422
+ level: "warn",
423
+ });
424
+ return this.throwMissingCriticalInterviewResponse();
425
+ }
426
+ }
427
+ // Now that all endpoints have been interviewed, remember which ones are there
428
+ // But first figure out if they seem unnecessary and if they do, which ones should be preserved
429
+ if (!multiResponse.identicalCapabilities
430
+ && areEndpointsUnnecessary(ctx, node.id, allEndpoints)) {
431
+ const preserve = ctx.getDeviceConfig?.(node.id)?.compat
432
+ ?.preserveEndpoints;
433
+ if (!preserve) {
434
+ allEndpoints = [];
435
+ ctx.logNode(node.id, {
436
+ message: `Endpoints seem unnecessary b/c they have different device classes, ignoring all...`,
437
+ });
438
+ }
439
+ else if (preserve === "*") {
440
+ // preserve all endpoints, do nothing
441
+ ctx.logNode(node.id, {
442
+ message: `Endpoints seem unnecessary, but are configured to be preserved.`,
443
+ });
444
+ }
445
+ else {
446
+ allEndpoints = allEndpoints.filter((ep) => preserve.includes(ep));
447
+ ctx.logNode(node.id, {
448
+ message: `Endpoints seem unnecessary, but endpoints ${allEndpoints.join(", ")} are configured to be preserved.`,
449
+ });
450
+ }
451
+ }
452
+ this.setValue(ctx, MultiChannelCCValues.endpointIndizes, allEndpoints);
453
+ // Remember that the interview is complete
454
+ this.setInterviewComplete(ctx, true);
455
+ }
456
+ async interviewV1(ctx) {
457
+ const node = this.getNode(ctx);
458
+ const endpoint = this.getEndpoint(ctx);
459
+ const api = CCAPI.create(CommandClasses["Multi Channel"], ctx, endpoint);
460
+ const valueDB = this.getValueDB(ctx);
461
+ // V1 works the opposite way - we scan all CCs and remember how many
462
+ // endpoints they have
463
+ const supportedCCs = [...node.getCCs()]
464
+ // Don't query CCs the node only controls
465
+ .filter(([, info]) => info.isSupported)
466
+ .map(([cc]) => cc)
467
+ // Don't query CCs that want to skip the endpoint interview
468
+ .filter((cc) => !CommandClass.createInstanceUnchecked(node, cc)?.skipEndpointInterview());
469
+ const endpointCounts = new Map();
470
+ for (const ccId of supportedCCs) {
471
+ ctx.logNode(node.id, {
472
+ message: `Querying endpoint count for CommandClass ${getCCName(ccId)}...`,
473
+ direction: "outbound",
474
+ });
475
+ const endpointCount = await api.getEndpointCountV1(ccId);
476
+ if (endpointCount != undefined) {
477
+ endpointCounts.set(ccId, endpointCount);
478
+ ctx.logNode(node.id, {
479
+ message: `CommandClass ${getCCName(ccId)} has ${endpointCount} endpoints`,
480
+ direction: "inbound",
481
+ });
482
+ }
483
+ }
484
+ // Store the collected information
485
+ // We have only individual and no dynamic and no aggregated endpoints
486
+ const numEndpoints = Math.max(...endpointCounts.values());
487
+ this.setValue(ctx, MultiChannelCCValues.endpointCountIsDynamic, false);
488
+ this.setValue(ctx, MultiChannelCCValues.aggregatedEndpointCount, 0);
489
+ this.setValue(ctx, MultiChannelCCValues.individualEndpointCount, numEndpoints);
490
+ // Since we queried all CCs separately, we can assume that all
491
+ // endpoints have different capabilities
492
+ this.setValue(ctx, MultiChannelCCValues.endpointsHaveIdenticalCapabilities, false);
493
+ for (let endpoint = 1; endpoint <= numEndpoints; endpoint++) {
494
+ // Check which CCs exist on this endpoint
495
+ const endpointCCs = [...endpointCounts.entries()]
496
+ .filter(([, ccEndpoints]) => ccEndpoints >= endpoint)
497
+ .map(([ccId]) => ccId);
498
+ // And store it per endpoint
499
+ valueDB.setValue(MultiChannelCCValues.endpointCCs.endpoint(endpoint), endpointCCs);
500
+ }
501
+ // Remember that the interview is complete
502
+ this.setInterviewComplete(ctx, true);
503
+ }
504
+ };
505
+ MultiChannelCC = __decorate([
506
+ commandClass(CommandClasses["Multi Channel"]),
507
+ implementedVersion(4),
508
+ ccValues(MultiChannelCCValues)
509
+ ], MultiChannelCC);
510
+ export { MultiChannelCC };
511
+ let MultiChannelCCEndPointReport = MultiChannelCCEndPointReport_1 = class MultiChannelCCEndPointReport extends MultiChannelCC {
512
+ constructor(options) {
513
+ super(options);
514
+ this.countIsDynamic = options.countIsDynamic;
515
+ this.identicalCapabilities = options.identicalCapabilities;
516
+ this.individualCount = options.individualCount;
517
+ this.aggregatedCount = options.aggregatedCount;
518
+ }
519
+ static from(raw, ctx) {
520
+ validatePayload(raw.payload.length >= 2);
521
+ const countIsDynamic = !!(raw.payload[0] & 0b10000000);
522
+ const identicalCapabilities = !!(raw.payload[0] & 0b01000000);
523
+ const individualCount = raw.payload[1] & 0b01111111;
524
+ let aggregatedCount;
525
+ if (raw.payload.length >= 3) {
526
+ aggregatedCount = raw.payload[2] & 0b01111111;
527
+ }
528
+ return new MultiChannelCCEndPointReport_1({
529
+ nodeId: ctx.sourceNodeId,
530
+ countIsDynamic,
531
+ identicalCapabilities,
532
+ individualCount,
533
+ aggregatedCount,
534
+ });
535
+ }
536
+ countIsDynamic;
537
+ identicalCapabilities;
538
+ individualCount;
539
+ aggregatedCount;
540
+ serialize(ctx) {
541
+ this.payload = Bytes.from([
542
+ (this.countIsDynamic ? 0b10000000 : 0)
543
+ | (this.identicalCapabilities ? 0b01000000 : 0),
544
+ this.individualCount & 0b01111111,
545
+ this.aggregatedCount ?? 0,
546
+ ]);
547
+ return super.serialize(ctx);
548
+ }
549
+ toLogEntry(ctx) {
550
+ const message = {
551
+ "endpoint count (individual)": this.individualCount,
552
+ "count is dynamic": this.countIsDynamic,
553
+ "identical capabilities": this.identicalCapabilities,
554
+ };
555
+ if (this.aggregatedCount != undefined) {
556
+ message["endpoint count (aggregated)"] = this.aggregatedCount;
557
+ }
558
+ const ret = {
559
+ ...super.toLogEntry(ctx),
560
+ message,
561
+ };
562
+ return ret;
563
+ }
564
+ };
565
+ __decorate([
566
+ ccValue(MultiChannelCCValues.endpointCountIsDynamic)
567
+ ], MultiChannelCCEndPointReport.prototype, "countIsDynamic", void 0);
568
+ __decorate([
569
+ ccValue(MultiChannelCCValues.endpointsHaveIdenticalCapabilities)
570
+ ], MultiChannelCCEndPointReport.prototype, "identicalCapabilities", void 0);
571
+ __decorate([
572
+ ccValue(MultiChannelCCValues.individualEndpointCount)
573
+ ], MultiChannelCCEndPointReport.prototype, "individualCount", void 0);
574
+ __decorate([
575
+ ccValue(MultiChannelCCValues.aggregatedEndpointCount)
576
+ ], MultiChannelCCEndPointReport.prototype, "aggregatedCount", void 0);
577
+ MultiChannelCCEndPointReport = MultiChannelCCEndPointReport_1 = __decorate([
578
+ CCCommand(MultiChannelCommand.EndPointReport)
579
+ ], MultiChannelCCEndPointReport);
580
+ export { MultiChannelCCEndPointReport };
581
+ let MultiChannelCCEndPointGet = class MultiChannelCCEndPointGet extends MultiChannelCC {
582
+ };
583
+ MultiChannelCCEndPointGet = __decorate([
584
+ CCCommand(MultiChannelCommand.EndPointGet),
585
+ expectedCCResponse(MultiChannelCCEndPointReport)
586
+ ], MultiChannelCCEndPointGet);
587
+ export { MultiChannelCCEndPointGet };
588
+ let MultiChannelCCCapabilityReport = MultiChannelCCCapabilityReport_1 = class MultiChannelCCCapabilityReport extends MultiChannelCC {
589
+ constructor(options) {
590
+ super(options);
591
+ this.endpointIndex = options.endpointIndex;
592
+ this.genericDeviceClass = options.genericDeviceClass;
593
+ this.specificDeviceClass = options.specificDeviceClass;
594
+ this.supportedCCs = options.supportedCCs;
595
+ this.isDynamic = options.isDynamic;
596
+ this.wasRemoved = options.wasRemoved;
597
+ }
598
+ static from(raw, ctx) {
599
+ // Only validate the bytes we expect to see here
600
+ // parseApplicationNodeInformation does its own validation
601
+ validatePayload(raw.payload.length >= 1);
602
+ const endpointIndex = raw.payload[0] & 0b01111111;
603
+ const isDynamic = !!(raw.payload[0] & 0b10000000);
604
+ const NIF = parseApplicationNodeInformation(raw.payload.subarray(1));
605
+ const genericDeviceClass = NIF.genericDeviceClass;
606
+ const specificDeviceClass = NIF.specificDeviceClass;
607
+ const supportedCCs = NIF.supportedCCs;
608
+ // Removal reports have very specific information
609
+ const wasRemoved = isDynamic
610
+ && genericDeviceClass === 0xff // "Non-Interoperable"
611
+ && specificDeviceClass === 0x00;
612
+ return new MultiChannelCCCapabilityReport_1({
613
+ nodeId: ctx.sourceNodeId,
614
+ endpointIndex,
615
+ isDynamic,
616
+ genericDeviceClass,
617
+ specificDeviceClass,
618
+ supportedCCs,
619
+ wasRemoved,
620
+ });
621
+ }
622
+ persistValues(ctx) {
623
+ if (!super.persistValues(ctx))
624
+ return false;
625
+ const deviceClassValue = MultiChannelCCValues.endpointDeviceClass;
626
+ const ccsValue = MultiChannelCCValues.endpointCCs;
627
+ if (this.wasRemoved) {
628
+ this.removeValue(ctx, deviceClassValue);
629
+ this.removeValue(ctx, ccsValue);
630
+ }
631
+ else {
632
+ this.setValue(ctx, deviceClassValue, {
633
+ generic: this.genericDeviceClass,
634
+ specific: this.specificDeviceClass,
635
+ });
636
+ this.setValue(ctx, ccsValue, this.supportedCCs);
637
+ }
638
+ return true;
639
+ }
640
+ // The endpoint index must be overridden to be able to attribute the information to the correct endpoint
641
+ genericDeviceClass;
642
+ specificDeviceClass;
643
+ supportedCCs;
644
+ isDynamic;
645
+ wasRemoved;
646
+ serialize(ctx) {
647
+ this.payload = Bytes.concat([
648
+ Bytes.from([
649
+ (this.endpointIndex & 0b01111111)
650
+ | (this.isDynamic ? 0b10000000 : 0),
651
+ ]),
652
+ encodeApplicationNodeInformation(this),
653
+ ]);
654
+ return super.serialize(ctx);
655
+ }
656
+ toLogEntry(ctx) {
657
+ return {
658
+ ...super.toLogEntry(ctx),
659
+ message: {
660
+ "endpoint index": this.endpointIndex,
661
+ "generic device class": getGenericDeviceClass(this.genericDeviceClass).label,
662
+ "specific device class": getSpecificDeviceClass(this.genericDeviceClass, this.specificDeviceClass).label,
663
+ "is dynamic end point": this.isDynamic,
664
+ "supported CCs": this.supportedCCs
665
+ .map((cc) => `\n· ${getCCName(cc)}`)
666
+ .join(""),
667
+ },
668
+ };
669
+ }
670
+ };
671
+ MultiChannelCCCapabilityReport = MultiChannelCCCapabilityReport_1 = __decorate([
672
+ CCCommand(MultiChannelCommand.CapabilityReport)
673
+ ], MultiChannelCCCapabilityReport);
674
+ export { MultiChannelCCCapabilityReport };
675
+ function testResponseForMultiChannelCapabilityGet(sent, received) {
676
+ return received.endpointIndex === sent.requestedEndpoint;
677
+ }
678
+ let MultiChannelCCCapabilityGet = MultiChannelCCCapabilityGet_1 = class MultiChannelCCCapabilityGet extends MultiChannelCC {
679
+ constructor(options) {
680
+ super(options);
681
+ this.requestedEndpoint = options.requestedEndpoint;
682
+ }
683
+ static from(raw, ctx) {
684
+ validatePayload(raw.payload.length >= 1);
685
+ const requestedEndpoint = raw.payload[0] & 0b01111111;
686
+ return new MultiChannelCCCapabilityGet_1({
687
+ nodeId: ctx.sourceNodeId,
688
+ requestedEndpoint,
689
+ });
690
+ }
691
+ requestedEndpoint;
692
+ serialize(ctx) {
693
+ this.payload = Bytes.from([this.requestedEndpoint & 0b01111111]);
694
+ return super.serialize(ctx);
695
+ }
696
+ toLogEntry(ctx) {
697
+ return {
698
+ ...super.toLogEntry(ctx),
699
+ message: { endpoint: this.requestedEndpoint },
700
+ };
701
+ }
702
+ };
703
+ MultiChannelCCCapabilityGet = MultiChannelCCCapabilityGet_1 = __decorate([
704
+ CCCommand(MultiChannelCommand.CapabilityGet),
705
+ expectedCCResponse(MultiChannelCCCapabilityReport, testResponseForMultiChannelCapabilityGet)
706
+ ], MultiChannelCCCapabilityGet);
707
+ export { MultiChannelCCCapabilityGet };
708
+ let MultiChannelCCEndPointFindReport = MultiChannelCCEndPointFindReport_1 = class MultiChannelCCEndPointFindReport extends MultiChannelCC {
709
+ constructor(options) {
710
+ super(options);
711
+ this.genericClass = options.genericClass;
712
+ this.specificClass = options.specificClass;
713
+ this.foundEndpoints = options.foundEndpoints;
714
+ this.reportsToFollow = options.reportsToFollow;
715
+ }
716
+ static from(raw, ctx) {
717
+ validatePayload(raw.payload.length >= 3);
718
+ const reportsToFollow = raw.payload[0];
719
+ const genericClass = raw.payload[1];
720
+ const specificClass = raw.payload[2];
721
+ // Some devices omit the endpoint list although that is not allowed in the specs
722
+ // therefore don't validatePayload here.
723
+ const foundEndpoints = [...raw.payload.subarray(3)]
724
+ .map((e) => e & 0b01111111)
725
+ .filter((e) => e !== 0);
726
+ return new MultiChannelCCEndPointFindReport_1({
727
+ nodeId: ctx.sourceNodeId,
728
+ reportsToFollow,
729
+ genericClass,
730
+ specificClass,
731
+ foundEndpoints,
732
+ });
733
+ }
734
+ genericClass;
735
+ specificClass;
736
+ foundEndpoints;
737
+ reportsToFollow;
738
+ serialize(ctx) {
739
+ this.payload = Bytes.concat([
740
+ Bytes.from([
741
+ this.reportsToFollow,
742
+ this.genericClass,
743
+ this.specificClass,
744
+ ]),
745
+ Bytes.from(this.foundEndpoints.map((e) => e & 0b01111111)),
746
+ ]);
747
+ return super.serialize(ctx);
748
+ }
749
+ getPartialCCSessionId() {
750
+ // Distinguish sessions by the requested device classes
751
+ return {
752
+ genericClass: this.genericClass,
753
+ specificClass: this.specificClass,
754
+ };
755
+ }
756
+ expectMoreMessages() {
757
+ return this.reportsToFollow > 0;
758
+ }
759
+ mergePartialCCs(partials, _ctx) {
760
+ // Concat the list of end points
761
+ this.foundEndpoints = [...partials, this]
762
+ .map((report) => report.foundEndpoints)
763
+ .reduce((prev, cur) => prev.concat(...cur), []);
764
+ }
765
+ toLogEntry(ctx) {
766
+ return {
767
+ ...super.toLogEntry(ctx),
768
+ message: {
769
+ "generic device class": getGenericDeviceClass(this.genericClass).label,
770
+ "specific device class": getSpecificDeviceClass(this.genericClass, this.specificClass).label,
771
+ "found endpoints": this.foundEndpoints.join(", "),
772
+ "# of reports to follow": this.reportsToFollow,
773
+ },
774
+ };
775
+ }
776
+ };
777
+ MultiChannelCCEndPointFindReport = MultiChannelCCEndPointFindReport_1 = __decorate([
778
+ CCCommand(MultiChannelCommand.EndPointFindReport)
779
+ ], MultiChannelCCEndPointFindReport);
780
+ export { MultiChannelCCEndPointFindReport };
781
+ let MultiChannelCCEndPointFind = MultiChannelCCEndPointFind_1 = class MultiChannelCCEndPointFind extends MultiChannelCC {
782
+ constructor(options) {
783
+ super(options);
784
+ this.genericClass = options.genericClass;
785
+ this.specificClass = options.specificClass;
786
+ }
787
+ static from(raw, ctx) {
788
+ validatePayload(raw.payload.length >= 2);
789
+ const genericClass = raw.payload[0];
790
+ const specificClass = raw.payload[1];
791
+ return new MultiChannelCCEndPointFind_1({
792
+ nodeId: ctx.sourceNodeId,
793
+ genericClass,
794
+ specificClass,
795
+ });
796
+ }
797
+ genericClass;
798
+ specificClass;
799
+ serialize(ctx) {
800
+ this.payload = Bytes.from([this.genericClass, this.specificClass]);
801
+ return super.serialize(ctx);
802
+ }
803
+ toLogEntry(ctx) {
804
+ return {
805
+ ...super.toLogEntry(ctx),
806
+ message: {
807
+ "generic device class": getGenericDeviceClass(this.genericClass).label,
808
+ "specific device class": getSpecificDeviceClass(this.genericClass, this.specificClass).label,
809
+ },
810
+ };
811
+ }
812
+ };
813
+ MultiChannelCCEndPointFind = MultiChannelCCEndPointFind_1 = __decorate([
814
+ CCCommand(MultiChannelCommand.EndPointFind),
815
+ expectedCCResponse(MultiChannelCCEndPointFindReport)
816
+ ], MultiChannelCCEndPointFind);
817
+ export { MultiChannelCCEndPointFind };
818
+ let MultiChannelCCAggregatedMembersReport = MultiChannelCCAggregatedMembersReport_1 = class MultiChannelCCAggregatedMembersReport extends MultiChannelCC {
819
+ constructor(options) {
820
+ super(options);
821
+ // TODO: Check implementation:
822
+ this.aggregatedEndpointIndex = options.aggregatedEndpointIndex;
823
+ this.members = options.members;
824
+ }
825
+ static from(raw, ctx) {
826
+ validatePayload(raw.payload.length >= 2);
827
+ const aggregatedEndpointIndex = raw.payload[0] & 0b0111_1111;
828
+ const bitMaskLength = raw.payload[1];
829
+ validatePayload(raw.payload.length >= 2 + bitMaskLength);
830
+ const bitMask = raw.payload.subarray(2, 2 + bitMaskLength);
831
+ const members = parseBitMask(bitMask);
832
+ return new MultiChannelCCAggregatedMembersReport_1({
833
+ nodeId: ctx.sourceNodeId,
834
+ aggregatedEndpointIndex,
835
+ members,
836
+ });
837
+ }
838
+ aggregatedEndpointIndex;
839
+ members;
840
+ toLogEntry(ctx) {
841
+ return {
842
+ ...super.toLogEntry(ctx),
843
+ message: {
844
+ "aggregated endpoint": this.aggregatedEndpointIndex,
845
+ members: this.members.join(", "),
846
+ },
847
+ };
848
+ }
849
+ };
850
+ __decorate([
851
+ ccValue(MultiChannelCCValues.aggregatedEndpointMembers, (self) => [self.aggregatedEndpointIndex])
852
+ ], MultiChannelCCAggregatedMembersReport.prototype, "members", void 0);
853
+ MultiChannelCCAggregatedMembersReport = MultiChannelCCAggregatedMembersReport_1 = __decorate([
854
+ CCCommand(MultiChannelCommand.AggregatedMembersReport)
855
+ ], MultiChannelCCAggregatedMembersReport);
856
+ export { MultiChannelCCAggregatedMembersReport };
857
+ let MultiChannelCCAggregatedMembersGet = class MultiChannelCCAggregatedMembersGet extends MultiChannelCC {
858
+ constructor(options) {
859
+ super(options);
860
+ this.requestedEndpoint = options.requestedEndpoint;
861
+ }
862
+ static from(_raw, _ctx) {
863
+ // TODO: Deserialize payload
864
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
865
+ // return new MultiChannelCCAggregatedMembersGet({
866
+ // nodeId: ctx.sourceNodeId,
867
+ // });
868
+ }
869
+ requestedEndpoint;
870
+ serialize(ctx) {
871
+ this.payload = Bytes.from([this.requestedEndpoint & 0b0111_1111]);
872
+ return super.serialize(ctx);
873
+ }
874
+ toLogEntry(ctx) {
875
+ return {
876
+ ...super.toLogEntry(ctx),
877
+ message: { endpoint: this.requestedEndpoint },
878
+ };
879
+ }
880
+ };
881
+ MultiChannelCCAggregatedMembersGet = __decorate([
882
+ CCCommand(MultiChannelCommand.AggregatedMembersGet),
883
+ expectedCCResponse(MultiChannelCCAggregatedMembersReport)
884
+ ], MultiChannelCCAggregatedMembersGet);
885
+ export { MultiChannelCCAggregatedMembersGet };
886
+ // SDS13783: A receiving node MAY respond to a Multi Channel encapsulated command if the Destination
887
+ // End Point field specifies a single End Point. In that case, the response MUST be Multi Channel
888
+ // encapsulated.
889
+ // A receiving node MUST NOT respond to a Multi Channel encapsulated command if the
890
+ // Destination End Point field specifies multiple End Points via bit mask addressing.
891
+ function getCCResponseForCommandEncapsulation(sent) {
892
+ if (typeof sent.destination === "number"
893
+ && sent.encapsulated.expectsCCResponse()) {
894
+ // Allow both versions of the encapsulation command
895
+ // Our implementation check is a bit too strict, so change the return type
896
+ return [
897
+ MultiChannelCCCommandEncapsulation,
898
+ MultiChannelCCV1CommandEncapsulation,
899
+ ];
900
+ }
901
+ }
902
+ function testResponseForCommandEncapsulation(sent, received) {
903
+ if (typeof sent.destination === "number"
904
+ && sent.destination === received.endpointIndex) {
905
+ return "checkEncapsulated";
906
+ }
907
+ return false;
908
+ }
909
+ let MultiChannelCCCommandEncapsulation = MultiChannelCCCommandEncapsulation_1 = class MultiChannelCCCommandEncapsulation extends MultiChannelCC {
910
+ constructor(options) {
911
+ super(options);
912
+ this.encapsulated = options.encapsulated;
913
+ this.encapsulated.encapsulatingCC = this;
914
+ // Propagate the endpoint index all the way down
915
+ let cur = this;
916
+ while (cur) {
917
+ if (isMultiEncapsulatingCommandClass(cur)) {
918
+ for (const cc of cur.encapsulated) {
919
+ cc.endpointIndex = this.endpointIndex;
920
+ }
921
+ break;
922
+ }
923
+ else if (isEncapsulatingCommandClass(cur)) {
924
+ cur.encapsulated.endpointIndex = this.endpointIndex;
925
+ cur = cur.encapsulated;
926
+ }
927
+ else {
928
+ break;
929
+ }
930
+ }
931
+ this.destination = options.destination;
932
+ }
933
+ static from(raw, ctx) {
934
+ validatePayload(raw.payload.length >= 2);
935
+ let endpointIndex;
936
+ let destination;
937
+ if (ctx.getDeviceConfig?.(ctx.sourceNodeId)
938
+ ?.compat?.treatDestinationEndpointAsSource) {
939
+ // This device incorrectly uses the destination field to indicate the source endpoint
940
+ endpointIndex = raw.payload[1] & 0b0111_1111;
941
+ destination = 0;
942
+ }
943
+ else {
944
+ // Parse normally
945
+ endpointIndex = raw.payload[0] & 0b0111_1111;
946
+ const isBitMask = !!(raw.payload[1] & 0b1000_0000);
947
+ destination = raw.payload[1] & 0b0111_1111;
948
+ if (isBitMask) {
949
+ destination = parseBitMask(Bytes.from([destination]));
950
+ }
951
+ }
952
+ // No need to validate further, each CC does it for itself
953
+ const encapsulated = CommandClass.parse(raw.payload.subarray(2), ctx);
954
+ return new MultiChannelCCCommandEncapsulation_1({
955
+ nodeId: ctx.sourceNodeId,
956
+ endpointIndex,
957
+ destination,
958
+ encapsulated,
959
+ });
960
+ }
961
+ encapsulated;
962
+ /** The destination end point (0-127) or an array of destination end points (1-7) */
963
+ destination;
964
+ serialize(ctx) {
965
+ if (ctx.getDeviceConfig?.(this.nodeId)?.compat
966
+ ?.treatDestinationEndpointAsSource) {
967
+ // This device incorrectly responds from the endpoint we've passed as our source endpoint
968
+ if (typeof this.destination === "number") {
969
+ this.endpointIndex = this.destination;
970
+ }
971
+ }
972
+ const destination = typeof this.destination === "number"
973
+ // The destination is a single number
974
+ ? this.destination & 0b0111_1111
975
+ // The destination is a bit mask
976
+ : encodeBitMask(this.destination, 7)[0] | 0b1000_0000;
977
+ this.payload = Bytes.concat([
978
+ Bytes.from([this.endpointIndex & 0b0111_1111, destination]),
979
+ this.encapsulated.serialize(ctx),
980
+ ]);
981
+ return super.serialize(ctx);
982
+ }
983
+ toLogEntry(ctx) {
984
+ return {
985
+ ...super.toLogEntry(ctx),
986
+ message: {
987
+ source: this.endpointIndex,
988
+ destination: typeof this.destination === "number"
989
+ ? this.destination
990
+ : this.destination.join(", "),
991
+ },
992
+ };
993
+ }
994
+ computeEncapsulationOverhead() {
995
+ // Multi Channel CC adds two bytes for the source and destination endpoint
996
+ return super.computeEncapsulationOverhead() + 2;
997
+ }
998
+ };
999
+ MultiChannelCCCommandEncapsulation = MultiChannelCCCommandEncapsulation_1 = __decorate([
1000
+ CCCommand(MultiChannelCommand.CommandEncapsulation),
1001
+ expectedCCResponse(getCCResponseForCommandEncapsulation, testResponseForCommandEncapsulation)
1002
+ ], MultiChannelCCCommandEncapsulation);
1003
+ export { MultiChannelCCCommandEncapsulation };
1004
+ let MultiChannelCCV1Report = MultiChannelCCV1Report_1 = class MultiChannelCCV1Report extends MultiChannelCC {
1005
+ constructor(options) {
1006
+ super(options);
1007
+ // TODO: Check implementation:
1008
+ this.requestedCC = options.requestedCC;
1009
+ this.endpointCount = options.endpointCount;
1010
+ }
1011
+ static from(raw, ctx) {
1012
+ // V1 won't be extended in the future, so do an exact check
1013
+ validatePayload(raw.payload.length === 2);
1014
+ const requestedCC = raw.payload[0];
1015
+ const endpointCount = raw.payload[1];
1016
+ return new MultiChannelCCV1Report_1({
1017
+ nodeId: ctx.sourceNodeId,
1018
+ requestedCC,
1019
+ endpointCount,
1020
+ });
1021
+ }
1022
+ requestedCC;
1023
+ endpointCount;
1024
+ toLogEntry(ctx) {
1025
+ return {
1026
+ ...super.toLogEntry(ctx),
1027
+ message: {
1028
+ CC: getCCName(this.requestedCC),
1029
+ "# of endpoints": this.endpointCount,
1030
+ },
1031
+ };
1032
+ }
1033
+ };
1034
+ MultiChannelCCV1Report = MultiChannelCCV1Report_1 = __decorate([
1035
+ CCCommand(MultiChannelCommand.ReportV1)
1036
+ ], MultiChannelCCV1Report);
1037
+ export { MultiChannelCCV1Report };
1038
+ function testResponseForMultiChannelV1Get(sent, received) {
1039
+ return sent.requestedCC === received.requestedCC;
1040
+ }
1041
+ let MultiChannelCCV1Get = class MultiChannelCCV1Get extends MultiChannelCC {
1042
+ constructor(options) {
1043
+ super(options);
1044
+ this.requestedCC = options.requestedCC;
1045
+ }
1046
+ static from(_raw, _ctx) {
1047
+ // TODO: Deserialize payload
1048
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1049
+ // return new MultiChannelCCV1Get({
1050
+ // nodeId: ctx.sourceNodeId,
1051
+ // });
1052
+ }
1053
+ requestedCC;
1054
+ serialize(ctx) {
1055
+ this.payload = Bytes.from([this.requestedCC]);
1056
+ return super.serialize(ctx);
1057
+ }
1058
+ toLogEntry(ctx) {
1059
+ return {
1060
+ ...super.toLogEntry(ctx),
1061
+ message: { CC: getCCName(this.requestedCC) },
1062
+ };
1063
+ }
1064
+ };
1065
+ MultiChannelCCV1Get = __decorate([
1066
+ CCCommand(MultiChannelCommand.GetV1),
1067
+ expectedCCResponse(MultiChannelCCV1Report, testResponseForMultiChannelV1Get)
1068
+ ], MultiChannelCCV1Get);
1069
+ export { MultiChannelCCV1Get };
1070
+ function getResponseForV1CommandEncapsulation(sent) {
1071
+ if (sent.encapsulated.expectsCCResponse()) {
1072
+ return MultiChannelCCV1CommandEncapsulation;
1073
+ }
1074
+ }
1075
+ function testResponseForV1CommandEncapsulation(sent, received) {
1076
+ if (sent.endpointIndex === received.endpointIndex) {
1077
+ return "checkEncapsulated";
1078
+ }
1079
+ return false;
1080
+ }
1081
+ let MultiChannelCCV1CommandEncapsulation = MultiChannelCCV1CommandEncapsulation_1 = class MultiChannelCCV1CommandEncapsulation extends MultiChannelCC {
1082
+ constructor(options) {
1083
+ super(options);
1084
+ this.encapsulated = options.encapsulated;
1085
+ // No need to distinguish between source and destination in V1
1086
+ this.endpointIndex = this.encapsulated.endpointIndex;
1087
+ }
1088
+ static from(raw, ctx) {
1089
+ validatePayload(raw.payload.length >= 1);
1090
+ const endpointIndex = raw.payload[0];
1091
+ // Some devices send invalid reports, i.e. MultiChannelCCV1CommandEncapsulation, but with V2+ binary format
1092
+ // This would be a NoOp CC, but it makes no sense to encapsulate that.
1093
+ const isV2withV1Header = raw.payload.length >= 2
1094
+ && raw.payload[1] === 0x00;
1095
+ // No need to validate further, each CC does it for itself
1096
+ const encapsulated = CommandClass.parse(raw.payload.subarray(isV2withV1Header ? 2 : 1), ctx);
1097
+ return new MultiChannelCCV1CommandEncapsulation_1({
1098
+ nodeId: ctx.sourceNodeId,
1099
+ endpointIndex,
1100
+ encapsulated,
1101
+ });
1102
+ }
1103
+ encapsulated;
1104
+ serialize(ctx) {
1105
+ this.payload = Bytes.concat([
1106
+ Bytes.from([this.endpointIndex]),
1107
+ this.encapsulated.serialize(ctx),
1108
+ ]);
1109
+ return super.serialize(ctx);
1110
+ }
1111
+ computeEncapsulationOverhead() {
1112
+ // Multi Channel CC V1 adds one byte for the endpoint index
1113
+ return super.computeEncapsulationOverhead() + 1;
1114
+ }
1115
+ toLogEntry(ctx) {
1116
+ return {
1117
+ ...super.toLogEntry(ctx),
1118
+ message: { source: this.endpointIndex },
1119
+ };
1120
+ }
1121
+ };
1122
+ MultiChannelCCV1CommandEncapsulation = MultiChannelCCV1CommandEncapsulation_1 = __decorate([
1123
+ CCCommand(MultiChannelCommand.CommandEncapsulationV1),
1124
+ expectedCCResponse(getResponseForV1CommandEncapsulation, testResponseForV1CommandEncapsulation)
1125
+ ], MultiChannelCCV1CommandEncapsulation);
1126
+ export { MultiChannelCCV1CommandEncapsulation };
1127
+ //# sourceMappingURL=MultiChannelCC.js.map