@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,781 @@
1
+ import { CommandClasses, EncapsulationFlags, NODE_ID_BROADCAST, NODE_ID_BROADCAST_LR, ZWaveError, ZWaveErrorCodes, getCCName, isZWaveError, parseCCId, valueIdToString, } from "@zwave-js/core";
2
+ import { Bytes, buffer2hex, getEnumMemberName, num2hex, staticExtends, } from "@zwave-js/shared";
3
+ import { isArray } from "alcalzone-shared/typeguards/index.js";
4
+ import { getCCCommand, getCCCommandConstructor, getCCConstructor, getCCResponsePredicate, getCCValueProperties, getCCValues, getCommandClass, getExpectedCCResponse, getImplementedVersion, } from "./CommandClassDecorators.js";
5
+ import { isEncapsulatingCommandClass, isMultiEncapsulatingCommandClass, } from "./EncapsulatingCommandClass.js";
6
+ import { defaultCCValueOptions, } from "./Values.js";
7
+ export function getEffectiveCCVersion(ctx, cc, defaultVersion) {
8
+ // For multicast and broadcast CCs, just use the highest implemented version to serialize
9
+ // Older nodes will ignore the additional fields
10
+ if (typeof cc.nodeId !== "number"
11
+ || cc.nodeId === NODE_ID_BROADCAST
12
+ || cc.nodeId === NODE_ID_BROADCAST_LR) {
13
+ return getImplementedVersion(cc.ccId);
14
+ }
15
+ // For singlecast CCs, set the CC version as high as possible
16
+ return ctx.getSupportedCCVersion(cc.ccId, cc.nodeId, cc.endpointIndex)
17
+ || (defaultVersion ?? getImplementedVersion(cc.ccId));
18
+ }
19
+ export class CCRaw {
20
+ ccId;
21
+ ccCommand;
22
+ payload;
23
+ constructor(ccId, ccCommand, payload) {
24
+ this.ccId = ccId;
25
+ this.ccCommand = ccCommand;
26
+ this.payload = payload;
27
+ }
28
+ static parse(data) {
29
+ const { ccId, bytesRead: ccIdLength } = parseCCId(data);
30
+ // There are so few exceptions that we can handle them here manually
31
+ if (ccId === CommandClasses["No Operation"]) {
32
+ return new CCRaw(ccId, undefined, new Bytes());
33
+ }
34
+ let ccCommand = data[ccIdLength];
35
+ let payload = Bytes.view(data.subarray(ccIdLength + 1));
36
+ if (ccId === CommandClasses["Transport Service"]) {
37
+ // Transport Service only uses the higher 5 bits for the command
38
+ // and re-uses the lower 3 bits of the ccCommand as payload
39
+ payload = Bytes.concat([
40
+ Bytes.from([ccCommand & 0b111]),
41
+ payload,
42
+ ]);
43
+ ccCommand = ccCommand & 0b11111_000;
44
+ }
45
+ else if (ccId === CommandClasses["Manufacturer Proprietary"]) {
46
+ // ManufacturerProprietaryCC has no CC command, so the first
47
+ // payload byte is stored in ccCommand.
48
+ payload = Bytes.concat([
49
+ Bytes.from([ccCommand]),
50
+ payload,
51
+ ]);
52
+ ccCommand = undefined;
53
+ }
54
+ return new CCRaw(ccId, ccCommand, payload);
55
+ }
56
+ withPayload(payload) {
57
+ return new CCRaw(this.ccId, this.ccCommand, payload);
58
+ }
59
+ }
60
+ // @publicAPI
61
+ export class CommandClass {
62
+ // empty constructor to parse messages
63
+ constructor(options) {
64
+ const { nodeId, endpointIndex = 0, ccId = getCommandClass(this), ccCommand = getCCCommand(this), payload = new Uint8Array(), } = options;
65
+ this.nodeId = nodeId;
66
+ this.endpointIndex = endpointIndex;
67
+ this.ccId = ccId;
68
+ this.ccCommand = ccCommand;
69
+ this.payload = Bytes.view(payload);
70
+ }
71
+ static parse(data, ctx) {
72
+ const raw = CCRaw.parse(data);
73
+ // Find the correct subclass constructor to invoke
74
+ const CCConstructor = getCCConstructor(raw.ccId);
75
+ if (!CCConstructor) {
76
+ // None -> fall back to the default constructor
77
+ return CommandClass.from(raw, ctx);
78
+ }
79
+ let CommandConstructor;
80
+ if (raw.ccCommand != undefined) {
81
+ CommandConstructor = getCCCommandConstructor(raw.ccId, raw.ccCommand);
82
+ }
83
+ // Not every CC has a constructor for its commands. In that case,
84
+ // call the CC constructor directly
85
+ try {
86
+ return (CommandConstructor ?? CCConstructor).from(raw, ctx);
87
+ }
88
+ catch (e) {
89
+ // Indicate invalid payloads with a special CC type
90
+ if (isZWaveError(e)
91
+ && e.code === ZWaveErrorCodes.PacketFormat_InvalidPayload) {
92
+ const ccName = CommandConstructor?.name
93
+ ?? `${getCCName(raw.ccId)} CC`;
94
+ // Preserve why the command was invalid
95
+ let reason;
96
+ if (typeof e.context === "string"
97
+ || (typeof e.context === "number"
98
+ && ZWaveErrorCodes[e.context] != undefined)) {
99
+ reason = e.context;
100
+ }
101
+ const ret = new InvalidCC({
102
+ nodeId: ctx.sourceNodeId,
103
+ ccId: raw.ccId,
104
+ ccCommand: raw.ccCommand,
105
+ ccName,
106
+ reason,
107
+ });
108
+ return ret;
109
+ }
110
+ throw e;
111
+ }
112
+ }
113
+ static from(raw, ctx) {
114
+ return new this({
115
+ nodeId: ctx.sourceNodeId,
116
+ ccId: raw.ccId,
117
+ ccCommand: raw.ccCommand,
118
+ payload: raw.payload,
119
+ });
120
+ }
121
+ /** This CC's identifier */
122
+ ccId;
123
+ ccCommand;
124
+ get ccName() {
125
+ return getCCName(this.ccId);
126
+ }
127
+ /** The ID of the target node(s) */
128
+ nodeId;
129
+ payload;
130
+ /** Which endpoint of the node this CC belongs to. 0 for the root device. */
131
+ endpointIndex;
132
+ /**
133
+ * Which encapsulation CCs this CC is/was/should be encapsulated with.
134
+ *
135
+ * Don't use this directly, this is used internally.
136
+ */
137
+ encapsulationFlags = EncapsulationFlags.None;
138
+ /** Activates or deactivates the given encapsulation flag(s) */
139
+ toggleEncapsulationFlag(flag, active) {
140
+ if (active) {
141
+ this.encapsulationFlags |= flag;
142
+ }
143
+ else {
144
+ this.encapsulationFlags &= ~flag;
145
+ }
146
+ }
147
+ /** Contains a reference to the encapsulating CC if this CC is encapsulated */
148
+ encapsulatingCC;
149
+ /** The type of Z-Wave frame this CC was sent with */
150
+ frameType;
151
+ /** Returns true if this CC is an extended CC (0xF100..0xFFFF) */
152
+ isExtended() {
153
+ return this.ccId >= 0xf100;
154
+ }
155
+ /** Whether the interview for this CC was previously completed */
156
+ isInterviewComplete(host) {
157
+ return !!this.getValueDB(host).getValue({
158
+ commandClass: this.ccId,
159
+ endpoint: this.endpointIndex,
160
+ property: "interviewComplete",
161
+ });
162
+ }
163
+ /** Marks the interview for this CC as complete or not */
164
+ setInterviewComplete(host, complete) {
165
+ this.getValueDB(host).setValue({
166
+ commandClass: this.ccId,
167
+ endpoint: this.endpointIndex,
168
+ property: "interviewComplete",
169
+ }, complete);
170
+ }
171
+ /**
172
+ * Serializes this CommandClass to be embedded in a message payload or another CC
173
+ */
174
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
175
+ serialize(ctx) {
176
+ // NoOp CCs have no command and no payload
177
+ if (this.ccId === CommandClasses["No Operation"]) {
178
+ return Bytes.from([this.ccId]);
179
+ }
180
+ else if (this.ccCommand == undefined) {
181
+ throw new ZWaveError("Cannot serialize a Command Class without a command", ZWaveErrorCodes.CC_Invalid);
182
+ }
183
+ const payloadLength = this.payload.length;
184
+ const ccIdLength = this.isExtended() ? 2 : 1;
185
+ const data = new Bytes(ccIdLength + 1 + payloadLength);
186
+ data.writeUIntBE(this.ccId, 0, ccIdLength);
187
+ data[ccIdLength] = this.ccCommand;
188
+ if (payloadLength > 0 /* implies payload != undefined */) {
189
+ data.set(this.payload, 1 + ccIdLength);
190
+ }
191
+ return data;
192
+ }
193
+ prepareRetransmission() {
194
+ // Do nothing by default
195
+ }
196
+ /**
197
+ * Create an instance of the given CC without checking whether it is supported.
198
+ * If the CC is implemented, this returns an instance of the given CC which is linked to the given endpoint.
199
+ *
200
+ * **INTERNAL:** Applications should not use this directly.
201
+ */
202
+ static createInstanceUnchecked(endpoint, cc) {
203
+ const Constructor = typeof cc === "number" ? getCCConstructor(cc) : cc;
204
+ if (Constructor) {
205
+ return new Constructor({
206
+ nodeId: endpoint.nodeId,
207
+ endpointIndex: endpoint.index,
208
+ });
209
+ }
210
+ }
211
+ /** Generates a representation of this CC for the log */
212
+ toLogEntry(_ctx) {
213
+ let tag = this.constructor.name;
214
+ const message = {};
215
+ if (this.constructor === CommandClass) {
216
+ tag = `${getEnumMemberName(CommandClasses, this.ccId)} CC (not implemented)`;
217
+ if (this.ccCommand != undefined) {
218
+ message.command = num2hex(this.ccCommand);
219
+ }
220
+ }
221
+ if (this.payload.length > 0) {
222
+ message.payload = buffer2hex(this.payload);
223
+ }
224
+ return {
225
+ tags: [tag],
226
+ message,
227
+ };
228
+ }
229
+ /** Generates the JSON representation of this CC */
230
+ toJSON() {
231
+ return this.toJSONInternal();
232
+ }
233
+ toJSONInternal() {
234
+ const ret = {
235
+ nodeId: this.nodeId,
236
+ ccId: CommandClasses[this.ccId] || num2hex(this.ccId),
237
+ };
238
+ if (this.ccCommand != undefined) {
239
+ ret.ccCommand = num2hex(this.ccCommand);
240
+ }
241
+ if (this.payload.length > 0) {
242
+ ret.payload = buffer2hex(this.payload);
243
+ }
244
+ return ret;
245
+ }
246
+ throwMissingCriticalInterviewResponse() {
247
+ throw new ZWaveError(`The node did not respond to a critical interview query in time.`, ZWaveErrorCodes.Controller_NodeTimeout);
248
+ }
249
+ /**
250
+ * Performs the interview procedure for this CC according to SDS14223
251
+ */
252
+ async interview(_ctx) {
253
+ // This needs to be overwritten per command class. In the default implementation, don't do anything
254
+ }
255
+ /**
256
+ * Refreshes all dynamic values of this CC
257
+ */
258
+ async refreshValues(_ctx) {
259
+ // This needs to be overwritten per command class. In the default implementation, don't do anything
260
+ }
261
+ /**
262
+ * Checks if the CC values need to be manually refreshed.
263
+ * This should be called regularly and when sleeping nodes wake up
264
+ */
265
+ shouldRefreshValues(_ctx) {
266
+ // This needs to be overwritten per command class.
267
+ // In the default implementation, don't require a refresh
268
+ return false;
269
+ }
270
+ /** Determines which CC interviews must be performed before this CC can be interviewed */
271
+ determineRequiredCCInterviews() {
272
+ // By default, all CCs require the VersionCC interview
273
+ // There are two exceptions to this rule:
274
+ // * ManufacturerSpecific must be interviewed first
275
+ // * VersionCC itself must be done after that
276
+ // These exceptions are defined in the overrides of this method of each corresponding CC
277
+ return [CommandClasses.Version];
278
+ }
279
+ /**
280
+ * Whether the endpoint interview may be skipped by a CC. Can be overwritten by a subclass.
281
+ */
282
+ skipEndpointInterview() {
283
+ // By default no interview may be skipped
284
+ return false;
285
+ }
286
+ /**
287
+ * Maps a BasicCC value to a more specific CC implementation. Returns true if the value was mapped, false otherwise.
288
+ * @param _value The value of the received BasicCC
289
+ */
290
+ setMappedBasicValue(_ctx, _value) {
291
+ // By default, don't map
292
+ return false;
293
+ }
294
+ isSinglecast() {
295
+ return (
296
+ // received
297
+ this.frameType === "singlecast"
298
+ // transmitted
299
+ || (this.frameType == undefined
300
+ && typeof this.nodeId === "number"
301
+ && this.nodeId !== NODE_ID_BROADCAST
302
+ && this.nodeId !== NODE_ID_BROADCAST_LR));
303
+ }
304
+ isMulticast() {
305
+ return (
306
+ // received
307
+ this.frameType === "multicast"
308
+ // transmitted
309
+ || (this.frameType == undefined && isArray(this.nodeId)));
310
+ }
311
+ isBroadcast() {
312
+ return (
313
+ // received
314
+ this.frameType === "broadcast"
315
+ // transmitted
316
+ || (this.frameType == undefined
317
+ && (this.nodeId === NODE_ID_BROADCAST
318
+ || this.nodeId === NODE_ID_BROADCAST_LR)));
319
+ }
320
+ /**
321
+ * Returns the node this CC is linked to. Throws if the controller is not yet ready.
322
+ */
323
+ getNode(ctx) {
324
+ if (this.isSinglecast()) {
325
+ return ctx.getNode(this.nodeId);
326
+ }
327
+ }
328
+ /**
329
+ * @internal
330
+ * Returns the node this CC is linked to (or undefined if the node doesn't exist)
331
+ */
332
+ tryGetNode(ctx) {
333
+ try {
334
+ return this.getNode(ctx);
335
+ }
336
+ catch (e) {
337
+ // This was expected
338
+ if (isZWaveError(e) && e.code === ZWaveErrorCodes.Driver_NotReady) {
339
+ return undefined;
340
+ }
341
+ // Something else happened
342
+ throw e;
343
+ }
344
+ }
345
+ getEndpoint(ctx) {
346
+ return this.getNode(ctx)?.getEndpoint(this.endpointIndex);
347
+ }
348
+ /** Returns the value DB for this CC's node */
349
+ getValueDB(ctx) {
350
+ if (this.isSinglecast()) {
351
+ try {
352
+ return ctx.getValueDB(this.nodeId);
353
+ }
354
+ catch {
355
+ throw new ZWaveError("The node for this CC does not exist or the driver is not ready yet", ZWaveErrorCodes.Driver_NotReady);
356
+ }
357
+ }
358
+ throw new ZWaveError("Cannot retrieve the value DB for non-singlecast CCs", ZWaveErrorCodes.CC_NoNodeID);
359
+ }
360
+ /**
361
+ * Ensures that the metadata for the given CC value exists in the Value DB or creates it if it does not.
362
+ * The endpoint index of the current CC instance is automatically taken into account.
363
+ * @param meta Will be used in place of the predefined metadata when given
364
+ */
365
+ ensureMetadata(ctx, ccValue, meta) {
366
+ const valueDB = this.getValueDB(ctx);
367
+ const valueId = ccValue.endpoint(this.endpointIndex);
368
+ if (!valueDB.hasMetadata(valueId)) {
369
+ valueDB.setMetadata(valueId, meta ?? ccValue.meta);
370
+ }
371
+ }
372
+ /**
373
+ * Removes the metadata for the given CC value from the value DB.
374
+ * The endpoint index of the current CC instance is automatically taken into account.
375
+ */
376
+ removeMetadata(ctx, ccValue) {
377
+ const valueDB = this.getValueDB(ctx);
378
+ const valueId = ccValue.endpoint(this.endpointIndex);
379
+ valueDB.setMetadata(valueId, undefined);
380
+ }
381
+ /**
382
+ * Writes the metadata for the given CC value into the Value DB.
383
+ * The endpoint index of the current CC instance is automatically taken into account.
384
+ * @param meta Will be used in place of the predefined metadata when given
385
+ */
386
+ setMetadata(ctx, ccValue, meta) {
387
+ const valueDB = this.getValueDB(ctx);
388
+ const valueId = ccValue.endpoint(this.endpointIndex);
389
+ valueDB.setMetadata(valueId, meta ?? ccValue.meta);
390
+ }
391
+ /**
392
+ * Reads the metadata for the given CC value from the Value DB.
393
+ * The endpoint index of the current CC instance is automatically taken into account.
394
+ */
395
+ getMetadata(ctx, ccValue) {
396
+ const valueDB = this.getValueDB(ctx);
397
+ const valueId = ccValue.endpoint(this.endpointIndex);
398
+ return valueDB.getMetadata(valueId);
399
+ }
400
+ /**
401
+ * Stores the given value under the value ID for the given CC value in the value DB.
402
+ * The endpoint index of the current CC instance is automatically taken into account.
403
+ */
404
+ setValue(ctx, ccValue, value) {
405
+ const valueDB = this.getValueDB(ctx);
406
+ const valueId = ccValue.endpoint(this.endpointIndex);
407
+ valueDB.setValue(valueId, value);
408
+ }
409
+ /**
410
+ * Removes the value for the given CC value from the value DB.
411
+ * The endpoint index of the current CC instance is automatically taken into account.
412
+ */
413
+ removeValue(ctx, ccValue) {
414
+ const valueDB = this.getValueDB(ctx);
415
+ const valueId = ccValue.endpoint(this.endpointIndex);
416
+ valueDB.removeValue(valueId);
417
+ }
418
+ /**
419
+ * Reads the value stored for the value ID of the given CC value from the value DB.
420
+ * The endpoint index of the current CC instance is automatically taken into account.
421
+ */
422
+ getValue(ctx, ccValue) {
423
+ const valueDB = this.getValueDB(ctx);
424
+ const valueId = ccValue.endpoint(this.endpointIndex);
425
+ return valueDB.getValue(valueId);
426
+ }
427
+ /**
428
+ * Reads when the value stored for the value ID of the given CC value was last updated in the value DB.
429
+ * The endpoint index of the current CC instance is automatically taken into account.
430
+ */
431
+ getValueTimestamp(ctx, ccValue) {
432
+ const valueDB = this.getValueDB(ctx);
433
+ const valueId = ccValue.endpoint(this.endpointIndex);
434
+ return valueDB.getTimestamp(valueId);
435
+ }
436
+ /** Returns the CC value definition for the current CC which matches the given value ID */
437
+ getCCValue(valueId) {
438
+ const ccValues = getCCValues(this);
439
+ if (!ccValues)
440
+ return;
441
+ for (const value of Object.values(ccValues)) {
442
+ if (value?.is(valueId)) {
443
+ return value;
444
+ }
445
+ }
446
+ }
447
+ getAllCCValues() {
448
+ return Object.values(getCCValues(this) ?? {});
449
+ }
450
+ getCCValueForValueId(properties) {
451
+ return this.getAllCCValues().find((value) => value.is({
452
+ commandClass: this.ccId,
453
+ ...properties,
454
+ }));
455
+ }
456
+ shouldAutoCreateValue(ctx, value) {
457
+ return (value.options.autoCreate === true
458
+ || (typeof value.options.autoCreate === "function"
459
+ && value.options.autoCreate(ctx, {
460
+ virtual: false,
461
+ nodeId: this.nodeId,
462
+ index: this.endpointIndex,
463
+ })));
464
+ }
465
+ /** Returns a list of all value names that are defined for this CommandClass */
466
+ getDefinedValueIDs(ctx, includeInternal = false) {
467
+ // In order to compare value ids, we need them to be strings
468
+ const ret = new Map();
469
+ const addValueId = (property, propertyKey) => {
470
+ const valueId = {
471
+ commandClass: this.ccId,
472
+ endpoint: this.endpointIndex,
473
+ property,
474
+ propertyKey,
475
+ };
476
+ const dbKey = valueIdToString(valueId);
477
+ if (!ret.has(dbKey))
478
+ ret.set(dbKey, valueId);
479
+ };
480
+ // Return all value IDs for this CC...
481
+ const valueDB = this.getValueDB(ctx);
482
+ // ...which either have metadata or a value
483
+ const existingValueIds = [
484
+ ...valueDB.getValues(this.ccId),
485
+ ...valueDB.getAllMetadata(this.ccId),
486
+ ];
487
+ // To determine which value IDs to expose, we need to know the CC version
488
+ // that we're doing this for
489
+ const supportedVersion = typeof this.nodeId === "number"
490
+ && this.nodeId !== NODE_ID_BROADCAST
491
+ && this.nodeId !== NODE_ID_BROADCAST_LR
492
+ // On singlecast CCs, use the version the node reported support for,
493
+ ? ctx.getSupportedCCVersion(this.ccId, this.nodeId, this.endpointIndex)
494
+ // on multicast/broadcast, use the highest version we implement
495
+ : getImplementedVersion(this.ccId);
496
+ // ...or which are statically defined using @ccValues(...)
497
+ for (const value of Object.values(getCCValues(this) ?? {})) {
498
+ // Skip dynamic CC values - they need a specific subclass instance to be evaluated
499
+ if (!value || typeof value === "function")
500
+ continue;
501
+ // Skip those values that are only supported in higher versions of the CC
502
+ if (value.options.minVersion != undefined
503
+ && value.options.minVersion > supportedVersion) {
504
+ continue;
505
+ }
506
+ // Skip internal values
507
+ if (value.options.internal && !includeInternal)
508
+ continue;
509
+ // And determine if this value should be automatically "created"
510
+ if (!this.shouldAutoCreateValue(ctx, value))
511
+ continue;
512
+ existingValueIds.push(value.endpoint(this.endpointIndex));
513
+ }
514
+ // TODO: this is a bit awkward for the statically defined ones
515
+ const ccValues = this.getAllCCValues();
516
+ for (const valueId of existingValueIds) {
517
+ // ...belonging to the current endpoint
518
+ if ((valueId.endpoint ?? 0) !== this.endpointIndex)
519
+ continue;
520
+ // Hard-coded: interviewComplete is always internal
521
+ if (valueId.property === "interviewComplete")
522
+ continue;
523
+ // ... which don't have a CC value definition
524
+ // ... or one that does not mark the value ID as internal
525
+ const ccValue = ccValues.find((value) => value.is(valueId));
526
+ if (!ccValue || !ccValue.options.internal || includeInternal) {
527
+ addValueId(valueId.property, valueId.propertyKey);
528
+ }
529
+ }
530
+ return [...ret.values()];
531
+ }
532
+ /** Determines if the given value is an internal value */
533
+ isInternalValue(properties) {
534
+ // Hard-coded: interviewComplete is always internal
535
+ if (properties.property === "interviewComplete")
536
+ return true;
537
+ const ccValue = this.getCCValueForValueId(properties);
538
+ return ccValue?.options.internal ?? defaultCCValueOptions.internal;
539
+ }
540
+ /** Determines if the given value is an secret value */
541
+ isSecretValue(properties) {
542
+ const ccValue = this.getCCValueForValueId(properties);
543
+ return ccValue?.options.secret ?? defaultCCValueOptions.secret;
544
+ }
545
+ /** Determines if the given value should be persisted or represents an event */
546
+ isStatefulValue(properties) {
547
+ const ccValue = this.getCCValueForValueId(properties);
548
+ return ccValue?.options.stateful ?? defaultCCValueOptions.stateful;
549
+ }
550
+ /**
551
+ * Persists all values for this CC instance into the value DB which are annotated with @ccValue.
552
+ * Returns `true` if the process succeeded, `false` if the value DB cannot be accessed.
553
+ */
554
+ persistValues(ctx) {
555
+ let valueDB;
556
+ try {
557
+ valueDB = this.getValueDB(ctx);
558
+ }
559
+ catch {
560
+ return false;
561
+ }
562
+ // To determine which value IDs to expose, we need to know the CC version
563
+ // that we're doing this for
564
+ const supportedVersion = ctx.getSupportedCCVersion(this.ccId,
565
+ // Values are only persisted for singlecast, so we know nodeId is a number
566
+ this.nodeId, this.endpointIndex) || 1;
567
+ // Get all properties of this CC which are annotated with a @ccValue decorator and store them.
568
+ for (const [prop, _value] of getCCValueProperties(this)) {
569
+ // Evaluate dynamic CC values first
570
+ const value = typeof _value === "function" ? _value(this) : _value;
571
+ // Skip those values that are only supported in higher versions of the CC
572
+ if (value.options.minVersion != undefined
573
+ && value.options.minVersion > supportedVersion) {
574
+ continue;
575
+ }
576
+ const valueId = value.endpoint(this.endpointIndex);
577
+ const sourceValue = this[prop];
578
+ // Metadata gets created for non-internal values...
579
+ const createMetadata = !value.options.internal
580
+ // ... but only if the value is included in the report we are persisting
581
+ && (sourceValue != undefined
582
+ // ... or if we know which CC version the node supports
583
+ // and the value may be automatically created
584
+ || (supportedVersion >= value.options.minVersion
585
+ && this.shouldAutoCreateValue(ctx, value)));
586
+ if (createMetadata && !valueDB.hasMetadata(valueId)) {
587
+ valueDB.setMetadata(valueId, value.meta);
588
+ }
589
+ // The value only gets written if it is not undefined. null is a valid value!
590
+ if (sourceValue === undefined)
591
+ continue;
592
+ valueDB.setValue(valueId, sourceValue, {
593
+ stateful: value.options.stateful,
594
+ });
595
+ }
596
+ return true;
597
+ }
598
+ /**
599
+ * When a CC supports to be split into multiple partial CCs, this can be used to identify the
600
+ * session the partial CCs belong to.
601
+ * If a CC expects `mergePartialCCs` to be always called, you should return an empty object here.
602
+ */
603
+ getPartialCCSessionId() {
604
+ return undefined; // Only select CCs support to be split
605
+ }
606
+ /**
607
+ * When a CC supports to be split into multiple partial CCs, this indicates that the last report hasn't been received yet.
608
+ * @param _session The previously received set of messages received in this partial CC session
609
+ */
610
+ expectMoreMessages(_session) {
611
+ return false; // By default, all CCs are monolithic
612
+ }
613
+ /** Include previously received partial responses into a final CC */
614
+ mergePartialCCs(_partials, _ctx) {
615
+ // This is highly CC dependent
616
+ // Overwrite this in derived classes, by default do nothing
617
+ }
618
+ /** Tests whether this CC expects at least one command in return */
619
+ expectsCCResponse() {
620
+ let expected = getExpectedCCResponse(this);
621
+ // Evaluate dynamic CC responses
622
+ if (typeof expected === "function"
623
+ && !staticExtends(expected, CommandClass)) {
624
+ expected = expected(this);
625
+ }
626
+ if (expected === undefined)
627
+ return false;
628
+ if (isArray(expected)) {
629
+ return expected.every((cc) => staticExtends(cc, CommandClass));
630
+ }
631
+ else {
632
+ return staticExtends(expected, CommandClass);
633
+ }
634
+ }
635
+ isExpectedCCResponse(received) {
636
+ if (received.nodeId !== this.nodeId)
637
+ return false;
638
+ let expected = getExpectedCCResponse(this);
639
+ // Evaluate dynamic CC responses
640
+ if (typeof expected === "function"
641
+ && !staticExtends(expected, CommandClass)) {
642
+ expected = expected(this);
643
+ }
644
+ if (expected == undefined) {
645
+ // Fallback, should not happen if the expected response is defined correctly
646
+ return false;
647
+ }
648
+ else if (isArray(expected)
649
+ && expected.every((cc) => staticExtends(cc, CommandClass))) {
650
+ // The CC always expects a response from the given list, check if the received
651
+ // message is in that list
652
+ if (expected.every((base) => !(received instanceof base))) {
653
+ return false;
654
+ }
655
+ }
656
+ else if (staticExtends(expected, CommandClass)) {
657
+ // The CC always expects the same single response, check if this is the one
658
+ if (!(received instanceof expected))
659
+ return false;
660
+ }
661
+ // If the CC wants to test the response, let it
662
+ const predicate = getCCResponsePredicate(this);
663
+ const ret = predicate?.(this, received) ?? true;
664
+ if (ret === "checkEncapsulated") {
665
+ if (isEncapsulatingCommandClass(this)
666
+ && isEncapsulatingCommandClass(received)) {
667
+ return this.encapsulated.isExpectedCCResponse(received.encapsulated);
668
+ }
669
+ else {
670
+ // Fallback, should not happen if the expected response is defined correctly
671
+ return false;
672
+ }
673
+ }
674
+ return ret;
675
+ }
676
+ /**
677
+ * Translates a property identifier into a speaking name for use in an external API
678
+ * @param property The property identifier that should be translated
679
+ * @param _propertyKey The (optional) property key the translated name may depend on
680
+ */
681
+ translateProperty(_ctx, property, _propertyKey) {
682
+ // Overwrite this in derived classes, by default just return the property key
683
+ return property.toString();
684
+ }
685
+ /**
686
+ * Translates a property key into a speaking name for use in an external API
687
+ * @param _property The property the key in question belongs to
688
+ * @param propertyKey The property key for which the speaking name should be retrieved
689
+ */
690
+ translatePropertyKey(_ctx, _property, propertyKey) {
691
+ // Overwrite this in derived classes, by default just return the property key
692
+ return propertyKey.toString();
693
+ }
694
+ /** Returns the number of bytes that are added to the payload by this CC */
695
+ computeEncapsulationOverhead() {
696
+ // Default is ccId (+ ccCommand):
697
+ return (this.isExtended() ? 2 : 1) + 1;
698
+ }
699
+ /** Computes the maximum net payload size that can be transmitted inside this CC */
700
+ getMaxPayloadLength(baseLength) {
701
+ let ret = baseLength;
702
+ let cur = this;
703
+ while (cur) {
704
+ ret -= cur.computeEncapsulationOverhead();
705
+ cur = isEncapsulatingCommandClass(cur)
706
+ ? cur.encapsulated
707
+ : undefined;
708
+ }
709
+ return ret;
710
+ }
711
+ /** Checks whether this CC is encapsulated with one that has the given CC id and (optionally) CC Command */
712
+ isEncapsulatedWith(ccId, ccCommand) {
713
+ let cc = this;
714
+ // Check whether there was a S0 encapsulation
715
+ while (cc.encapsulatingCC) {
716
+ cc = cc.encapsulatingCC;
717
+ if (cc.ccId === ccId
718
+ && (ccCommand === undefined || cc.ccCommand === ccCommand)) {
719
+ return true;
720
+ }
721
+ }
722
+ return false;
723
+ }
724
+ /** Traverses the encapsulation stack of this CC outwards and returns the one that has the given CC id and (optionally) CC Command if that exists. */
725
+ getEncapsulatingCC(ccId, ccCommand) {
726
+ let cc = this;
727
+ while (cc.encapsulatingCC) {
728
+ cc = cc.encapsulatingCC;
729
+ if (cc.ccId === ccId
730
+ && (ccCommand === undefined || cc.ccCommand === ccCommand)) {
731
+ return cc;
732
+ }
733
+ }
734
+ }
735
+ /** Traverses the encapsulation stack of this CC inwards and returns the one that has the given CC id and (optionally) CC Command if that exists. */
736
+ getEncapsulatedCC(ccId, ccCommand) {
737
+ const predicate = (cc) => cc.ccId === ccId
738
+ && (ccCommand === undefined || cc.ccCommand === ccCommand);
739
+ if (isEncapsulatingCommandClass(this)) {
740
+ if (predicate(this.encapsulated))
741
+ return this.encapsulated;
742
+ return this.encapsulated.getEncapsulatedCC(ccId, ccCommand);
743
+ }
744
+ else if (isMultiEncapsulatingCommandClass(this)) {
745
+ for (const encapsulated of this.encapsulated) {
746
+ if (predicate(encapsulated))
747
+ return encapsulated;
748
+ const ret = encapsulated.getEncapsulatedCC(ccId, ccCommand);
749
+ if (ret)
750
+ return ret;
751
+ }
752
+ }
753
+ }
754
+ }
755
+ export class InvalidCC extends CommandClass {
756
+ constructor(options) {
757
+ super(options);
758
+ this._ccName = options.ccName;
759
+ // Numeric reasons are used internally to communicate problems with a CC
760
+ // without ignoring them entirely
761
+ this.reason = options.reason;
762
+ }
763
+ _ccName;
764
+ get ccName() {
765
+ return this._ccName;
766
+ }
767
+ reason;
768
+ toLogEntry(_ctx) {
769
+ return {
770
+ tags: [this.ccName, "INVALID"],
771
+ message: this.reason != undefined
772
+ ? {
773
+ error: typeof this.reason === "string"
774
+ ? this.reason
775
+ : getEnumMemberName(ZWaveErrorCodes, this.reason),
776
+ }
777
+ : undefined,
778
+ };
779
+ }
780
+ }
781
+ //# sourceMappingURL=CommandClass.js.map