@zwave-js/cc 9.3.1-0-pr-4662-79458fb

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 (297) hide show
  1. package/build/cc/AlarmSensorCC.d.ts +54 -0
  2. package/build/cc/AlarmSensorCC.d.ts.map +1 -0
  3. package/build/cc/AlarmSensorCC.js +378 -0
  4. package/build/cc/AlarmSensorCC.js.map +1 -0
  5. package/build/cc/AssociationCC.d.ts +123 -0
  6. package/build/cc/AssociationCC.d.ts.map +1 -0
  7. package/build/cc/AssociationCC.js +615 -0
  8. package/build/cc/AssociationCC.js.map +1 -0
  9. package/build/cc/AssociationGroupInfoCC.d.ts +97 -0
  10. package/build/cc/AssociationGroupInfoCC.d.ts.map +1 -0
  11. package/build/cc/AssociationGroupInfoCC.js +530 -0
  12. package/build/cc/AssociationGroupInfoCC.js.map +1 -0
  13. package/build/cc/BarrierOperatorCC.d.ts +75 -0
  14. package/build/cc/BarrierOperatorCC.d.ts.map +1 -0
  15. package/build/cc/BarrierOperatorCC.js +492 -0
  16. package/build/cc/BarrierOperatorCC.js.map +1 -0
  17. package/build/cc/BasicCC.d.ts +51 -0
  18. package/build/cc/BasicCC.d.ts.map +1 -0
  19. package/build/cc/BasicCC.js +344 -0
  20. package/build/cc/BasicCC.js.map +1 -0
  21. package/build/cc/BatteryCC.d.ts +56 -0
  22. package/build/cc/BatteryCC.d.ts.map +1 -0
  23. package/build/cc/BatteryCC.js +417 -0
  24. package/build/cc/BatteryCC.js.map +1 -0
  25. package/build/cc/BinarySensorCC.d.ts +52 -0
  26. package/build/cc/BinarySensorCC.d.ts.map +1 -0
  27. package/build/cc/BinarySensorCC.js +321 -0
  28. package/build/cc/BinarySensorCC.js.map +1 -0
  29. package/build/cc/BinarySwitchCC.d.ts +55 -0
  30. package/build/cc/BinarySwitchCC.d.ts.map +1 -0
  31. package/build/cc/BinarySwitchCC.js +327 -0
  32. package/build/cc/BinarySwitchCC.js.map +1 -0
  33. package/build/cc/CRC16CC.d.ts +28 -0
  34. package/build/cc/CRC16CC.d.ts.map +1 -0
  35. package/build/cc/CRC16CC.js +109 -0
  36. package/build/cc/CRC16CC.js.map +1 -0
  37. package/build/cc/CentralSceneCC.d.ts +69 -0
  38. package/build/cc/CentralSceneCC.d.ts.map +1 -0
  39. package/build/cc/CentralSceneCC.js +443 -0
  40. package/build/cc/CentralSceneCC.js.map +1 -0
  41. package/build/cc/ClimateControlScheduleCC.d.ts +78 -0
  42. package/build/cc/ClimateControlScheduleCC.d.ts.map +1 -0
  43. package/build/cc/ClimateControlScheduleCC.js +417 -0
  44. package/build/cc/ClimateControlScheduleCC.js.map +1 -0
  45. package/build/cc/ClockCC.d.ts +40 -0
  46. package/build/cc/ClockCC.d.ts.map +1 -0
  47. package/build/cc/ClockCC.js +185 -0
  48. package/build/cc/ClockCC.js.map +1 -0
  49. package/build/cc/ColorSwitchCC.d.ts +98 -0
  50. package/build/cc/ColorSwitchCC.d.ts.map +1 -0
  51. package/build/cc/ColorSwitchCC.js +1045 -0
  52. package/build/cc/ColorSwitchCC.js.map +1 -0
  53. package/build/cc/ConfigurationCC.d.ts +315 -0
  54. package/build/cc/ConfigurationCC.d.ts.map +1 -0
  55. package/build/cc/ConfigurationCC.js +2257 -0
  56. package/build/cc/ConfigurationCC.js.map +1 -0
  57. package/build/cc/DeviceResetLocallyCC.d.ts +9 -0
  58. package/build/cc/DeviceResetLocallyCC.d.ts.map +1 -0
  59. package/build/cc/DeviceResetLocallyCC.js +28 -0
  60. package/build/cc/DeviceResetLocallyCC.js.map +1 -0
  61. package/build/cc/DoorLockCC.d.ts +116 -0
  62. package/build/cc/DoorLockCC.d.ts.map +1 -0
  63. package/build/cc/DoorLockCC.js +1112 -0
  64. package/build/cc/DoorLockCC.js.map +1 -0
  65. package/build/cc/DoorLockLoggingCC.d.ts +41 -0
  66. package/build/cc/DoorLockLoggingCC.d.ts.map +1 -0
  67. package/build/cc/DoorLockLoggingCC.js +288 -0
  68. package/build/cc/DoorLockLoggingCC.js.map +1 -0
  69. package/build/cc/EntryControlCC.d.ts +71 -0
  70. package/build/cc/EntryControlCC.d.ts.map +1 -0
  71. package/build/cc/EntryControlCC.js +492 -0
  72. package/build/cc/EntryControlCC.js.map +1 -0
  73. package/build/cc/FirmwareUpdateMetaDataCC.d.ts +148 -0
  74. package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
  75. package/build/cc/FirmwareUpdateMetaDataCC.js +727 -0
  76. package/build/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
  77. package/build/cc/HailCC.d.ts +6 -0
  78. package/build/cc/HailCC.d.ts.map +1 -0
  79. package/build/cc/HailCC.js +23 -0
  80. package/build/cc/HailCC.js.map +1 -0
  81. package/build/cc/HumidityControlModeCC.d.ts +47 -0
  82. package/build/cc/HumidityControlModeCC.d.ts.map +1 -0
  83. package/build/cc/HumidityControlModeCC.js +288 -0
  84. package/build/cc/HumidityControlModeCC.js.map +1 -0
  85. package/build/cc/HumidityControlOperatingStateCC.d.ts +24 -0
  86. package/build/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
  87. package/build/cc/HumidityControlOperatingStateCC.js +129 -0
  88. package/build/cc/HumidityControlOperatingStateCC.js.map +1 -0
  89. package/build/cc/HumidityControlSetpointCC.d.ts +103 -0
  90. package/build/cc/HumidityControlSetpointCC.d.ts.map +1 -0
  91. package/build/cc/HumidityControlSetpointCC.js +626 -0
  92. package/build/cc/HumidityControlSetpointCC.js.map +1 -0
  93. package/build/cc/IndicatorCC.d.ts +88 -0
  94. package/build/cc/IndicatorCC.d.ts.map +1 -0
  95. package/build/cc/IndicatorCC.js +758 -0
  96. package/build/cc/IndicatorCC.js.map +1 -0
  97. package/build/cc/IrrigationCC.d.ts +278 -0
  98. package/build/cc/IrrigationCC.d.ts.map +1 -0
  99. package/build/cc/IrrigationCC.js +2062 -0
  100. package/build/cc/IrrigationCC.js.map +1 -0
  101. package/build/cc/LanguageCC.d.ts +41 -0
  102. package/build/cc/LanguageCC.d.ts.map +1 -0
  103. package/build/cc/LanguageCC.js +220 -0
  104. package/build/cc/LanguageCC.js.map +1 -0
  105. package/build/cc/LockCC.d.ts +41 -0
  106. package/build/cc/LockCC.d.ts.map +1 -0
  107. package/build/cc/LockCC.js +185 -0
  108. package/build/cc/LockCC.js.map +1 -0
  109. package/build/cc/ManufacturerProprietaryCC.d.ts +31 -0
  110. package/build/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
  111. package/build/cc/ManufacturerProprietaryCC.js +275 -0
  112. package/build/cc/ManufacturerProprietaryCC.js.map +1 -0
  113. package/build/cc/ManufacturerSpecificCC.d.ts +59 -0
  114. package/build/cc/ManufacturerSpecificCC.d.ts.map +1 -0
  115. package/build/cc/ManufacturerSpecificCC.js +285 -0
  116. package/build/cc/ManufacturerSpecificCC.js.map +1 -0
  117. package/build/cc/MeterCC.d.ts +100 -0
  118. package/build/cc/MeterCC.d.ts.map +1 -0
  119. package/build/cc/MeterCC.js +820 -0
  120. package/build/cc/MeterCC.js.map +1 -0
  121. package/build/cc/MultiChannelAssociationCC.d.ts +127 -0
  122. package/build/cc/MultiChannelAssociationCC.d.ts.map +1 -0
  123. package/build/cc/MultiChannelAssociationCC.js +883 -0
  124. package/build/cc/MultiChannelAssociationCC.js.map +1 -0
  125. package/build/cc/MultiChannelCC.d.ts +164 -0
  126. package/build/cc/MultiChannelCC.d.ts.map +1 -0
  127. package/build/cc/MultiChannelCC.js +1004 -0
  128. package/build/cc/MultiChannelCC.js.map +1 -0
  129. package/build/cc/MultiCommandCC.d.ts +28 -0
  130. package/build/cc/MultiCommandCC.d.ts.map +1 -0
  131. package/build/cc/MultiCommandCC.js +137 -0
  132. package/build/cc/MultiCommandCC.js.map +1 -0
  133. package/build/cc/MultilevelSensorCC.d.ts +83 -0
  134. package/build/cc/MultilevelSensorCC.d.ts.map +1 -0
  135. package/build/cc/MultilevelSensorCC.js +633 -0
  136. package/build/cc/MultilevelSensorCC.js.map +1 -0
  137. package/build/cc/MultilevelSwitchCC.d.ts +86 -0
  138. package/build/cc/MultilevelSwitchCC.d.ts.map +1 -0
  139. package/build/cc/MultilevelSwitchCC.js +774 -0
  140. package/build/cc/MultilevelSwitchCC.js.map +1 -0
  141. package/build/cc/NoOperationCC.d.ts +17 -0
  142. package/build/cc/NoOperationCC.d.ts.map +1 -0
  143. package/build/cc/NoOperationCC.js +50 -0
  144. package/build/cc/NoOperationCC.js.map +1 -0
  145. package/build/cc/NodeNamingCC.d.ts +57 -0
  146. package/build/cc/NodeNamingCC.d.ts.map +1 -0
  147. package/build/cc/NodeNamingCC.js +313 -0
  148. package/build/cc/NodeNamingCC.js.map +1 -0
  149. package/build/cc/NotificationCC.d.ts +127 -0
  150. package/build/cc/NotificationCC.d.ts.map +1 -0
  151. package/build/cc/NotificationCC.js +1193 -0
  152. package/build/cc/NotificationCC.js.map +1 -0
  153. package/build/cc/PowerlevelCC.d.ts +63 -0
  154. package/build/cc/PowerlevelCC.d.ts.map +1 -0
  155. package/build/cc/PowerlevelCC.js +262 -0
  156. package/build/cc/PowerlevelCC.js.map +1 -0
  157. package/build/cc/ProtectionCC.d.ts +94 -0
  158. package/build/cc/ProtectionCC.d.ts.map +1 -0
  159. package/build/cc/ProtectionCC.js +630 -0
  160. package/build/cc/ProtectionCC.js.map +1 -0
  161. package/build/cc/SceneActivationCC.d.ts +34 -0
  162. package/build/cc/SceneActivationCC.d.ts.map +1 -0
  163. package/build/cc/SceneActivationCC.js +170 -0
  164. package/build/cc/SceneActivationCC.js.map +1 -0
  165. package/build/cc/SceneActuatorConfigurationCC.d.ts +52 -0
  166. package/build/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
  167. package/build/cc/SceneActuatorConfigurationCC.js +368 -0
  168. package/build/cc/SceneActuatorConfigurationCC.js.map +1 -0
  169. package/build/cc/SceneControllerConfigurationCC.d.ts +61 -0
  170. package/build/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
  171. package/build/cc/SceneControllerConfigurationCC.js +444 -0
  172. package/build/cc/SceneControllerConfigurationCC.js.map +1 -0
  173. package/build/cc/Security2CC.d.ts +213 -0
  174. package/build/cc/Security2CC.d.ts.map +1 -0
  175. package/build/cc/Security2CC.js +1124 -0
  176. package/build/cc/Security2CC.js.map +1 -0
  177. package/build/cc/SecurityCC.d.ts +109 -0
  178. package/build/cc/SecurityCC.d.ts.map +1 -0
  179. package/build/cc/SecurityCC.js +609 -0
  180. package/build/cc/SecurityCC.js.map +1 -0
  181. package/build/cc/SoundSwitchCC.d.ts +87 -0
  182. package/build/cc/SoundSwitchCC.d.ts.map +1 -0
  183. package/build/cc/SoundSwitchCC.js +548 -0
  184. package/build/cc/SoundSwitchCC.js.map +1 -0
  185. package/build/cc/SupervisionCC.d.ts +63 -0
  186. package/build/cc/SupervisionCC.d.ts.map +1 -0
  187. package/build/cc/SupervisionCC.js +239 -0
  188. package/build/cc/SupervisionCC.js.map +1 -0
  189. package/build/cc/ThermostatFanModeCC.d.ts +53 -0
  190. package/build/cc/ThermostatFanModeCC.d.ts.map +1 -0
  191. package/build/cc/ThermostatFanModeCC.js +359 -0
  192. package/build/cc/ThermostatFanModeCC.js.map +1 -0
  193. package/build/cc/ThermostatFanStateCC.d.ts +24 -0
  194. package/build/cc/ThermostatFanStateCC.d.ts.map +1 -0
  195. package/build/cc/ThermostatFanStateCC.js +131 -0
  196. package/build/cc/ThermostatFanStateCC.js.map +1 -0
  197. package/build/cc/ThermostatModeCC.d.ts +58 -0
  198. package/build/cc/ThermostatModeCC.d.ts.map +1 -0
  199. package/build/cc/ThermostatModeCC.js +370 -0
  200. package/build/cc/ThermostatModeCC.js.map +1 -0
  201. package/build/cc/ThermostatOperatingStateCC.d.ts +24 -0
  202. package/build/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
  203. package/build/cc/ThermostatOperatingStateCC.js +127 -0
  204. package/build/cc/ThermostatOperatingStateCC.js.map +1 -0
  205. package/build/cc/ThermostatSetbackCC.d.ts +42 -0
  206. package/build/cc/ThermostatSetbackCC.d.ts.map +1 -0
  207. package/build/cc/ThermostatSetbackCC.js +237 -0
  208. package/build/cc/ThermostatSetbackCC.js.map +1 -0
  209. package/build/cc/ThermostatSetpointCC.d.ts +98 -0
  210. package/build/cc/ThermostatSetpointCC.d.ts.map +1 -0
  211. package/build/cc/ThermostatSetpointCC.js +707 -0
  212. package/build/cc/ThermostatSetpointCC.js.map +1 -0
  213. package/build/cc/TimeCC.d.ts +78 -0
  214. package/build/cc/TimeCC.d.ts.map +1 -0
  215. package/build/cc/TimeCC.js +373 -0
  216. package/build/cc/TimeCC.js.map +1 -0
  217. package/build/cc/TimeParametersCC.d.ts +40 -0
  218. package/build/cc/TimeParametersCC.d.ts.map +1 -0
  219. package/build/cc/TimeParametersCC.js +275 -0
  220. package/build/cc/TimeParametersCC.js.map +1 -0
  221. package/build/cc/TransportServiceCC.d.ts +101 -0
  222. package/build/cc/TransportServiceCC.d.ts.map +1 -0
  223. package/build/cc/TransportServiceCC.js +404 -0
  224. package/build/cc/TransportServiceCC.js.map +1 -0
  225. package/build/cc/UserCodeCC.d.ts +219 -0
  226. package/build/cc/UserCodeCC.d.ts.map +1 -0
  227. package/build/cc/UserCodeCC.js +1526 -0
  228. package/build/cc/UserCodeCC.js.map +1 -0
  229. package/build/cc/VersionCC.d.ts +91 -0
  230. package/build/cc/VersionCC.d.ts.map +1 -0
  231. package/build/cc/VersionCC.js +654 -0
  232. package/build/cc/VersionCC.js.map +1 -0
  233. package/build/cc/WakeUpCC.d.ts +67 -0
  234. package/build/cc/WakeUpCC.d.ts.map +1 -0
  235. package/build/cc/WakeUpCC.js +425 -0
  236. package/build/cc/WakeUpCC.js.map +1 -0
  237. package/build/cc/ZWavePlusCC.d.ts +40 -0
  238. package/build/cc/ZWavePlusCC.d.ts.map +1 -0
  239. package/build/cc/ZWavePlusCC.js +269 -0
  240. package/build/cc/ZWavePlusCC.js.map +1 -0
  241. package/build/cc/index.d.ts +64 -0
  242. package/build/cc/index.d.ts.map +1 -0
  243. package/build/cc/index.js +496 -0
  244. package/build/cc/index.js.map +1 -0
  245. package/build/cc/manufacturerProprietary/FibaroCC.d.ts +62 -0
  246. package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
  247. package/build/cc/manufacturerProprietary/FibaroCC.js +247 -0
  248. package/build/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
  249. package/build/index.d.ts +11 -0
  250. package/build/index.d.ts.map +1 -0
  251. package/build/index.js +48 -0
  252. package/build/index.js.map +1 -0
  253. package/build/index_safe.d.ts +4 -0
  254. package/build/index_safe.d.ts.map +1 -0
  255. package/build/index_safe.js +30 -0
  256. package/build/index_safe.js.map +1 -0
  257. package/build/lib/API.d.ts +176 -0
  258. package/build/lib/API.d.ts.map +1 -0
  259. package/build/lib/API.js +325 -0
  260. package/build/lib/API.js.map +1 -0
  261. package/build/lib/CommandClass.d.ts +341 -0
  262. package/build/lib/CommandClass.d.ts.map +1 -0
  263. package/build/lib/CommandClass.js +1088 -0
  264. package/build/lib/CommandClass.js.map +1 -0
  265. package/build/lib/EncapsulatingCommandClass.d.ts +35 -0
  266. package/build/lib/EncapsulatingCommandClass.d.ts.map +1 -0
  267. package/build/lib/EncapsulatingCommandClass.js +53 -0
  268. package/build/lib/EncapsulatingCommandClass.js.map +1 -0
  269. package/build/lib/ICommandClassContainer.d.ts +9 -0
  270. package/build/lib/ICommandClassContainer.d.ts.map +1 -0
  271. package/build/lib/ICommandClassContainer.js +12 -0
  272. package/build/lib/ICommandClassContainer.js.map +1 -0
  273. package/build/lib/NotificationEventPayload.d.ts +11 -0
  274. package/build/lib/NotificationEventPayload.d.ts.map +1 -0
  275. package/build/lib/NotificationEventPayload.js +11 -0
  276. package/build/lib/NotificationEventPayload.js.map +1 -0
  277. package/build/lib/Security2/Extension.d.ts +87 -0
  278. package/build/lib/Security2/Extension.d.ts.map +1 -0
  279. package/build/lib/Security2/Extension.js +235 -0
  280. package/build/lib/Security2/Extension.js.map +1 -0
  281. package/build/lib/Security2/shared.d.ts +31 -0
  282. package/build/lib/Security2/shared.d.ts.map +1 -0
  283. package/build/lib/Security2/shared.js +37 -0
  284. package/build/lib/Security2/shared.js.map +1 -0
  285. package/build/lib/_Types.d.ts +1446 -0
  286. package/build/lib/_Types.d.ts.map +1 -0
  287. package/build/lib/_Types.js +1334 -0
  288. package/build/lib/_Types.js.map +1 -0
  289. package/build/lib/serializers.d.ts +24 -0
  290. package/build/lib/serializers.d.ts.map +1 -0
  291. package/build/lib/serializers.js +66 -0
  292. package/build/lib/serializers.js.map +1 -0
  293. package/build/lib/utils.d.ts +13 -0
  294. package/build/lib/utils.d.ts.map +1 -0
  295. package/build/lib/utils.js +675 -0
  296. package/build/lib/utils.js.map +1 -0
  297. package/package.json +77 -0
@@ -0,0 +1,727 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FirmwareUpdateMetaDataCCPrepareGet = exports.FirmwareUpdateMetaDataCCPrepareReport = exports.FirmwareUpdateMetaDataCCActivationSet = exports.FirmwareUpdateMetaDataCCActivationReport = exports.FirmwareUpdateMetaDataCCStatusReport = exports.FirmwareUpdateMetaDataCCReport = exports.FirmwareUpdateMetaDataCCGet = exports.FirmwareUpdateMetaDataCCRequestGet = exports.FirmwareUpdateMetaDataCCRequestReport = exports.FirmwareUpdateMetaDataCCMetaDataGet = exports.FirmwareUpdateMetaDataCCMetaDataReport = exports.FirmwareUpdateMetaDataCC = exports.FirmwareUpdateMetaDataCCAPI = void 0;
10
+ function __assertType(argName, typeName, boundHasError) {
11
+ const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
12
+ if (boundHasError()) {
13
+ throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
14
+ }
15
+ }
16
+ const __assertType__FirmwareUpdateMetaDataCCRequestGetOptions = $o => {
17
+ function _number($o) {
18
+ return typeof $o !== "number" ? {} : null;
19
+ }
20
+ function _2($o) {
21
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
22
+ return {};
23
+ if ("manufacturerId" in $o && $o["manufacturerId"] !== undefined) {
24
+ const error = _number($o["manufacturerId"]);
25
+ if (error)
26
+ return error;
27
+ }
28
+ else
29
+ return {};
30
+ if ("firmwareId" in $o && $o["firmwareId"] !== undefined) {
31
+ const error = _number($o["firmwareId"]);
32
+ if (error)
33
+ return error;
34
+ }
35
+ else
36
+ return {};
37
+ if ("checksum" in $o && $o["checksum"] !== undefined) {
38
+ const error = _number($o["checksum"]);
39
+ if (error)
40
+ return error;
41
+ }
42
+ else
43
+ return {};
44
+ return null;
45
+ }
46
+ function _boolean($o) {
47
+ return typeof $o !== "boolean" ? {} : null;
48
+ }
49
+ function _3($o) {
50
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
51
+ return {};
52
+ if ("firmwareTarget" in $o && $o["firmwareTarget"] !== undefined) {
53
+ const error = _number($o["firmwareTarget"]);
54
+ if (error)
55
+ return error;
56
+ }
57
+ else
58
+ return {};
59
+ if ("fragmentSize" in $o && $o["fragmentSize"] !== undefined) {
60
+ const error = _number($o["fragmentSize"]);
61
+ if (error)
62
+ return error;
63
+ }
64
+ else
65
+ return {};
66
+ if ("activation" in $o && $o["activation"] !== undefined) {
67
+ const error = _boolean($o["activation"]);
68
+ if (error)
69
+ return error;
70
+ }
71
+ if ("hardwareVersion" in $o && $o["hardwareVersion"] !== undefined) {
72
+ const error = _number($o["hardwareVersion"]);
73
+ if (error)
74
+ return error;
75
+ }
76
+ return null;
77
+ }
78
+ function si__2__3_ei($o) {
79
+ const conditions = [_2, _3];
80
+ for (const condition of conditions) {
81
+ const error = condition($o);
82
+ if (error)
83
+ return error;
84
+ }
85
+ return null;
86
+ }
87
+ function _undefined($o) {
88
+ return $o !== undefined ? {} : null;
89
+ }
90
+ function _5($o) {
91
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
92
+ return {};
93
+ if ("firmwareTarget" in $o && $o["firmwareTarget"] !== undefined) {
94
+ const error = _undefined($o["firmwareTarget"]);
95
+ if (error)
96
+ return error;
97
+ }
98
+ if ("fragmentSize" in $o && $o["fragmentSize"] !== undefined) {
99
+ const error = _undefined($o["fragmentSize"]);
100
+ if (error)
101
+ return error;
102
+ }
103
+ if ("activation" in $o && $o["activation"] !== undefined) {
104
+ const error = _undefined($o["activation"]);
105
+ if (error)
106
+ return error;
107
+ }
108
+ if ("hardwareVersion" in $o && $o["hardwareVersion"] !== undefined) {
109
+ const error = _undefined($o["hardwareVersion"]);
110
+ if (error)
111
+ return error;
112
+ }
113
+ return null;
114
+ }
115
+ function si__2__5_ei($o) {
116
+ const conditions = [_2, _5];
117
+ for (const condition of conditions) {
118
+ const error = condition($o);
119
+ if (error)
120
+ return error;
121
+ }
122
+ return null;
123
+ }
124
+ function su_si__2__3_ei_si__2__5_ei_eu($o) {
125
+ const conditions = [si__2__3_ei, si__2__5_ei];
126
+ for (const condition of conditions) {
127
+ const error = condition($o);
128
+ if (!error)
129
+ return null;
130
+ }
131
+ return {};
132
+ }
133
+ return su_si__2__3_ei_si__2__5_ei_eu($o);
134
+ };
135
+ const __assertType__number = $o => {
136
+ function _number($o) {
137
+ return typeof $o !== "number" ? {} : null;
138
+ }
139
+ return _number($o);
140
+ };
141
+ const __assertType__boolean = $o => {
142
+ function _boolean($o) {
143
+ return typeof $o !== "boolean" ? {} : null;
144
+ }
145
+ return _boolean($o);
146
+ };
147
+ const __assertType__Buffer = $o => {
148
+ function _buffer($o) {
149
+ return !Buffer.isBuffer($o) ? {} : null;
150
+ }
151
+ return _buffer($o);
152
+ };
153
+ const __assertType__FirmwareUpdateMetaDataCCActivationSetOptions = $o => {
154
+ function _number($o) {
155
+ return typeof $o !== "number" ? {} : null;
156
+ }
157
+ function _0($o) {
158
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
159
+ return {};
160
+ if ("manufacturerId" in $o && $o["manufacturerId"] !== undefined) {
161
+ const error = _number($o["manufacturerId"]);
162
+ if (error)
163
+ return error;
164
+ }
165
+ else
166
+ return {};
167
+ if ("firmwareId" in $o && $o["firmwareId"] !== undefined) {
168
+ const error = _number($o["firmwareId"]);
169
+ if (error)
170
+ return error;
171
+ }
172
+ else
173
+ return {};
174
+ if ("checksum" in $o && $o["checksum"] !== undefined) {
175
+ const error = _number($o["checksum"]);
176
+ if (error)
177
+ return error;
178
+ }
179
+ else
180
+ return {};
181
+ if ("firmwareTarget" in $o && $o["firmwareTarget"] !== undefined) {
182
+ const error = _number($o["firmwareTarget"]);
183
+ if (error)
184
+ return error;
185
+ }
186
+ else
187
+ return {};
188
+ if ("hardwareVersion" in $o && $o["hardwareVersion"] !== undefined) {
189
+ const error = _number($o["hardwareVersion"]);
190
+ if (error)
191
+ return error;
192
+ }
193
+ return null;
194
+ }
195
+ return _0($o);
196
+ };
197
+ const safe_1 = require("@zwave-js/core/safe");
198
+ const safe_2 = require("@zwave-js/shared/safe");
199
+ const API_1 = require("../lib/API");
200
+ const CommandClass_1 = require("../lib/CommandClass");
201
+ const _Types_1 = require("../lib/_Types");
202
+ // @noSetValueAPI There are no values to set here
203
+ // @noInterview The "interview" is part of the update process
204
+ function getSupportsActivationValueId() {
205
+ return {
206
+ commandClass: safe_1.CommandClasses["Firmware Update Meta Data"],
207
+ property: "supportsActivation",
208
+ };
209
+ }
210
+ let FirmwareUpdateMetaDataCCAPI = class FirmwareUpdateMetaDataCCAPI extends API_1.PhysicalCCAPI {
211
+ supportsCommand(cmd) {
212
+ var _a;
213
+ switch (cmd) {
214
+ case _Types_1.FirmwareUpdateMetaDataCommand.MetaDataGet:
215
+ case _Types_1.FirmwareUpdateMetaDataCommand.RequestGet:
216
+ case _Types_1.FirmwareUpdateMetaDataCommand.Report:
217
+ case _Types_1.FirmwareUpdateMetaDataCommand.StatusReport:
218
+ return true;
219
+ case _Types_1.FirmwareUpdateMetaDataCommand.ActivationSet:
220
+ return (this.version >= 4 &&
221
+ (this.version < 7 ||
222
+ ((_a = this.tryGetValueDB()) === null || _a === void 0 ? void 0 : _a.getValue(getSupportsActivationValueId())) === true));
223
+ case _Types_1.FirmwareUpdateMetaDataCommand.PrepareGet:
224
+ return this.version >= 5;
225
+ }
226
+ return super.supportsCommand(cmd);
227
+ }
228
+ /**
229
+ * Requests information about the current firmware on the device
230
+ */
231
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
232
+ async getMetaData() {
233
+ this.assertSupportsCommand(_Types_1.FirmwareUpdateMetaDataCommand, _Types_1.FirmwareUpdateMetaDataCommand.MetaDataGet);
234
+ const cc = new FirmwareUpdateMetaDataCCMetaDataGet(this.applHost, {
235
+ nodeId: this.endpoint.nodeId,
236
+ endpoint: this.endpoint.index,
237
+ });
238
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
239
+ if (response) {
240
+ return (0, safe_2.pick)(response, [
241
+ "manufacturerId",
242
+ "firmwareId",
243
+ "checksum",
244
+ "firmwareUpgradable",
245
+ "maxFragmentSize",
246
+ "additionalFirmwareIDs",
247
+ "hardwareVersion",
248
+ "continuesToFunction",
249
+ "supportsActivation",
250
+ ]);
251
+ }
252
+ }
253
+ /**
254
+ * Requests the device to start the firmware update process.
255
+ * WARNING: This method may wait up to 60 seconds for a reply.
256
+ */
257
+ async requestUpdate(options) {
258
+ __assertType("options", "FirmwareUpdateMetaDataCCRequestGetOptions", __assertType__FirmwareUpdateMetaDataCCRequestGetOptions.bind(void 0, options));
259
+ this.assertSupportsCommand(_Types_1.FirmwareUpdateMetaDataCommand, _Types_1.FirmwareUpdateMetaDataCommand.RequestGet);
260
+ const cc = new FirmwareUpdateMetaDataCCRequestGet(this.applHost, {
261
+ nodeId: this.endpoint.nodeId,
262
+ endpoint: this.endpoint.index,
263
+ ...options,
264
+ });
265
+ // Since the response may take longer than with other commands,
266
+ // we do not use the built-in waiting functionality, which would block
267
+ // all other communication
268
+ await this.applHost.sendCommand(cc, this.commandOptions);
269
+ const { status } = await this.applHost.waitForCommand((cc) => cc instanceof FirmwareUpdateMetaDataCCRequestReport &&
270
+ cc.nodeId === this.endpoint.nodeId, 60000);
271
+ return status;
272
+ }
273
+ /**
274
+ * Sends a fragment of the new firmware to the device
275
+ */
276
+ async sendFirmwareFragment(fragmentNumber, isLastFragment, data) {
277
+ __assertType("fragmentNumber", "number", __assertType__number.bind(void 0, fragmentNumber));
278
+ __assertType("isLastFragment", "boolean", __assertType__boolean.bind(void 0, isLastFragment));
279
+ __assertType("data", "Buffer", __assertType__Buffer.bind(void 0, data));
280
+ this.assertSupportsCommand(_Types_1.FirmwareUpdateMetaDataCommand, _Types_1.FirmwareUpdateMetaDataCommand.Report);
281
+ const cc = new FirmwareUpdateMetaDataCCReport(this.applHost, {
282
+ nodeId: this.endpoint.nodeId,
283
+ endpoint: this.endpoint.index,
284
+ reportNumber: fragmentNumber,
285
+ isLast: isLastFragment,
286
+ firmwareData: data,
287
+ });
288
+ await this.applHost.sendCommand(cc, this.commandOptions);
289
+ }
290
+ /** Activates a previously transferred firmware image */
291
+ async activateFirmware(options) {
292
+ __assertType("options", "FirmwareUpdateMetaDataCCActivationSetOptions", __assertType__FirmwareUpdateMetaDataCCActivationSetOptions.bind(void 0, options));
293
+ this.assertSupportsCommand(_Types_1.FirmwareUpdateMetaDataCommand, _Types_1.FirmwareUpdateMetaDataCommand.ActivationSet);
294
+ const cc = new FirmwareUpdateMetaDataCCActivationSet(this.applHost, {
295
+ nodeId: this.endpoint.nodeId,
296
+ endpoint: this.endpoint.index,
297
+ ...options,
298
+ });
299
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
300
+ return response === null || response === void 0 ? void 0 : response.activationStatus;
301
+ }
302
+ };
303
+ FirmwareUpdateMetaDataCCAPI = __decorate([
304
+ (0, CommandClass_1.API)(safe_1.CommandClasses["Firmware Update Meta Data"])
305
+ ], FirmwareUpdateMetaDataCCAPI);
306
+ exports.FirmwareUpdateMetaDataCCAPI = FirmwareUpdateMetaDataCCAPI;
307
+ let FirmwareUpdateMetaDataCC = class FirmwareUpdateMetaDataCC extends CommandClass_1.CommandClass {
308
+ };
309
+ FirmwareUpdateMetaDataCC = __decorate([
310
+ (0, CommandClass_1.commandClass)(safe_1.CommandClasses["Firmware Update Meta Data"]),
311
+ (0, CommandClass_1.implementedVersion)(7)
312
+ ], FirmwareUpdateMetaDataCC);
313
+ exports.FirmwareUpdateMetaDataCC = FirmwareUpdateMetaDataCC;
314
+ let FirmwareUpdateMetaDataCCMetaDataReport = class FirmwareUpdateMetaDataCCMetaDataReport extends FirmwareUpdateMetaDataCC {
315
+ constructor(host, options) {
316
+ super(host, options);
317
+ this.additionalFirmwareIDs = [];
318
+ this.continuesToFunction = safe_1.unknownBoolean;
319
+ this.supportsActivation = safe_1.unknownBoolean;
320
+ (0, safe_1.validatePayload)(this.payload.length >= 6);
321
+ this.manufacturerId = this.payload.readUInt16BE(0);
322
+ this.firmwareId = this.payload.readUInt16BE(2);
323
+ this.checksum = this.payload.readUInt16BE(4);
324
+ // V1/V2 only have a single firmware which must be upgradable
325
+ this.firmwareUpgradable =
326
+ this.payload[6] === 0xff || this.payload[6] == undefined;
327
+ if (this.version >= 3 && this.payload.length >= 10) {
328
+ this.maxFragmentSize = this.payload.readUInt16BE(8);
329
+ // Read variable length list of additional firmwares
330
+ const numAdditionalFirmwares = this.payload[7];
331
+ const additionalFirmwareIDs = [];
332
+ (0, safe_1.validatePayload)(this.payload.length >= 10 + 2 * numAdditionalFirmwares);
333
+ for (let i = 0; i < numAdditionalFirmwares; i++) {
334
+ additionalFirmwareIDs.push(this.payload.readUInt16BE(10 + 2 * i));
335
+ }
336
+ this.additionalFirmwareIDs = additionalFirmwareIDs;
337
+ // Read hardware version (if it exists)
338
+ let offset = 10 + 2 * numAdditionalFirmwares;
339
+ if (this.version >= 5 && this.payload.length >= offset + 1) {
340
+ this.hardwareVersion = this.payload[offset];
341
+ offset++;
342
+ if (this.version >= 6 && this.payload.length >= offset + 1) {
343
+ const capabilities = this.payload[offset];
344
+ offset++;
345
+ this.continuesToFunction = !!(capabilities & 0b1);
346
+ if (this.version >= 7)
347
+ this.supportsActivation = !!(capabilities & 0b10);
348
+ }
349
+ }
350
+ }
351
+ }
352
+ toLogEntry(applHost) {
353
+ return {
354
+ ...super.toLogEntry(applHost),
355
+ message: {
356
+ "manufacturer id": this.manufacturerId,
357
+ "firmware id": this.firmwareId,
358
+ checksum: this.checksum,
359
+ "firmware upgradable": this.firmwareUpgradable,
360
+ "max fragment size": this.maxFragmentSize,
361
+ "additional firmware IDs": JSON.stringify(this.additionalFirmwareIDs),
362
+ "hardware version": this.hardwareVersion,
363
+ "continues to function": this.continuesToFunction,
364
+ "supports activation": this.supportsActivation,
365
+ },
366
+ };
367
+ }
368
+ };
369
+ __decorate([
370
+ (0, CommandClass_1.ccValue)({ internal: true })
371
+ ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "continuesToFunction", void 0);
372
+ __decorate([
373
+ (0, CommandClass_1.ccValue)({ internal: true })
374
+ ], FirmwareUpdateMetaDataCCMetaDataReport.prototype, "supportsActivation", void 0);
375
+ FirmwareUpdateMetaDataCCMetaDataReport = __decorate([
376
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.MetaDataReport)
377
+ ], FirmwareUpdateMetaDataCCMetaDataReport);
378
+ exports.FirmwareUpdateMetaDataCCMetaDataReport = FirmwareUpdateMetaDataCCMetaDataReport;
379
+ let FirmwareUpdateMetaDataCCMetaDataGet = class FirmwareUpdateMetaDataCCMetaDataGet extends FirmwareUpdateMetaDataCC {
380
+ };
381
+ FirmwareUpdateMetaDataCCMetaDataGet = __decorate([
382
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.MetaDataGet),
383
+ (0, CommandClass_1.expectedCCResponse)(FirmwareUpdateMetaDataCCMetaDataReport)
384
+ ], FirmwareUpdateMetaDataCCMetaDataGet);
385
+ exports.FirmwareUpdateMetaDataCCMetaDataGet = FirmwareUpdateMetaDataCCMetaDataGet;
386
+ let FirmwareUpdateMetaDataCCRequestReport = class FirmwareUpdateMetaDataCCRequestReport extends FirmwareUpdateMetaDataCC {
387
+ constructor(host, options) {
388
+ super(host, options);
389
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
390
+ this.status = this.payload[0];
391
+ }
392
+ toLogEntry(applHost) {
393
+ return {
394
+ ...super.toLogEntry(applHost),
395
+ message: {
396
+ status: (0, safe_2.getEnumMemberName)(_Types_1.FirmwareUpdateRequestStatus, this.status),
397
+ },
398
+ };
399
+ }
400
+ };
401
+ FirmwareUpdateMetaDataCCRequestReport = __decorate([
402
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.RequestReport)
403
+ ], FirmwareUpdateMetaDataCCRequestReport);
404
+ exports.FirmwareUpdateMetaDataCCRequestReport = FirmwareUpdateMetaDataCCRequestReport;
405
+ let FirmwareUpdateMetaDataCCRequestGet =
406
+ // This would expect a FirmwareUpdateMetaDataCCRequestReport, but the response may take
407
+ // a while to come. We don't want to block communication, so we don't expect a response here
408
+ class FirmwareUpdateMetaDataCCRequestGet extends FirmwareUpdateMetaDataCC {
409
+ constructor(host, options) {
410
+ var _a;
411
+ super(host, options);
412
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
413
+ // TODO: Deserialize payload
414
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
415
+ }
416
+ else {
417
+ this.manufacturerId = options.manufacturerId;
418
+ this.firmwareId = options.firmwareId;
419
+ this.checksum = options.checksum;
420
+ if ("firmwareTarget" in options) {
421
+ this.firmwareTarget = options.firmwareTarget;
422
+ this.fragmentSize = options.fragmentSize;
423
+ this.activation = (_a = options.activation) !== null && _a !== void 0 ? _a : false;
424
+ this.hardwareVersion = options.hardwareVersion;
425
+ }
426
+ }
427
+ }
428
+ serialize() {
429
+ const isV3 = this.version >= 3 &&
430
+ this.firmwareTarget != undefined &&
431
+ this.fragmentSize != undefined;
432
+ const isV4 = isV3 && this.version >= 4 && this.activation != undefined;
433
+ const isV5 = isV4 && this.version >= 5 && this.hardwareVersion != undefined;
434
+ this.payload = Buffer.allocUnsafe(6 + (isV3 ? 3 : 0) + (isV4 ? 1 : 0) + (isV5 ? 1 : 0));
435
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
436
+ this.payload.writeUInt16BE(this.firmwareId, 2);
437
+ this.payload.writeUInt16BE(this.checksum, 4);
438
+ if (isV3) {
439
+ this.payload[6] = this.firmwareTarget;
440
+ this.payload.writeUInt16BE(this.fragmentSize, 7);
441
+ }
442
+ if (isV4) {
443
+ this.payload[9] = this.activation ? 1 : 0;
444
+ }
445
+ if (isV5) {
446
+ this.payload[10] = this.hardwareVersion;
447
+ }
448
+ return super.serialize();
449
+ }
450
+ toLogEntry(applHost) {
451
+ const message = {
452
+ "manufacturer id": (0, safe_2.num2hex)(this.manufacturerId),
453
+ "firmware id": (0, safe_2.num2hex)(this.firmwareId),
454
+ checksum: (0, safe_2.num2hex)(this.checksum),
455
+ };
456
+ if (this.firmwareTarget != undefined) {
457
+ message["firmware target"] = this.firmwareTarget;
458
+ }
459
+ if (this.fragmentSize != undefined) {
460
+ message["fragment size"] = this.fragmentSize;
461
+ }
462
+ if (this.activation != undefined) {
463
+ message.activation = this.activation;
464
+ }
465
+ if (this.hardwareVersion != undefined) {
466
+ message["hardware version"] = this.hardwareVersion;
467
+ }
468
+ return {
469
+ ...super.toLogEntry(applHost),
470
+ message,
471
+ };
472
+ }
473
+ };
474
+ FirmwareUpdateMetaDataCCRequestGet = __decorate([
475
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.RequestGet)
476
+ // This would expect a FirmwareUpdateMetaDataCCRequestReport, but the response may take
477
+ // a while to come. We don't want to block communication, so we don't expect a response here
478
+ ], FirmwareUpdateMetaDataCCRequestGet);
479
+ exports.FirmwareUpdateMetaDataCCRequestGet = FirmwareUpdateMetaDataCCRequestGet;
480
+ let FirmwareUpdateMetaDataCCGet =
481
+ // This is sent to us from the node, so we expect no response
482
+ class FirmwareUpdateMetaDataCCGet extends FirmwareUpdateMetaDataCC {
483
+ constructor(host, options) {
484
+ super(host, options);
485
+ (0, safe_1.validatePayload)(this.payload.length >= 3);
486
+ this.numReports = this.payload[0];
487
+ this.reportNumber = this.payload.readUInt16BE(1) & 0x7fff;
488
+ }
489
+ toLogEntry(applHost) {
490
+ return {
491
+ ...super.toLogEntry(applHost),
492
+ message: {
493
+ "total # of reports": this.numReports,
494
+ "report number": this.reportNumber,
495
+ },
496
+ };
497
+ }
498
+ };
499
+ FirmwareUpdateMetaDataCCGet = __decorate([
500
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.Get)
501
+ // This is sent to us from the node, so we expect no response
502
+ ], FirmwareUpdateMetaDataCCGet);
503
+ exports.FirmwareUpdateMetaDataCCGet = FirmwareUpdateMetaDataCCGet;
504
+ let FirmwareUpdateMetaDataCCReport =
505
+ // We send this in reply to the Get command and expect no response
506
+ class FirmwareUpdateMetaDataCCReport extends FirmwareUpdateMetaDataCC {
507
+ constructor(host, options) {
508
+ super(host, options);
509
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
510
+ // TODO: Deserialize payload
511
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
512
+ }
513
+ else {
514
+ this.reportNumber = options.reportNumber;
515
+ this.firmwareData = options.firmwareData;
516
+ this.isLast = options.isLast;
517
+ }
518
+ }
519
+ serialize() {
520
+ const commandBuffer = Buffer.concat([
521
+ Buffer.allocUnsafe(2),
522
+ this.firmwareData,
523
+ ]);
524
+ commandBuffer.writeUInt16BE((this.reportNumber & 0x7fff) | (this.isLast ? 0x8000 : 0), 0);
525
+ if (this.version >= 2) {
526
+ // Compute and save the CRC16 in the payload
527
+ // The CC header is included in the CRC computation
528
+ let crc = (0, safe_1.CRC16_CCITT)(Buffer.from([this.ccId, this.ccCommand]));
529
+ crc = (0, safe_1.CRC16_CCITT)(commandBuffer, crc);
530
+ this.payload = Buffer.concat([
531
+ commandBuffer,
532
+ Buffer.allocUnsafe(2),
533
+ ]);
534
+ this.payload.writeUInt16BE(crc, this.payload.length - 2);
535
+ }
536
+ else {
537
+ this.payload = commandBuffer;
538
+ }
539
+ return super.serialize();
540
+ }
541
+ toLogEntry(applHost) {
542
+ return {
543
+ ...super.toLogEntry(applHost),
544
+ message: {
545
+ "report #": this.reportNumber,
546
+ "is last": this.isLast,
547
+ },
548
+ };
549
+ }
550
+ };
551
+ FirmwareUpdateMetaDataCCReport = __decorate([
552
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.Report)
553
+ // We send this in reply to the Get command and expect no response
554
+ ], FirmwareUpdateMetaDataCCReport);
555
+ exports.FirmwareUpdateMetaDataCCReport = FirmwareUpdateMetaDataCCReport;
556
+ let FirmwareUpdateMetaDataCCStatusReport = class FirmwareUpdateMetaDataCCStatusReport extends FirmwareUpdateMetaDataCC {
557
+ constructor(host, options) {
558
+ super(host, options);
559
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
560
+ this.status = this.payload[0];
561
+ if (this.payload.length >= 3) {
562
+ this.waitTime = this.payload.readUInt16BE(1);
563
+ }
564
+ }
565
+ toLogEntry(applHost) {
566
+ const message = {
567
+ status: (0, safe_2.getEnumMemberName)(_Types_1.FirmwareUpdateStatus, this.status),
568
+ };
569
+ if (this.waitTime != undefined) {
570
+ message["wait time"] = `${this.waitTime} seconds`;
571
+ }
572
+ return {
573
+ ...super.toLogEntry(applHost),
574
+ message,
575
+ };
576
+ }
577
+ };
578
+ FirmwareUpdateMetaDataCCStatusReport = __decorate([
579
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.StatusReport)
580
+ ], FirmwareUpdateMetaDataCCStatusReport);
581
+ exports.FirmwareUpdateMetaDataCCStatusReport = FirmwareUpdateMetaDataCCStatusReport;
582
+ let FirmwareUpdateMetaDataCCActivationReport = class FirmwareUpdateMetaDataCCActivationReport extends FirmwareUpdateMetaDataCC {
583
+ constructor(host, options) {
584
+ super(host, options);
585
+ (0, safe_1.validatePayload)(this.payload.length >= 8);
586
+ this.manufacturerId = this.payload.readUInt16BE(0);
587
+ this.firmwareId = this.payload.readUInt16BE(2);
588
+ this.checksum = this.payload.readUInt16BE(4);
589
+ this.firmwareTarget = this.payload[6];
590
+ this.activationStatus = this.payload[7];
591
+ if (this.version >= 5 && this.payload.length >= 9) {
592
+ this.hardwareVersion = this.payload[8];
593
+ }
594
+ }
595
+ toLogEntry(applHost) {
596
+ const message = {
597
+ "manufacturer id": (0, safe_2.num2hex)(this.manufacturerId),
598
+ "firmware id": (0, safe_2.num2hex)(this.firmwareId),
599
+ checksum: (0, safe_2.num2hex)(this.checksum),
600
+ "firmware target": this.firmwareTarget,
601
+ "activation status": (0, safe_2.getEnumMemberName)(_Types_1.FirmwareUpdateActivationStatus, this.activationStatus),
602
+ };
603
+ if (this.hardwareVersion != undefined) {
604
+ message.hardwareVersion = this.hardwareVersion;
605
+ }
606
+ return {
607
+ ...super.toLogEntry(applHost),
608
+ message,
609
+ };
610
+ }
611
+ };
612
+ FirmwareUpdateMetaDataCCActivationReport = __decorate([
613
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.ActivationReport)
614
+ ], FirmwareUpdateMetaDataCCActivationReport);
615
+ exports.FirmwareUpdateMetaDataCCActivationReport = FirmwareUpdateMetaDataCCActivationReport;
616
+ let FirmwareUpdateMetaDataCCActivationSet = class FirmwareUpdateMetaDataCCActivationSet extends FirmwareUpdateMetaDataCC {
617
+ constructor(host, options) {
618
+ super(host, options);
619
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
620
+ // TODO: Deserialize payload
621
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
622
+ }
623
+ else {
624
+ this.manufacturerId = options.manufacturerId;
625
+ this.firmwareId = options.firmwareId;
626
+ this.checksum = options.checksum;
627
+ this.firmwareTarget = options.firmwareTarget;
628
+ this.hardwareVersion = options.hardwareVersion;
629
+ }
630
+ }
631
+ serialize() {
632
+ const isV5 = this.version >= 5 && this.hardwareVersion != undefined;
633
+ this.payload = Buffer.allocUnsafe(7 + (isV5 ? 1 : 0));
634
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
635
+ this.payload.writeUInt16BE(this.firmwareId, 2);
636
+ this.payload.writeUInt16BE(this.checksum, 4);
637
+ this.payload[6] = this.firmwareTarget;
638
+ if (isV5) {
639
+ this.payload[7] = this.hardwareVersion;
640
+ }
641
+ return super.serialize();
642
+ }
643
+ toLogEntry(applHost) {
644
+ const message = {
645
+ "manufacturer id": (0, safe_2.num2hex)(this.manufacturerId),
646
+ "firmware id": (0, safe_2.num2hex)(this.firmwareId),
647
+ checksum: (0, safe_2.num2hex)(this.checksum),
648
+ "firmware target": this.firmwareTarget,
649
+ };
650
+ if (this.hardwareVersion != undefined) {
651
+ message["hardware version"] = this.hardwareVersion;
652
+ }
653
+ return {
654
+ ...super.toLogEntry(applHost),
655
+ message,
656
+ };
657
+ }
658
+ };
659
+ FirmwareUpdateMetaDataCCActivationSet = __decorate([
660
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.ActivationSet),
661
+ (0, CommandClass_1.expectedCCResponse)(FirmwareUpdateMetaDataCCActivationReport)
662
+ ], FirmwareUpdateMetaDataCCActivationSet);
663
+ exports.FirmwareUpdateMetaDataCCActivationSet = FirmwareUpdateMetaDataCCActivationSet;
664
+ let FirmwareUpdateMetaDataCCPrepareReport = class FirmwareUpdateMetaDataCCPrepareReport extends FirmwareUpdateMetaDataCC {
665
+ constructor(host, options) {
666
+ super(host, options);
667
+ (0, safe_1.validatePayload)(this.payload.length >= 3);
668
+ this.status = this.payload[0];
669
+ this.checksum = this.payload.readUInt16BE(1);
670
+ }
671
+ toLogEntry(applHost) {
672
+ return {
673
+ ...super.toLogEntry(applHost),
674
+ message: {
675
+ status: (0, safe_2.getEnumMemberName)(_Types_1.FirmwareDownloadStatus, this.status),
676
+ checksum: (0, safe_2.num2hex)(this.checksum),
677
+ },
678
+ };
679
+ }
680
+ };
681
+ FirmwareUpdateMetaDataCCPrepareReport = __decorate([
682
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.PrepareReport)
683
+ ], FirmwareUpdateMetaDataCCPrepareReport);
684
+ exports.FirmwareUpdateMetaDataCCPrepareReport = FirmwareUpdateMetaDataCCPrepareReport;
685
+ let FirmwareUpdateMetaDataCCPrepareGet = class FirmwareUpdateMetaDataCCPrepareGet extends FirmwareUpdateMetaDataCC {
686
+ constructor(host, options) {
687
+ super(host, options);
688
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
689
+ // TODO: Deserialize payload
690
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
691
+ }
692
+ else {
693
+ this.manufacturerId = options.manufacturerId;
694
+ this.firmwareId = options.firmwareId;
695
+ this.firmwareTarget = options.firmwareTarget;
696
+ this.fragmentSize = options.fragmentSize;
697
+ this.hardwareVersion = options.hardwareVersion;
698
+ }
699
+ }
700
+ serialize() {
701
+ this.payload = Buffer.allocUnsafe(8);
702
+ this.payload.writeUInt16BE(this.manufacturerId, 0);
703
+ this.payload.writeUInt16BE(this.firmwareId, 2);
704
+ this.payload[4] = this.firmwareTarget;
705
+ this.payload.writeUInt16BE(this.fragmentSize, 5);
706
+ this.payload[7] = this.hardwareVersion;
707
+ return super.serialize();
708
+ }
709
+ toLogEntry(applHost) {
710
+ return {
711
+ ...super.toLogEntry(applHost),
712
+ message: {
713
+ "manufacturer id": (0, safe_2.num2hex)(this.manufacturerId),
714
+ "firmware id": (0, safe_2.num2hex)(this.firmwareId),
715
+ "firmware target": this.firmwareTarget,
716
+ "fragment size": this.fragmentSize,
717
+ "hardware version": this.hardwareVersion,
718
+ },
719
+ };
720
+ }
721
+ };
722
+ FirmwareUpdateMetaDataCCPrepareGet = __decorate([
723
+ (0, CommandClass_1.CCCommand)(_Types_1.FirmwareUpdateMetaDataCommand.PrepareGet),
724
+ (0, CommandClass_1.expectedCCResponse)(FirmwareUpdateMetaDataCCReport)
725
+ ], FirmwareUpdateMetaDataCCPrepareGet);
726
+ exports.FirmwareUpdateMetaDataCCPrepareGet = FirmwareUpdateMetaDataCCPrepareGet;
727
+ //# sourceMappingURL=FirmwareUpdateMetaDataCC.js.map