@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,61 @@
1
+ /// <reference types="node" />
2
+ import { CommandClasses, Duration, IZWaveEndpoint, 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 { SceneControllerConfigurationCommand } from "../lib/_Types";
7
+ export declare function getSceneIdValueID(endpoint: number | undefined, groupId: number): ValueID;
8
+ export declare function getDimmingDurationValueID(endpoint: number | undefined, groupId: number): ValueID;
9
+ export declare class SceneControllerConfigurationCCAPI extends CCAPI {
10
+ supportsCommand(cmd: SceneControllerConfigurationCommand): Maybe<boolean>;
11
+ protected [SET_VALUE]: SetValueImplementation;
12
+ protected [POLL_VALUE]: PollValueImplementation;
13
+ disable(groupId: number): Promise<void>;
14
+ set(groupId: number, sceneId: number, dimmingDuration?: Duration | string): Promise<void>;
15
+ getLastActivated(): Promise<Pick<SceneControllerConfigurationCCReport, "groupId" | "sceneId" | "dimmingDuration"> | undefined>;
16
+ get(groupId: number): Promise<Pick<SceneControllerConfigurationCCReport, "sceneId" | "dimmingDuration"> | undefined>;
17
+ }
18
+ export declare class SceneControllerConfigurationCC extends CommandClass {
19
+ ccCommand: SceneControllerConfigurationCommand;
20
+ determineRequiredCCInterviews(): readonly CommandClasses[];
21
+ interview(applHost: ZWaveApplicationHost): Promise<void>;
22
+ refreshValues(applHost: ZWaveApplicationHost): Promise<void>;
23
+ /**
24
+ * Returns the number of association groups reported by the node.
25
+ * This only works AFTER the node has been interviewed by this CC
26
+ * or the AssociationCC.
27
+ */
28
+ static getGroupCountCached(applHost: ZWaveApplicationHost, endpoint: IZWaveEndpoint): number;
29
+ }
30
+ interface SceneControllerConfigurationCCSetOptions extends CCCommandOptions {
31
+ groupId: number;
32
+ sceneId: number;
33
+ dimmingDuration?: Duration | string;
34
+ }
35
+ export declare class SceneControllerConfigurationCCSet extends SceneControllerConfigurationCC {
36
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | SceneControllerConfigurationCCSetOptions);
37
+ groupId: number;
38
+ sceneId: number;
39
+ dimmingDuration: Duration;
40
+ serialize(): Buffer;
41
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
42
+ }
43
+ export declare class SceneControllerConfigurationCCReport extends SceneControllerConfigurationCC {
44
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions);
45
+ readonly groupId: number;
46
+ readonly sceneId: number;
47
+ readonly dimmingDuration: Duration;
48
+ persistValues(applHost: ZWaveApplicationHost): boolean;
49
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
50
+ }
51
+ interface SceneControllerConfigurationCCGetOptions extends CCCommandOptions {
52
+ groupId: number;
53
+ }
54
+ export declare class SceneControllerConfigurationCCGet extends SceneControllerConfigurationCC {
55
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | SceneControllerConfigurationCCGetOptions);
56
+ groupId: number;
57
+ serialize(): Buffer;
58
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=SceneControllerConfigurationCC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneControllerConfigurationCC.d.ts","sourceRoot":"","sources":["../../src/cc/SceneControllerConfigurationCC.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,444 @@
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
+ var _a, _b;
9
+ var SceneControllerConfigurationCC_1;
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.SceneControllerConfigurationCCGet = exports.SceneControllerConfigurationCCReport = exports.SceneControllerConfigurationCCSet = exports.SceneControllerConfigurationCC = exports.SceneControllerConfigurationCCAPI = exports.getDimmingDurationValueID = exports.getSceneIdValueID = void 0;
12
+ function __assertType(argName, typeName, boundHasError) {
13
+ const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
14
+ if (boundHasError()) {
15
+ throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
16
+ }
17
+ }
18
+ const __assertType__number = $o => {
19
+ function _number($o) {
20
+ return typeof $o !== "number" ? {} : null;
21
+ }
22
+ return _number($o);
23
+ };
24
+ const __assertType__optional_su__string__2_eu = $o => {
25
+ function _string($o) {
26
+ return typeof $o !== "string" ? {} : null;
27
+ }
28
+ function _2($o) {
29
+ return !($o instanceof require("@zwave-js/core/safe").Duration) ? {} : null;
30
+ }
31
+ function su__string__2_eu($o) {
32
+ const conditions = [_string, _2];
33
+ for (const condition of conditions) {
34
+ const error = condition($o);
35
+ if (!error)
36
+ return null;
37
+ }
38
+ return {};
39
+ }
40
+ function optional_su__string__2_eu($o) {
41
+ if ($o !== undefined) {
42
+ const error = su__string__2_eu($o);
43
+ if (error)
44
+ return error;
45
+ }
46
+ return null;
47
+ }
48
+ return optional_su__string__2_eu($o);
49
+ };
50
+ const safe_1 = require("@zwave-js/core/safe");
51
+ const safe_2 = require("@zwave-js/shared/safe");
52
+ const API_1 = require("../lib/API");
53
+ const CommandClass_1 = require("../lib/CommandClass");
54
+ const _Types_1 = require("../lib/_Types");
55
+ const AssociationCC_1 = require("./AssociationCC");
56
+ function getSceneIdValueID(endpoint, groupId) {
57
+ return {
58
+ commandClass: safe_1.CommandClasses["Scene Controller Configuration"],
59
+ endpoint,
60
+ property: "sceneId",
61
+ propertyKey: groupId,
62
+ };
63
+ }
64
+ exports.getSceneIdValueID = getSceneIdValueID;
65
+ function getDimmingDurationValueID(endpoint, groupId) {
66
+ return {
67
+ commandClass: safe_1.CommandClasses["Scene Controller Configuration"],
68
+ endpoint,
69
+ property: "dimmingDuration",
70
+ propertyKey: groupId,
71
+ };
72
+ }
73
+ exports.getDimmingDurationValueID = getDimmingDurationValueID;
74
+ function setSceneConfigurationMetadata(applHost, groupId) {
75
+ const valueDB = this.getValueDB(applHost);
76
+ const sceneIdValueId = getSceneIdValueID(this.endpointIndex, groupId);
77
+ const dimmingDurationValueId = getDimmingDurationValueID(this.endpointIndex, groupId);
78
+ if (!valueDB.hasMetadata(sceneIdValueId)) {
79
+ valueDB.setMetadata(sceneIdValueId, {
80
+ ...safe_1.ValueMetadata.UInt8,
81
+ label: `Associated Scene ID (${groupId})`,
82
+ valueChangeOptions: ["transitionDuration"],
83
+ });
84
+ }
85
+ if (!valueDB.hasMetadata(dimmingDurationValueId)) {
86
+ valueDB.setMetadata(dimmingDurationValueId, {
87
+ ...safe_1.ValueMetadata.Duration,
88
+ label: `Dimming duration (${groupId})`,
89
+ });
90
+ }
91
+ }
92
+ function persistSceneConfig(applHost, groupId, sceneId, dimmingDuration) {
93
+ const valueDB = this.getValueDB(applHost);
94
+ const sceneIdValueId = getSceneIdValueID(this.endpointIndex, groupId);
95
+ const dimmingDurationValueId = getDimmingDurationValueID(this.endpointIndex, groupId);
96
+ if (!valueDB.hasMetadata(sceneIdValueId) ||
97
+ !valueDB.hasMetadata(dimmingDurationValueId)) {
98
+ setSceneConfigurationMetadata.call(this, applHost, groupId);
99
+ }
100
+ valueDB.setValue(sceneIdValueId, sceneId);
101
+ valueDB.setValue(dimmingDurationValueId, dimmingDuration);
102
+ return true;
103
+ }
104
+ let SceneControllerConfigurationCCAPI = class SceneControllerConfigurationCCAPI extends API_1.CCAPI {
105
+ constructor() {
106
+ super(...arguments);
107
+ this[_a] = async ({ property, propertyKey }, value, options) => {
108
+ var _c, _d, _e;
109
+ if (propertyKey == undefined) {
110
+ (0, API_1.throwMissingPropertyKey)(this.ccId, property);
111
+ }
112
+ else if (typeof propertyKey !== "number") {
113
+ (0, API_1.throwUnsupportedPropertyKey)(this.ccId, property, propertyKey);
114
+ }
115
+ if (property === "sceneId") {
116
+ if (typeof value !== "number") {
117
+ (0, API_1.throwWrongValueType)(this.ccId, property, "number", typeof value);
118
+ }
119
+ if (value === 0) {
120
+ // Disable Group ID / Scene ID
121
+ await this.disable(propertyKey);
122
+ }
123
+ else {
124
+ // We need to set the dimming duration along with the scene ID
125
+ // Dimming duration is chosen with the following precedence:
126
+ // 1. options.transitionDuration
127
+ // 2. current stored value
128
+ // 3. default value
129
+ const dimmingDuration = (_e = (_c = safe_1.Duration.from(options === null || options === void 0 ? void 0 : options.transitionDuration)) !== null && _c !== void 0 ? _c : (_d = this.tryGetValueDB()) === null || _d === void 0 ? void 0 : _d.getValue(getDimmingDurationValueID(this.endpoint.index, propertyKey))) !== null && _e !== void 0 ? _e : new safe_1.Duration(0, "default");
130
+ await this.set(propertyKey, value, dimmingDuration);
131
+ }
132
+ }
133
+ else if (property === "dimmingDuration") {
134
+ if (typeof value !== "string" && !(value instanceof safe_1.Duration)) {
135
+ (0, API_1.throwWrongValueType)(this.ccId, property, "duration", typeof value);
136
+ }
137
+ const dimmingDuration = safe_1.Duration.from(value);
138
+ if (dimmingDuration == undefined) {
139
+ throw new safe_1.ZWaveError(`${(0, safe_1.getCCName)(this.ccId)}: "${property}" could not be set. ${JSON.stringify(value)} is not a valid duration.`, safe_1.ZWaveErrorCodes.Argument_Invalid);
140
+ }
141
+ const valueDB = this.tryGetValueDB();
142
+ const sceneId = valueDB === null || valueDB === void 0 ? void 0 : valueDB.getValue(getSceneIdValueID(this.endpoint.index, propertyKey));
143
+ if (sceneId == undefined || sceneId === 0) {
144
+ if (valueDB) {
145
+ // Can't actually send dimmingDuration without valid sceneId
146
+ // So we save it in the valueDB without sending it to the node
147
+ const dimmingDurationValueId = getDimmingDurationValueID(this.endpoint.index, propertyKey);
148
+ valueDB.setValue(dimmingDurationValueId, dimmingDuration);
149
+ }
150
+ return;
151
+ }
152
+ await this.set(propertyKey, sceneId, dimmingDuration);
153
+ }
154
+ else {
155
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
156
+ }
157
+ };
158
+ this[_b] = async ({ property, propertyKey, }) => {
159
+ var _c;
160
+ switch (property) {
161
+ case "sceneId":
162
+ case "dimmingDuration": {
163
+ if (propertyKey == undefined) {
164
+ (0, API_1.throwMissingPropertyKey)(this.ccId, property);
165
+ }
166
+ else if (typeof propertyKey !== "number") {
167
+ (0, API_1.throwUnsupportedPropertyKey)(this.ccId, property, propertyKey);
168
+ }
169
+ return (_c = (await this.get(propertyKey))) === null || _c === void 0 ? void 0 : _c[property];
170
+ }
171
+ default:
172
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
173
+ }
174
+ };
175
+ }
176
+ supportsCommand(cmd) {
177
+ switch (cmd) {
178
+ case _Types_1.SceneControllerConfigurationCommand.Get:
179
+ return this.isSinglecast();
180
+ case _Types_1.SceneControllerConfigurationCommand.Set:
181
+ return true; // This is mandatory
182
+ }
183
+ return super.supportsCommand(cmd);
184
+ }
185
+ async disable(groupId) {
186
+ __assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
187
+ this.assertSupportsCommand(_Types_1.SceneControllerConfigurationCommand, _Types_1.SceneControllerConfigurationCommand.Set);
188
+ return this.set(groupId, 0, new safe_1.Duration(0, "seconds"));
189
+ }
190
+ async set(groupId, sceneId, dimmingDuration) {
191
+ __assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
192
+ __assertType("sceneId", "number", __assertType__number.bind(void 0, sceneId));
193
+ __assertType("dimmingDuration", undefined, __assertType__optional_su__string__2_eu.bind(void 0, dimmingDuration));
194
+ this.assertSupportsCommand(_Types_1.SceneControllerConfigurationCommand, _Types_1.SceneControllerConfigurationCommand.Set);
195
+ if (!this.endpoint.virtual) {
196
+ const groupCount = SceneControllerConfigurationCC.getGroupCountCached(this.applHost, this.endpoint);
197
+ // The client SHOULD NOT specify group 1 (the life-line group).
198
+ // We don't block it here, because the specs don't forbid it,
199
+ // and it may be needed for some devices.
200
+ if (groupId < 1 || groupId > groupCount) {
201
+ throw new safe_1.ZWaveError(`${this.constructor.name}: The group ID must be between 1 and the number of supported groups ${groupCount}.`, safe_1.ZWaveErrorCodes.Argument_Invalid);
202
+ }
203
+ }
204
+ else if (groupId < 1) {
205
+ throw new safe_1.ZWaveError(`The group ID must be greater than 0.`, safe_1.ZWaveErrorCodes.Argument_Invalid);
206
+ }
207
+ const cc = new SceneControllerConfigurationCCSet(this.applHost, {
208
+ nodeId: this.endpoint.nodeId,
209
+ endpoint: this.endpoint.index,
210
+ groupId,
211
+ sceneId,
212
+ dimmingDuration,
213
+ });
214
+ await this.applHost.sendCommand(cc, this.commandOptions);
215
+ }
216
+ async getLastActivated() {
217
+ this.assertSupportsCommand(_Types_1.SceneControllerConfigurationCommand, _Types_1.SceneControllerConfigurationCommand.Get);
218
+ const cc = new SceneControllerConfigurationCCGet(this.applHost, {
219
+ nodeId: this.endpoint.nodeId,
220
+ endpoint: this.endpoint.index,
221
+ groupId: 0,
222
+ });
223
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
224
+ // Return value includes "groupId", because
225
+ // the returned report will include the actual groupId of the
226
+ // last activated groupId / sceneId
227
+ if (response) {
228
+ return (0, safe_2.pick)(response, ["groupId", "sceneId", "dimmingDuration"]);
229
+ }
230
+ }
231
+ async get(groupId) {
232
+ __assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
233
+ this.assertSupportsCommand(_Types_1.SceneControllerConfigurationCommand, _Types_1.SceneControllerConfigurationCommand.Get);
234
+ if (groupId === 0) {
235
+ throw new safe_1.ZWaveError(`Invalid group ID 0. To get the last activated group / scene, use getLastActivated() instead.`, safe_1.ZWaveErrorCodes.Argument_Invalid);
236
+ }
237
+ else if (groupId < 0) {
238
+ throw new safe_1.ZWaveError(`The group ID must be greater than 0.`, safe_1.ZWaveErrorCodes.Argument_Invalid);
239
+ }
240
+ const cc = new SceneControllerConfigurationCCGet(this.applHost, {
241
+ nodeId: this.endpoint.nodeId,
242
+ endpoint: this.endpoint.index,
243
+ groupId,
244
+ });
245
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
246
+ // Since groupId is not allowed to be 0, only Reports with
247
+ // groupId equal to the requested groupId will be accepted,
248
+ // so we can omit groupId from the return.
249
+ if (response) {
250
+ return (0, safe_2.pick)(response, ["sceneId", "dimmingDuration"]);
251
+ }
252
+ }
253
+ };
254
+ _a = API_1.SET_VALUE, _b = API_1.POLL_VALUE;
255
+ SceneControllerConfigurationCCAPI = __decorate([
256
+ (0, CommandClass_1.API)(safe_1.CommandClasses["Scene Controller Configuration"])
257
+ ], SceneControllerConfigurationCCAPI);
258
+ exports.SceneControllerConfigurationCCAPI = SceneControllerConfigurationCCAPI;
259
+ let SceneControllerConfigurationCC = SceneControllerConfigurationCC_1 = class SceneControllerConfigurationCC extends CommandClass_1.CommandClass {
260
+ determineRequiredCCInterviews() {
261
+ // AssociationCC is required and MUST be interviewed
262
+ // before SceneControllerConfigurationCC to supply groupCount
263
+ return [
264
+ ...super.determineRequiredCCInterviews(),
265
+ safe_1.CommandClasses.Association,
266
+ ];
267
+ }
268
+ // eslint-disable-next-line @typescript-eslint/require-await
269
+ async interview(applHost) {
270
+ const node = this.getNode(applHost);
271
+ const endpoint = this.getEndpoint(applHost);
272
+ applHost.controllerLog.logNode(node.id, {
273
+ endpoint: this.endpointIndex,
274
+ message: `Interviewing ${this.ccName}...`,
275
+ direction: "none",
276
+ });
277
+ const groupCount = SceneControllerConfigurationCC_1.getGroupCountCached(applHost, endpoint);
278
+ if (groupCount === 0) {
279
+ applHost.controllerLog.logNode(node.id, {
280
+ endpoint: this.endpointIndex,
281
+ message: `skipping Scene Controller Configuration interview because Association group count is unknown`,
282
+ direction: "none",
283
+ level: "warn",
284
+ });
285
+ return;
286
+ }
287
+ // Create metadata for each scene, but don't query their actual configuration
288
+ // since some devices only support setting scenes
289
+ for (let groupId = 1; groupId <= groupCount; groupId++) {
290
+ setSceneConfigurationMetadata.call(this, applHost, groupId);
291
+ }
292
+ // Remember that the interview is complete
293
+ this.setInterviewComplete(applHost, true);
294
+ }
295
+ async refreshValues(applHost) {
296
+ const node = this.getNode(applHost);
297
+ const endpoint = this.getEndpoint(applHost);
298
+ const api = API_1.CCAPI.create(safe_1.CommandClasses["Scene Controller Configuration"], applHost, endpoint).withOptions({
299
+ priority: safe_1.MessagePriority.NodeQuery,
300
+ });
301
+ const groupCount = SceneControllerConfigurationCC_1.getGroupCountCached(applHost, endpoint);
302
+ applHost.controllerLog.logNode(node.id, {
303
+ message: "querying all scene controller configurations...",
304
+ direction: "outbound",
305
+ });
306
+ for (let groupId = 1; groupId <= groupCount; groupId++) {
307
+ applHost.controllerLog.logNode(node.id, {
308
+ endpoint: this.endpointIndex,
309
+ message: `querying scene configuration for group #${groupId}...`,
310
+ direction: "outbound",
311
+ });
312
+ const group = await api.get(groupId);
313
+ if (group != undefined) {
314
+ const logMessage = `received scene configuration for group #${groupId}:
315
+ scene ID: ${group.sceneId}
316
+ dimming duration: ${group.dimmingDuration.toString()}`;
317
+ applHost.controllerLog.logNode(node.id, {
318
+ endpoint: this.endpointIndex,
319
+ message: logMessage,
320
+ direction: "inbound",
321
+ });
322
+ }
323
+ }
324
+ }
325
+ /**
326
+ * Returns the number of association groups reported by the node.
327
+ * This only works AFTER the node has been interviewed by this CC
328
+ * or the AssociationCC.
329
+ */
330
+ static getGroupCountCached(applHost, endpoint) {
331
+ var _c, _d, _e, _f, _g;
332
+ return ((_g = (_f = (_e = (_d = (_c = applHost.getDeviceConfig) === null || _c === void 0 ? void 0 : _c.call(applHost, endpoint.nodeId)) === null || _d === void 0 ? void 0 : _d.compat) === null || _e === void 0 ? void 0 : _e.forceSceneControllerGroupCount) !== null && _f !== void 0 ? _f : AssociationCC_1.AssociationCC.getGroupCountCached(applHost, endpoint)) !== null && _g !== void 0 ? _g : 0);
333
+ }
334
+ };
335
+ SceneControllerConfigurationCC = SceneControllerConfigurationCC_1 = __decorate([
336
+ (0, CommandClass_1.commandClass)(safe_1.CommandClasses["Scene Controller Configuration"]),
337
+ (0, CommandClass_1.implementedVersion)(1)
338
+ ], SceneControllerConfigurationCC);
339
+ exports.SceneControllerConfigurationCC = SceneControllerConfigurationCC;
340
+ let SceneControllerConfigurationCCSet = class SceneControllerConfigurationCCSet extends SceneControllerConfigurationCC {
341
+ constructor(host, options) {
342
+ var _c;
343
+ super(host, options);
344
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
345
+ // TODO: Deserialize payload
346
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
347
+ }
348
+ else {
349
+ this.groupId = options.groupId;
350
+ this.sceneId = options.sceneId;
351
+ // if dimmingDuration was missing, use default duration.
352
+ this.dimmingDuration =
353
+ (_c = safe_1.Duration.from(options.dimmingDuration)) !== null && _c !== void 0 ? _c : new safe_1.Duration(0, "default");
354
+ }
355
+ }
356
+ serialize() {
357
+ this.payload = Buffer.from([
358
+ this.groupId,
359
+ this.sceneId,
360
+ this.dimmingDuration.serializeSet(),
361
+ ]);
362
+ return super.serialize();
363
+ }
364
+ toLogEntry(applHost) {
365
+ return {
366
+ ...super.toLogEntry(applHost),
367
+ message: {
368
+ "group id": this.groupId,
369
+ "scene id": this.sceneId,
370
+ "dimming duration": this.dimmingDuration.toString(),
371
+ },
372
+ };
373
+ }
374
+ };
375
+ SceneControllerConfigurationCCSet = __decorate([
376
+ (0, CommandClass_1.CCCommand)(_Types_1.SceneControllerConfigurationCommand.Set)
377
+ ], SceneControllerConfigurationCCSet);
378
+ exports.SceneControllerConfigurationCCSet = SceneControllerConfigurationCCSet;
379
+ let SceneControllerConfigurationCCReport = class SceneControllerConfigurationCCReport extends SceneControllerConfigurationCC {
380
+ constructor(host, options) {
381
+ var _c;
382
+ super(host, options);
383
+ (0, safe_1.validatePayload)(this.payload.length >= 3);
384
+ this.groupId = this.payload[0];
385
+ this.sceneId = this.payload[1];
386
+ this.dimmingDuration =
387
+ (_c = safe_1.Duration.parseReport(this.payload[2])) !== null && _c !== void 0 ? _c : new safe_1.Duration(0, "unknown");
388
+ }
389
+ persistValues(applHost) {
390
+ if (!super.persistValues(applHost))
391
+ return false;
392
+ // If groupId = 0, values are meaningless
393
+ if (this.groupId === 0)
394
+ return false;
395
+ return persistSceneConfig.call(this, applHost, this.groupId, this.sceneId, this.dimmingDuration);
396
+ }
397
+ toLogEntry(applHost) {
398
+ return {
399
+ ...super.toLogEntry(applHost),
400
+ message: {
401
+ "group id": this.groupId,
402
+ "scene id": this.sceneId,
403
+ "dimming duration": this.dimmingDuration.toString(),
404
+ },
405
+ };
406
+ }
407
+ };
408
+ SceneControllerConfigurationCCReport = __decorate([
409
+ (0, CommandClass_1.CCCommand)(_Types_1.SceneControllerConfigurationCommand.Report)
410
+ ], SceneControllerConfigurationCCReport);
411
+ exports.SceneControllerConfigurationCCReport = SceneControllerConfigurationCCReport;
412
+ function testResponseForSceneControllerConfigurationGet(sent, received) {
413
+ // We expect a Scene Controller Configuration Report that matches
414
+ // the requested groupId, unless groupId 0 was requested
415
+ return sent.groupId === 0 || received.groupId === sent.groupId;
416
+ }
417
+ let SceneControllerConfigurationCCGet = class SceneControllerConfigurationCCGet extends SceneControllerConfigurationCC {
418
+ constructor(host, options) {
419
+ super(host, options);
420
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
421
+ // TODO: Deserialize payload
422
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
423
+ }
424
+ else {
425
+ this.groupId = options.groupId;
426
+ }
427
+ }
428
+ serialize() {
429
+ this.payload = Buffer.from([this.groupId]);
430
+ return super.serialize();
431
+ }
432
+ toLogEntry(applHost) {
433
+ return {
434
+ ...super.toLogEntry(applHost),
435
+ message: { "group id": this.groupId },
436
+ };
437
+ }
438
+ };
439
+ SceneControllerConfigurationCCGet = __decorate([
440
+ (0, CommandClass_1.CCCommand)(_Types_1.SceneControllerConfigurationCommand.Get),
441
+ (0, CommandClass_1.expectedCCResponse)(SceneControllerConfigurationCCReport, testResponseForSceneControllerConfigurationGet)
442
+ ], SceneControllerConfigurationCCGet);
443
+ exports.SceneControllerConfigurationCCGet = SceneControllerConfigurationCCGet;
444
+ //# sourceMappingURL=SceneControllerConfigurationCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneControllerConfigurationCC.js","sourceRoot":"","sources":["../../src/cc/SceneControllerConfigurationCC.ts"],"names":[],"mappings":"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"}