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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/build/cjs/cc/AlarmSensorCC.js +381 -266
  2. package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
  3. package/build/cjs/cc/AssociationCC.js +669 -503
  4. package/build/cjs/cc/AssociationCC.js.map +3 -3
  5. package/build/cjs/cc/AssociationGroupInfoCC.js +633 -492
  6. package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
  7. package/build/cjs/cc/BarrierOperatorCC.js +595 -429
  8. package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
  9. package/build/cjs/cc/BasicCC.js +354 -260
  10. package/build/cjs/cc/BasicCC.js.map +3 -3
  11. package/build/cjs/cc/BatteryCC.js +427 -345
  12. package/build/cjs/cc/BatteryCC.js.map +3 -3
  13. package/build/cjs/cc/BinarySensorCC.js +391 -276
  14. package/build/cjs/cc/BinarySensorCC.js.map +3 -3
  15. package/build/cjs/cc/BinarySwitchCC.js +347 -253
  16. package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
  17. package/build/cjs/cc/CRC16CC.js +160 -85
  18. package/build/cjs/cc/CRC16CC.js.map +3 -3
  19. package/build/cjs/cc/CentralSceneCC.js +459 -324
  20. package/build/cjs/cc/CentralSceneCC.js.map +3 -3
  21. package/build/cjs/cc/ClimateControlScheduleCC.js +459 -293
  22. package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
  23. package/build/cjs/cc/ClockCC.js +254 -150
  24. package/build/cjs/cc/ClockCC.js.map +3 -3
  25. package/build/cjs/cc/ColorSwitchCC.js +758 -610
  26. package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
  27. package/build/cjs/cc/ConfigurationCC.js +1700 -1453
  28. package/build/cjs/cc/ConfigurationCC.js.map +3 -3
  29. package/build/cjs/cc/DeviceResetLocallyCC.js +125 -49
  30. package/build/cjs/cc/DeviceResetLocallyCC.js.map +3 -3
  31. package/build/cjs/cc/DoorLockCC.js +904 -777
  32. package/build/cjs/cc/DoorLockCC.js.map +3 -3
  33. package/build/cjs/cc/DoorLockLoggingCC.js +321 -206
  34. package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
  35. package/build/cjs/cc/EnergyProductionCC.js +249 -160
  36. package/build/cjs/cc/EnergyProductionCC.js.map +3 -3
  37. package/build/cjs/cc/EntryControlCC.js +619 -458
  38. package/build/cjs/cc/EntryControlCC.js.map +3 -3
  39. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +898 -698
  40. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
  41. package/build/cjs/cc/HailCC.js +57 -11
  42. package/build/cjs/cc/HailCC.js.map +2 -2
  43. package/build/cjs/cc/HumidityControlModeCC.js +359 -233
  44. package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
  45. package/build/cjs/cc/HumidityControlOperatingStateCC.js +189 -103
  46. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
  47. package/build/cjs/cc/HumidityControlSetpointCC.js +682 -495
  48. package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
  49. package/build/cjs/cc/InclusionControllerCC.js +205 -114
  50. package/build/cjs/cc/InclusionControllerCC.js.map +3 -3
  51. package/build/cjs/cc/IndicatorCC.js +897 -736
  52. package/build/cjs/cc/IndicatorCC.js.map +3 -3
  53. package/build/cjs/cc/IrrigationCC.js +1651 -1405
  54. package/build/cjs/cc/IrrigationCC.js.map +3 -3
  55. package/build/cjs/cc/LanguageCC.js +268 -171
  56. package/build/cjs/cc/LanguageCC.js.map +3 -3
  57. package/build/cjs/cc/LockCC.js +254 -154
  58. package/build/cjs/cc/LockCC.js.map +3 -3
  59. package/build/cjs/cc/ManufacturerProprietaryCC.js +189 -129
  60. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  61. package/build/cjs/cc/ManufacturerSpecificCC.js +319 -213
  62. package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
  63. package/build/cjs/cc/MeterCC.js +827 -707
  64. package/build/cjs/cc/MeterCC.js.map +3 -3
  65. package/build/cjs/cc/MultiChannelAssociationCC.js +612 -478
  66. package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
  67. package/build/cjs/cc/MultiChannelCC.js +1037 -819
  68. package/build/cjs/cc/MultiChannelCC.js.map +3 -3
  69. package/build/cjs/cc/MultiCommandCC.js +172 -97
  70. package/build/cjs/cc/MultiCommandCC.js.map +3 -3
  71. package/build/cjs/cc/MultilevelSensorCC.js +589 -449
  72. package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
  73. package/build/cjs/cc/MultilevelSwitchCC.js +587 -439
  74. package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
  75. package/build/cjs/cc/NoOperationCC.js +89 -27
  76. package/build/cjs/cc/NoOperationCC.js.map +2 -2
  77. package/build/cjs/cc/NodeNamingCC.js +417 -277
  78. package/build/cjs/cc/NodeNamingCC.js.map +3 -3
  79. package/build/cjs/cc/NotificationCC.js +972 -818
  80. package/build/cjs/cc/NotificationCC.js.map +3 -3
  81. package/build/cjs/cc/PowerlevelCC.js +450 -303
  82. package/build/cjs/cc/PowerlevelCC.js.map +3 -3
  83. package/build/cjs/cc/ProtectionCC.js +686 -494
  84. package/build/cjs/cc/ProtectionCC.js.map +3 -3
  85. package/build/cjs/cc/SceneActivationCC.js +165 -97
  86. package/build/cjs/cc/SceneActivationCC.js.map +3 -3
  87. package/build/cjs/cc/SceneActuatorConfigurationCC.js +346 -243
  88. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
  89. package/build/cjs/cc/SceneControllerConfigurationCC.js +401 -298
  90. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
  91. package/build/cjs/cc/ScheduleEntryLockCC.js +1552 -1272
  92. package/build/cjs/cc/ScheduleEntryLockCC.js.map +3 -3
  93. package/build/cjs/cc/Security2CC.js +1483 -1219
  94. package/build/cjs/cc/Security2CC.js.map +3 -3
  95. package/build/cjs/cc/SecurityCC.js +839 -619
  96. package/build/cjs/cc/SecurityCC.js.map +3 -3
  97. package/build/cjs/cc/SoundSwitchCC.js +707 -515
  98. package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
  99. package/build/cjs/cc/SupervisionCC.js +327 -237
  100. package/build/cjs/cc/SupervisionCC.js.map +3 -3
  101. package/build/cjs/cc/ThermostatFanModeCC.js +386 -263
  102. package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
  103. package/build/cjs/cc/ThermostatFanStateCC.js +192 -106
  104. package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
  105. package/build/cjs/cc/ThermostatModeCC.js +425 -302
  106. package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
  107. package/build/cjs/cc/ThermostatOperatingStateCC.js +188 -102
  108. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
  109. package/build/cjs/cc/ThermostatSetbackCC.js +277 -173
  110. package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
  111. package/build/cjs/cc/ThermostatSetpointCC.js +645 -491
  112. package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
  113. package/build/cjs/cc/TimeCC.js +515 -353
  114. package/build/cjs/cc/TimeCC.js.map +3 -3
  115. package/build/cjs/cc/TimeParametersCC.js +302 -202
  116. package/build/cjs/cc/TimeParametersCC.js.map +3 -3
  117. package/build/cjs/cc/TransportServiceCC.js +433 -315
  118. package/build/cjs/cc/TransportServiceCC.js.map +3 -3
  119. package/build/cjs/cc/UserCodeCC.js +1385 -1102
  120. package/build/cjs/cc/UserCodeCC.js.map +3 -3
  121. package/build/cjs/cc/VersionCC.js +696 -562
  122. package/build/cjs/cc/VersionCC.js.map +3 -3
  123. package/build/cjs/cc/WakeUpCC.js +499 -346
  124. package/build/cjs/cc/WakeUpCC.js.map +3 -3
  125. package/build/cjs/cc/WindowCoveringCC.js +626 -478
  126. package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
  127. package/build/cjs/cc/ZWaveLongRangeCC.js +57 -10
  128. package/build/cjs/cc/ZWaveLongRangeCC.js.map +2 -2
  129. package/build/cjs/cc/ZWavePlusCC.js +233 -159
  130. package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
  131. package/build/cjs/cc/ZWaveProtocolCC.js +1515 -948
  132. package/build/cjs/cc/ZWaveProtocolCC.js.map +3 -3
  133. package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +4 -4
  134. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
  135. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +395 -274
  136. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +3 -3
  137. package/build/cjs/lib/CommandClassDecorators.d.ts +11 -15
  138. package/build/cjs/lib/CommandClassDecorators.js +19 -20
  139. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  140. package/build/cjs/lib/Security2/Extension.d.ts +1 -1
  141. package/build/cjs/lib/Security2/Extension.js +217 -126
  142. package/build/cjs/lib/Security2/Extension.js.map +3 -3
  143. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  144. package/build/esm/cc/AlarmSensorCC.js +389 -291
  145. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  146. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  147. package/build/esm/cc/AssociationCC.js +678 -537
  148. package/build/esm/cc/AssociationCC.js.map +1 -1
  149. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  150. package/build/esm/cc/AssociationGroupInfoCC.js +659 -539
  151. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  152. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  153. package/build/esm/cc/BarrierOperatorCC.js +634 -493
  154. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  155. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  156. package/build/esm/cc/BasicCC.js +380 -302
  157. package/build/esm/cc/BasicCC.js.map +1 -1
  158. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  159. package/build/esm/cc/BatteryCC.js +449 -384
  160. package/build/esm/cc/BatteryCC.js.map +1 -1
  161. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  162. package/build/esm/cc/BinarySensorCC.js +395 -297
  163. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  164. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  165. package/build/esm/cc/BinarySwitchCC.js +353 -274
  166. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  167. package/build/esm/cc/CRC16CC.js +162 -98
  168. package/build/esm/cc/CRC16CC.js.map +1 -1
  169. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  170. package/build/esm/cc/CentralSceneCC.js +465 -351
  171. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  172. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  173. package/build/esm/cc/ClimateControlScheduleCC.js +454 -313
  174. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  175. package/build/esm/cc/ClockCC.js +248 -159
  176. package/build/esm/cc/ClockCC.js.map +1 -1
  177. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  178. package/build/esm/cc/ColorSwitchCC.js +802 -677
  179. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  180. package/build/esm/cc/ConfigurationCC.js +1899 -1687
  181. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  182. package/build/esm/cc/DeviceResetLocallyCC.js +124 -59
  183. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  184. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  185. package/build/esm/cc/DoorLockCC.js +951 -849
  186. package/build/esm/cc/DoorLockCC.js.map +1 -1
  187. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  188. package/build/esm/cc/DoorLockLoggingCC.js +316 -218
  189. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  190. package/build/esm/cc/EnergyProductionCC.js +240 -164
  191. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  192. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  193. package/build/esm/cc/EntryControlCC.js +629 -493
  194. package/build/esm/cc/EntryControlCC.js.map +1 -1
  195. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  196. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +938 -769
  197. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  198. package/build/esm/cc/HailCC.js +51 -12
  199. package/build/esm/cc/HailCC.js.map +1 -1
  200. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  201. package/build/esm/cc/HumidityControlModeCC.js +357 -250
  202. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  203. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  204. package/build/esm/cc/HumidityControlOperatingStateCC.js +182 -109
  205. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  206. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  207. package/build/esm/cc/HumidityControlSetpointCC.js +706 -546
  208. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  209. package/build/esm/cc/InclusionControllerCC.js +197 -119
  210. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  211. package/build/esm/cc/IndicatorCC.js +973 -835
  212. package/build/esm/cc/IndicatorCC.js.map +1 -1
  213. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  214. package/build/esm/cc/IrrigationCC.js +1697 -1496
  215. package/build/esm/cc/IrrigationCC.js.map +1 -1
  216. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  217. package/build/esm/cc/LanguageCC.js +266 -184
  218. package/build/esm/cc/LanguageCC.js.map +1 -1
  219. package/build/esm/cc/LockCC.d.ts.map +1 -1
  220. package/build/esm/cc/LockCC.js +247 -162
  221. package/build/esm/cc/LockCC.js.map +1 -1
  222. package/build/esm/cc/ManufacturerProprietaryCC.js +192 -141
  223. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  224. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  225. package/build/esm/cc/ManufacturerSpecificCC.js +312 -223
  226. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  227. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  228. package/build/esm/cc/MeterCC.js +896 -795
  229. package/build/esm/cc/MeterCC.js.map +1 -1
  230. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  231. package/build/esm/cc/MultiChannelAssociationCC.js +631 -518
  232. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  233. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  234. package/build/esm/cc/MultiChannelCC.js +1106 -921
  235. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  236. package/build/esm/cc/MultiCommandCC.js +166 -102
  237. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  238. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  239. package/build/esm/cc/MultilevelSensorCC.js +616 -497
  240. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  241. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  242. package/build/esm/cc/MultilevelSwitchCC.js +621 -496
  243. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  244. package/build/esm/cc/NoOperationCC.js +82 -29
  245. package/build/esm/cc/NoOperationCC.js.map +1 -1
  246. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  247. package/build/esm/cc/NodeNamingCC.js +413 -294
  248. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  249. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  250. package/build/esm/cc/NotificationCC.js +1097 -966
  251. package/build/esm/cc/NotificationCC.js.map +1 -1
  252. package/build/esm/cc/PowerlevelCC.js +437 -311
  253. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  254. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  255. package/build/esm/cc/ProtectionCC.js +704 -543
  256. package/build/esm/cc/ProtectionCC.js.map +1 -1
  257. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  258. package/build/esm/cc/SceneActivationCC.js +157 -100
  259. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  260. package/build/esm/cc/SceneActuatorConfigurationCC.js +357 -269
  261. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  262. package/build/esm/cc/SceneControllerConfigurationCC.js +434 -346
  263. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  264. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  265. package/build/esm/cc/ScheduleEntryLockCC.js +1596 -1357
  266. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  267. package/build/esm/cc/Security2CC.js +1633 -1406
  268. package/build/esm/cc/Security2CC.js.map +1 -1
  269. package/build/esm/cc/SecurityCC.js +876 -687
  270. package/build/esm/cc/SecurityCC.js.map +1 -1
  271. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  272. package/build/esm/cc/SoundSwitchCC.js +689 -526
  273. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  274. package/build/esm/cc/SupervisionCC.js +349 -272
  275. package/build/esm/cc/SupervisionCC.js.map +1 -1
  276. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  277. package/build/esm/cc/ThermostatFanModeCC.js +388 -284
  278. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  279. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  280. package/build/esm/cc/ThermostatFanStateCC.js +184 -111
  281. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  282. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  283. package/build/esm/cc/ThermostatModeCC.js +435 -331
  284. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  285. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  286. package/build/esm/cc/ThermostatOperatingStateCC.js +180 -107
  287. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  288. package/build/esm/cc/ThermostatSetbackCC.js +274 -185
  289. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  290. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  291. package/build/esm/cc/ThermostatSetpointCC.js +674 -543
  292. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  293. package/build/esm/cc/TimeCC.js +499 -360
  294. package/build/esm/cc/TimeCC.js.map +1 -1
  295. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  296. package/build/esm/cc/TimeParametersCC.js +296 -211
  297. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  298. package/build/esm/cc/TransportServiceCC.js +464 -363
  299. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  300. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  301. package/build/esm/cc/UserCodeCC.js +1443 -1205
  302. package/build/esm/cc/UserCodeCC.js.map +1 -1
  303. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  304. package/build/esm/cc/VersionCC.js +744 -635
  305. package/build/esm/cc/VersionCC.js.map +1 -1
  306. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  307. package/build/esm/cc/WakeUpCC.js +494 -364
  308. package/build/esm/cc/WakeUpCC.js.map +1 -1
  309. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  310. package/build/esm/cc/WindowCoveringCC.js +655 -530
  311. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  312. package/build/esm/cc/ZWaveLongRangeCC.js +51 -11
  313. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  314. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  315. package/build/esm/cc/ZWavePlusCC.js +223 -162
  316. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  317. package/build/esm/cc/ZWaveProtocolCC.js +1443 -953
  318. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  319. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +4 -4
  320. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
  321. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +390 -286
  322. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  323. package/build/esm/lib/CommandClassDecorators.d.ts +11 -15
  324. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  325. package/build/esm/lib/CommandClassDecorators.js +24 -24
  326. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  327. package/build/esm/lib/Security2/Extension.d.ts +1 -1
  328. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  329. package/build/esm/lib/Security2/Extension.js +207 -123
  330. package/build/esm/lib/Security2/Extension.js.map +1 -1
  331. package/package.json +6 -6
@@ -1,10 +1,37 @@
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;
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;
6
34
  };
7
- var FirmwareUpdateMetaDataCCMetaDataReport_1, FirmwareUpdateMetaDataCCRequestReport_1, FirmwareUpdateMetaDataCCGet_1, FirmwareUpdateMetaDataCCStatusReport_1, FirmwareUpdateMetaDataCCActivationReport_1, FirmwareUpdateMetaDataCCPrepareReport_1;
8
35
  function __assertType(argName, typeName, boundHasError) {
9
36
  const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
10
37
  if (boundHasError()) {
@@ -318,7 +345,7 @@ import { Bytes } from "@zwave-js/shared/safe";
318
345
  import { getEnumMemberName, num2hex, pick, } from "@zwave-js/shared/safe";
319
346
  import { CCAPI, PhysicalCCAPI } from "../lib/API.js";
320
347
  import { CommandClass, getEffectiveCCVersion, } from "../lib/CommandClass.js";
321
- import { API, CCCommand, ccValue, ccValues, commandClass, expectedCCResponse, implementedVersion, } from "../lib/CommandClassDecorators.js";
348
+ import { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from "../lib/CommandClassDecorators.js";
322
349
  import { V } from "../lib/Values.js";
323
350
  import { FirmwareDownloadStatus, FirmwareUpdateActivationStatus, FirmwareUpdateMetaDataCommand, FirmwareUpdateRequestStatus, FirmwareUpdateStatus, } from "../lib/_Types.js";
324
351
  // @noSetValueAPI There are no values to set here
@@ -344,799 +371,941 @@ export const FirmwareUpdateMetaDataCCValues = Object.freeze({
344
371
  }),
345
372
  }),
346
373
  });
347
- let FirmwareUpdateMetaDataCCAPI = class FirmwareUpdateMetaDataCCAPI extends PhysicalCCAPI {
348
- supportsCommand(cmd) {
349
- switch (cmd) {
350
- case FirmwareUpdateMetaDataCommand.MetaDataGet:
351
- case FirmwareUpdateMetaDataCommand.MetaDataReport:
352
- case FirmwareUpdateMetaDataCommand.RequestGet:
353
- case FirmwareUpdateMetaDataCommand.Report:
354
- case FirmwareUpdateMetaDataCommand.StatusReport:
355
- return true;
356
- case FirmwareUpdateMetaDataCommand.ActivationSet:
357
- return (this.version >= 4
358
- && (this.version < 7
359
- || this.tryGetValueDB()?.getValue(FirmwareUpdateMetaDataCCValues
360
- .supportsActivation.endpoint(this.endpoint.index)) === true));
361
- case FirmwareUpdateMetaDataCommand.PrepareGet:
362
- return this.version >= 5;
363
- }
364
- return super.supportsCommand(cmd);
365
- }
366
- /**
367
- * Requests information about the current firmware on the device
368
- */
369
- async getMetaData() {
370
- this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.MetaDataGet);
371
- const cc = new FirmwareUpdateMetaDataCCMetaDataGet({
372
- nodeId: this.endpoint.nodeId,
373
- endpointIndex: this.endpoint.index,
374
- });
375
- const response = await this.host.sendCommand(cc, this.commandOptions);
376
- if (response) {
377
- return pick(response, [
378
- "manufacturerId",
379
- "firmwareId",
380
- "checksum",
381
- "firmwareUpgradable",
382
- "maxFragmentSize",
383
- "additionalFirmwareIDs",
384
- "hardwareVersion",
385
- "continuesToFunction",
386
- "supportsActivation",
387
- "supportsResuming",
388
- "supportsNonSecureTransfer",
389
- ]);
374
+ let FirmwareUpdateMetaDataCCAPI = (() => {
375
+ let _classDecorators = [API(CommandClasses["Firmware Update Meta Data"])];
376
+ let _classDescriptor;
377
+ let _classExtraInitializers = [];
378
+ let _classThis;
379
+ let _classSuper = PhysicalCCAPI;
380
+ var FirmwareUpdateMetaDataCCAPI = class extends _classSuper {
381
+ static { _classThis = this; }
382
+ static {
383
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
384
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
385
+ FirmwareUpdateMetaDataCCAPI = _classThis = _classDescriptor.value;
386
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
387
+ __runInitializers(_classThis, _classExtraInitializers);
388
+ }
389
+ supportsCommand(cmd) {
390
+ switch (cmd) {
391
+ case FirmwareUpdateMetaDataCommand.MetaDataGet:
392
+ case FirmwareUpdateMetaDataCommand.MetaDataReport:
393
+ case FirmwareUpdateMetaDataCommand.RequestGet:
394
+ case FirmwareUpdateMetaDataCommand.Report:
395
+ case FirmwareUpdateMetaDataCommand.StatusReport:
396
+ return true;
397
+ case FirmwareUpdateMetaDataCommand.ActivationSet:
398
+ return (this.version >= 4
399
+ && (this.version < 7
400
+ || this.tryGetValueDB()?.getValue(FirmwareUpdateMetaDataCCValues
401
+ .supportsActivation.endpoint(this.endpoint.index)) === true));
402
+ case FirmwareUpdateMetaDataCommand.PrepareGet:
403
+ return this.version >= 5;
404
+ }
405
+ return super.supportsCommand(cmd);
406
+ }
407
+ /**
408
+ * Requests information about the current firmware on the device
409
+ */
410
+ async getMetaData() {
411
+ this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.MetaDataGet);
412
+ const cc = new FirmwareUpdateMetaDataCCMetaDataGet({
413
+ nodeId: this.endpoint.nodeId,
414
+ endpointIndex: this.endpoint.index,
415
+ });
416
+ const response = await this.host.sendCommand(cc, this.commandOptions);
417
+ if (response) {
418
+ return pick(response, [
419
+ "manufacturerId",
420
+ "firmwareId",
421
+ "checksum",
422
+ "firmwareUpgradable",
423
+ "maxFragmentSize",
424
+ "additionalFirmwareIDs",
425
+ "hardwareVersion",
426
+ "continuesToFunction",
427
+ "supportsActivation",
428
+ "supportsResuming",
429
+ "supportsNonSecureTransfer",
430
+ ]);
431
+ }
390
432
  }
391
- }
392
- async reportMetaData(options) {
393
- __assertType("options", "FirmwareUpdateMetaDataCCMetaDataReportOptions", __assertType__FirmwareUpdateMetaDataCCMetaDataReportOptions.bind(void 0, options));
394
- this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.Report);
395
- const cc = new FirmwareUpdateMetaDataCCMetaDataReport({
396
- nodeId: this.endpoint.nodeId,
397
- endpointIndex: this.endpoint.index,
398
- ...options,
399
- });
400
- await this.host.sendCommand(cc, this.commandOptions);
401
- }
402
- /**
403
- * Requests the device to start the firmware update process.
404
- * This does not wait for the reply - that is up to the caller of this method.
405
- */
406
- async requestUpdate(options) {
407
- __assertType("options", "FirmwareUpdateMetaDataCCRequestGetOptions", __assertType__FirmwareUpdateMetaDataCCRequestGetOptions.bind(void 0, options));
408
- this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.RequestGet);
409
- const cc = new FirmwareUpdateMetaDataCCRequestGet({
410
- nodeId: this.endpoint.nodeId,
411
- endpointIndex: this.endpoint.index,
412
- ...options,
413
- });
414
- await this.host.sendCommand(cc, {
415
- ...this.commandOptions,
416
- // Do not wait for Nonce Reports
417
- s2VerifyDelivery: false,
418
- });
419
- }
420
- /**
421
- * Sends a fragment of the new firmware to the device
422
- */
423
- async sendFirmwareFragment(fragmentNumber, isLastFragment, data) {
424
- __assertType("fragmentNumber", "number", __assertType__number.bind(void 0, fragmentNumber));
425
- __assertType("isLastFragment", "boolean", __assertType__boolean.bind(void 0, isLastFragment));
426
- __assertType("data", "Uint8Array", __assertType__Uint8Array.bind(void 0, data));
427
- this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.Report);
428
- const cc = new FirmwareUpdateMetaDataCCReport({
429
- nodeId: this.endpoint.nodeId,
430
- endpointIndex: this.endpoint.index,
431
- reportNumber: fragmentNumber,
432
- isLast: isLastFragment,
433
- firmwareData: data,
434
- });
435
- await this.host.sendCommand(cc, {
436
- ...this.commandOptions,
437
- // Do not wait for Nonce Reports
438
- s2VerifyDelivery: false,
439
- });
440
- }
441
- /** Activates a previously transferred firmware image */
442
- async activateFirmware(options) {
443
- __assertType("options", "FirmwareUpdateMetaDataCCActivationSetOptions", __assertType__FirmwareUpdateMetaDataCCActivationSetOptions.bind(void 0, options));
444
- this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.ActivationSet);
445
- const cc = new FirmwareUpdateMetaDataCCActivationSet({
446
- nodeId: this.endpoint.nodeId,
447
- endpointIndex: this.endpoint.index,
448
- ...options,
449
- });
450
- const response = await this.host.sendCommand(cc, this.commandOptions);
451
- return response?.activationStatus;
452
- }
453
- };
454
- FirmwareUpdateMetaDataCCAPI = __decorate([
455
- API(CommandClasses["Firmware Update Meta Data"])
456
- ], FirmwareUpdateMetaDataCCAPI);
433
+ async reportMetaData(options) {
434
+ __assertType("options", "FirmwareUpdateMetaDataCCMetaDataReportOptions", __assertType__FirmwareUpdateMetaDataCCMetaDataReportOptions.bind(void 0, options));
435
+ this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.Report);
436
+ const cc = new FirmwareUpdateMetaDataCCMetaDataReport({
437
+ nodeId: this.endpoint.nodeId,
438
+ endpointIndex: this.endpoint.index,
439
+ ...options,
440
+ });
441
+ await this.host.sendCommand(cc, this.commandOptions);
442
+ }
443
+ /**
444
+ * Requests the device to start the firmware update process.
445
+ * This does not wait for the reply - that is up to the caller of this method.
446
+ */
447
+ async requestUpdate(options) {
448
+ __assertType("options", "FirmwareUpdateMetaDataCCRequestGetOptions", __assertType__FirmwareUpdateMetaDataCCRequestGetOptions.bind(void 0, options));
449
+ this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.RequestGet);
450
+ const cc = new FirmwareUpdateMetaDataCCRequestGet({
451
+ nodeId: this.endpoint.nodeId,
452
+ endpointIndex: this.endpoint.index,
453
+ ...options,
454
+ });
455
+ await this.host.sendCommand(cc, {
456
+ ...this.commandOptions,
457
+ // Do not wait for Nonce Reports
458
+ s2VerifyDelivery: false,
459
+ });
460
+ }
461
+ /**
462
+ * Sends a fragment of the new firmware to the device
463
+ */
464
+ async sendFirmwareFragment(fragmentNumber, isLastFragment, data) {
465
+ __assertType("fragmentNumber", "number", __assertType__number.bind(void 0, fragmentNumber));
466
+ __assertType("isLastFragment", "boolean", __assertType__boolean.bind(void 0, isLastFragment));
467
+ __assertType("data", "Uint8Array", __assertType__Uint8Array.bind(void 0, data));
468
+ this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.Report);
469
+ const cc = new FirmwareUpdateMetaDataCCReport({
470
+ nodeId: this.endpoint.nodeId,
471
+ endpointIndex: this.endpoint.index,
472
+ reportNumber: fragmentNumber,
473
+ isLast: isLastFragment,
474
+ firmwareData: data,
475
+ });
476
+ await this.host.sendCommand(cc, {
477
+ ...this.commandOptions,
478
+ // Do not wait for Nonce Reports
479
+ s2VerifyDelivery: false,
480
+ });
481
+ }
482
+ /** Activates a previously transferred firmware image */
483
+ async activateFirmware(options) {
484
+ __assertType("options", "FirmwareUpdateMetaDataCCActivationSetOptions", __assertType__FirmwareUpdateMetaDataCCActivationSetOptions.bind(void 0, options));
485
+ this.assertSupportsCommand(FirmwareUpdateMetaDataCommand, FirmwareUpdateMetaDataCommand.ActivationSet);
486
+ const cc = new FirmwareUpdateMetaDataCCActivationSet({
487
+ nodeId: this.endpoint.nodeId,
488
+ endpointIndex: this.endpoint.index,
489
+ ...options,
490
+ });
491
+ const response = await this.host.sendCommand(cc, this.commandOptions);
492
+ return response?.activationStatus;
493
+ }
494
+ };
495
+ return FirmwareUpdateMetaDataCCAPI = _classThis;
496
+ })();
457
497
  export { FirmwareUpdateMetaDataCCAPI };
458
- let FirmwareUpdateMetaDataCC = class FirmwareUpdateMetaDataCC extends CommandClass {
459
- skipEndpointInterview() {
460
- return true;
461
- }
462
- async interview(ctx) {
463
- const node = this.getNode(ctx);
464
- const endpoint = this.getEndpoint(ctx);
465
- const api = CCAPI.create(CommandClasses["Firmware Update Meta Data"], ctx, endpoint).withOptions({
466
- priority: MessagePriority.NodeQuery,
467
- });
468
- ctx.logNode(node.id, {
469
- endpoint: this.endpointIndex,
470
- message: `Interviewing ${this.ccName}...`,
471
- direction: "none",
472
- });
473
- ctx.logNode(node.id, {
474
- endpoint: this.endpointIndex,
475
- message: "Querying firmware update capabilities...",
476
- direction: "outbound",
477
- });
478
- const caps = await api.getMetaData();
479
- if (caps) {
480
- let logMessage = `Received firmware update capabilities:`;
481
- if (caps.firmwareUpgradable) {
482
- logMessage += `
498
+ let FirmwareUpdateMetaDataCC = (() => {
499
+ let _classDecorators = [commandClass(CommandClasses["Firmware Update Meta Data"]), implementedVersion(8), ccValues(FirmwareUpdateMetaDataCCValues)];
500
+ let _classDescriptor;
501
+ let _classExtraInitializers = [];
502
+ let _classThis;
503
+ let _classSuper = CommandClass;
504
+ var FirmwareUpdateMetaDataCC = class extends _classSuper {
505
+ static { _classThis = this; }
506
+ static {
507
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
508
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
509
+ FirmwareUpdateMetaDataCC = _classThis = _classDescriptor.value;
510
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
511
+ __runInitializers(_classThis, _classExtraInitializers);
512
+ }
513
+ skipEndpointInterview() {
514
+ return true;
515
+ }
516
+ async interview(ctx) {
517
+ const node = this.getNode(ctx);
518
+ const endpoint = this.getEndpoint(ctx);
519
+ const api = CCAPI.create(CommandClasses["Firmware Update Meta Data"], ctx, endpoint).withOptions({
520
+ priority: MessagePriority.NodeQuery,
521
+ });
522
+ ctx.logNode(node.id, {
523
+ endpoint: this.endpointIndex,
524
+ message: `Interviewing ${this.ccName}...`,
525
+ direction: "none",
526
+ });
527
+ ctx.logNode(node.id, {
528
+ endpoint: this.endpointIndex,
529
+ message: "Querying firmware update capabilities...",
530
+ direction: "outbound",
531
+ });
532
+ const caps = await api.getMetaData();
533
+ if (caps) {
534
+ let logMessage = `Received firmware update capabilities:`;
535
+ if (caps.firmwareUpgradable) {
536
+ logMessage += `
483
537
  firmware targets: ${[0, ...caps.additionalFirmwareIDs].join(", ")}
484
538
  continues to function: ${caps.continuesToFunction}
485
539
  supports activation: ${caps.supportsActivation}`;
486
- if (caps.supportsResuming != undefined) {
487
- logMessage += `
540
+ if (caps.supportsResuming != undefined) {
541
+ logMessage += `
488
542
  supports resuming: ${caps.supportsResuming}`;
489
- }
490
- if (caps.supportsNonSecureTransfer != undefined) {
491
- logMessage += `
543
+ }
544
+ if (caps.supportsNonSecureTransfer != undefined) {
545
+ logMessage += `
492
546
  supports non-secure transfer: ${caps.supportsNonSecureTransfer}`;
547
+ }
493
548
  }
549
+ else {
550
+ logMessage += `\nfirmware upgradeable: false`;
551
+ }
552
+ ctx.logNode(node.id, {
553
+ endpoint: this.endpointIndex,
554
+ message: logMessage,
555
+ direction: "inbound",
556
+ });
494
557
  }
495
558
  else {
496
- logMessage += `\nfirmware upgradeable: false`;
559
+ ctx.logNode(node.id, {
560
+ endpoint: this.endpointIndex,
561
+ message: "Firmware update capability query timed out",
562
+ direction: "inbound",
563
+ });
497
564
  }
498
- ctx.logNode(node.id, {
499
- endpoint: this.endpointIndex,
500
- message: logMessage,
501
- direction: "inbound",
502
- });
503
- }
504
- else {
505
- ctx.logNode(node.id, {
506
- endpoint: this.endpointIndex,
507
- message: "Firmware update capability query timed out",
508
- direction: "inbound",
509
- });
565
+ // Remember that the interview is complete
566
+ this.setInterviewComplete(ctx, true);
510
567
  }
511
- // Remember that the interview is complete
512
- this.setInterviewComplete(ctx, true);
513
- }
514
- };
515
- FirmwareUpdateMetaDataCC = __decorate([
516
- commandClass(CommandClasses["Firmware Update Meta Data"]),
517
- implementedVersion(8),
518
- ccValues(FirmwareUpdateMetaDataCCValues)
519
- ], FirmwareUpdateMetaDataCC);
568
+ };
569
+ return FirmwareUpdateMetaDataCC = _classThis;
570
+ })();
520
571
  export { FirmwareUpdateMetaDataCC };
521
- let FirmwareUpdateMetaDataCCMetaDataReport = FirmwareUpdateMetaDataCCMetaDataReport_1 = class FirmwareUpdateMetaDataCCMetaDataReport extends FirmwareUpdateMetaDataCC {
522
- constructor(options) {
523
- super(options);
524
- this.manufacturerId = options.manufacturerId;
525
- this.firmwareId = options.firmwareId ?? 0;
526
- this.checksum = options.checksum ?? 0;
527
- this.firmwareUpgradable = options.firmwareUpgradable;
528
- this.maxFragmentSize = options.maxFragmentSize;
529
- this.additionalFirmwareIDs = options.additionalFirmwareIDs ?? [];
530
- this.hardwareVersion = options.hardwareVersion;
531
- this.continuesToFunction = options.continuesToFunction;
532
- this.supportsActivation = options.supportsActivation;
533
- this.supportsResuming = options.supportsResuming;
534
- this.supportsNonSecureTransfer = options.supportsNonSecureTransfer;
535
- }
536
- static from(raw, ctx) {
537
- validatePayload(raw.payload.length >= 6);
538
- const manufacturerId = raw.payload.readUInt16BE(0);
539
- const firmwareId = raw.payload.readUInt16BE(2);
540
- const checksum = raw.payload.readUInt16BE(4);
541
- // V1/V2 only have a single firmware which must be upgradable
542
- const firmwareUpgradable = raw.payload[6] === 0xff
543
- || raw.payload[6] == undefined;
544
- let maxFragmentSize;
545
- let additionalFirmwareIDs;
546
- let hardwareVersion;
547
- let continuesToFunction;
548
- let supportsActivation;
549
- let supportsResuming;
550
- let supportsNonSecureTransfer;
551
- if (raw.payload.length >= 10) {
552
- // V3+
553
- maxFragmentSize = raw.payload.readUInt16BE(8);
554
- // Read variable length list of additional firmwares
555
- const numAdditionalFirmwares = raw.payload[7];
556
- additionalFirmwareIDs = [];
557
- validatePayload(raw.payload.length >= 10 + 2 * numAdditionalFirmwares);
558
- for (let i = 0; i < numAdditionalFirmwares; i++) {
559
- additionalFirmwareIDs.push(raw.payload.readUInt16BE(10 + 2 * i));
560
- }
561
- // Read hardware version (if it exists)
562
- let offset = 10 + 2 * numAdditionalFirmwares;
563
- if (raw.payload.length >= offset + 1) {
564
- // V5+
565
- hardwareVersion = raw.payload[offset];
566
- offset++;
572
+ let FirmwareUpdateMetaDataCCMetaDataReport = (() => {
573
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.MetaDataReport), ccValueProperty("firmwareUpgradable", FirmwareUpdateMetaDataCCValues.firmwareUpgradable), ccValueProperty("additionalFirmwareIDs", FirmwareUpdateMetaDataCCValues.additionalFirmwareIDs), ccValueProperty("continuesToFunction", FirmwareUpdateMetaDataCCValues.continuesToFunction), ccValueProperty("supportsActivation", FirmwareUpdateMetaDataCCValues.supportsActivation), ccValueProperty("supportsResuming", FirmwareUpdateMetaDataCCValues.supportsResuming), ccValueProperty("supportsNonSecureTransfer", FirmwareUpdateMetaDataCCValues.supportsNonSecureTransfer)];
574
+ let _classDescriptor;
575
+ let _classExtraInitializers = [];
576
+ let _classThis;
577
+ let _classSuper = FirmwareUpdateMetaDataCC;
578
+ var FirmwareUpdateMetaDataCCMetaDataReport = class extends _classSuper {
579
+ static { _classThis = this; }
580
+ static {
581
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
582
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
583
+ FirmwareUpdateMetaDataCCMetaDataReport = _classThis = _classDescriptor.value;
584
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
585
+ __runInitializers(_classThis, _classExtraInitializers);
586
+ }
587
+ constructor(options) {
588
+ super(options);
589
+ this.manufacturerId = options.manufacturerId;
590
+ this.firmwareId = options.firmwareId ?? 0;
591
+ this.checksum = options.checksum ?? 0;
592
+ this.firmwareUpgradable = options.firmwareUpgradable;
593
+ this.maxFragmentSize = options.maxFragmentSize;
594
+ this.additionalFirmwareIDs = options.additionalFirmwareIDs ?? [];
595
+ this.hardwareVersion = options.hardwareVersion;
596
+ this.continuesToFunction = options.continuesToFunction;
597
+ this.supportsActivation = options.supportsActivation;
598
+ this.supportsResuming = options.supportsResuming;
599
+ this.supportsNonSecureTransfer = options.supportsNonSecureTransfer;
600
+ }
601
+ static from(raw, ctx) {
602
+ validatePayload(raw.payload.length >= 6);
603
+ const manufacturerId = raw.payload.readUInt16BE(0);
604
+ const firmwareId = raw.payload.readUInt16BE(2);
605
+ const checksum = raw.payload.readUInt16BE(4);
606
+ // V1/V2 only have a single firmware which must be upgradable
607
+ const firmwareUpgradable = raw.payload[6] === 0xff
608
+ || raw.payload[6] == undefined;
609
+ let maxFragmentSize;
610
+ let additionalFirmwareIDs;
611
+ let hardwareVersion;
612
+ let continuesToFunction;
613
+ let supportsActivation;
614
+ let supportsResuming;
615
+ let supportsNonSecureTransfer;
616
+ if (raw.payload.length >= 10) {
617
+ // V3+
618
+ maxFragmentSize = raw.payload.readUInt16BE(8);
619
+ // Read variable length list of additional firmwares
620
+ const numAdditionalFirmwares = raw.payload[7];
621
+ additionalFirmwareIDs = [];
622
+ validatePayload(raw.payload.length >= 10 + 2 * numAdditionalFirmwares);
623
+ for (let i = 0; i < numAdditionalFirmwares; i++) {
624
+ additionalFirmwareIDs.push(raw.payload.readUInt16BE(10 + 2 * i));
625
+ }
626
+ // Read hardware version (if it exists)
627
+ let offset = 10 + 2 * numAdditionalFirmwares;
567
628
  if (raw.payload.length >= offset + 1) {
568
- // V6+
569
- const capabilities = raw.payload[offset];
629
+ // V5+
630
+ hardwareVersion = raw.payload[offset];
570
631
  offset++;
571
- continuesToFunction = !!(capabilities & 0b1);
572
- // V7+
573
- supportsActivation = !!(capabilities & 0b10);
574
- // V8+
575
- supportsResuming = !!(capabilities & 0b1000);
576
- supportsNonSecureTransfer = !!(capabilities & 0b100);
632
+ if (raw.payload.length >= offset + 1) {
633
+ // V6+
634
+ const capabilities = raw.payload[offset];
635
+ offset++;
636
+ continuesToFunction = !!(capabilities & 0b1);
637
+ // V7+
638
+ supportsActivation = !!(capabilities & 0b10);
639
+ // V8+
640
+ supportsResuming = !!(capabilities & 0b1000);
641
+ supportsNonSecureTransfer = !!(capabilities & 0b100);
642
+ }
577
643
  }
578
644
  }
645
+ return new this({
646
+ nodeId: ctx.sourceNodeId,
647
+ manufacturerId,
648
+ firmwareId,
649
+ checksum,
650
+ firmwareUpgradable,
651
+ maxFragmentSize,
652
+ additionalFirmwareIDs,
653
+ hardwareVersion,
654
+ continuesToFunction,
655
+ supportsActivation,
656
+ supportsResuming,
657
+ supportsNonSecureTransfer,
658
+ });
579
659
  }
580
- return new FirmwareUpdateMetaDataCCMetaDataReport_1({
581
- nodeId: ctx.sourceNodeId,
582
- manufacturerId,
583
- firmwareId,
584
- checksum,
585
- firmwareUpgradable,
586
- maxFragmentSize,
587
- additionalFirmwareIDs,
588
- hardwareVersion,
589
- continuesToFunction,
590
- supportsActivation,
591
- supportsResuming,
592
- supportsNonSecureTransfer,
593
- });
594
- }
595
- manufacturerId;
596
- firmwareId;
597
- checksum;
598
- firmwareUpgradable;
599
- maxFragmentSize;
600
- additionalFirmwareIDs = [];
601
- hardwareVersion;
602
- continuesToFunction;
603
- supportsActivation;
604
- supportsResuming;
605
- supportsNonSecureTransfer;
606
- serialize(ctx) {
607
- this.payload = Bytes.alloc(12 + 2 * this.additionalFirmwareIDs.length);
608
- this.payload.writeUInt16BE(this.manufacturerId, 0);
609
- this.payload.writeUInt16BE(this.firmwareId, 2);
610
- this.payload.writeUInt16BE(this.checksum, 4);
611
- this.payload[6] = this.firmwareUpgradable ? 0xff : 0;
612
- this.payload[7] = this.additionalFirmwareIDs.length;
613
- this.payload.writeUInt16BE(this.maxFragmentSize ?? 0xff, 8);
614
- let offset = 10;
615
- for (const id of this.additionalFirmwareIDs) {
616
- this.payload.writeUInt16BE(id, offset);
617
- offset += 2;
618
- }
619
- this.payload[offset++] = this.hardwareVersion ?? 0xff;
620
- this.payload[offset++] = (this.continuesToFunction ? 0b1 : 0)
621
- | (this.supportsActivation ? 0b10 : 0)
622
- | (this.supportsNonSecureTransfer ? 0b100 : 0)
623
- | (this.supportsResuming ? 0b1000 : 0);
624
- return super.serialize(ctx);
625
- }
626
- toLogEntry(ctx) {
627
- const message = {
628
- "manufacturer id": this.manufacturerId,
629
- "firmware id": this.firmwareId,
630
- checksum: this.checksum,
631
- "firmware upgradable": this.firmwareUpgradable,
632
- };
633
- if (this.maxFragmentSize != undefined) {
634
- message["max fragment size"] = this.maxFragmentSize;
635
- }
636
- if (this.additionalFirmwareIDs.length) {
637
- message["additional firmware IDs"] = JSON.stringify(this.additionalFirmwareIDs);
638
- }
639
- if (this.hardwareVersion != undefined) {
640
- message["hardware version"] = this.hardwareVersion;
641
- }
642
- if (this.continuesToFunction != undefined) {
643
- message["continues to function"] = this.continuesToFunction;
644
- }
645
- if (this.supportsActivation != undefined) {
646
- message["supports activation"] = this.supportsActivation;
647
- }
648
- if (this.supportsResuming != undefined) {
649
- message["supports resuming"] = this.supportsResuming;
650
- }
651
- if (this.supportsNonSecureTransfer != undefined) {
652
- message["supports non-secure transfer"] =
653
- this.supportsNonSecureTransfer;
654
- }
655
- return {
656
- ...super.toLogEntry(ctx),
657
- message,
658
- };
659
- }
660
- };
661
- __decorate([
662
- ccValue(FirmwareUpdateMetaDataCCValues.firmwareUpgradable)
663
- ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "firmwareUpgradable", void 0);
664
- __decorate([
665
- ccValue(FirmwareUpdateMetaDataCCValues.additionalFirmwareIDs)
666
- ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "additionalFirmwareIDs", void 0);
667
- __decorate([
668
- ccValue(FirmwareUpdateMetaDataCCValues.continuesToFunction)
669
- ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "continuesToFunction", void 0);
670
- __decorate([
671
- ccValue(FirmwareUpdateMetaDataCCValues.supportsActivation)
672
- ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "supportsActivation", void 0);
673
- __decorate([
674
- ccValue(FirmwareUpdateMetaDataCCValues.supportsResuming)
675
- ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "supportsResuming", void 0);
676
- __decorate([
677
- ccValue(FirmwareUpdateMetaDataCCValues.supportsNonSecureTransfer)
678
- ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "supportsNonSecureTransfer", void 0);
679
- FirmwareUpdateMetaDataCCMetaDataReport = FirmwareUpdateMetaDataCCMetaDataReport_1 = __decorate([
680
- CCCommand(FirmwareUpdateMetaDataCommand.MetaDataReport)
681
- ], FirmwareUpdateMetaDataCCMetaDataReport);
660
+ manufacturerId;
661
+ firmwareId;
662
+ checksum;
663
+ firmwareUpgradable;
664
+ maxFragmentSize;
665
+ additionalFirmwareIDs = [];
666
+ hardwareVersion;
667
+ continuesToFunction;
668
+ supportsActivation;
669
+ supportsResuming;
670
+ supportsNonSecureTransfer;
671
+ serialize(ctx) {
672
+ this.payload = Bytes.alloc(12 + 2 * this.additionalFirmwareIDs.length);
673
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
674
+ this.payload.writeUInt16BE(this.firmwareId, 2);
675
+ this.payload.writeUInt16BE(this.checksum, 4);
676
+ this.payload[6] = this.firmwareUpgradable ? 0xff : 0;
677
+ this.payload[7] = this.additionalFirmwareIDs.length;
678
+ this.payload.writeUInt16BE(this.maxFragmentSize ?? 0xff, 8);
679
+ let offset = 10;
680
+ for (const id of this.additionalFirmwareIDs) {
681
+ this.payload.writeUInt16BE(id, offset);
682
+ offset += 2;
683
+ }
684
+ this.payload[offset++] = this.hardwareVersion ?? 0xff;
685
+ this.payload[offset++] = (this.continuesToFunction ? 0b1 : 0)
686
+ | (this.supportsActivation ? 0b10 : 0)
687
+ | (this.supportsNonSecureTransfer ? 0b100 : 0)
688
+ | (this.supportsResuming ? 0b1000 : 0);
689
+ return super.serialize(ctx);
690
+ }
691
+ toLogEntry(ctx) {
692
+ const message = {
693
+ "manufacturer id": this.manufacturerId,
694
+ "firmware id": this.firmwareId,
695
+ checksum: this.checksum,
696
+ "firmware upgradable": this.firmwareUpgradable,
697
+ };
698
+ if (this.maxFragmentSize != undefined) {
699
+ message["max fragment size"] = this.maxFragmentSize;
700
+ }
701
+ if (this.additionalFirmwareIDs.length) {
702
+ message["additional firmware IDs"] = JSON.stringify(this.additionalFirmwareIDs);
703
+ }
704
+ if (this.hardwareVersion != undefined) {
705
+ message["hardware version"] = this.hardwareVersion;
706
+ }
707
+ if (this.continuesToFunction != undefined) {
708
+ message["continues to function"] = this.continuesToFunction;
709
+ }
710
+ if (this.supportsActivation != undefined) {
711
+ message["supports activation"] = this.supportsActivation;
712
+ }
713
+ if (this.supportsResuming != undefined) {
714
+ message["supports resuming"] = this.supportsResuming;
715
+ }
716
+ if (this.supportsNonSecureTransfer != undefined) {
717
+ message["supports non-secure transfer"] =
718
+ this.supportsNonSecureTransfer;
719
+ }
720
+ return {
721
+ ...super.toLogEntry(ctx),
722
+ message,
723
+ };
724
+ }
725
+ };
726
+ return FirmwareUpdateMetaDataCCMetaDataReport = _classThis;
727
+ })();
682
728
  export { FirmwareUpdateMetaDataCCMetaDataReport };
683
- let FirmwareUpdateMetaDataCCMetaDataGet = class FirmwareUpdateMetaDataCCMetaDataGet extends FirmwareUpdateMetaDataCC {
684
- };
685
- FirmwareUpdateMetaDataCCMetaDataGet = __decorate([
686
- CCCommand(FirmwareUpdateMetaDataCommand.MetaDataGet),
687
- expectedCCResponse(FirmwareUpdateMetaDataCCMetaDataReport)
688
- ], FirmwareUpdateMetaDataCCMetaDataGet);
729
+ let FirmwareUpdateMetaDataCCMetaDataGet = (() => {
730
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.MetaDataGet), expectedCCResponse(FirmwareUpdateMetaDataCCMetaDataReport)];
731
+ let _classDescriptor;
732
+ let _classExtraInitializers = [];
733
+ let _classThis;
734
+ let _classSuper = FirmwareUpdateMetaDataCC;
735
+ var FirmwareUpdateMetaDataCCMetaDataGet = class extends _classSuper {
736
+ static { _classThis = this; }
737
+ static {
738
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
739
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
740
+ FirmwareUpdateMetaDataCCMetaDataGet = _classThis = _classDescriptor.value;
741
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
742
+ __runInitializers(_classThis, _classExtraInitializers);
743
+ }
744
+ };
745
+ return FirmwareUpdateMetaDataCCMetaDataGet = _classThis;
746
+ })();
689
747
  export { FirmwareUpdateMetaDataCCMetaDataGet };
690
- let FirmwareUpdateMetaDataCCRequestReport = FirmwareUpdateMetaDataCCRequestReport_1 = class FirmwareUpdateMetaDataCCRequestReport extends FirmwareUpdateMetaDataCC {
691
- constructor(options) {
692
- super(options);
693
- // TODO: Check implementation:
694
- this.status = options.status;
695
- this.resume = options.resume;
696
- this.nonSecureTransfer = options.nonSecureTransfer;
697
- }
698
- static from(raw, ctx) {
699
- validatePayload(raw.payload.length >= 1);
700
- const status = raw.payload[0];
701
- let resume;
702
- let nonSecureTransfer;
703
- if (raw.payload.length >= 2) {
704
- resume = !!(raw.payload[1] & 0b100);
705
- nonSecureTransfer = !!(raw.payload[1] & 0b10);
706
- }
707
- return new FirmwareUpdateMetaDataCCRequestReport_1({
708
- nodeId: ctx.sourceNodeId,
709
- status,
710
- resume,
711
- nonSecureTransfer,
712
- });
713
- }
714
- status;
715
- resume;
716
- nonSecureTransfer;
717
- toLogEntry(ctx) {
718
- const message = {
719
- status: getEnumMemberName(FirmwareUpdateRequestStatus, this.status),
720
- };
721
- if (this.resume != undefined) {
722
- message.resume = this.resume;
723
- }
724
- if (this.nonSecureTransfer != undefined) {
725
- message["non-secure transfer"] = this.nonSecureTransfer;
726
- }
727
- return {
728
- ...super.toLogEntry(ctx),
729
- message,
730
- };
731
- }
732
- };
733
- FirmwareUpdateMetaDataCCRequestReport = FirmwareUpdateMetaDataCCRequestReport_1 = __decorate([
734
- CCCommand(FirmwareUpdateMetaDataCommand.RequestReport)
735
- ], FirmwareUpdateMetaDataCCRequestReport);
736
- export { FirmwareUpdateMetaDataCCRequestReport };
737
- let FirmwareUpdateMetaDataCCRequestGet = class FirmwareUpdateMetaDataCCRequestGet extends FirmwareUpdateMetaDataCC {
738
- constructor(options) {
739
- super(options);
740
- this.manufacturerId = options.manufacturerId;
741
- this.firmwareId = options.firmwareId;
742
- this.checksum = options.checksum;
743
- if ("firmwareTarget" in options) {
744
- this.firmwareTarget = options.firmwareTarget;
745
- this.fragmentSize = options.fragmentSize;
746
- this.activation = options.activation ?? false;
747
- this.hardwareVersion = options.hardwareVersion;
748
+ let FirmwareUpdateMetaDataCCRequestReport = (() => {
749
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.RequestReport)];
750
+ let _classDescriptor;
751
+ let _classExtraInitializers = [];
752
+ let _classThis;
753
+ let _classSuper = FirmwareUpdateMetaDataCC;
754
+ var FirmwareUpdateMetaDataCCRequestReport = class extends _classSuper {
755
+ static { _classThis = this; }
756
+ static {
757
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
758
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
759
+ FirmwareUpdateMetaDataCCRequestReport = _classThis = _classDescriptor.value;
760
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
761
+ __runInitializers(_classThis, _classExtraInitializers);
762
+ }
763
+ constructor(options) {
764
+ super(options);
765
+ // TODO: Check implementation:
766
+ this.status = options.status;
748
767
  this.resume = options.resume;
749
768
  this.nonSecureTransfer = options.nonSecureTransfer;
750
769
  }
751
- }
752
- static from(_raw, _ctx) {
753
- // TODO: Deserialize payload
754
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
755
- // return new FirmwareUpdateMetaDataCCRequestGet({
756
- // nodeId: ctx.sourceNodeId,
757
- // });
758
- }
759
- manufacturerId;
760
- firmwareId;
761
- checksum;
762
- firmwareTarget;
763
- fragmentSize;
764
- activation;
765
- hardwareVersion;
766
- resume;
767
- nonSecureTransfer;
768
- serialize(ctx) {
769
- this.payload = Bytes.alloc(11, 0);
770
- this.payload.writeUInt16BE(this.manufacturerId, 0);
771
- this.payload.writeUInt16BE(this.firmwareId, 2);
772
- this.payload.writeUInt16BE(this.checksum, 4);
773
- this.payload[6] = this.firmwareTarget ?? 0;
774
- // 32 seems like a reasonable default fragment size,
775
- // but it should be specified anyways
776
- this.payload.writeUInt16BE(this.fragmentSize ?? 32, 7);
777
- this.payload[9] = (this.activation ? 0b1 : 0)
778
- | (this.nonSecureTransfer ? 0b10 : 0)
779
- | (this.resume ? 0b100 : 0);
780
- this.payload[10] = this.hardwareVersion ?? 0x00;
781
- return super.serialize(ctx);
782
- }
783
- toLogEntry(ctx) {
784
- const message = {
785
- "manufacturer id": num2hex(this.manufacturerId),
786
- "firmware id": num2hex(this.firmwareId),
787
- checksum: num2hex(this.checksum),
788
- };
789
- if (this.firmwareTarget != undefined) {
790
- message["firmware target"] = this.firmwareTarget;
791
- }
792
- if (this.fragmentSize != undefined) {
793
- message["fragment size"] = this.fragmentSize;
794
- }
795
- if (this.activation != undefined) {
796
- message.activation = this.activation;
797
- }
798
- if (this.resume != undefined) {
799
- message.resume = this.resume;
800
- }
801
- if (this.nonSecureTransfer != undefined) {
802
- message["non-secure transfer"] = this.nonSecureTransfer;
803
- }
804
- if (this.hardwareVersion != undefined) {
805
- message["hardware version"] = this.hardwareVersion;
806
- }
807
- return {
808
- ...super.toLogEntry(ctx),
809
- message,
810
- };
811
- }
812
- };
813
- FirmwareUpdateMetaDataCCRequestGet = __decorate([
814
- CCCommand(FirmwareUpdateMetaDataCommand.RequestGet)
815
- // This would expect a FirmwareUpdateMetaDataCCRequestReport, but the response may take
816
- // a while to come. We don't want to block communication, so we don't expect a response here
817
- ], FirmwareUpdateMetaDataCCRequestGet);
770
+ static from(raw, ctx) {
771
+ validatePayload(raw.payload.length >= 1);
772
+ const status = raw.payload[0];
773
+ let resume;
774
+ let nonSecureTransfer;
775
+ if (raw.payload.length >= 2) {
776
+ resume = !!(raw.payload[1] & 0b100);
777
+ nonSecureTransfer = !!(raw.payload[1] & 0b10);
778
+ }
779
+ return new this({
780
+ nodeId: ctx.sourceNodeId,
781
+ status,
782
+ resume,
783
+ nonSecureTransfer,
784
+ });
785
+ }
786
+ status;
787
+ resume;
788
+ nonSecureTransfer;
789
+ toLogEntry(ctx) {
790
+ const message = {
791
+ status: getEnumMemberName(FirmwareUpdateRequestStatus, this.status),
792
+ };
793
+ if (this.resume != undefined) {
794
+ message.resume = this.resume;
795
+ }
796
+ if (this.nonSecureTransfer != undefined) {
797
+ message["non-secure transfer"] = this.nonSecureTransfer;
798
+ }
799
+ return {
800
+ ...super.toLogEntry(ctx),
801
+ message,
802
+ };
803
+ }
804
+ };
805
+ return FirmwareUpdateMetaDataCCRequestReport = _classThis;
806
+ })();
807
+ export { FirmwareUpdateMetaDataCCRequestReport };
808
+ let FirmwareUpdateMetaDataCCRequestGet = (() => {
809
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.RequestGet)];
810
+ let _classDescriptor;
811
+ let _classExtraInitializers = [];
812
+ let _classThis;
813
+ let _classSuper = FirmwareUpdateMetaDataCC;
814
+ var FirmwareUpdateMetaDataCCRequestGet = class extends _classSuper {
815
+ static { _classThis = this; }
816
+ static {
817
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
818
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
819
+ FirmwareUpdateMetaDataCCRequestGet = _classThis = _classDescriptor.value;
820
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
821
+ __runInitializers(_classThis, _classExtraInitializers);
822
+ }
823
+ constructor(options) {
824
+ super(options);
825
+ this.manufacturerId = options.manufacturerId;
826
+ this.firmwareId = options.firmwareId;
827
+ this.checksum = options.checksum;
828
+ if ("firmwareTarget" in options) {
829
+ this.firmwareTarget = options.firmwareTarget;
830
+ this.fragmentSize = options.fragmentSize;
831
+ this.activation = options.activation ?? false;
832
+ this.hardwareVersion = options.hardwareVersion;
833
+ this.resume = options.resume;
834
+ this.nonSecureTransfer = options.nonSecureTransfer;
835
+ }
836
+ }
837
+ static from(_raw, _ctx) {
838
+ // TODO: Deserialize payload
839
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
840
+ // return new FirmwareUpdateMetaDataCCRequestGet({
841
+ // nodeId: ctx.sourceNodeId,
842
+ // });
843
+ }
844
+ manufacturerId;
845
+ firmwareId;
846
+ checksum;
847
+ firmwareTarget;
848
+ fragmentSize;
849
+ activation;
850
+ hardwareVersion;
851
+ resume;
852
+ nonSecureTransfer;
853
+ serialize(ctx) {
854
+ this.payload = Bytes.alloc(11, 0);
855
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
856
+ this.payload.writeUInt16BE(this.firmwareId, 2);
857
+ this.payload.writeUInt16BE(this.checksum, 4);
858
+ this.payload[6] = this.firmwareTarget ?? 0;
859
+ // 32 seems like a reasonable default fragment size,
860
+ // but it should be specified anyways
861
+ this.payload.writeUInt16BE(this.fragmentSize ?? 32, 7);
862
+ this.payload[9] = (this.activation ? 0b1 : 0)
863
+ | (this.nonSecureTransfer ? 0b10 : 0)
864
+ | (this.resume ? 0b100 : 0);
865
+ this.payload[10] = this.hardwareVersion ?? 0x00;
866
+ return super.serialize(ctx);
867
+ }
868
+ toLogEntry(ctx) {
869
+ const message = {
870
+ "manufacturer id": num2hex(this.manufacturerId),
871
+ "firmware id": num2hex(this.firmwareId),
872
+ checksum: num2hex(this.checksum),
873
+ };
874
+ if (this.firmwareTarget != undefined) {
875
+ message["firmware target"] = this.firmwareTarget;
876
+ }
877
+ if (this.fragmentSize != undefined) {
878
+ message["fragment size"] = this.fragmentSize;
879
+ }
880
+ if (this.activation != undefined) {
881
+ message.activation = this.activation;
882
+ }
883
+ if (this.resume != undefined) {
884
+ message.resume = this.resume;
885
+ }
886
+ if (this.nonSecureTransfer != undefined) {
887
+ message["non-secure transfer"] = this.nonSecureTransfer;
888
+ }
889
+ if (this.hardwareVersion != undefined) {
890
+ message["hardware version"] = this.hardwareVersion;
891
+ }
892
+ return {
893
+ ...super.toLogEntry(ctx),
894
+ message,
895
+ };
896
+ }
897
+ };
898
+ return FirmwareUpdateMetaDataCCRequestGet = _classThis;
899
+ })();
818
900
  export { FirmwareUpdateMetaDataCCRequestGet };
819
- let FirmwareUpdateMetaDataCCGet = FirmwareUpdateMetaDataCCGet_1 = class FirmwareUpdateMetaDataCCGet extends FirmwareUpdateMetaDataCC {
820
- constructor(options) {
821
- super(options);
822
- // TODO: Check implementation:
823
- this.numReports = options.numReports;
824
- this.reportNumber = options.reportNumber;
825
- }
826
- static from(raw, ctx) {
827
- validatePayload(raw.payload.length >= 3);
828
- const numReports = raw.payload[0];
829
- const reportNumber = raw.payload.readUInt16BE(1) & 0x7fff;
830
- return new FirmwareUpdateMetaDataCCGet_1({
831
- nodeId: ctx.sourceNodeId,
832
- numReports,
833
- reportNumber,
834
- });
835
- }
836
- numReports;
837
- reportNumber;
838
- toLogEntry(ctx) {
839
- return {
840
- ...super.toLogEntry(ctx),
841
- message: {
842
- "total # of reports": this.numReports,
843
- "report number": this.reportNumber,
844
- },
845
- };
846
- }
847
- };
848
- FirmwareUpdateMetaDataCCGet = FirmwareUpdateMetaDataCCGet_1 = __decorate([
849
- CCCommand(FirmwareUpdateMetaDataCommand.Get)
850
- // This is sent to us from the node, so we expect no response
851
- ], FirmwareUpdateMetaDataCCGet);
901
+ let FirmwareUpdateMetaDataCCGet = (() => {
902
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.Get)];
903
+ let _classDescriptor;
904
+ let _classExtraInitializers = [];
905
+ let _classThis;
906
+ let _classSuper = FirmwareUpdateMetaDataCC;
907
+ var FirmwareUpdateMetaDataCCGet = class extends _classSuper {
908
+ static { _classThis = this; }
909
+ static {
910
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
911
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
912
+ FirmwareUpdateMetaDataCCGet = _classThis = _classDescriptor.value;
913
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
914
+ __runInitializers(_classThis, _classExtraInitializers);
915
+ }
916
+ constructor(options) {
917
+ super(options);
918
+ // TODO: Check implementation:
919
+ this.numReports = options.numReports;
920
+ this.reportNumber = options.reportNumber;
921
+ }
922
+ static from(raw, ctx) {
923
+ validatePayload(raw.payload.length >= 3);
924
+ const numReports = raw.payload[0];
925
+ const reportNumber = raw.payload.readUInt16BE(1) & 0x7fff;
926
+ return new this({
927
+ nodeId: ctx.sourceNodeId,
928
+ numReports,
929
+ reportNumber,
930
+ });
931
+ }
932
+ numReports;
933
+ reportNumber;
934
+ toLogEntry(ctx) {
935
+ return {
936
+ ...super.toLogEntry(ctx),
937
+ message: {
938
+ "total # of reports": this.numReports,
939
+ "report number": this.reportNumber,
940
+ },
941
+ };
942
+ }
943
+ };
944
+ return FirmwareUpdateMetaDataCCGet = _classThis;
945
+ })();
852
946
  export { FirmwareUpdateMetaDataCCGet };
853
- let FirmwareUpdateMetaDataCCReport = class FirmwareUpdateMetaDataCCReport extends FirmwareUpdateMetaDataCC {
854
- constructor(options) {
855
- super(options);
856
- this.reportNumber = options.reportNumber;
857
- this.firmwareData = options.firmwareData;
858
- this.isLast = options.isLast;
859
- }
860
- static from(_raw, _ctx) {
861
- // TODO: Deserialize payload
862
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
863
- // return new FirmwareUpdateMetaDataCCReport({
864
- // nodeId: ctx.sourceNodeId,
865
- // });
866
- }
867
- isLast;
868
- reportNumber;
869
- firmwareData;
870
- serialize(ctx) {
871
- const commandBuffer = Bytes.concat([
872
- new Bytes(2), // placeholder for report number
873
- this.firmwareData,
874
- ]);
875
- commandBuffer.writeUInt16BE((this.reportNumber & 0x7fff) | (this.isLast ? 0x8000 : 0), 0);
876
- // V1 devices would consider the checksum to be part of the firmware data
877
- // so it must not be included for those
878
- const ccVersion = getEffectiveCCVersion(ctx, this);
879
- if (ccVersion >= 2) {
880
- // Compute and save the CRC16 in the payload
881
- // The CC header is included in the CRC computation
882
- let crc = CRC16_CCITT(Bytes.from([this.ccId, this.ccCommand]));
883
- crc = CRC16_CCITT(commandBuffer, crc);
884
- this.payload = Bytes.concat([
885
- commandBuffer,
886
- new Bytes(2),
947
+ let FirmwareUpdateMetaDataCCReport = (() => {
948
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.Report)];
949
+ let _classDescriptor;
950
+ let _classExtraInitializers = [];
951
+ let _classThis;
952
+ let _classSuper = FirmwareUpdateMetaDataCC;
953
+ var FirmwareUpdateMetaDataCCReport = class extends _classSuper {
954
+ static { _classThis = this; }
955
+ static {
956
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
957
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
958
+ FirmwareUpdateMetaDataCCReport = _classThis = _classDescriptor.value;
959
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
960
+ __runInitializers(_classThis, _classExtraInitializers);
961
+ }
962
+ constructor(options) {
963
+ super(options);
964
+ this.reportNumber = options.reportNumber;
965
+ this.firmwareData = options.firmwareData;
966
+ this.isLast = options.isLast;
967
+ }
968
+ static from(_raw, _ctx) {
969
+ // TODO: Deserialize payload
970
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
971
+ // return new FirmwareUpdateMetaDataCCReport({
972
+ // nodeId: ctx.sourceNodeId,
973
+ // });
974
+ }
975
+ isLast;
976
+ reportNumber;
977
+ firmwareData;
978
+ serialize(ctx) {
979
+ const commandBuffer = Bytes.concat([
980
+ new Bytes(2), // placeholder for report number
981
+ this.firmwareData,
887
982
  ]);
888
- this.payload.writeUInt16BE(crc, this.payload.length - 2);
889
- }
890
- else {
891
- this.payload = commandBuffer;
892
- }
893
- return super.serialize(ctx);
894
- }
895
- toLogEntry(ctx) {
896
- return {
897
- ...super.toLogEntry(ctx),
898
- message: {
899
- "report #": this.reportNumber,
900
- "is last": this.isLast,
901
- },
902
- };
903
- }
904
- };
905
- FirmwareUpdateMetaDataCCReport = __decorate([
906
- CCCommand(FirmwareUpdateMetaDataCommand.Report)
907
- // We send this in reply to the Get command and expect no response
908
- ], FirmwareUpdateMetaDataCCReport);
983
+ commandBuffer.writeUInt16BE((this.reportNumber & 0x7fff) | (this.isLast ? 0x8000 : 0), 0);
984
+ // V1 devices would consider the checksum to be part of the firmware data
985
+ // so it must not be included for those
986
+ const ccVersion = getEffectiveCCVersion(ctx, this);
987
+ if (ccVersion >= 2) {
988
+ // Compute and save the CRC16 in the payload
989
+ // The CC header is included in the CRC computation
990
+ let crc = CRC16_CCITT(Bytes.from([this.ccId, this.ccCommand]));
991
+ crc = CRC16_CCITT(commandBuffer, crc);
992
+ this.payload = Bytes.concat([
993
+ commandBuffer,
994
+ new Bytes(2),
995
+ ]);
996
+ this.payload.writeUInt16BE(crc, this.payload.length - 2);
997
+ }
998
+ else {
999
+ this.payload = commandBuffer;
1000
+ }
1001
+ return super.serialize(ctx);
1002
+ }
1003
+ toLogEntry(ctx) {
1004
+ return {
1005
+ ...super.toLogEntry(ctx),
1006
+ message: {
1007
+ "report #": this.reportNumber,
1008
+ "is last": this.isLast,
1009
+ },
1010
+ };
1011
+ }
1012
+ };
1013
+ return FirmwareUpdateMetaDataCCReport = _classThis;
1014
+ })();
909
1015
  export { FirmwareUpdateMetaDataCCReport };
910
- let FirmwareUpdateMetaDataCCStatusReport = FirmwareUpdateMetaDataCCStatusReport_1 = class FirmwareUpdateMetaDataCCStatusReport extends FirmwareUpdateMetaDataCC {
911
- constructor(options) {
912
- super(options);
913
- // TODO: Check implementation:
914
- this.status = options.status;
915
- this.waitTime = options.waitTime;
916
- }
917
- static from(raw, ctx) {
918
- validatePayload(raw.payload.length >= 1);
919
- const status = raw.payload[0];
920
- let waitTime;
921
- if (raw.payload.length >= 3) {
922
- waitTime = raw.payload.readUInt16BE(1);
923
- }
924
- return new FirmwareUpdateMetaDataCCStatusReport_1({
925
- nodeId: ctx.sourceNodeId,
926
- status,
927
- waitTime,
928
- });
929
- }
930
- status;
931
- /** The wait time in seconds before the node becomes available for communication after the update */
932
- waitTime;
933
- toLogEntry(ctx) {
934
- const message = {
935
- status: getEnumMemberName(FirmwareUpdateStatus, this.status),
936
- };
937
- if (this.waitTime != undefined) {
938
- message["wait time"] = `${this.waitTime} seconds`;
939
- }
940
- return {
941
- ...super.toLogEntry(ctx),
942
- message,
943
- };
944
- }
945
- };
946
- FirmwareUpdateMetaDataCCStatusReport = FirmwareUpdateMetaDataCCStatusReport_1 = __decorate([
947
- CCCommand(FirmwareUpdateMetaDataCommand.StatusReport)
948
- ], FirmwareUpdateMetaDataCCStatusReport);
1016
+ let FirmwareUpdateMetaDataCCStatusReport = (() => {
1017
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.StatusReport)];
1018
+ let _classDescriptor;
1019
+ let _classExtraInitializers = [];
1020
+ let _classThis;
1021
+ let _classSuper = FirmwareUpdateMetaDataCC;
1022
+ var FirmwareUpdateMetaDataCCStatusReport = class extends _classSuper {
1023
+ static { _classThis = this; }
1024
+ static {
1025
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1026
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1027
+ FirmwareUpdateMetaDataCCStatusReport = _classThis = _classDescriptor.value;
1028
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1029
+ __runInitializers(_classThis, _classExtraInitializers);
1030
+ }
1031
+ constructor(options) {
1032
+ super(options);
1033
+ // TODO: Check implementation:
1034
+ this.status = options.status;
1035
+ this.waitTime = options.waitTime;
1036
+ }
1037
+ static from(raw, ctx) {
1038
+ validatePayload(raw.payload.length >= 1);
1039
+ const status = raw.payload[0];
1040
+ let waitTime;
1041
+ if (raw.payload.length >= 3) {
1042
+ waitTime = raw.payload.readUInt16BE(1);
1043
+ }
1044
+ return new this({
1045
+ nodeId: ctx.sourceNodeId,
1046
+ status,
1047
+ waitTime,
1048
+ });
1049
+ }
1050
+ status;
1051
+ /** The wait time in seconds before the node becomes available for communication after the update */
1052
+ waitTime;
1053
+ toLogEntry(ctx) {
1054
+ const message = {
1055
+ status: getEnumMemberName(FirmwareUpdateStatus, this.status),
1056
+ };
1057
+ if (this.waitTime != undefined) {
1058
+ message["wait time"] = `${this.waitTime} seconds`;
1059
+ }
1060
+ return {
1061
+ ...super.toLogEntry(ctx),
1062
+ message,
1063
+ };
1064
+ }
1065
+ };
1066
+ return FirmwareUpdateMetaDataCCStatusReport = _classThis;
1067
+ })();
949
1068
  export { FirmwareUpdateMetaDataCCStatusReport };
950
- let FirmwareUpdateMetaDataCCActivationReport = FirmwareUpdateMetaDataCCActivationReport_1 = class FirmwareUpdateMetaDataCCActivationReport extends FirmwareUpdateMetaDataCC {
951
- constructor(options) {
952
- super(options);
953
- // TODO: Check implementation:
954
- this.manufacturerId = options.manufacturerId;
955
- this.firmwareId = options.firmwareId;
956
- this.checksum = options.checksum;
957
- this.firmwareTarget = options.firmwareTarget;
958
- this.activationStatus = options.activationStatus;
959
- this.hardwareVersion = options.hardwareVersion;
960
- }
961
- static from(raw, ctx) {
962
- validatePayload(raw.payload.length >= 8);
963
- const manufacturerId = raw.payload.readUInt16BE(0);
964
- const firmwareId = raw.payload.readUInt16BE(2);
965
- const checksum = raw.payload.readUInt16BE(4);
966
- const firmwareTarget = raw.payload[6];
967
- const activationStatus = raw.payload[7];
968
- let hardwareVersion;
969
- if (raw.payload.length >= 9) {
970
- // V5+
971
- hardwareVersion = raw.payload[8];
972
- }
973
- return new FirmwareUpdateMetaDataCCActivationReport_1({
974
- nodeId: ctx.sourceNodeId,
975
- manufacturerId,
976
- firmwareId,
977
- checksum,
978
- firmwareTarget,
979
- activationStatus,
980
- hardwareVersion,
981
- });
982
- }
983
- manufacturerId;
984
- firmwareId;
985
- checksum;
986
- firmwareTarget;
987
- activationStatus;
988
- hardwareVersion;
989
- toLogEntry(ctx) {
990
- const message = {
991
- "manufacturer id": num2hex(this.manufacturerId),
992
- "firmware id": num2hex(this.firmwareId),
993
- checksum: num2hex(this.checksum),
994
- "firmware target": this.firmwareTarget,
995
- "activation status": getEnumMemberName(FirmwareUpdateActivationStatus, this.activationStatus),
996
- };
997
- if (this.hardwareVersion != undefined) {
998
- message.hardwareVersion = this.hardwareVersion;
999
- }
1000
- return {
1001
- ...super.toLogEntry(ctx),
1002
- message,
1003
- };
1004
- }
1005
- };
1006
- FirmwareUpdateMetaDataCCActivationReport = FirmwareUpdateMetaDataCCActivationReport_1 = __decorate([
1007
- CCCommand(FirmwareUpdateMetaDataCommand.ActivationReport)
1008
- ], FirmwareUpdateMetaDataCCActivationReport);
1009
- export { FirmwareUpdateMetaDataCCActivationReport };
1010
- let FirmwareUpdateMetaDataCCActivationSet = class FirmwareUpdateMetaDataCCActivationSet extends FirmwareUpdateMetaDataCC {
1011
- constructor(options) {
1012
- super(options);
1013
- this.manufacturerId = options.manufacturerId;
1014
- this.firmwareId = options.firmwareId;
1015
- this.checksum = options.checksum;
1016
- this.firmwareTarget = options.firmwareTarget;
1017
- this.hardwareVersion = options.hardwareVersion;
1018
- }
1019
- static from(_raw, _ctx) {
1020
- // TODO: Deserialize payload
1021
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1022
- // return new FirmwareUpdateMetaDataCCActivationSet({
1023
- // nodeId: ctx.sourceNodeId,
1024
- // });
1025
- }
1026
- manufacturerId;
1027
- firmwareId;
1028
- checksum;
1029
- firmwareTarget;
1030
- hardwareVersion;
1031
- serialize(ctx) {
1032
- this.payload = new Bytes(8);
1033
- this.payload.writeUInt16BE(this.manufacturerId, 0);
1034
- this.payload.writeUInt16BE(this.firmwareId, 2);
1035
- this.payload.writeUInt16BE(this.checksum, 4);
1036
- this.payload[6] = this.firmwareTarget;
1037
- this.payload[7] = this.hardwareVersion ?? 0x00;
1038
- return super.serialize(ctx);
1039
- }
1040
- toLogEntry(ctx) {
1041
- const message = {
1042
- "manufacturer id": num2hex(this.manufacturerId),
1043
- "firmware id": num2hex(this.firmwareId),
1044
- checksum: num2hex(this.checksum),
1045
- "firmware target": this.firmwareTarget,
1046
- };
1047
- if (this.hardwareVersion != undefined) {
1048
- message["hardware version"] = this.hardwareVersion;
1049
- }
1050
- return {
1051
- ...super.toLogEntry(ctx),
1052
- message,
1053
- };
1054
- }
1055
- };
1056
- FirmwareUpdateMetaDataCCActivationSet = __decorate([
1057
- CCCommand(FirmwareUpdateMetaDataCommand.ActivationSet),
1058
- expectedCCResponse(FirmwareUpdateMetaDataCCActivationReport)
1059
- ], FirmwareUpdateMetaDataCCActivationSet);
1060
- export { FirmwareUpdateMetaDataCCActivationSet };
1061
- let FirmwareUpdateMetaDataCCPrepareReport = FirmwareUpdateMetaDataCCPrepareReport_1 = class FirmwareUpdateMetaDataCCPrepareReport extends FirmwareUpdateMetaDataCC {
1062
- constructor(options) {
1063
- super(options);
1064
- // TODO: Check implementation:
1065
- this.status = options.status;
1066
- this.checksum = options.checksum;
1067
- }
1068
- static from(raw, ctx) {
1069
- validatePayload(raw.payload.length >= 3);
1070
- const status = raw.payload[0];
1071
- const checksum = raw.payload.readUInt16BE(1);
1072
- return new FirmwareUpdateMetaDataCCPrepareReport_1({
1073
- nodeId: ctx.sourceNodeId,
1074
- status,
1075
- checksum,
1076
- });
1077
- }
1078
- status;
1079
- checksum;
1080
- toLogEntry(ctx) {
1081
- return {
1082
- ...super.toLogEntry(ctx),
1083
- message: {
1084
- status: getEnumMemberName(FirmwareDownloadStatus, this.status),
1069
+ let FirmwareUpdateMetaDataCCActivationReport = (() => {
1070
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.ActivationReport)];
1071
+ let _classDescriptor;
1072
+ let _classExtraInitializers = [];
1073
+ let _classThis;
1074
+ let _classSuper = FirmwareUpdateMetaDataCC;
1075
+ var FirmwareUpdateMetaDataCCActivationReport = class extends _classSuper {
1076
+ static { _classThis = this; }
1077
+ static {
1078
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1079
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1080
+ FirmwareUpdateMetaDataCCActivationReport = _classThis = _classDescriptor.value;
1081
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1082
+ __runInitializers(_classThis, _classExtraInitializers);
1083
+ }
1084
+ constructor(options) {
1085
+ super(options);
1086
+ // TODO: Check implementation:
1087
+ this.manufacturerId = options.manufacturerId;
1088
+ this.firmwareId = options.firmwareId;
1089
+ this.checksum = options.checksum;
1090
+ this.firmwareTarget = options.firmwareTarget;
1091
+ this.activationStatus = options.activationStatus;
1092
+ this.hardwareVersion = options.hardwareVersion;
1093
+ }
1094
+ static from(raw, ctx) {
1095
+ validatePayload(raw.payload.length >= 8);
1096
+ const manufacturerId = raw.payload.readUInt16BE(0);
1097
+ const firmwareId = raw.payload.readUInt16BE(2);
1098
+ const checksum = raw.payload.readUInt16BE(4);
1099
+ const firmwareTarget = raw.payload[6];
1100
+ const activationStatus = raw.payload[7];
1101
+ let hardwareVersion;
1102
+ if (raw.payload.length >= 9) {
1103
+ // V5+
1104
+ hardwareVersion = raw.payload[8];
1105
+ }
1106
+ return new this({
1107
+ nodeId: ctx.sourceNodeId,
1108
+ manufacturerId,
1109
+ firmwareId,
1110
+ checksum,
1111
+ firmwareTarget,
1112
+ activationStatus,
1113
+ hardwareVersion,
1114
+ });
1115
+ }
1116
+ manufacturerId;
1117
+ firmwareId;
1118
+ checksum;
1119
+ firmwareTarget;
1120
+ activationStatus;
1121
+ hardwareVersion;
1122
+ toLogEntry(ctx) {
1123
+ const message = {
1124
+ "manufacturer id": num2hex(this.manufacturerId),
1125
+ "firmware id": num2hex(this.firmwareId),
1085
1126
  checksum: num2hex(this.checksum),
1086
- },
1087
- };
1088
- }
1089
- };
1090
- FirmwareUpdateMetaDataCCPrepareReport = FirmwareUpdateMetaDataCCPrepareReport_1 = __decorate([
1091
- CCCommand(FirmwareUpdateMetaDataCommand.PrepareReport)
1092
- ], FirmwareUpdateMetaDataCCPrepareReport);
1093
- export { FirmwareUpdateMetaDataCCPrepareReport };
1094
- let FirmwareUpdateMetaDataCCPrepareGet = class FirmwareUpdateMetaDataCCPrepareGet extends FirmwareUpdateMetaDataCC {
1095
- constructor(options) {
1096
- super(options);
1097
- this.manufacturerId = options.manufacturerId;
1098
- this.firmwareId = options.firmwareId;
1099
- this.firmwareTarget = options.firmwareTarget;
1100
- this.fragmentSize = options.fragmentSize;
1101
- this.hardwareVersion = options.hardwareVersion;
1102
- }
1103
- static from(_raw, _ctx) {
1104
- // TODO: Deserialize payload
1105
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1106
- // return new FirmwareUpdateMetaDataCCPrepareGet({
1107
- // nodeId: ctx.sourceNodeId,
1108
- // });
1109
- }
1110
- manufacturerId;
1111
- firmwareId;
1112
- firmwareTarget;
1113
- fragmentSize;
1114
- hardwareVersion;
1115
- serialize(ctx) {
1116
- this.payload = new Bytes(8);
1117
- this.payload.writeUInt16BE(this.manufacturerId, 0);
1118
- this.payload.writeUInt16BE(this.firmwareId, 2);
1119
- this.payload[4] = this.firmwareTarget;
1120
- this.payload.writeUInt16BE(this.fragmentSize, 5);
1121
- this.payload[7] = this.hardwareVersion;
1122
- return super.serialize(ctx);
1123
- }
1124
- toLogEntry(ctx) {
1125
- return {
1126
- ...super.toLogEntry(ctx),
1127
- message: {
1127
+ "firmware target": this.firmwareTarget,
1128
+ "activation status": getEnumMemberName(FirmwareUpdateActivationStatus, this.activationStatus),
1129
+ };
1130
+ if (this.hardwareVersion != undefined) {
1131
+ message.hardwareVersion = this.hardwareVersion;
1132
+ }
1133
+ return {
1134
+ ...super.toLogEntry(ctx),
1135
+ message,
1136
+ };
1137
+ }
1138
+ };
1139
+ return FirmwareUpdateMetaDataCCActivationReport = _classThis;
1140
+ })();
1141
+ export { FirmwareUpdateMetaDataCCActivationReport };
1142
+ let FirmwareUpdateMetaDataCCActivationSet = (() => {
1143
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.ActivationSet), expectedCCResponse(FirmwareUpdateMetaDataCCActivationReport)];
1144
+ let _classDescriptor;
1145
+ let _classExtraInitializers = [];
1146
+ let _classThis;
1147
+ let _classSuper = FirmwareUpdateMetaDataCC;
1148
+ var FirmwareUpdateMetaDataCCActivationSet = class extends _classSuper {
1149
+ static { _classThis = this; }
1150
+ static {
1151
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1152
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1153
+ FirmwareUpdateMetaDataCCActivationSet = _classThis = _classDescriptor.value;
1154
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1155
+ __runInitializers(_classThis, _classExtraInitializers);
1156
+ }
1157
+ constructor(options) {
1158
+ super(options);
1159
+ this.manufacturerId = options.manufacturerId;
1160
+ this.firmwareId = options.firmwareId;
1161
+ this.checksum = options.checksum;
1162
+ this.firmwareTarget = options.firmwareTarget;
1163
+ this.hardwareVersion = options.hardwareVersion;
1164
+ }
1165
+ static from(_raw, _ctx) {
1166
+ // TODO: Deserialize payload
1167
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1168
+ // return new FirmwareUpdateMetaDataCCActivationSet({
1169
+ // nodeId: ctx.sourceNodeId,
1170
+ // });
1171
+ }
1172
+ manufacturerId;
1173
+ firmwareId;
1174
+ checksum;
1175
+ firmwareTarget;
1176
+ hardwareVersion;
1177
+ serialize(ctx) {
1178
+ this.payload = new Bytes(8);
1179
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
1180
+ this.payload.writeUInt16BE(this.firmwareId, 2);
1181
+ this.payload.writeUInt16BE(this.checksum, 4);
1182
+ this.payload[6] = this.firmwareTarget;
1183
+ this.payload[7] = this.hardwareVersion ?? 0x00;
1184
+ return super.serialize(ctx);
1185
+ }
1186
+ toLogEntry(ctx) {
1187
+ const message = {
1128
1188
  "manufacturer id": num2hex(this.manufacturerId),
1129
1189
  "firmware id": num2hex(this.firmwareId),
1190
+ checksum: num2hex(this.checksum),
1130
1191
  "firmware target": this.firmwareTarget,
1131
- "fragment size": this.fragmentSize,
1132
- "hardware version": this.hardwareVersion,
1133
- },
1134
- };
1135
- }
1136
- };
1137
- FirmwareUpdateMetaDataCCPrepareGet = __decorate([
1138
- CCCommand(FirmwareUpdateMetaDataCommand.PrepareGet),
1139
- expectedCCResponse(FirmwareUpdateMetaDataCCReport)
1140
- ], FirmwareUpdateMetaDataCCPrepareGet);
1192
+ };
1193
+ if (this.hardwareVersion != undefined) {
1194
+ message["hardware version"] = this.hardwareVersion;
1195
+ }
1196
+ return {
1197
+ ...super.toLogEntry(ctx),
1198
+ message,
1199
+ };
1200
+ }
1201
+ };
1202
+ return FirmwareUpdateMetaDataCCActivationSet = _classThis;
1203
+ })();
1204
+ export { FirmwareUpdateMetaDataCCActivationSet };
1205
+ let FirmwareUpdateMetaDataCCPrepareReport = (() => {
1206
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.PrepareReport)];
1207
+ let _classDescriptor;
1208
+ let _classExtraInitializers = [];
1209
+ let _classThis;
1210
+ let _classSuper = FirmwareUpdateMetaDataCC;
1211
+ var FirmwareUpdateMetaDataCCPrepareReport = class extends _classSuper {
1212
+ static { _classThis = this; }
1213
+ static {
1214
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1215
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1216
+ FirmwareUpdateMetaDataCCPrepareReport = _classThis = _classDescriptor.value;
1217
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1218
+ __runInitializers(_classThis, _classExtraInitializers);
1219
+ }
1220
+ constructor(options) {
1221
+ super(options);
1222
+ // TODO: Check implementation:
1223
+ this.status = options.status;
1224
+ this.checksum = options.checksum;
1225
+ }
1226
+ static from(raw, ctx) {
1227
+ validatePayload(raw.payload.length >= 3);
1228
+ const status = raw.payload[0];
1229
+ const checksum = raw.payload.readUInt16BE(1);
1230
+ return new this({
1231
+ nodeId: ctx.sourceNodeId,
1232
+ status,
1233
+ checksum,
1234
+ });
1235
+ }
1236
+ status;
1237
+ checksum;
1238
+ toLogEntry(ctx) {
1239
+ return {
1240
+ ...super.toLogEntry(ctx),
1241
+ message: {
1242
+ status: getEnumMemberName(FirmwareDownloadStatus, this.status),
1243
+ checksum: num2hex(this.checksum),
1244
+ },
1245
+ };
1246
+ }
1247
+ };
1248
+ return FirmwareUpdateMetaDataCCPrepareReport = _classThis;
1249
+ })();
1250
+ export { FirmwareUpdateMetaDataCCPrepareReport };
1251
+ let FirmwareUpdateMetaDataCCPrepareGet = (() => {
1252
+ let _classDecorators = [CCCommand(FirmwareUpdateMetaDataCommand.PrepareGet), expectedCCResponse(FirmwareUpdateMetaDataCCReport)];
1253
+ let _classDescriptor;
1254
+ let _classExtraInitializers = [];
1255
+ let _classThis;
1256
+ let _classSuper = FirmwareUpdateMetaDataCC;
1257
+ var FirmwareUpdateMetaDataCCPrepareGet = class extends _classSuper {
1258
+ static { _classThis = this; }
1259
+ static {
1260
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1261
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1262
+ FirmwareUpdateMetaDataCCPrepareGet = _classThis = _classDescriptor.value;
1263
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1264
+ __runInitializers(_classThis, _classExtraInitializers);
1265
+ }
1266
+ constructor(options) {
1267
+ super(options);
1268
+ this.manufacturerId = options.manufacturerId;
1269
+ this.firmwareId = options.firmwareId;
1270
+ this.firmwareTarget = options.firmwareTarget;
1271
+ this.fragmentSize = options.fragmentSize;
1272
+ this.hardwareVersion = options.hardwareVersion;
1273
+ }
1274
+ static from(_raw, _ctx) {
1275
+ // TODO: Deserialize payload
1276
+ throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
1277
+ // return new FirmwareUpdateMetaDataCCPrepareGet({
1278
+ // nodeId: ctx.sourceNodeId,
1279
+ // });
1280
+ }
1281
+ manufacturerId;
1282
+ firmwareId;
1283
+ firmwareTarget;
1284
+ fragmentSize;
1285
+ hardwareVersion;
1286
+ serialize(ctx) {
1287
+ this.payload = new Bytes(8);
1288
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
1289
+ this.payload.writeUInt16BE(this.firmwareId, 2);
1290
+ this.payload[4] = this.firmwareTarget;
1291
+ this.payload.writeUInt16BE(this.fragmentSize, 5);
1292
+ this.payload[7] = this.hardwareVersion;
1293
+ return super.serialize(ctx);
1294
+ }
1295
+ toLogEntry(ctx) {
1296
+ return {
1297
+ ...super.toLogEntry(ctx),
1298
+ message: {
1299
+ "manufacturer id": num2hex(this.manufacturerId),
1300
+ "firmware id": num2hex(this.firmwareId),
1301
+ "firmware target": this.firmwareTarget,
1302
+ "fragment size": this.fragmentSize,
1303
+ "hardware version": this.hardwareVersion,
1304
+ },
1305
+ };
1306
+ }
1307
+ };
1308
+ return FirmwareUpdateMetaDataCCPrepareGet = _classThis;
1309
+ })();
1141
1310
  export { FirmwareUpdateMetaDataCCPrepareGet };
1142
1311
  //# sourceMappingURL=FirmwareUpdateMetaDataCC.js.map