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

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