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

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 (923) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +194 -0
  2. package/build/cjs/cc/AlarmSensorCC.js +510 -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 +877 -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 +887 -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 +748 -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 +478 -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 +590 -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 +546 -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 +472 -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 +208 -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 +584 -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 +646 -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 +330 -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 +1265 -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 +2477 -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 +168 -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 +1366 -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 +458 -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 +329 -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 +754 -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 +1322 -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 +91 -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 +449 -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 +250 -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 +821 -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 +251 -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 +1395 -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 +2224 -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 +364 -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 +322 -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 +269 -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 +440 -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 +1355 -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 +1090 -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 +1268 -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 +234 -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 +856 -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 +928 -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 +126 -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 +504 -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 +1399 -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 +657 -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 +859 -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 +261 -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 +473 -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 +526 -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 +2043 -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 +1853 -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 +977 -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 +853 -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 +398 -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 +495 -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 +252 -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 +559 -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 +248 -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 +366 -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 +792 -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 +635 -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 +413 -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 +522 -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 +1903 -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 +962 -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 +609 -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 +924 -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 +90 -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 +362 -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 +1638 -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 +533 -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 +108 -0
  221. package/build/cjs/lib/CommandClassDecorators.js +181 -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.d.ts +106 -0
  232. package/build/cjs/lib/Security2/Extension.js +424 -0
  233. package/build/cjs/lib/Security2/Extension.js.map +7 -0
  234. package/build/cjs/lib/Security2/shared.js +69 -0
  235. package/build/cjs/lib/Security2/shared.js.map +7 -0
  236. package/build/cjs/lib/SetValueResult.js +65 -0
  237. package/build/cjs/lib/SetValueResult.js.map +7 -0
  238. package/build/cjs/lib/Values.d.ts +223 -0
  239. package/build/cjs/lib/Values.js +191 -0
  240. package/build/cjs/lib/Values.js.map +7 -0
  241. package/build/cjs/lib/_Types.js +1676 -0
  242. package/build/cjs/lib/_Types.js.map +7 -0
  243. package/build/cjs/lib/serializers.d.ts +34 -0
  244. package/build/cjs/lib/serializers.js +110 -0
  245. package/build/cjs/lib/serializers.js.map +7 -0
  246. package/build/cjs/lib/utils.d.ts +17 -0
  247. package/build/cjs/lib/utils.js +678 -0
  248. package/build/cjs/lib/utils.js.map +7 -0
  249. package/build/cjs/package.json +3 -0
  250. package/build/esm/cc/AlarmSensorCC.d.ts +194 -0
  251. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -0
  252. package/build/esm/cc/AlarmSensorCC.js +490 -0
  253. package/build/esm/cc/AlarmSensorCC.js.map +1 -0
  254. package/build/esm/cc/AssociationCC.d.ts +253 -0
  255. package/build/esm/cc/AssociationCC.d.ts.map +1 -0
  256. package/build/esm/cc/AssociationCC.js +847 -0
  257. package/build/esm/cc/AssociationCC.js.map +1 -0
  258. package/build/esm/cc/AssociationGroupInfoCC.d.ts +230 -0
  259. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -0
  260. package/build/esm/cc/AssociationGroupInfoCC.js +889 -0
  261. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -0
  262. package/build/esm/cc/BarrierOperatorCC.d.ts +243 -0
  263. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -0
  264. package/build/esm/cc/BarrierOperatorCC.js +751 -0
  265. package/build/esm/cc/BarrierOperatorCC.js.map +1 -0
  266. package/build/esm/cc/BasicCC.d.ts +191 -0
  267. package/build/esm/cc/BasicCC.d.ts.map +1 -0
  268. package/build/esm/cc/BasicCC.js +468 -0
  269. package/build/esm/cc/BasicCC.js.map +1 -0
  270. package/build/esm/cc/BatteryCC.d.ts +406 -0
  271. package/build/esm/cc/BatteryCC.d.ts.map +1 -0
  272. package/build/esm/cc/BatteryCC.js +578 -0
  273. package/build/esm/cc/BatteryCC.js.map +1 -0
  274. package/build/esm/cc/BinarySensorCC.d.ts +122 -0
  275. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -0
  276. package/build/esm/cc/BinarySensorCC.js +515 -0
  277. package/build/esm/cc/BinarySensorCC.js.map +1 -0
  278. package/build/esm/cc/BinarySwitchCC.d.ts +139 -0
  279. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -0
  280. package/build/esm/cc/BinarySwitchCC.js +441 -0
  281. package/build/esm/cc/BinarySwitchCC.js.map +1 -0
  282. package/build/esm/cc/CRC16CC.d.ts +29 -0
  283. package/build/esm/cc/CRC16CC.d.ts.map +1 -0
  284. package/build/esm/cc/CRC16CC.js +187 -0
  285. package/build/esm/cc/CRC16CC.js.map +1 -0
  286. package/build/esm/cc/CentralSceneCC.d.ts +210 -0
  287. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -0
  288. package/build/esm/cc/CentralSceneCC.js +541 -0
  289. package/build/esm/cc/CentralSceneCC.js.map +1 -0
  290. package/build/esm/cc/ClimateControlScheduleCC.d.ts +177 -0
  291. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -0
  292. package/build/esm/cc/ClimateControlScheduleCC.js +607 -0
  293. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -0
  294. package/build/esm/cc/ClockCC.d.ts +47 -0
  295. package/build/esm/cc/ClockCC.d.ts.map +1 -0
  296. package/build/esm/cc/ClockCC.js +294 -0
  297. package/build/esm/cc/ClockCC.js.map +1 -0
  298. package/build/esm/cc/ColorSwitchCC.d.ts +339 -0
  299. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -0
  300. package/build/esm/cc/ColorSwitchCC.js +1274 -0
  301. package/build/esm/cc/ColorSwitchCC.js.map +1 -0
  302. package/build/esm/cc/ConfigurationCC.d.ts +396 -0
  303. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -0
  304. package/build/esm/cc/ConfigurationCC.js +2666 -0
  305. package/build/esm/cc/ConfigurationCC.js.map +1 -0
  306. package/build/esm/cc/DeviceResetLocallyCC.d.ts +17 -0
  307. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -0
  308. package/build/esm/cc/DeviceResetLocallyCC.js +138 -0
  309. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -0
  310. package/build/esm/cc/DoorLockCC.d.ts +837 -0
  311. package/build/esm/cc/DoorLockCC.d.ts.map +1 -0
  312. package/build/esm/cc/DoorLockCC.js +1372 -0
  313. package/build/esm/cc/DoorLockCC.js.map +1 -0
  314. package/build/esm/cc/DoorLockLoggingCC.d.ts +77 -0
  315. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -0
  316. package/build/esm/cc/DoorLockLoggingCC.js +414 -0
  317. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -0
  318. package/build/esm/cc/EnergyProductionCC.d.ts +77 -0
  319. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -0
  320. package/build/esm/cc/EnergyProductionCC.js +289 -0
  321. package/build/esm/cc/EnergyProductionCC.js.map +1 -0
  322. package/build/esm/cc/EntryControlCC.d.ts +231 -0
  323. package/build/esm/cc/EntryControlCC.d.ts.map +1 -0
  324. package/build/esm/cc/EntryControlCC.js +717 -0
  325. package/build/esm/cc/EntryControlCC.js.map +1 -0
  326. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
  327. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
  328. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1311 -0
  329. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
  330. package/build/esm/cc/HailCC.d.ts +6 -0
  331. package/build/esm/cc/HailCC.d.ts.map +1 -0
  332. package/build/esm/cc/HailCC.js +60 -0
  333. package/build/esm/cc/HailCC.js.map +1 -0
  334. package/build/esm/cc/HumidityControlModeCC.d.ts +111 -0
  335. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -0
  336. package/build/esm/cc/HumidityControlModeCC.js +412 -0
  337. package/build/esm/cc/HumidityControlModeCC.js.map +1 -0
  338. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +60 -0
  339. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
  340. package/build/esm/cc/HumidityControlOperatingStateCC.js +210 -0
  341. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -0
  342. package/build/esm/cc/HumidityControlSetpointCC.d.ts +209 -0
  343. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -0
  344. package/build/esm/cc/HumidityControlSetpointCC.js +805 -0
  345. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -0
  346. package/build/esm/cc/InclusionControllerCC.d.ts +42 -0
  347. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -0
  348. package/build/esm/cc/InclusionControllerCC.js +211 -0
  349. package/build/esm/cc/InclusionControllerCC.js.map +1 -0
  350. package/build/esm/cc/IndicatorCC.d.ts +338 -0
  351. package/build/esm/cc/IndicatorCC.d.ts.map +1 -0
  352. package/build/esm/cc/IndicatorCC.js +1455 -0
  353. package/build/esm/cc/IndicatorCC.js.map +1 -0
  354. package/build/esm/cc/IrrigationCC.d.ts +1496 -0
  355. package/build/esm/cc/IrrigationCC.d.ts.map +1 -0
  356. package/build/esm/cc/IrrigationCC.js +2239 -0
  357. package/build/esm/cc/IrrigationCC.js.map +1 -0
  358. package/build/esm/cc/LanguageCC.d.ts +101 -0
  359. package/build/esm/cc/LanguageCC.d.ts.map +1 -0
  360. package/build/esm/cc/LanguageCC.js +325 -0
  361. package/build/esm/cc/LanguageCC.js.map +1 -0
  362. package/build/esm/cc/LockCC.d.ts +73 -0
  363. package/build/esm/cc/LockCC.d.ts.map +1 -0
  364. package/build/esm/cc/LockCC.js +282 -0
  365. package/build/esm/cc/LockCC.js.map +1 -0
  366. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +32 -0
  367. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
  368. package/build/esm/cc/ManufacturerProprietaryCC.js +252 -0
  369. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -0
  370. package/build/esm/cc/ManufacturerSpecificCC.d.ts +171 -0
  371. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -0
  372. package/build/esm/cc/ManufacturerSpecificCC.js +404 -0
  373. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -0
  374. package/build/esm/cc/MeterCC.d.ts +318 -0
  375. package/build/esm/cc/MeterCC.d.ts.map +1 -0
  376. package/build/esm/cc/MeterCC.js +1409 -0
  377. package/build/esm/cc/MeterCC.js.map +1 -0
  378. package/build/esm/cc/MultiChannelAssociationCC.d.ts +241 -0
  379. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -0
  380. package/build/esm/cc/MultiChannelAssociationCC.js +1094 -0
  381. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -0
  382. package/build/esm/cc/MultiChannelCC.d.ts +394 -0
  383. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -0
  384. package/build/esm/cc/MultiChannelCC.js +1312 -0
  385. package/build/esm/cc/MultiChannelCC.js.map +1 -0
  386. package/build/esm/cc/MultiCommandCC.d.ts +27 -0
  387. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -0
  388. package/build/esm/cc/MultiCommandCC.js +206 -0
  389. package/build/esm/cc/MultiCommandCC.js.map +1 -0
  390. package/build/esm/cc/MultilevelSensorCC.d.ts +185 -0
  391. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -0
  392. package/build/esm/cc/MultilevelSensorCC.js +872 -0
  393. package/build/esm/cc/MultilevelSensorCC.js.map +1 -0
  394. package/build/esm/cc/MultilevelSwitchCC.d.ts +357 -0
  395. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -0
  396. package/build/esm/cc/MultilevelSwitchCC.js +935 -0
  397. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -0
  398. package/build/esm/cc/NoOperationCC.d.ts +9 -0
  399. package/build/esm/cc/NoOperationCC.d.ts.map +1 -0
  400. package/build/esm/cc/NoOperationCC.js +92 -0
  401. package/build/esm/cc/NoOperationCC.js.map +1 -0
  402. package/build/esm/cc/NodeNamingCC.d.ts +118 -0
  403. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -0
  404. package/build/esm/cc/NodeNamingCC.js +464 -0
  405. package/build/esm/cc/NodeNamingCC.js.map +1 -0
  406. package/build/esm/cc/NotificationCC.d.ts +479 -0
  407. package/build/esm/cc/NotificationCC.d.ts.map +1 -0
  408. package/build/esm/cc/NotificationCC.js +1481 -0
  409. package/build/esm/cc/NotificationCC.js.map +1 -0
  410. package/build/esm/cc/PowerlevelCC.d.ts +82 -0
  411. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -0
  412. package/build/esm/cc/PowerlevelCC.js +611 -0
  413. package/build/esm/cc/PowerlevelCC.js.map +1 -0
  414. package/build/esm/cc/ProtectionCC.d.ts +325 -0
  415. package/build/esm/cc/ProtectionCC.d.ts.map +1 -0
  416. package/build/esm/cc/ProtectionCC.js +830 -0
  417. package/build/esm/cc/ProtectionCC.js.map +1 -0
  418. package/build/esm/cc/SceneActivationCC.d.ts +89 -0
  419. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -0
  420. package/build/esm/cc/SceneActivationCC.js +223 -0
  421. package/build/esm/cc/SceneActivationCC.js.map +1 -0
  422. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +120 -0
  423. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
  424. package/build/esm/cc/SceneActuatorConfigurationCC.js +462 -0
  425. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -0
  426. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +129 -0
  427. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
  428. package/build/esm/cc/SceneControllerConfigurationCC.js +534 -0
  429. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -0
  430. package/build/esm/cc/ScheduleEntryLockCC.d.ts +434 -0
  431. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -0
  432. package/build/esm/cc/ScheduleEntryLockCC.js +2065 -0
  433. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -0
  434. package/build/esm/cc/Security2CC.d.ts +251 -0
  435. package/build/esm/cc/Security2CC.d.ts.map +1 -0
  436. package/build/esm/cc/Security2CC.js +2041 -0
  437. package/build/esm/cc/Security2CC.js.map +1 -0
  438. package/build/esm/cc/SecurityCC.d.ts +128 -0
  439. package/build/esm/cc/SecurityCC.d.ts.map +1 -0
  440. package/build/esm/cc/SecurityCC.js +989 -0
  441. package/build/esm/cc/SecurityCC.js.map +1 -0
  442. package/build/esm/cc/SoundSwitchCC.d.ts +232 -0
  443. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -0
  444. package/build/esm/cc/SoundSwitchCC.js +796 -0
  445. package/build/esm/cc/SoundSwitchCC.js.map +1 -0
  446. package/build/esm/cc/SupervisionCC.d.ts +104 -0
  447. package/build/esm/cc/SupervisionCC.d.ts.map +1 -0
  448. package/build/esm/cc/SupervisionCC.js +396 -0
  449. package/build/esm/cc/SupervisionCC.js.map +1 -0
  450. package/build/esm/cc/ThermostatFanModeCC.d.ts +141 -0
  451. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -0
  452. package/build/esm/cc/ThermostatFanModeCC.js +463 -0
  453. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -0
  454. package/build/esm/cc/ThermostatFanStateCC.d.ts +60 -0
  455. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -0
  456. package/build/esm/cc/ThermostatFanStateCC.js +212 -0
  457. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -0
  458. package/build/esm/cc/ThermostatModeCC.d.ts +150 -0
  459. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -0
  460. package/build/esm/cc/ThermostatModeCC.js +530 -0
  461. package/build/esm/cc/ThermostatModeCC.js.map +1 -0
  462. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +61 -0
  463. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
  464. package/build/esm/cc/ThermostatOperatingStateCC.js +208 -0
  465. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -0
  466. package/build/esm/cc/ThermostatSetbackCC.d.ts +46 -0
  467. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -0
  468. package/build/esm/cc/ThermostatSetbackCC.js +333 -0
  469. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -0
  470. package/build/esm/cc/ThermostatSetpointCC.d.ts +197 -0
  471. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -0
  472. package/build/esm/cc/ThermostatSetpointCC.js +786 -0
  473. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -0
  474. package/build/esm/cc/TimeCC.d.ts +88 -0
  475. package/build/esm/cc/TimeCC.d.ts.map +1 -0
  476. package/build/esm/cc/TimeCC.js +590 -0
  477. package/build/esm/cc/TimeCC.js.map +1 -0
  478. package/build/esm/cc/TimeParametersCC.d.ts +72 -0
  479. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -0
  480. package/build/esm/cc/TimeParametersCC.js +385 -0
  481. package/build/esm/cc/TimeParametersCC.js.map +1 -0
  482. package/build/esm/cc/TransportServiceCC.d.ts +107 -0
  483. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -0
  484. package/build/esm/cc/TransportServiceCC.js +523 -0
  485. package/build/esm/cc/TransportServiceCC.js.map +1 -0
  486. package/build/esm/cc/UserCodeCC.d.ts +683 -0
  487. package/build/esm/cc/UserCodeCC.d.ts.map +1 -0
  488. package/build/esm/cc/UserCodeCC.js +1933 -0
  489. package/build/esm/cc/UserCodeCC.js.map +1 -0
  490. package/build/esm/cc/VersionCC.d.ts +469 -0
  491. package/build/esm/cc/VersionCC.d.ts.map +1 -0
  492. package/build/esm/cc/VersionCC.js +971 -0
  493. package/build/esm/cc/VersionCC.js.map +1 -0
  494. package/build/esm/cc/WakeUpCC.d.ts +150 -0
  495. package/build/esm/cc/WakeUpCC.d.ts.map +1 -0
  496. package/build/esm/cc/WakeUpCC.js +568 -0
  497. package/build/esm/cc/WakeUpCC.js.map +1 -0
  498. package/build/esm/cc/WindowCoveringCC.d.ts +315 -0
  499. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -0
  500. package/build/esm/cc/WindowCoveringCC.js +905 -0
  501. package/build/esm/cc/WindowCoveringCC.js.map +1 -0
  502. package/build/esm/cc/ZWaveLongRangeCC.d.ts +4 -0
  503. package/build/esm/cc/ZWaveLongRangeCC.d.ts.map +1 -0
  504. package/build/esm/cc/ZWaveLongRangeCC.js +57 -0
  505. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -0
  506. package/build/esm/cc/ZWavePlusCC.d.ts +163 -0
  507. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -0
  508. package/build/esm/cc/ZWavePlusCC.js +328 -0
  509. package/build/esm/cc/ZWavePlusCC.js.map +1 -0
  510. package/build/esm/cc/ZWaveProtocolCC.d.ts +344 -0
  511. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -0
  512. package/build/esm/cc/ZWaveProtocolCC.js +1520 -0
  513. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -0
  514. package/build/esm/cc/index.d.ts +132 -0
  515. package/build/esm/cc/index.d.ts.map +1 -0
  516. package/build/esm/cc/index.js +71 -0
  517. package/build/esm/cc/index.js.map +1 -0
  518. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +64 -0
  519. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -0
  520. package/build/esm/cc/manufacturerProprietary/Decorators.js +79 -0
  521. package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -0
  522. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
  523. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
  524. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +489 -0
  525. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
  526. package/build/esm/index.d.ts +15 -0
  527. package/build/esm/index.d.ts.map +1 -0
  528. package/build/esm/index.js +14 -0
  529. package/build/esm/index.js.map +1 -0
  530. package/build/esm/index_safe.d.ts +3 -0
  531. package/build/esm/index_safe.d.ts.map +1 -0
  532. package/build/esm/index_safe.js +4 -0
  533. package/build/esm/index_safe.js.map +1 -0
  534. package/build/esm/lib/API.d.ts +271 -0
  535. package/build/esm/lib/API.d.ts.map +1 -0
  536. package/build/esm/lib/API.js +448 -0
  537. package/build/esm/lib/API.js.map +1 -0
  538. package/build/esm/lib/CommandClass.d.ts +234 -0
  539. package/build/esm/lib/CommandClass.d.ts.map +1 -0
  540. package/build/esm/lib/CommandClass.js +781 -0
  541. package/build/esm/lib/CommandClass.js.map +1 -0
  542. package/build/esm/lib/CommandClassDecorators.d.ts +108 -0
  543. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -0
  544. package/build/esm/lib/CommandClassDecorators.js +229 -0
  545. package/build/esm/lib/CommandClassDecorators.js.map +1 -0
  546. package/build/esm/lib/EncapsulatingCommandClass.d.ts +22 -0
  547. package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -0
  548. package/build/esm/lib/EncapsulatingCommandClass.js +56 -0
  549. package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -0
  550. package/build/esm/lib/ICommandClassContainer.d.ts +2 -0
  551. package/build/esm/lib/ICommandClassContainer.d.ts.map +1 -0
  552. package/build/esm/lib/ICommandClassContainer.js +2 -0
  553. package/build/esm/lib/ICommandClassContainer.js.map +1 -0
  554. package/build/esm/lib/NotificationEventPayload.d.ts +10 -0
  555. package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -0
  556. package/build/esm/lib/NotificationEventPayload.js +7 -0
  557. package/build/esm/lib/NotificationEventPayload.js.map +1 -0
  558. package/build/esm/lib/Security2/Extension.d.ts +106 -0
  559. package/build/esm/lib/Security2/Extension.d.ts.map +1 -0
  560. package/build/esm/lib/Security2/Extension.js +380 -0
  561. package/build/esm/lib/Security2/Extension.js.map +1 -0
  562. package/build/esm/lib/Security2/shared.d.ts +37 -0
  563. package/build/esm/lib/Security2/shared.d.ts.map +1 -0
  564. package/build/esm/lib/Security2/shared.js +40 -0
  565. package/build/esm/lib/Security2/shared.js.map +1 -0
  566. package/build/esm/lib/SetValueResult.d.ts +55 -0
  567. package/build/esm/lib/SetValueResult.d.ts.map +1 -0
  568. package/build/esm/lib/SetValueResult.js +53 -0
  569. package/build/esm/lib/SetValueResult.js.map +1 -0
  570. package/build/esm/lib/Values.d.ts +223 -0
  571. package/build/esm/lib/Values.d.ts.map +1 -0
  572. package/build/esm/lib/Values.js +169 -0
  573. package/build/esm/lib/Values.js.map +1 -0
  574. package/build/esm/lib/_Types.d.ts +1461 -0
  575. package/build/esm/lib/_Types.d.ts.map +1 -0
  576. package/build/esm/lib/_Types.js +1432 -0
  577. package/build/esm/lib/_Types.js.map +1 -0
  578. package/build/esm/lib/serializers.d.ts +34 -0
  579. package/build/esm/lib/serializers.d.ts.map +1 -0
  580. package/build/esm/lib/serializers.js +98 -0
  581. package/build/esm/lib/serializers.js.map +1 -0
  582. package/build/esm/lib/utils.d.ts +17 -0
  583. package/build/esm/lib/utils.d.ts.map +1 -0
  584. package/build/esm/lib/utils.js +847 -0
  585. package/build/esm/lib/utils.js.map +1 -0
  586. package/build/esm/package.json +3 -0
  587. package/package.json +28 -23
  588. package/build/cc/AlarmSensorCC.d.ts +0 -194
  589. package/build/cc/AlarmSensorCC.d.ts.map +0 -1
  590. package/build/cc/AlarmSensorCC.js +0 -395
  591. package/build/cc/AlarmSensorCC.js.map +0 -1
  592. package/build/cc/AssociationCC.d.ts +0 -253
  593. package/build/cc/AssociationCC.d.ts.map +0 -1
  594. package/build/cc/AssociationCC.js +0 -732
  595. package/build/cc/AssociationCC.js.map +0 -1
  596. package/build/cc/AssociationGroupInfoCC.d.ts +0 -230
  597. package/build/cc/AssociationGroupInfoCC.d.ts.map +0 -1
  598. package/build/cc/AssociationGroupInfoCC.js +0 -772
  599. package/build/cc/AssociationGroupInfoCC.js.map +0 -1
  600. package/build/cc/BarrierOperatorCC.d.ts +0 -243
  601. package/build/cc/BarrierOperatorCC.d.ts.map +0 -1
  602. package/build/cc/BarrierOperatorCC.js +0 -613
  603. package/build/cc/BarrierOperatorCC.js.map +0 -1
  604. package/build/cc/BasicCC.d.ts +0 -191
  605. package/build/cc/BasicCC.d.ts.map +0 -1
  606. package/build/cc/BasicCC.js +0 -393
  607. package/build/cc/BasicCC.js.map +0 -1
  608. package/build/cc/BatteryCC.d.ts +0 -406
  609. package/build/cc/BatteryCC.d.ts.map +0 -1
  610. package/build/cc/BatteryCC.js +0 -516
  611. package/build/cc/BatteryCC.js.map +0 -1
  612. package/build/cc/BinarySensorCC.d.ts +0 -122
  613. package/build/cc/BinarySensorCC.d.ts.map +0 -1
  614. package/build/cc/BinarySensorCC.js +0 -420
  615. package/build/cc/BinarySensorCC.js.map +0 -1
  616. package/build/cc/BinarySwitchCC.d.ts +0 -139
  617. package/build/cc/BinarySwitchCC.d.ts.map +0 -1
  618. package/build/cc/BinarySwitchCC.js +0 -365
  619. package/build/cc/BinarySwitchCC.js.map +0 -1
  620. package/build/cc/CRC16CC.d.ts +0 -29
  621. package/build/cc/CRC16CC.d.ts.map +0 -1
  622. package/build/cc/CRC16CC.js +0 -126
  623. package/build/cc/CRC16CC.js.map +0 -1
  624. package/build/cc/CentralSceneCC.d.ts +0 -210
  625. package/build/cc/CentralSceneCC.d.ts.map +0 -1
  626. package/build/cc/CentralSceneCC.js +0 -453
  627. package/build/cc/CentralSceneCC.js.map +0 -1
  628. package/build/cc/ClimateControlScheduleCC.d.ts +0 -177
  629. package/build/cc/ClimateControlScheduleCC.d.ts.map +0 -1
  630. package/build/cc/ClimateControlScheduleCC.js +0 -469
  631. package/build/cc/ClimateControlScheduleCC.js.map +0 -1
  632. package/build/cc/ClockCC.d.ts +0 -47
  633. package/build/cc/ClockCC.d.ts.map +0 -1
  634. package/build/cc/ClockCC.js +0 -208
  635. package/build/cc/ClockCC.js.map +0 -1
  636. package/build/cc/ColorSwitchCC.d.ts +0 -339
  637. package/build/cc/ColorSwitchCC.d.ts.map +0 -1
  638. package/build/cc/ColorSwitchCC.js +0 -1152
  639. package/build/cc/ColorSwitchCC.js.map +0 -1
  640. package/build/cc/ConfigurationCC.d.ts +0 -396
  641. package/build/cc/ConfigurationCC.d.ts.map +0 -1
  642. package/build/cc/ConfigurationCC.js +0 -2458
  643. package/build/cc/ConfigurationCC.js.map +0 -1
  644. package/build/cc/DeviceResetLocallyCC.d.ts +0 -17
  645. package/build/cc/DeviceResetLocallyCC.d.ts.map +0 -1
  646. package/build/cc/DeviceResetLocallyCC.js +0 -76
  647. package/build/cc/DeviceResetLocallyCC.js.map +0 -1
  648. package/build/cc/DoorLockCC.d.ts +0 -837
  649. package/build/cc/DoorLockCC.d.ts.map +0 -1
  650. package/build/cc/DoorLockCC.js +0 -1273
  651. package/build/cc/DoorLockCC.js.map +0 -1
  652. package/build/cc/DoorLockLoggingCC.d.ts +0 -77
  653. package/build/cc/DoorLockLoggingCC.d.ts.map +0 -1
  654. package/build/cc/DoorLockLoggingCC.js +0 -319
  655. package/build/cc/DoorLockLoggingCC.js.map +0 -1
  656. package/build/cc/EnergyProductionCC.d.ts +0 -77
  657. package/build/cc/EnergyProductionCC.d.ts.map +0 -1
  658. package/build/cc/EnergyProductionCC.js +0 -216
  659. package/build/cc/EnergyProductionCC.js.map +0 -1
  660. package/build/cc/EntryControlCC.d.ts +0 -231
  661. package/build/cc/EntryControlCC.d.ts.map +0 -1
  662. package/build/cc/EntryControlCC.js +0 -607
  663. package/build/cc/EntryControlCC.js.map +0 -1
  664. package/build/cc/FirmwareUpdateMetaDataCC.d.ts +0 -359
  665. package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +0 -1
  666. package/build/cc/FirmwareUpdateMetaDataCC.js +0 -1145
  667. package/build/cc/FirmwareUpdateMetaDataCC.js.map +0 -1
  668. package/build/cc/HailCC.d.ts +0 -6
  669. package/build/cc/HailCC.d.ts.map +0 -1
  670. package/build/cc/HailCC.js +0 -24
  671. package/build/cc/HailCC.js.map +0 -1
  672. package/build/cc/HumidityControlModeCC.d.ts +0 -111
  673. package/build/cc/HumidityControlModeCC.d.ts.map +0 -1
  674. package/build/cc/HumidityControlModeCC.js +0 -308
  675. package/build/cc/HumidityControlModeCC.js.map +0 -1
  676. package/build/cc/HumidityControlOperatingStateCC.d.ts +0 -60
  677. package/build/cc/HumidityControlOperatingStateCC.d.ts.map +0 -1
  678. package/build/cc/HumidityControlOperatingStateCC.js +0 -140
  679. package/build/cc/HumidityControlOperatingStateCC.js.map +0 -1
  680. package/build/cc/HumidityControlSetpointCC.d.ts +0 -209
  681. package/build/cc/HumidityControlSetpointCC.d.ts.map +0 -1
  682. package/build/cc/HumidityControlSetpointCC.js +0 -648
  683. package/build/cc/HumidityControlSetpointCC.js.map +0 -1
  684. package/build/cc/InclusionControllerCC.d.ts +0 -42
  685. package/build/cc/InclusionControllerCC.d.ts.map +0 -1
  686. package/build/cc/InclusionControllerCC.js +0 -136
  687. package/build/cc/InclusionControllerCC.js.map +0 -1
  688. package/build/cc/IndicatorCC.d.ts +0 -338
  689. package/build/cc/IndicatorCC.d.ts.map +0 -1
  690. package/build/cc/IndicatorCC.js +0 -1320
  691. package/build/cc/IndicatorCC.js.map +0 -1
  692. package/build/cc/IrrigationCC.d.ts +0 -1496
  693. package/build/cc/IrrigationCC.d.ts.map +0 -1
  694. package/build/cc/IrrigationCC.js +0 -2041
  695. package/build/cc/IrrigationCC.js.map +0 -1
  696. package/build/cc/LanguageCC.d.ts +0 -101
  697. package/build/cc/LanguageCC.d.ts.map +0 -1
  698. package/build/cc/LanguageCC.js +0 -246
  699. package/build/cc/LanguageCC.js.map +0 -1
  700. package/build/cc/LockCC.d.ts +0 -73
  701. package/build/cc/LockCC.d.ts.map +0 -1
  702. package/build/cc/LockCC.js +0 -200
  703. package/build/cc/LockCC.js.map +0 -1
  704. package/build/cc/ManufacturerProprietaryCC.d.ts +0 -32
  705. package/build/cc/ManufacturerProprietaryCC.d.ts.map +0 -1
  706. package/build/cc/ManufacturerProprietaryCC.js +0 -204
  707. package/build/cc/ManufacturerProprietaryCC.js.map +0 -1
  708. package/build/cc/ManufacturerSpecificCC.d.ts +0 -171
  709. package/build/cc/ManufacturerSpecificCC.d.ts.map +0 -1
  710. package/build/cc/ManufacturerSpecificCC.js +0 -318
  711. package/build/cc/ManufacturerSpecificCC.js.map +0 -1
  712. package/build/cc/MeterCC.d.ts +0 -318
  713. package/build/cc/MeterCC.d.ts.map +0 -1
  714. package/build/cc/MeterCC.js +0 -1312
  715. package/build/cc/MeterCC.js.map +0 -1
  716. package/build/cc/MultiChannelAssociationCC.d.ts +0 -241
  717. package/build/cc/MultiChannelAssociationCC.d.ts.map +0 -1
  718. package/build/cc/MultiChannelAssociationCC.js +0 -1007
  719. package/build/cc/MultiChannelAssociationCC.js.map +0 -1
  720. package/build/cc/MultiChannelCC.d.ts +0 -394
  721. package/build/cc/MultiChannelCC.d.ts.map +0 -1
  722. package/build/cc/MultiChannelCC.js +0 -1130
  723. package/build/cc/MultiChannelCC.js.map +0 -1
  724. package/build/cc/MultiCommandCC.d.ts +0 -27
  725. package/build/cc/MultiCommandCC.d.ts.map +0 -1
  726. package/build/cc/MultiCommandCC.js +0 -145
  727. package/build/cc/MultiCommandCC.js.map +0 -1
  728. package/build/cc/MultilevelSensorCC.d.ts +0 -185
  729. package/build/cc/MultilevelSensorCC.d.ts.map +0 -1
  730. package/build/cc/MultilevelSensorCC.js +0 -756
  731. package/build/cc/MultilevelSensorCC.js.map +0 -1
  732. package/build/cc/MultilevelSwitchCC.d.ts +0 -357
  733. package/build/cc/MultilevelSwitchCC.d.ts.map +0 -1
  734. package/build/cc/MultilevelSwitchCC.js +0 -813
  735. package/build/cc/MultilevelSwitchCC.js.map +0 -1
  736. package/build/cc/NoOperationCC.d.ts +0 -9
  737. package/build/cc/NoOperationCC.d.ts.map +0 -1
  738. package/build/cc/NoOperationCC.js +0 -42
  739. package/build/cc/NoOperationCC.js.map +0 -1
  740. package/build/cc/NodeNamingCC.d.ts +0 -118
  741. package/build/cc/NodeNamingCC.d.ts.map +0 -1
  742. package/build/cc/NodeNamingCC.js +0 -348
  743. package/build/cc/NodeNamingCC.js.map +0 -1
  744. package/build/cc/NotificationCC.d.ts +0 -479
  745. package/build/cc/NotificationCC.d.ts.map +0 -1
  746. package/build/cc/NotificationCC.js +0 -1379
  747. package/build/cc/NotificationCC.js.map +0 -1
  748. package/build/cc/PowerlevelCC.d.ts +0 -82
  749. package/build/cc/PowerlevelCC.d.ts.map +0 -1
  750. package/build/cc/PowerlevelCC.js +0 -488
  751. package/build/cc/PowerlevelCC.js.map +0 -1
  752. package/build/cc/ProtectionCC.d.ts +0 -325
  753. package/build/cc/ProtectionCC.d.ts.map +0 -1
  754. package/build/cc/ProtectionCC.js +0 -672
  755. package/build/cc/ProtectionCC.js.map +0 -1
  756. package/build/cc/SceneActivationCC.d.ts +0 -89
  757. package/build/cc/SceneActivationCC.d.ts.map +0 -1
  758. package/build/cc/SceneActivationCC.js +0 -169
  759. package/build/cc/SceneActivationCC.js.map +0 -1
  760. package/build/cc/SceneActuatorConfigurationCC.d.ts +0 -120
  761. package/build/cc/SceneActuatorConfigurationCC.d.ts.map +0 -1
  762. package/build/cc/SceneActuatorConfigurationCC.js +0 -377
  763. package/build/cc/SceneActuatorConfigurationCC.js.map +0 -1
  764. package/build/cc/SceneControllerConfigurationCC.d.ts +0 -129
  765. package/build/cc/SceneControllerConfigurationCC.d.ts.map +0 -1
  766. package/build/cc/SceneControllerConfigurationCC.js +0 -449
  767. package/build/cc/SceneControllerConfigurationCC.js.map +0 -1
  768. package/build/cc/ScheduleEntryLockCC.d.ts +0 -434
  769. package/build/cc/ScheduleEntryLockCC.d.ts.map +0 -1
  770. package/build/cc/ScheduleEntryLockCC.js +0 -1829
  771. package/build/cc/ScheduleEntryLockCC.js.map +0 -1
  772. package/build/cc/Security2CC.d.ts +0 -251
  773. package/build/cc/Security2CC.d.ts.map +0 -1
  774. package/build/cc/Security2CC.js +0 -1817
  775. package/build/cc/Security2CC.js.map +0 -1
  776. package/build/cc/SecurityCC.d.ts +0 -128
  777. package/build/cc/SecurityCC.d.ts.map +0 -1
  778. package/build/cc/SecurityCC.js +0 -803
  779. package/build/cc/SecurityCC.js.map +0 -1
  780. package/build/cc/SoundSwitchCC.d.ts +0 -232
  781. package/build/cc/SoundSwitchCC.d.ts.map +0 -1
  782. package/build/cc/SoundSwitchCC.js +0 -636
  783. package/build/cc/SoundSwitchCC.js.map +0 -1
  784. package/build/cc/SupervisionCC.d.ts +0 -104
  785. package/build/cc/SupervisionCC.d.ts.map +0 -1
  786. package/build/cc/SupervisionCC.js +0 -322
  787. package/build/cc/SupervisionCC.js.map +0 -1
  788. package/build/cc/ThermostatFanModeCC.d.ts +0 -141
  789. package/build/cc/ThermostatFanModeCC.d.ts.map +0 -1
  790. package/build/cc/ThermostatFanModeCC.js +0 -362
  791. package/build/cc/ThermostatFanModeCC.js.map +0 -1
  792. package/build/cc/ThermostatFanStateCC.d.ts +0 -60
  793. package/build/cc/ThermostatFanStateCC.d.ts.map +0 -1
  794. package/build/cc/ThermostatFanStateCC.js +0 -142
  795. package/build/cc/ThermostatFanStateCC.js.map +0 -1
  796. package/build/cc/ThermostatModeCC.d.ts +0 -150
  797. package/build/cc/ThermostatModeCC.d.ts.map +0 -1
  798. package/build/cc/ThermostatModeCC.js +0 -429
  799. package/build/cc/ThermostatModeCC.js.map +0 -1
  800. package/build/cc/ThermostatOperatingStateCC.d.ts +0 -61
  801. package/build/cc/ThermostatOperatingStateCC.d.ts.map +0 -1
  802. package/build/cc/ThermostatOperatingStateCC.js +0 -138
  803. package/build/cc/ThermostatOperatingStateCC.js.map +0 -1
  804. package/build/cc/ThermostatSetbackCC.d.ts +0 -46
  805. package/build/cc/ThermostatSetbackCC.d.ts.map +0 -1
  806. package/build/cc/ThermostatSetbackCC.js +0 -247
  807. package/build/cc/ThermostatSetbackCC.js.map +0 -1
  808. package/build/cc/ThermostatSetpointCC.d.ts +0 -197
  809. package/build/cc/ThermostatSetpointCC.d.ts.map +0 -1
  810. package/build/cc/ThermostatSetpointCC.js +0 -658
  811. package/build/cc/ThermostatSetpointCC.js.map +0 -1
  812. package/build/cc/TimeCC.d.ts +0 -88
  813. package/build/cc/TimeCC.d.ts.map +0 -1
  814. package/build/cc/TimeCC.js +0 -454
  815. package/build/cc/TimeCC.js.map +0 -1
  816. package/build/cc/TimeParametersCC.d.ts +0 -72
  817. package/build/cc/TimeParametersCC.d.ts.map +0 -1
  818. package/build/cc/TimeParametersCC.js +0 -303
  819. package/build/cc/TimeParametersCC.js.map +0 -1
  820. package/build/cc/TransportServiceCC.d.ts +0 -107
  821. package/build/cc/TransportServiceCC.d.ts.map +0 -1
  822. package/build/cc/TransportServiceCC.js +0 -426
  823. package/build/cc/TransportServiceCC.js.map +0 -1
  824. package/build/cc/UserCodeCC.d.ts +0 -683
  825. package/build/cc/UserCodeCC.d.ts.map +0 -1
  826. package/build/cc/UserCodeCC.js +0 -1699
  827. package/build/cc/UserCodeCC.js.map +0 -1
  828. package/build/cc/VersionCC.d.ts +0 -469
  829. package/build/cc/VersionCC.d.ts.map +0 -1
  830. package/build/cc/VersionCC.js +0 -865
  831. package/build/cc/VersionCC.js.map +0 -1
  832. package/build/cc/WakeUpCC.d.ts +0 -150
  833. package/build/cc/WakeUpCC.d.ts.map +0 -1
  834. package/build/cc/WakeUpCC.js +0 -441
  835. package/build/cc/WakeUpCC.js.map +0 -1
  836. package/build/cc/WindowCoveringCC.d.ts +0 -315
  837. package/build/cc/WindowCoveringCC.d.ts.map +0 -1
  838. package/build/cc/WindowCoveringCC.js +0 -783
  839. package/build/cc/WindowCoveringCC.js.map +0 -1
  840. package/build/cc/ZWaveLongRangeCC.d.ts +0 -4
  841. package/build/cc/ZWaveLongRangeCC.d.ts.map +0 -1
  842. package/build/cc/ZWaveLongRangeCC.js +0 -20
  843. package/build/cc/ZWaveLongRangeCC.js.map +0 -1
  844. package/build/cc/ZWavePlusCC.d.ts +0 -163
  845. package/build/cc/ZWavePlusCC.d.ts.map +0 -1
  846. package/build/cc/ZWavePlusCC.js +0 -270
  847. package/build/cc/ZWavePlusCC.js.map +0 -1
  848. package/build/cc/ZWaveProtocolCC.d.ts +0 -344
  849. package/build/cc/ZWaveProtocolCC.d.ts.map +0 -1
  850. package/build/cc/ZWaveProtocolCC.js +0 -1033
  851. package/build/cc/ZWaveProtocolCC.js.map +0 -1
  852. package/build/cc/index.d.ts +0 -132
  853. package/build/cc/index.d.ts.map +0 -1
  854. package/build/cc/index.js +0 -627
  855. package/build/cc/index.js.map +0 -1
  856. package/build/cc/manufacturerProprietary/Decorators.d.ts +0 -64
  857. package/build/cc/manufacturerProprietary/Decorators.d.ts.map +0 -1
  858. package/build/cc/manufacturerProprietary/Decorators.js +0 -83
  859. package/build/cc/manufacturerProprietary/Decorators.js.map +0 -1
  860. package/build/cc/manufacturerProprietary/FibaroCC.d.ts +0 -79
  861. package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +0 -1
  862. package/build/cc/manufacturerProprietary/FibaroCC.js +0 -392
  863. package/build/cc/manufacturerProprietary/FibaroCC.js.map +0 -1
  864. package/build/index.d.ts +0 -15
  865. package/build/index.d.ts.map +0 -1
  866. package/build/index.js +0 -52
  867. package/build/index.js.map +0 -1
  868. package/build/index_safe.d.ts +0 -3
  869. package/build/index_safe.d.ts.map +0 -1
  870. package/build/index_safe.js +0 -20
  871. package/build/index_safe.js.map +0 -1
  872. package/build/lib/API.d.ts +0 -271
  873. package/build/lib/API.d.ts.map +0 -1
  874. package/build/lib/API.js +0 -458
  875. package/build/lib/API.js.map +0 -1
  876. package/build/lib/CommandClass.d.ts +0 -234
  877. package/build/lib/CommandClass.d.ts.map +0 -1
  878. package/build/lib/CommandClass.js +0 -788
  879. package/build/lib/CommandClass.js.map +0 -1
  880. package/build/lib/CommandClassDecorators.d.ts +0 -112
  881. package/build/lib/CommandClassDecorators.d.ts.map +0 -1
  882. package/build/lib/CommandClassDecorators.js +0 -243
  883. package/build/lib/CommandClassDecorators.js.map +0 -1
  884. package/build/lib/EncapsulatingCommandClass.d.ts +0 -22
  885. package/build/lib/EncapsulatingCommandClass.d.ts.map +0 -1
  886. package/build/lib/EncapsulatingCommandClass.js +0 -61
  887. package/build/lib/EncapsulatingCommandClass.js.map +0 -1
  888. package/build/lib/ICommandClassContainer.d.ts.map +0 -1
  889. package/build/lib/ICommandClassContainer.js +0 -3
  890. package/build/lib/ICommandClassContainer.js.map +0 -1
  891. package/build/lib/NotificationEventPayload.d.ts +0 -10
  892. package/build/lib/NotificationEventPayload.d.ts.map +0 -1
  893. package/build/lib/NotificationEventPayload.js +0 -10
  894. package/build/lib/NotificationEventPayload.js.map +0 -1
  895. package/build/lib/Security2/Extension.d.ts +0 -106
  896. package/build/lib/Security2/Extension.d.ts.map +0 -1
  897. package/build/lib/Security2/Extension.js +0 -303
  898. package/build/lib/Security2/Extension.js.map +0 -1
  899. package/build/lib/Security2/shared.d.ts.map +0 -1
  900. package/build/lib/Security2/shared.js +0 -43
  901. package/build/lib/Security2/shared.js.map +0 -1
  902. package/build/lib/SetValueResult.d.ts.map +0 -1
  903. package/build/lib/SetValueResult.js +0 -60
  904. package/build/lib/SetValueResult.js.map +0 -1
  905. package/build/lib/Values.d.ts +0 -223
  906. package/build/lib/Values.d.ts.map +0 -1
  907. package/build/lib/Values.js +0 -172
  908. package/build/lib/Values.js.map +0 -1
  909. package/build/lib/_Types.d.ts.map +0 -1
  910. package/build/lib/_Types.js +0 -1443
  911. package/build/lib/_Types.js.map +0 -1
  912. package/build/lib/serializers.d.ts +0 -34
  913. package/build/lib/serializers.d.ts.map +0 -1
  914. package/build/lib/serializers.js +0 -107
  915. package/build/lib/serializers.js.map +0 -1
  916. package/build/lib/utils.d.ts +0 -17
  917. package/build/lib/utils.d.ts.map +0 -1
  918. package/build/lib/utils.js +0 -860
  919. package/build/lib/utils.js.map +0 -1
  920. /package/build/{lib → cjs/lib}/ICommandClassContainer.d.ts +0 -0
  921. /package/build/{lib → cjs/lib}/Security2/shared.d.ts +0 -0
  922. /package/build/{lib → cjs/lib}/SetValueResult.d.ts +0 -0
  923. /package/build/{lib → cjs/lib}/_Types.d.ts +0 -0
@@ -0,0 +1,989 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { CommandClasses, EncapsulationFlags, MessagePriority, SecurityClass, TransmitOptions, ZWaveError, ZWaveErrorCodes, computeMAC, decryptAES128OFB, encodeCCList, encryptAES128OFB, generateAuthKey, generateEncryptionKey, getCCName, isTransmissionError, parseCCList, validatePayload, } from "@zwave-js/core";
36
+ import { Bytes } from "@zwave-js/shared/safe";
37
+ import { buffer2hex, num2hex, pick } from "@zwave-js/shared/safe";
38
+ import { wait } from "alcalzone-shared/async/index.js";
39
+ import { randomBytes } from "node:crypto";
40
+ import { CCAPI, PhysicalCCAPI } from "../lib/API.js";
41
+ import { CommandClass, } from "../lib/CommandClass.js";
42
+ import { API, CCCommand, commandClass, expectedCCResponse, implementedVersion, } from "../lib/CommandClassDecorators.js";
43
+ import { SecurityCommand } from "../lib/_Types.js";
44
+ import { CRC16CC } from "./CRC16CC.js";
45
+ import { Security2CC } from "./Security2CC.js";
46
+ import { TransportServiceCC } from "./TransportServiceCC.js";
47
+ // @noSetValueAPI This is an encapsulation CC
48
+ function getAuthenticationData(senderNonce, receiverNonce, ccCommand, sendingNodeId, receivingNodeId, encryptedPayload) {
49
+ return Bytes.concat([
50
+ senderNonce,
51
+ receiverNonce,
52
+ Bytes.from([
53
+ ccCommand,
54
+ sendingNodeId,
55
+ receivingNodeId,
56
+ encryptedPayload.length,
57
+ ]),
58
+ encryptedPayload,
59
+ ]);
60
+ }
61
+ function throwNoNonce(reason) {
62
+ let message = `Security CC requires a nonce to be sent!`;
63
+ if (reason)
64
+ message += ` Reason: ${reason}`;
65
+ throw new ZWaveError(message, ZWaveErrorCodes.SecurityCC_NoNonce);
66
+ }
67
+ const HALF_NONCE_SIZE = 8;
68
+ function assertSecurityRX(ctx) {
69
+ if (!ctx.ownNodeId) {
70
+ throw new ZWaveError(`Secure commands (S0) can only be decoded when the controller's node id is known!`, ZWaveErrorCodes.Driver_NotReady);
71
+ }
72
+ if (!ctx.securityManager) {
73
+ throw new ZWaveError(`Secure commands (S0) can only be decoded when the security manager is set up!`, ZWaveErrorCodes.Driver_NoSecurity);
74
+ }
75
+ }
76
+ function assertSecurityTX(ctx) {
77
+ if (!ctx.ownNodeId) {
78
+ throw new ZWaveError(`Secure commands (S0) can only be sent when the controller's node id is known!`, ZWaveErrorCodes.Driver_NotReady);
79
+ }
80
+ if (!ctx.securityManager) {
81
+ throw new ZWaveError(`Secure commands (S0) can only be sent when the security manager is set up!`, ZWaveErrorCodes.Driver_NoSecurity);
82
+ }
83
+ }
84
+ // TODO: Ignore commands if received via multicast
85
+ // Encapsulation CCs are used internally and too frequently that we
86
+ // want to pay the cost of validating each call
87
+ /* eslint-disable @zwave-js/ccapi-validate-args */
88
+ let SecurityCCAPI = (() => {
89
+ let _classDecorators = [API(CommandClasses.Security)];
90
+ let _classDescriptor;
91
+ let _classExtraInitializers = [];
92
+ let _classThis;
93
+ let _classSuper = PhysicalCCAPI;
94
+ var SecurityCCAPI = class extends _classSuper {
95
+ static { _classThis = this; }
96
+ static {
97
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
98
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
99
+ SecurityCCAPI = _classThis = _classDescriptor.value;
100
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
101
+ __runInitializers(_classThis, _classExtraInitializers);
102
+ }
103
+ supportsCommand(_cmd) {
104
+ // All commands are mandatory
105
+ return true;
106
+ }
107
+ async sendEncapsulated(encapsulated, requestNextNonce = false) {
108
+ if (requestNextNonce) {
109
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandEncapsulation);
110
+ }
111
+ else {
112
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandEncapsulationNonceGet);
113
+ }
114
+ const cc = new (requestNextNonce
115
+ ? SecurityCCCommandEncapsulationNonceGet
116
+ : SecurityCCCommandEncapsulation)({
117
+ nodeId: this.endpoint.nodeId,
118
+ encapsulated,
119
+ });
120
+ await this.host.sendCommand(cc, this.commandOptions);
121
+ }
122
+ /**
123
+ * Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.
124
+ */
125
+ async getNonce() {
126
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceGet);
127
+ const cc = new SecurityCCNonceGet({
128
+ nodeId: this.endpoint.nodeId,
129
+ endpointIndex: this.endpoint.index,
130
+ });
131
+ const response = await this.host.sendCommand(cc, {
132
+ ...this.commandOptions,
133
+ // Only try getting a nonce once
134
+ maxSendAttempts: 1,
135
+ });
136
+ if (!response)
137
+ return;
138
+ const nonce = response.nonce;
139
+ const secMan = this.host.securityManager;
140
+ secMan.setNonce({
141
+ issuer: this.endpoint.nodeId,
142
+ nonceId: secMan.getNonceId(nonce),
143
+ }, { nonce, receiver: this.host.ownNodeId }, { free: true });
144
+ return nonce;
145
+ }
146
+ /**
147
+ * Responds to a NonceGet request. The message is sent without any retransmission etc.
148
+ * The return value indicates whether a nonce was successfully sent
149
+ */
150
+ async sendNonce() {
151
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceReport);
152
+ if (!this.host.securityManager) {
153
+ throw new ZWaveError(`Nonces can only be sent if secure communication is set up!`, ZWaveErrorCodes.Driver_NoSecurity);
154
+ }
155
+ const nonce = this.host.securityManager.generateNonce(this.endpoint.nodeId, HALF_NONCE_SIZE);
156
+ const nonceId = this.host.securityManager.getNonceId(nonce);
157
+ const cc = new SecurityCCNonceReport({
158
+ nodeId: this.endpoint.nodeId,
159
+ endpointIndex: this.endpoint.index,
160
+ nonce,
161
+ });
162
+ try {
163
+ await this.host.sendCommand(cc, {
164
+ ...this.commandOptions,
165
+ // Seems we need these options or some nodes won't accept the nonce
166
+ transmitOptions: TransmitOptions.ACK
167
+ | TransmitOptions.AutoRoute,
168
+ // Only try sending a nonce once
169
+ maxSendAttempts: 1,
170
+ // Nonce requests must be handled immediately
171
+ priority: MessagePriority.Immediate,
172
+ // We don't want failures causing us to treat the node as asleep or dead
173
+ changeNodeStatusOnMissingACK: false,
174
+ });
175
+ }
176
+ catch (e) {
177
+ if (isTransmissionError(e)) {
178
+ // The nonce could not be sent, invalidate it
179
+ this.host.securityManager.deleteNonce(nonceId);
180
+ return false;
181
+ }
182
+ else {
183
+ // Pass other errors through
184
+ throw e;
185
+ }
186
+ }
187
+ return true;
188
+ }
189
+ async getSecurityScheme() {
190
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeGet);
191
+ const cc = new SecurityCCSchemeGet({
192
+ nodeId: this.endpoint.nodeId,
193
+ endpointIndex: this.endpoint.index,
194
+ });
195
+ await this.host.sendCommand(cc, this.commandOptions);
196
+ // There is only one scheme, so we hardcode it
197
+ return [0];
198
+ }
199
+ async reportSecurityScheme(encapsulated) {
200
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeReport);
201
+ let cc = new SecurityCCSchemeReport({
202
+ nodeId: this.endpoint.nodeId,
203
+ endpointIndex: this.endpoint.index,
204
+ });
205
+ if (encapsulated) {
206
+ cc = new SecurityCCCommandEncapsulation({
207
+ nodeId: this.endpoint.nodeId,
208
+ endpointIndex: this.endpoint.index,
209
+ encapsulated: cc,
210
+ });
211
+ }
212
+ await this.host.sendCommand(cc, this.commandOptions);
213
+ }
214
+ async inheritSecurityScheme() {
215
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeInherit);
216
+ const cc = new SecurityCCSchemeInherit({
217
+ nodeId: this.endpoint.nodeId,
218
+ endpointIndex: this.endpoint.index,
219
+ });
220
+ await this.host.sendCommand(cc, this.commandOptions);
221
+ // There is only one scheme, so we don't return anything here
222
+ }
223
+ async setNetworkKey(networkKey) {
224
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.NetworkKeySet);
225
+ const keySet = new SecurityCCNetworkKeySet({
226
+ nodeId: this.endpoint.nodeId,
227
+ endpointIndex: this.endpoint.index,
228
+ networkKey,
229
+ });
230
+ const cc = new SecurityCCCommandEncapsulation({
231
+ nodeId: this.endpoint.nodeId,
232
+ endpointIndex: this.endpoint.index,
233
+ encapsulated: keySet,
234
+ alternativeNetworkKey: new Uint8Array(16).fill(0),
235
+ });
236
+ await this.host.sendCommand(cc, this.commandOptions);
237
+ }
238
+ async verifyNetworkKey() {
239
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.NetworkKeyVerify);
240
+ const cc = new SecurityCCNetworkKeyVerify({
241
+ nodeId: this.endpoint.nodeId,
242
+ endpointIndex: this.endpoint.index,
243
+ });
244
+ await this.host.sendCommand(cc, this.commandOptions);
245
+ }
246
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
247
+ async getSupportedCommands() {
248
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandsSupportedGet);
249
+ const cc = new SecurityCCCommandsSupportedGet({
250
+ nodeId: this.endpoint.nodeId,
251
+ endpointIndex: this.endpoint.index,
252
+ });
253
+ const response = await this.host.sendCommand(cc, this.commandOptions);
254
+ if (response) {
255
+ return pick(response, ["supportedCCs", "controlledCCs"]);
256
+ }
257
+ }
258
+ async reportSupportedCommands(supportedCCs, controlledCCs) {
259
+ this.assertSupportsCommand(SecurityCommand, SecurityCommand.CommandsSupportedReport);
260
+ const cc = new SecurityCCCommandsSupportedReport({
261
+ nodeId: this.endpoint.nodeId,
262
+ endpointIndex: this.endpoint.index,
263
+ supportedCCs,
264
+ controlledCCs,
265
+ reportsToFollow: 0,
266
+ });
267
+ await this.host.sendCommand(cc, this.commandOptions);
268
+ }
269
+ };
270
+ return SecurityCCAPI = _classThis;
271
+ })();
272
+ export { SecurityCCAPI };
273
+ let SecurityCC = (() => {
274
+ let _classDecorators = [commandClass(CommandClasses.Security), implementedVersion(1)];
275
+ let _classDescriptor;
276
+ let _classExtraInitializers = [];
277
+ let _classThis;
278
+ let _classSuper = CommandClass;
279
+ var SecurityCC = class extends _classSuper {
280
+ static { _classThis = this; }
281
+ static {
282
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
283
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
284
+ SecurityCC = _classThis = _classDescriptor.value;
285
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
286
+ __runInitializers(_classThis, _classExtraInitializers);
287
+ }
288
+ async interview(ctx) {
289
+ const node = this.getNode(ctx);
290
+ const endpoint = this.getEndpoint(ctx);
291
+ const api = CCAPI.create(CommandClasses.Security, ctx, endpoint).withOptions({
292
+ priority: MessagePriority.NodeQuery,
293
+ });
294
+ ctx.logNode(node.id, {
295
+ message: "Querying securely supported commands (S0)...",
296
+ direction: "outbound",
297
+ });
298
+ let supportedCCs;
299
+ let controlledCCs;
300
+ // Try up to 3 times on the root device. We REALLY don't want a spurious timeout or collision to cause us to discard a known good security class
301
+ const MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;
302
+ for (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {
303
+ const resp = await api.getSupportedCommands();
304
+ if (resp) {
305
+ supportedCCs = resp.supportedCCs;
306
+ controlledCCs = resp.controlledCCs;
307
+ break;
308
+ }
309
+ else if (attempts < MAX_ATTEMPTS) {
310
+ ctx.logNode(node.id, {
311
+ endpoint: this.endpointIndex,
312
+ message: `Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,
313
+ level: "warn",
314
+ });
315
+ await wait(500);
316
+ }
317
+ }
318
+ if (!supportedCCs || !controlledCCs) {
319
+ if (node.hasSecurityClass(SecurityClass.S0_Legacy) === true) {
320
+ ctx.logNode(node.id, {
321
+ endpoint: this.endpointIndex,
322
+ message: "Querying securely supported commands (S0) failed",
323
+ level: "warn",
324
+ });
325
+ // TODO: Abort interview?
326
+ }
327
+ else {
328
+ // We didn't know if the node was secure and it didn't respond,
329
+ // assume that it doesn't have the S0 security class
330
+ ctx.logNode(node.id, `The node was not granted the S0 security class. Continuing interview non-securely.`);
331
+ node.setSecurityClass(SecurityClass.S0_Legacy, false);
332
+ }
333
+ return;
334
+ }
335
+ const logLines = [
336
+ "received secure commands (S0)",
337
+ "supported CCs:",
338
+ ];
339
+ for (const cc of supportedCCs) {
340
+ logLines.push(`· ${getCCName(cc)}`);
341
+ }
342
+ logLines.push("controlled CCs:");
343
+ for (const cc of controlledCCs) {
344
+ logLines.push(`· ${getCCName(cc)}`);
345
+ }
346
+ ctx.logNode(node.id, {
347
+ message: logLines.join("\n"),
348
+ direction: "inbound",
349
+ });
350
+ // Remember which commands are supported securely
351
+ for (const cc of supportedCCs) {
352
+ // Basic CC has special rules for when it is considered supported
353
+ // Therefore we mark all other CCs as supported, but not Basic CC,
354
+ // for which support is determined later.
355
+ if (cc === CommandClasses.Basic) {
356
+ endpoint.addCC(cc, { secure: true });
357
+ }
358
+ else {
359
+ endpoint.addCC(cc, {
360
+ isSupported: true,
361
+ secure: true,
362
+ });
363
+ }
364
+ }
365
+ for (const cc of controlledCCs) {
366
+ // Basic CC has special rules for when it is considered supported
367
+ // Therefore we mark all other CCs as supported, but not Basic CC,
368
+ // for which support is determined later.
369
+ if (cc === CommandClasses.Basic) {
370
+ endpoint.addCC(cc, { secure: true });
371
+ }
372
+ else {
373
+ endpoint.addCC(cc, {
374
+ isControlled: true,
375
+ secure: true,
376
+ });
377
+ }
378
+ }
379
+ // We know for sure that the node is included securely
380
+ if (node.hasSecurityClass(SecurityClass.S0_Legacy) !== true) {
381
+ node.setSecurityClass(SecurityClass.S0_Legacy, true);
382
+ ctx.logNode(node.id, `The node was granted the S0 security class`);
383
+ }
384
+ // Remember that the interview is complete
385
+ this.setInterviewComplete(ctx, true);
386
+ }
387
+ /** Tests if a command should be sent secure and thus requires encapsulation */
388
+ static requiresEncapsulation(cc) {
389
+ // No security flag -> no encapsulation
390
+ if (!(cc.encapsulationFlags & EncapsulationFlags.Security)) {
391
+ return false;
392
+ }
393
+ // S2, CRC16, Transport Service -> no S2 encapsulation
394
+ if (cc instanceof Security2CC
395
+ || cc instanceof CRC16CC
396
+ || cc instanceof TransportServiceCC) {
397
+ return false;
398
+ }
399
+ // S0: check command
400
+ if (cc instanceof SecurityCC) {
401
+ switch (cc.ccCommand) {
402
+ // Already encapsulated
403
+ case SecurityCommand.CommandEncapsulation:
404
+ case SecurityCommand.CommandEncapsulationNonceGet:
405
+ // Cannot be sent encapsulated:
406
+ case SecurityCommand.NonceGet:
407
+ case SecurityCommand.NonceReport:
408
+ case SecurityCommand.SchemeGet:
409
+ case SecurityCommand.SchemeReport:
410
+ return false;
411
+ default:
412
+ // All other commands must be encapsulated
413
+ return true;
414
+ }
415
+ }
416
+ // Everything else needs to be encapsulated if the CC is secure
417
+ return true;
418
+ }
419
+ /** Encapsulates a command that should be sent encrypted */
420
+ static encapsulate(ownNodeId, securityManager, cc) {
421
+ // TODO: When to return a SecurityCCCommandEncapsulationNonceGet?
422
+ const ret = new SecurityCCCommandEncapsulation({
423
+ nodeId: cc.nodeId,
424
+ encapsulated: cc,
425
+ });
426
+ // Copy the encapsulation flags from the encapsulated command
427
+ // but omit Security, since we're doing that right now
428
+ ret.encapsulationFlags = cc.encapsulationFlags
429
+ & ~EncapsulationFlags.Security;
430
+ return ret;
431
+ }
432
+ };
433
+ return SecurityCC = _classThis;
434
+ })();
435
+ export { SecurityCC };
436
+ let SecurityCCNonceReport = (() => {
437
+ let _classDecorators = [CCCommand(SecurityCommand.NonceReport)];
438
+ let _classDescriptor;
439
+ let _classExtraInitializers = [];
440
+ let _classThis;
441
+ let _classSuper = SecurityCC;
442
+ var SecurityCCNonceReport = class extends _classSuper {
443
+ static { _classThis = this; }
444
+ static {
445
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
446
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
447
+ SecurityCCNonceReport = _classThis = _classDescriptor.value;
448
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
449
+ __runInitializers(_classThis, _classExtraInitializers);
450
+ }
451
+ constructor(options) {
452
+ super(options);
453
+ if (options.nonce.length !== HALF_NONCE_SIZE) {
454
+ throw new ZWaveError(`Nonce must have length ${HALF_NONCE_SIZE}!`, ZWaveErrorCodes.Argument_Invalid);
455
+ }
456
+ this.nonce = options.nonce;
457
+ }
458
+ static from(raw, ctx) {
459
+ validatePayload.withReason("Invalid nonce length")(raw.payload.length === HALF_NONCE_SIZE);
460
+ return new this({
461
+ nodeId: ctx.sourceNodeId,
462
+ nonce: raw.payload,
463
+ });
464
+ }
465
+ nonce;
466
+ serialize(ctx) {
467
+ this.payload = Bytes.view(this.nonce);
468
+ return super.serialize(ctx);
469
+ }
470
+ toLogEntry(ctx) {
471
+ return {
472
+ ...super.toLogEntry(ctx),
473
+ message: { nonce: buffer2hex(this.nonce) },
474
+ };
475
+ }
476
+ };
477
+ return SecurityCCNonceReport = _classThis;
478
+ })();
479
+ export { SecurityCCNonceReport };
480
+ let SecurityCCNonceGet = (() => {
481
+ let _classDecorators = [CCCommand(SecurityCommand.NonceGet), expectedCCResponse(SecurityCCNonceReport)];
482
+ let _classDescriptor;
483
+ let _classExtraInitializers = [];
484
+ let _classThis;
485
+ let _classSuper = SecurityCC;
486
+ var SecurityCCNonceGet = class extends _classSuper {
487
+ static { _classThis = this; }
488
+ static {
489
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
490
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
491
+ SecurityCCNonceGet = _classThis = _classDescriptor.value;
492
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
493
+ __runInitializers(_classThis, _classExtraInitializers);
494
+ }
495
+ };
496
+ return SecurityCCNonceGet = _classThis;
497
+ })();
498
+ export { SecurityCCNonceGet };
499
+ function getCCResponseForCommandEncapsulation(sent) {
500
+ if (sent.encapsulated.expectsCCResponse()) {
501
+ return SecurityCCCommandEncapsulation;
502
+ }
503
+ }
504
+ let SecurityCCCommandEncapsulation = (() => {
505
+ let _classDecorators = [CCCommand(SecurityCommand.CommandEncapsulation), expectedCCResponse(getCCResponseForCommandEncapsulation, () => "checkEncapsulated")];
506
+ let _classDescriptor;
507
+ let _classExtraInitializers = [];
508
+ let _classThis;
509
+ let _classSuper = SecurityCC;
510
+ var SecurityCCCommandEncapsulation = class extends _classSuper {
511
+ static { _classThis = this; }
512
+ static {
513
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
514
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
515
+ SecurityCCCommandEncapsulation = _classThis = _classDescriptor.value;
516
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
517
+ __runInitializers(_classThis, _classExtraInitializers);
518
+ }
519
+ constructor(options) {
520
+ super(options);
521
+ if ("encapsulated" in options) {
522
+ this.encapsulated = options.encapsulated;
523
+ this.encapsulated.encapsulatingCC = this;
524
+ }
525
+ else {
526
+ this.decryptedCCBytes = options.decryptedCCBytes;
527
+ this.sequenced = options.sequenced;
528
+ this.secondFrame = options.secondFrame;
529
+ this.sequenceCounter = options.sequenceCounter;
530
+ }
531
+ this.alternativeNetworkKey = options.alternativeNetworkKey;
532
+ }
533
+ static from(raw, ctx) {
534
+ assertSecurityRX(ctx);
535
+ // HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code
536
+ validatePayload(raw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8);
537
+ const iv = raw.payload.subarray(0, HALF_NONCE_SIZE);
538
+ const encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);
539
+ const nonceId = raw.payload.at(-9);
540
+ const authCode = raw.payload.subarray(-8);
541
+ // Retrieve the used nonce from the nonce store
542
+ const nonce = ctx.securityManager.getNonce(nonceId);
543
+ // Only accept the message if the nonce hasn't expired
544
+ if (!nonce) {
545
+ validatePayload.fail(`Nonce ${num2hex(nonceId)} expired, cannot decode security encapsulated command.`);
546
+ }
547
+ // and mark the nonce as used
548
+ ctx.securityManager.deleteNonce(nonceId);
549
+ // Validate the encrypted data
550
+ const authData = getAuthenticationData(iv, nonce, SecurityCommand.CommandEncapsulation, ctx.sourceNodeId, ctx.ownNodeId, encryptedPayload);
551
+ const expectedAuthCode = computeMAC(authData, ctx.securityManager.authKey);
552
+ // Only accept messages with a correct auth code
553
+ validatePayload.withReason("Invalid auth code, won't accept security encapsulated command.")(authCode.equals(expectedAuthCode));
554
+ // Decrypt the encapsulated CC
555
+ const frameControlAndDecryptedCC = decryptAES128OFB(encryptedPayload, ctx.securityManager.encryptionKey, Bytes.concat([iv, nonce]));
556
+ const frameControl = frameControlAndDecryptedCC[0];
557
+ const sequenceCounter = frameControl & 0b1111;
558
+ const sequenced = !!(frameControl & 0b1_0000);
559
+ const secondFrame = !!(frameControl & 0b10_0000);
560
+ const decryptedCCBytes = frameControlAndDecryptedCC
561
+ .subarray(1);
562
+ const ret = new SecurityCCCommandEncapsulation({
563
+ nodeId: ctx.sourceNodeId,
564
+ sequenceCounter,
565
+ sequenced,
566
+ secondFrame,
567
+ decryptedCCBytes,
568
+ });
569
+ ret.authData = authData;
570
+ ret.authCode = authCode;
571
+ ret.iv = iv;
572
+ return ret;
573
+ }
574
+ sequenced;
575
+ secondFrame;
576
+ sequenceCounter;
577
+ decryptedCCBytes;
578
+ encapsulated;
579
+ alternativeNetworkKey;
580
+ get nonceId() {
581
+ return this.nonce?.[0];
582
+ }
583
+ nonce;
584
+ // Only used testing/for debugging purposes
585
+ iv;
586
+ authData;
587
+ authCode;
588
+ ciphertext;
589
+ getPartialCCSessionId() {
590
+ if (this.sequenced) {
591
+ return {
592
+ // Treat Encapsulation and EncapsulationNonceGet as one
593
+ ccCommand: undefined,
594
+ sequence: this.sequenceCounter,
595
+ };
596
+ }
597
+ else {
598
+ return {
599
+ // Treat Encapsulation and EncapsulationNonceGet as one
600
+ ccCommand: undefined,
601
+ };
602
+ }
603
+ }
604
+ expectMoreMessages() {
605
+ return !!this.sequenced && !this.secondFrame;
606
+ }
607
+ mergePartialCCs(partials, ctx) {
608
+ // Concat the CC buffers
609
+ this.decryptedCCBytes = Bytes.concat([...partials, this].map((cc) => cc.decryptedCCBytes));
610
+ // make sure this contains a complete CC command that's worth splitting
611
+ validatePayload(this.decryptedCCBytes.length >= 2);
612
+ // and deserialize the CC
613
+ this.encapsulated = CommandClass.parse(this.decryptedCCBytes, ctx);
614
+ this.encapsulated.encapsulatingCC = this;
615
+ }
616
+ serialize(ctx) {
617
+ if (!this.nonce)
618
+ throwNoNonce();
619
+ if (this.nonce.length !== HALF_NONCE_SIZE) {
620
+ throwNoNonce("Invalid nonce size");
621
+ }
622
+ assertSecurityTX(ctx);
623
+ let authKey;
624
+ let encryptionKey;
625
+ if (this.alternativeNetworkKey) {
626
+ authKey = generateAuthKey(this.alternativeNetworkKey);
627
+ encryptionKey = generateEncryptionKey(this.alternativeNetworkKey);
628
+ }
629
+ else {
630
+ authKey = ctx.securityManager.authKey;
631
+ encryptionKey = ctx.securityManager.encryptionKey;
632
+ }
633
+ const serializedCC = this.encapsulated.serialize(ctx);
634
+ const plaintext = Bytes.concat([
635
+ Bytes.from([0]), // TODO: frame control
636
+ serializedCC,
637
+ ]);
638
+ // Encrypt the payload
639
+ const senderNonce = randomBytes(HALF_NONCE_SIZE);
640
+ const iv = Bytes.concat([senderNonce, this.nonce]);
641
+ const ciphertext = encryptAES128OFB(plaintext, encryptionKey, iv);
642
+ // And generate the auth code
643
+ const authData = getAuthenticationData(senderNonce, this.nonce, this.ccCommand, ctx.ownNodeId, this.nodeId, ciphertext);
644
+ const authCode = computeMAC(authData, authKey);
645
+ // Remember for debugging purposes
646
+ this.iv = iv;
647
+ this.authData = authData;
648
+ this.authCode = authCode;
649
+ this.ciphertext = ciphertext;
650
+ this.payload = Bytes.concat([
651
+ senderNonce,
652
+ ciphertext,
653
+ Bytes.from([this.nonceId]),
654
+ authCode,
655
+ ]);
656
+ return super.serialize(ctx);
657
+ }
658
+ computeEncapsulationOverhead() {
659
+ // Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC
660
+ return super.computeEncapsulationOverhead() + 18;
661
+ }
662
+ toLogEntry(ctx) {
663
+ const message = {};
664
+ if (this.nonceId != undefined) {
665
+ message["nonce id"] = this.nonceId;
666
+ }
667
+ if (this.sequenced != undefined) {
668
+ message.sequenced = this.sequenced;
669
+ if (this.sequenced) {
670
+ if (this.secondFrame != undefined) {
671
+ message["second frame"] = this.secondFrame;
672
+ }
673
+ if (this.sequenceCounter != undefined) {
674
+ message["sequence counter"] = this.sequenceCounter;
675
+ }
676
+ }
677
+ }
678
+ // Log the plaintext in integration tests and development mode
679
+ if (process.env.NODE_ENV === "test"
680
+ || process.env.NODE_ENV === "development") {
681
+ if (this.iv) {
682
+ message.IV = buffer2hex(this.iv);
683
+ }
684
+ if (this.ciphertext) {
685
+ message.ciphertext = buffer2hex(this.ciphertext);
686
+ }
687
+ else if (this.decryptedCCBytes) {
688
+ message.plaintext = buffer2hex(this.decryptedCCBytes);
689
+ }
690
+ if (this.authData) {
691
+ message["auth data"] = buffer2hex(this.authData);
692
+ }
693
+ if (this.authCode) {
694
+ message["auth code"] = buffer2hex(this.authCode);
695
+ }
696
+ }
697
+ return {
698
+ ...super.toLogEntry(ctx),
699
+ message,
700
+ };
701
+ }
702
+ };
703
+ return SecurityCCCommandEncapsulation = _classThis;
704
+ })();
705
+ export { SecurityCCCommandEncapsulation };
706
+ // This is the same message, but with another CC command
707
+ let SecurityCCCommandEncapsulationNonceGet = (() => {
708
+ let _classDecorators = [CCCommand(SecurityCommand.CommandEncapsulationNonceGet)];
709
+ let _classDescriptor;
710
+ let _classExtraInitializers = [];
711
+ let _classThis;
712
+ let _classSuper = SecurityCCCommandEncapsulation;
713
+ var SecurityCCCommandEncapsulationNonceGet = class extends _classSuper {
714
+ static { _classThis = this; }
715
+ static {
716
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
717
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
718
+ SecurityCCCommandEncapsulationNonceGet = _classThis = _classDescriptor.value;
719
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
720
+ __runInitializers(_classThis, _classExtraInitializers);
721
+ }
722
+ };
723
+ return SecurityCCCommandEncapsulationNonceGet = _classThis;
724
+ })();
725
+ export { SecurityCCCommandEncapsulationNonceGet };
726
+ let SecurityCCSchemeReport = (() => {
727
+ let _classDecorators = [CCCommand(SecurityCommand.SchemeReport)];
728
+ let _classDescriptor;
729
+ let _classExtraInitializers = [];
730
+ let _classThis;
731
+ let _classSuper = SecurityCC;
732
+ var SecurityCCSchemeReport = class extends _classSuper {
733
+ static { _classThis = this; }
734
+ static {
735
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
736
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
737
+ SecurityCCSchemeReport = _classThis = _classDescriptor.value;
738
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
739
+ __runInitializers(_classThis, _classExtraInitializers);
740
+ }
741
+ static from(raw, ctx) {
742
+ validatePayload(raw.payload.length >= 1);
743
+ // The including controller MUST NOT perform any validation of the Supported Security Schemes byte
744
+ return new this({
745
+ nodeId: ctx.sourceNodeId,
746
+ });
747
+ }
748
+ serialize(ctx) {
749
+ // Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)
750
+ this.payload = Bytes.from([0]);
751
+ return super.serialize(ctx);
752
+ }
753
+ toLogEntry(ctx) {
754
+ return {
755
+ ...super.toLogEntry(ctx),
756
+ // Hide the default payload line
757
+ message: undefined,
758
+ };
759
+ }
760
+ };
761
+ return SecurityCCSchemeReport = _classThis;
762
+ })();
763
+ export { SecurityCCSchemeReport };
764
+ let SecurityCCSchemeGet = (() => {
765
+ let _classDecorators = [CCCommand(SecurityCommand.SchemeGet), expectedCCResponse(SecurityCCSchemeReport)];
766
+ let _classDescriptor;
767
+ let _classExtraInitializers = [];
768
+ let _classThis;
769
+ let _classSuper = SecurityCC;
770
+ var SecurityCCSchemeGet = class extends _classSuper {
771
+ static { _classThis = this; }
772
+ static {
773
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
774
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
775
+ SecurityCCSchemeGet = _classThis = _classDescriptor.value;
776
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
777
+ __runInitializers(_classThis, _classExtraInitializers);
778
+ }
779
+ serialize(ctx) {
780
+ // Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)
781
+ this.payload = Bytes.from([0]);
782
+ return super.serialize(ctx);
783
+ }
784
+ toLogEntry(ctx) {
785
+ return {
786
+ ...super.toLogEntry(ctx),
787
+ // Hide the default payload line
788
+ message: undefined,
789
+ };
790
+ }
791
+ };
792
+ return SecurityCCSchemeGet = _classThis;
793
+ })();
794
+ export { SecurityCCSchemeGet };
795
+ let SecurityCCSchemeInherit = (() => {
796
+ let _classDecorators = [CCCommand(SecurityCommand.SchemeInherit), expectedCCResponse(SecurityCCSchemeReport)];
797
+ let _classDescriptor;
798
+ let _classExtraInitializers = [];
799
+ let _classThis;
800
+ let _classSuper = SecurityCC;
801
+ var SecurityCCSchemeInherit = class extends _classSuper {
802
+ static { _classThis = this; }
803
+ static {
804
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
805
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
806
+ SecurityCCSchemeInherit = _classThis = _classDescriptor.value;
807
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
808
+ __runInitializers(_classThis, _classExtraInitializers);
809
+ }
810
+ serialize(ctx) {
811
+ // Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)
812
+ this.payload = Bytes.from([0]);
813
+ return super.serialize(ctx);
814
+ }
815
+ toLogEntry(ctx) {
816
+ return {
817
+ ...super.toLogEntry(ctx),
818
+ // Hide the default payload line
819
+ message: undefined,
820
+ };
821
+ }
822
+ };
823
+ return SecurityCCSchemeInherit = _classThis;
824
+ })();
825
+ export { SecurityCCSchemeInherit };
826
+ let SecurityCCNetworkKeyVerify = (() => {
827
+ let _classDecorators = [CCCommand(SecurityCommand.NetworkKeyVerify)];
828
+ let _classDescriptor;
829
+ let _classExtraInitializers = [];
830
+ let _classThis;
831
+ let _classSuper = SecurityCC;
832
+ var SecurityCCNetworkKeyVerify = class extends _classSuper {
833
+ static { _classThis = this; }
834
+ static {
835
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
836
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
837
+ SecurityCCNetworkKeyVerify = _classThis = _classDescriptor.value;
838
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
839
+ __runInitializers(_classThis, _classExtraInitializers);
840
+ }
841
+ };
842
+ return SecurityCCNetworkKeyVerify = _classThis;
843
+ })();
844
+ export { SecurityCCNetworkKeyVerify };
845
+ let SecurityCCNetworkKeySet = (() => {
846
+ let _classDecorators = [CCCommand(SecurityCommand.NetworkKeySet), expectedCCResponse(SecurityCCNetworkKeyVerify)];
847
+ let _classDescriptor;
848
+ let _classExtraInitializers = [];
849
+ let _classThis;
850
+ let _classSuper = SecurityCC;
851
+ var SecurityCCNetworkKeySet = class extends _classSuper {
852
+ static { _classThis = this; }
853
+ static {
854
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
855
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
856
+ SecurityCCNetworkKeySet = _classThis = _classDescriptor.value;
857
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
858
+ __runInitializers(_classThis, _classExtraInitializers);
859
+ }
860
+ constructor(options) {
861
+ super(options);
862
+ if (options.networkKey.length !== 16) {
863
+ throw new ZWaveError(`The network key must have length 16!`, ZWaveErrorCodes.Argument_Invalid);
864
+ }
865
+ this.networkKey = options.networkKey;
866
+ }
867
+ static from(raw, ctx) {
868
+ validatePayload(raw.payload.length >= 16);
869
+ const networkKey = raw.payload.subarray(0, 16);
870
+ return new this({
871
+ nodeId: ctx.sourceNodeId,
872
+ networkKey,
873
+ });
874
+ }
875
+ networkKey;
876
+ serialize(ctx) {
877
+ this.payload = Bytes.view(this.networkKey);
878
+ return super.serialize(ctx);
879
+ }
880
+ toLogEntry(ctx) {
881
+ // The network key shouldn't be logged, so users can safely post their logs online
882
+ const { message, ...log } = super.toLogEntry(ctx);
883
+ return log;
884
+ }
885
+ };
886
+ return SecurityCCNetworkKeySet = _classThis;
887
+ })();
888
+ export { SecurityCCNetworkKeySet };
889
+ let SecurityCCCommandsSupportedReport = (() => {
890
+ let _classDecorators = [CCCommand(SecurityCommand.CommandsSupportedReport)];
891
+ let _classDescriptor;
892
+ let _classExtraInitializers = [];
893
+ let _classThis;
894
+ let _classSuper = SecurityCC;
895
+ var SecurityCCCommandsSupportedReport = class extends _classSuper {
896
+ static { _classThis = this; }
897
+ static {
898
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
899
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
900
+ SecurityCCCommandsSupportedReport = _classThis = _classDescriptor.value;
901
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
902
+ __runInitializers(_classThis, _classExtraInitializers);
903
+ }
904
+ constructor(options) {
905
+ super(options);
906
+ this.supportedCCs = options.supportedCCs;
907
+ this.controlledCCs = options.controlledCCs;
908
+ // TODO: properly split the CCs into multiple reports
909
+ this.reportsToFollow = options.reportsToFollow ?? 0;
910
+ }
911
+ static from(raw, ctx) {
912
+ validatePayload(raw.payload.length >= 1);
913
+ const reportsToFollow = raw.payload[0];
914
+ const list = parseCCList(raw.payload.subarray(1));
915
+ const supportedCCs = list.supportedCCs;
916
+ const controlledCCs = list.controlledCCs;
917
+ return new this({
918
+ nodeId: ctx.sourceNodeId,
919
+ reportsToFollow,
920
+ supportedCCs,
921
+ controlledCCs,
922
+ });
923
+ }
924
+ reportsToFollow;
925
+ supportedCCs;
926
+ controlledCCs;
927
+ getPartialCCSessionId() {
928
+ // Nothing special we can distinguish sessions with
929
+ return {};
930
+ }
931
+ expectMoreMessages() {
932
+ return this.reportsToFollow > 0;
933
+ }
934
+ mergePartialCCs(partials) {
935
+ // Concat the lists of CCs
936
+ this.supportedCCs = [...partials, this]
937
+ .map((report) => report.supportedCCs)
938
+ .reduce((prev, cur) => prev.concat(...cur), []);
939
+ this.controlledCCs = [...partials, this]
940
+ .map((report) => report.controlledCCs)
941
+ .reduce((prev, cur) => prev.concat(...cur), []);
942
+ }
943
+ serialize(ctx) {
944
+ this.payload = Bytes.concat([
945
+ Bytes.from([this.reportsToFollow]),
946
+ encodeCCList(this.supportedCCs, this.controlledCCs),
947
+ ]);
948
+ return super.serialize(ctx);
949
+ }
950
+ toLogEntry(ctx) {
951
+ return {
952
+ ...super.toLogEntry(ctx),
953
+ message: {
954
+ reportsToFollow: this.reportsToFollow,
955
+ supportedCCs: this.supportedCCs
956
+ .map((cc) => getCCName(cc))
957
+ .map((cc) => `\n· ${cc}`)
958
+ .join(""),
959
+ controlledCCs: this.controlledCCs
960
+ .map((cc) => getCCName(cc))
961
+ .map((cc) => `\n· ${cc}`)
962
+ .join(""),
963
+ },
964
+ };
965
+ }
966
+ };
967
+ return SecurityCCCommandsSupportedReport = _classThis;
968
+ })();
969
+ export { SecurityCCCommandsSupportedReport };
970
+ let SecurityCCCommandsSupportedGet = (() => {
971
+ let _classDecorators = [CCCommand(SecurityCommand.CommandsSupportedGet), expectedCCResponse(SecurityCCCommandsSupportedReport)];
972
+ let _classDescriptor;
973
+ let _classExtraInitializers = [];
974
+ let _classThis;
975
+ let _classSuper = SecurityCC;
976
+ var SecurityCCCommandsSupportedGet = class extends _classSuper {
977
+ static { _classThis = this; }
978
+ static {
979
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
980
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
981
+ SecurityCCCommandsSupportedGet = _classThis = _classDescriptor.value;
982
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
983
+ __runInitializers(_classThis, _classExtraInitializers);
984
+ }
985
+ };
986
+ return SecurityCCCommandsSupportedGet = _classThis;
987
+ })();
988
+ export { SecurityCCCommandsSupportedGet };
989
+ //# sourceMappingURL=SecurityCC.js.map