@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,63 @@
1
+ /// <reference types="node" />
2
+ import { Duration, Maybe, MessageOrCCLogEntry } from "@zwave-js/core/safe";
3
+ import type { ZWaveApplicationHost, ZWaveHost } from "@zwave-js/host/safe";
4
+ import { PhysicalCCAPI } from "../lib/API";
5
+ import { CommandClass, type CCCommandOptions, type CommandClassDeserializationOptions } from "../lib/CommandClass";
6
+ import { SupervisionCommand, SupervisionStatus } from "../lib/_Types";
7
+ /** Returns the next session ID to be used for supervision */
8
+ export declare function getNextSessionId(): number;
9
+ export declare class SupervisionCCAPI extends PhysicalCCAPI {
10
+ supportsCommand(cmd: SupervisionCommand): Maybe<boolean>;
11
+ sendEncapsulated(encapsulated: CommandClass, requestStatusUpdates?: boolean): Promise<void>;
12
+ sendReport(options: SupervisionCCReportOptions & {
13
+ secure?: boolean;
14
+ }): Promise<void>;
15
+ }
16
+ export declare class SupervisionCC extends CommandClass {
17
+ ccCommand: SupervisionCommand;
18
+ nodeId: number;
19
+ /** Tests if a command should be supervised and thus requires encapsulation */
20
+ static requiresEncapsulation(cc: CommandClass): boolean;
21
+ /** Encapsulates a command that targets a specific endpoint */
22
+ static encapsulate(host: ZWaveHost, cc: CommandClass, requestStatusUpdates?: boolean): SupervisionCCGet;
23
+ /**
24
+ * Given a CC instance, this returns the Supervision session ID which is used for this command.
25
+ * Returns `undefined` when there is no session ID or the command was sent as multicast.
26
+ */
27
+ static getSessionId(command: CommandClass): number | undefined;
28
+ }
29
+ export declare type SupervisionCCReportOptions = {
30
+ moreUpdatesFollow: boolean;
31
+ requestWakeUpOnDemand?: boolean;
32
+ sessionId: number;
33
+ } & ({
34
+ status: SupervisionStatus.Working;
35
+ duration: Duration;
36
+ } | {
37
+ status: SupervisionStatus.NoSupport | SupervisionStatus.Fail | SupervisionStatus.Success;
38
+ });
39
+ export declare class SupervisionCCReport extends SupervisionCC {
40
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | (CCCommandOptions & SupervisionCCReportOptions));
41
+ readonly moreUpdatesFollow: boolean;
42
+ readonly requestWakeUpOnDemand: boolean;
43
+ readonly sessionId: number;
44
+ readonly status: SupervisionStatus;
45
+ readonly duration: Duration | undefined;
46
+ serialize(): Buffer;
47
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
48
+ }
49
+ interface SupervisionCCGetOptions extends CCCommandOptions {
50
+ requestStatusUpdates: boolean;
51
+ encapsulated: CommandClass;
52
+ }
53
+ export declare class SupervisionCCGet extends SupervisionCC {
54
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | SupervisionCCGetOptions);
55
+ requestStatusUpdates: boolean;
56
+ sessionId: number;
57
+ encapsulated: CommandClass;
58
+ serialize(): Buffer;
59
+ protected computeEncapsulationOverhead(): number;
60
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
61
+ }
62
+ export {};
63
+ //# sourceMappingURL=SupervisionCC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupervisionCC.d.ts","sourceRoot":"","sources":["../../src/cc/SupervisionCC.ts"],"names":[],"mappings":";AAAA,OAAO,EAEN,QAAQ,EAER,KAAK,EACL,mBAAmB,EAMnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGN,YAAY,EAKZ,KAAK,gBAAgB,EACrB,KAAK,kCAAkC,EACvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMtE,6DAA6D;AAC7D,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAID,qBACa,gBAAiB,SAAQ,aAAa;IAC3C,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;IASlD,gBAAgB,CAC5B,YAAY,EAAE,YAAY,EAE1B,oBAAoB,GAAE,OAAc,GAClC,OAAO,CAAC,IAAI,CAAC;IAWH,UAAU,CACtB,OAAO,EAAE,0BAA0B,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACxD,OAAO,CAAC,IAAI,CAAC;CAiChB;AAED,qBAEa,aAAc,SAAQ,YAAY;IACtC,SAAS,EAAE,kBAAkB,CAAC;IAE9B,MAAM,EAAE,MAAM,CAAC;IAEvB,8EAA8E;WAChE,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO;IAI9D,8DAA8D;WAChD,WAAW,CACxB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,YAAY,EAChB,oBAAoB,GAAE,OAAc,GAClC,gBAAgB;IAiBnB;;;OAGG;WACW,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;CAgBrE;AAED,oBAAY,0BAA0B,GAAG;IACxC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,CACD;IACA,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAClC,QAAQ,EAAE,QAAQ,CAAC;CAClB,GACD;IACA,MAAM,EACH,iBAAiB,CAAC,SAAS,GAC3B,iBAAiB,CAAC,IAAI,GACtB,iBAAiB,CAAC,OAAO,CAAC;CAC5B,CACH,CAAC;AAEF,qBACa,mBAAoB,SAAQ,aAAa;gBAEpD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,CAAC,gBAAgB,GAAG,0BAA0B,CAAC;IAwBnD,SAAgB,iBAAiB,EAAE,OAAO,CAAC;IAC3C,SAAgB,qBAAqB,EAAE,OAAO,CAAC;IAC/C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,SAAgB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAExC,SAAS,IAAI,MAAM;IAmBnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CActE;AAED,UAAU,uBAAwB,SAAQ,gBAAgB;IACzD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;CAC3B;AASD,qBAEa,gBAAiB,SAAQ,aAAa;gBAEjD,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,kCAAkC,GAAG,uBAAuB;IAuB/D,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAE3B,SAAS,IAAI,MAAM;IAa1B,SAAS,CAAC,4BAA4B,IAAI,MAAM;IAKzC,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAStE"}
@@ -0,0 +1,239 @@
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.SupervisionCCGet = exports.SupervisionCCReport = exports.SupervisionCC = exports.SupervisionCCAPI = exports.getNextSessionId = void 0;
10
+ const safe_1 = require("@zwave-js/core/safe");
11
+ const safe_2 = require("@zwave-js/shared/safe");
12
+ const API_1 = require("../lib/API");
13
+ const CommandClass_1 = require("../lib/CommandClass");
14
+ const _Types_1 = require("../lib/_Types");
15
+ // @noSetValueAPI - This CC has no values to set
16
+ // @noInterview - This CC is only used for encapsulation
17
+ let sessionId = 0;
18
+ /** Returns the next session ID to be used for supervision */
19
+ function getNextSessionId() {
20
+ // TODO: Check if this needs to be on the applHost for Security 2
21
+ sessionId = (sessionId + 1) & 0b111111;
22
+ if (sessionId === 0)
23
+ sessionId++;
24
+ return sessionId;
25
+ }
26
+ exports.getNextSessionId = getNextSessionId;
27
+ // @noValidateArgs - Encapsulation CCs are used internally and too frequently that we
28
+ // want to pay the cost of validating each call
29
+ let SupervisionCCAPI = class SupervisionCCAPI extends API_1.PhysicalCCAPI {
30
+ supportsCommand(cmd) {
31
+ switch (cmd) {
32
+ case _Types_1.SupervisionCommand.Get:
33
+ case _Types_1.SupervisionCommand.Report:
34
+ return true; // This is mandatory
35
+ }
36
+ return super.supportsCommand(cmd);
37
+ }
38
+ async sendEncapsulated(encapsulated,
39
+ // If possible, keep us updated about the progress
40
+ requestStatusUpdates = true) {
41
+ this.assertSupportsCommand(_Types_1.SupervisionCommand, _Types_1.SupervisionCommand.Get);
42
+ const cc = new SupervisionCCGet(this.applHost, {
43
+ nodeId: this.endpoint.nodeId,
44
+ requestStatusUpdates,
45
+ encapsulated,
46
+ });
47
+ await this.applHost.sendCommand(cc, this.commandOptions);
48
+ }
49
+ async sendReport(options) {
50
+ // Here we don't assert support - some devices only half-support Supervision, so we treat them
51
+ // as if they don't support it. We still need to be able to respond to the Get command though.
52
+ const { secure = false, ...cmdOptions } = options;
53
+ const cc = new SupervisionCCReport(this.applHost, {
54
+ nodeId: this.endpoint.nodeId,
55
+ ...cmdOptions,
56
+ });
57
+ // The report should be sent back with security if the received command was secure
58
+ cc.secure = secure;
59
+ try {
60
+ await this.applHost.sendCommand(cc, {
61
+ ...this.commandOptions,
62
+ // Supervision Reports must be prioritized over normal messages
63
+ priority: safe_1.MessagePriority.Supervision,
64
+ // We don't want failures causing us to treat the node as asleep or dead
65
+ changeNodeStatusOnMissingACK: false,
66
+ // Only try sending the report once. If it fails, the node will ask again
67
+ maxSendAttempts: 1,
68
+ });
69
+ }
70
+ catch (e) {
71
+ if ((0, safe_1.isTransmissionError)(e)) {
72
+ // Swallow errors related to transmission failures
73
+ return;
74
+ }
75
+ else {
76
+ // Pass other errors through
77
+ throw e;
78
+ }
79
+ }
80
+ }
81
+ };
82
+ SupervisionCCAPI = __decorate([
83
+ (0, CommandClass_1.API)(safe_1.CommandClasses.Supervision)
84
+ ], SupervisionCCAPI);
85
+ exports.SupervisionCCAPI = SupervisionCCAPI;
86
+ let SupervisionCC = class SupervisionCC extends CommandClass_1.CommandClass {
87
+ /** Tests if a command should be supervised and thus requires encapsulation */
88
+ static requiresEncapsulation(cc) {
89
+ return cc.supervised && !(cc instanceof SupervisionCCGet);
90
+ }
91
+ /** Encapsulates a command that targets a specific endpoint */
92
+ static encapsulate(host, cc, requestStatusUpdates = true) {
93
+ if (!cc.isSinglecast()) {
94
+ throw new safe_1.ZWaveError(`Supervision is only possible for singlecast commands!`, safe_1.ZWaveErrorCodes.Argument_Invalid);
95
+ }
96
+ return new SupervisionCCGet(host, {
97
+ nodeId: cc.nodeId,
98
+ // Supervision CC is wrapped inside MultiChannel CCs, so the endpoint must be copied
99
+ endpoint: cc.endpointIndex,
100
+ encapsulated: cc,
101
+ requestStatusUpdates,
102
+ });
103
+ }
104
+ /**
105
+ * Given a CC instance, this returns the Supervision session ID which is used for this command.
106
+ * Returns `undefined` when there is no session ID or the command was sent as multicast.
107
+ */
108
+ static getSessionId(command) {
109
+ if (command.isEncapsulatedWith(safe_1.CommandClasses.Supervision, _Types_1.SupervisionCommand.Get)) {
110
+ const supervisionEncapsulation = command.getEncapsulatingCC(safe_1.CommandClasses.Supervision, _Types_1.SupervisionCommand.Get);
111
+ if (!supervisionEncapsulation.isMulticast()) {
112
+ return supervisionEncapsulation.sessionId;
113
+ }
114
+ }
115
+ }
116
+ };
117
+ SupervisionCC = __decorate([
118
+ (0, CommandClass_1.commandClass)(safe_1.CommandClasses.Supervision),
119
+ (0, CommandClass_1.implementedVersion)(2)
120
+ ], SupervisionCC);
121
+ exports.SupervisionCC = SupervisionCC;
122
+ let SupervisionCCReport = class SupervisionCCReport extends SupervisionCC {
123
+ constructor(host, options) {
124
+ super(host, options);
125
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
126
+ (0, safe_1.validatePayload)(this.payload.length >= 3);
127
+ this.moreUpdatesFollow = !!(this.payload[0] & 128);
128
+ this.requestWakeUpOnDemand = !!(this.payload[0] & 64);
129
+ this.sessionId = this.payload[0] & 0b111111;
130
+ this.status = this.payload[1];
131
+ this.duration = safe_1.Duration.parseReport(this.payload[2]);
132
+ }
133
+ else {
134
+ this.moreUpdatesFollow = options.moreUpdatesFollow;
135
+ this.requestWakeUpOnDemand = !!options.requestWakeUpOnDemand;
136
+ this.sessionId = options.sessionId;
137
+ this.status = options.status;
138
+ if (options.status === _Types_1.SupervisionStatus.Working) {
139
+ this.duration = options.duration;
140
+ }
141
+ else {
142
+ this.duration = new safe_1.Duration(0, "seconds");
143
+ }
144
+ }
145
+ }
146
+ serialize() {
147
+ this.payload = Buffer.concat([
148
+ Buffer.from([
149
+ (this.moreUpdatesFollow ? 128 : 0) |
150
+ (this.requestWakeUpOnDemand ? 64 : 0) |
151
+ (this.sessionId & 0b111111),
152
+ this.status,
153
+ ]),
154
+ ]);
155
+ if (this.duration) {
156
+ this.payload = Buffer.concat([
157
+ this.payload,
158
+ Buffer.from([this.duration.serializeReport()]),
159
+ ]);
160
+ }
161
+ return super.serialize();
162
+ }
163
+ toLogEntry(applHost) {
164
+ const message = {
165
+ "session id": this.sessionId,
166
+ "more updates follow": this.moreUpdatesFollow,
167
+ status: (0, safe_2.getEnumMemberName)(_Types_1.SupervisionStatus, this.status),
168
+ };
169
+ if (this.duration) {
170
+ message.duration = this.duration.toString();
171
+ }
172
+ return {
173
+ ...super.toLogEntry(applHost),
174
+ message,
175
+ };
176
+ }
177
+ };
178
+ SupervisionCCReport = __decorate([
179
+ (0, CommandClass_1.CCCommand)(_Types_1.SupervisionCommand.Report)
180
+ ], SupervisionCCReport);
181
+ exports.SupervisionCCReport = SupervisionCCReport;
182
+ function testResponseForSupervisionCCGet(sent, received) {
183
+ return received.sessionId === sent.sessionId;
184
+ }
185
+ let SupervisionCCGet = class SupervisionCCGet extends SupervisionCC {
186
+ constructor(host, options) {
187
+ super(host, options);
188
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
189
+ (0, safe_1.validatePayload)(this.payload.length >= 3);
190
+ this.requestStatusUpdates = !!(this.payload[0] & 128);
191
+ this.sessionId = this.payload[0] & 0b111111;
192
+ this.encapsulated = CommandClass_1.CommandClass.from(this.host, {
193
+ data: this.payload.slice(2),
194
+ fromEncapsulation: true,
195
+ encapCC: this,
196
+ });
197
+ }
198
+ else {
199
+ this.sessionId = getNextSessionId();
200
+ this.requestStatusUpdates = options.requestStatusUpdates;
201
+ this.encapsulated = options.encapsulated;
202
+ options.encapsulated.encapsulatingCC = this;
203
+ // If the encapsulated command requires security, so does this one
204
+ if (this.encapsulated.secure)
205
+ this.secure = true;
206
+ }
207
+ }
208
+ serialize() {
209
+ const encapCC = this.encapsulated.serialize();
210
+ this.payload = Buffer.concat([
211
+ Buffer.from([
212
+ (this.requestStatusUpdates ? 128 : 0) |
213
+ (this.sessionId & 0b111111),
214
+ encapCC.length,
215
+ ]),
216
+ encapCC,
217
+ ]);
218
+ return super.serialize();
219
+ }
220
+ computeEncapsulationOverhead() {
221
+ // Supervision CC adds two bytes (control byte + cc length)
222
+ return super.computeEncapsulationOverhead() + 2;
223
+ }
224
+ toLogEntry(applHost) {
225
+ return {
226
+ ...super.toLogEntry(applHost),
227
+ message: {
228
+ "session id": this.sessionId,
229
+ "request updates": this.requestStatusUpdates,
230
+ },
231
+ };
232
+ }
233
+ };
234
+ SupervisionCCGet = __decorate([
235
+ (0, CommandClass_1.CCCommand)(_Types_1.SupervisionCommand.Get),
236
+ (0, CommandClass_1.expectedCCResponse)(SupervisionCCReport, testResponseForSupervisionCCGet)
237
+ ], SupervisionCCGet);
238
+ exports.SupervisionCCGet = SupervisionCCGet;
239
+ //# sourceMappingURL=SupervisionCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupervisionCC.js","sourceRoot":"","sources":["../../src/cc/SupervisionCC.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /// <reference types="node" />
2
+ import type { Maybe, MessageOrCCLogEntry, ValueID } from "@zwave-js/core/safe";
3
+ import type { ZWaveApplicationHost, ZWaveHost } from "@zwave-js/host/safe";
4
+ import { CCAPI, PollValueImplementation, POLL_VALUE, SetValueImplementation, SET_VALUE } from "../lib/API";
5
+ import { CommandClass, type CCCommandOptions, type CommandClassDeserializationOptions } from "../lib/CommandClass";
6
+ import { ThermostatFanMode, ThermostatFanModeCommand } from "../lib/_Types";
7
+ export declare function getOffStateValueID(endpoint: number): ValueID;
8
+ export declare function getModeStateValueID(endpoint: number): ValueID;
9
+ export declare class ThermostatFanModeCCAPI extends CCAPI {
10
+ supportsCommand(cmd: ThermostatFanModeCommand): Maybe<boolean>;
11
+ protected [SET_VALUE]: SetValueImplementation;
12
+ protected [POLL_VALUE]: PollValueImplementation;
13
+ get(): Promise<Pick<ThermostatFanModeCCReport, "mode" | "off"> | undefined>;
14
+ set(mode: ThermostatFanMode, off?: boolean): Promise<void>;
15
+ getSupportedModes(): Promise<readonly ThermostatFanMode[] | undefined>;
16
+ }
17
+ export declare class ThermostatFanModeCC extends CommandClass {
18
+ ccCommand: ThermostatFanModeCommand;
19
+ interview(applHost: ZWaveApplicationHost): Promise<void>;
20
+ refreshValues(applHost: ZWaveApplicationHost): Promise<void>;
21
+ }
22
+ declare type ThermostatFanModeCCSetOptions = CCCommandOptions & {
23
+ mode: ThermostatFanMode;
24
+ off?: boolean;
25
+ };
26
+ export declare class ThermostatFanModeCCSet extends ThermostatFanModeCC {
27
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | ThermostatFanModeCCSetOptions);
28
+ mode: ThermostatFanMode;
29
+ off: boolean | undefined;
30
+ serialize(): Buffer;
31
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
32
+ }
33
+ export declare class ThermostatFanModeCCReport extends ThermostatFanModeCC {
34
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions);
35
+ private _mode;
36
+ get mode(): ThermostatFanMode;
37
+ private _off;
38
+ get off(): boolean | undefined;
39
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
40
+ }
41
+ export declare class ThermostatFanModeCCGet extends ThermostatFanModeCC {
42
+ }
43
+ export declare class ThermostatFanModeCCSupportedReport extends ThermostatFanModeCC {
44
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions);
45
+ persistValues(applHost: ZWaveApplicationHost): boolean;
46
+ private _supportedModes;
47
+ get supportedModes(): readonly ThermostatFanMode[];
48
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
49
+ }
50
+ export declare class ThermostatFanModeCCSupportedGet extends ThermostatFanModeCC {
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=ThermostatFanModeCC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatFanModeCC.d.ts","sourceRoot":"","sources":["../../src/cc/ThermostatFanModeCC.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACX,KAAK,EACL,mBAAmB,EAEnB,OAAO,EACP,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG3E,OAAO,EACN,KAAK,EACL,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,SAAS,EAGT,MAAM,YAAY,CAAC;AACpB,OAAO,EAMN,YAAY,EAIZ,KAAK,gBAAgB,EACrB,KAAK,kCAAkC,EACvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE5E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM5D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED,qBACa,sBAAuB,SAAQ,KAAK;IACzC,eAAe,CAAC,GAAG,EAAE,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAAC;IAWrE,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAgD3C;IAEF,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAW7C;IAGW,GAAG;IAqBH,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,iBAAiB,IAAI,OAAO,CACxC,SAAS,iBAAiB,EAAE,GAAG,SAAS,CACxC;CAiBD;AAED,qBAEa,mBAAoB,SAAQ,YAAY;IAC5C,SAAS,EAAE,wBAAwB,CAAC;IAE/B,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDxD,aAAa,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiCzE;AAED,aAAK,6BAA6B,GAAG,gBAAgB,GAAG;IACvD,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,qBACa,sBAAuB,SAAQ,mBAAmB;gBAE7D,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,6BAA6B;IAe1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IAEzB,SAAS,IAAI,MAAM;IAQnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAStE;AAED,qBACa,yBAA0B,SAAQ,mBAAmB;gBAEhE,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,kCAAkC;IAY5C,OAAO,CAAC,KAAK,CAAoB;IACjC,IAMW,IAAI,IAAI,iBAAiB,CAEnC;IAED,OAAO,CAAC,IAAI,CAAsB;IAClC,IAKW,GAAG,IAAI,OAAO,GAAG,SAAS,CAEpC;IAEM,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAYtE;AAED,qBAEa,sBAAuB,SAAQ,mBAAmB;CAAG;AAElE,qBACa,kCAAmC,SAAQ,mBAAmB;gBAEzE,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,kCAAkC;IASrC,aAAa,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAsB7D,OAAO,CAAC,eAAe,CAAsB;IAC7C,IACW,cAAc,IAAI,SAAS,iBAAiB,EAAE,CAExD;IAEM,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAatE;AAED,qBAEa,+BAAgC,SAAQ,mBAAmB;CAAG"}