@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,359 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ThermostatFanModeCCSupportedGet = exports.ThermostatFanModeCCSupportedReport = exports.ThermostatFanModeCCGet = exports.ThermostatFanModeCCReport = exports.ThermostatFanModeCCSet = exports.ThermostatFanModeCC = exports.ThermostatFanModeCCAPI = exports.getModeStateValueID = exports.getOffStateValueID = void 0;
11
+ function __assertType(argName, typeName, boundHasError) {
12
+ const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
13
+ if (boundHasError()) {
14
+ throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
15
+ }
16
+ }
17
+ const __assertType__ThermostatFanMode = $o => {
18
+ function su__1__2__3__4__5__6__7__8__9__10__11__12_eu($o) {
19
+ return ![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes($o) ? {} : null;
20
+ }
21
+ return su__1__2__3__4__5__6__7__8__9__10__11__12_eu($o);
22
+ };
23
+ const __assertType__optional_boolean = $o => {
24
+ function _boolean($o) {
25
+ return typeof $o !== "boolean" ? {} : null;
26
+ }
27
+ function optional__boolean($o) {
28
+ if ($o !== undefined) {
29
+ const error = _boolean($o);
30
+ if (error)
31
+ return error;
32
+ }
33
+ return null;
34
+ }
35
+ return optional__boolean($o);
36
+ };
37
+ const safe_1 = require("@zwave-js/core/safe");
38
+ const safe_2 = require("@zwave-js/shared/safe");
39
+ const API_1 = require("../lib/API");
40
+ const CommandClass_1 = require("../lib/CommandClass");
41
+ const _Types_1 = require("../lib/_Types");
42
+ function getOffStateValueID(endpoint) {
43
+ return {
44
+ commandClass: safe_1.CommandClasses["Thermostat Fan Mode"],
45
+ endpoint,
46
+ property: "off",
47
+ };
48
+ }
49
+ exports.getOffStateValueID = getOffStateValueID;
50
+ function getModeStateValueID(endpoint) {
51
+ return {
52
+ commandClass: safe_1.CommandClasses["Thermostat Fan Mode"],
53
+ endpoint,
54
+ property: "mode",
55
+ };
56
+ }
57
+ exports.getModeStateValueID = getModeStateValueID;
58
+ let ThermostatFanModeCCAPI = class ThermostatFanModeCCAPI extends API_1.CCAPI {
59
+ constructor() {
60
+ super(...arguments);
61
+ this[_a] = async ({ property }, value) => {
62
+ const valueDB = this.getValueDB();
63
+ if (property === "mode") {
64
+ if (typeof value !== "number") {
65
+ (0, API_1.throwWrongValueType)(this.ccId, property, "number", typeof value);
66
+ }
67
+ // Preserve the value of the "off" flag
68
+ const off = valueDB.getValue(getOffStateValueID(this.endpoint.index));
69
+ await this.set(value, off);
70
+ }
71
+ else if (property === "off") {
72
+ if (typeof value !== "boolean") {
73
+ (0, API_1.throwWrongValueType)(this.ccId, property, "boolean", typeof value);
74
+ }
75
+ const mode = valueDB.getValue(getModeStateValueID(this.endpoint.index));
76
+ if (mode == undefined) {
77
+ throw new safe_1.ZWaveError(`The "off" property cannot be changed before the fan mode is known!`, safe_1.ZWaveErrorCodes.Argument_Invalid);
78
+ }
79
+ await this.set(mode, value);
80
+ }
81
+ else {
82
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
83
+ }
84
+ if (this.isSinglecast()) {
85
+ // Verify the current value after a delay
86
+ // TODO: Ideally this would be a short delay, but some thermostats like Remotec ZXT-600
87
+ // aren't able to handle the GET this quickly.
88
+ this.schedulePoll({ property }, value);
89
+ }
90
+ };
91
+ this[_b] = async ({ property, }) => {
92
+ var _c;
93
+ switch (property) {
94
+ case "mode":
95
+ case "off":
96
+ return (_c = (await this.get())) === null || _c === void 0 ? void 0 : _c[property];
97
+ default:
98
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
99
+ }
100
+ };
101
+ }
102
+ supportsCommand(cmd) {
103
+ switch (cmd) {
104
+ case _Types_1.ThermostatFanModeCommand.Get:
105
+ case _Types_1.ThermostatFanModeCommand.SupportedGet:
106
+ return this.isSinglecast();
107
+ case _Types_1.ThermostatFanModeCommand.Set:
108
+ return true; // This is mandatory
109
+ }
110
+ return super.supportsCommand(cmd);
111
+ }
112
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
113
+ async get() {
114
+ this.assertSupportsCommand(_Types_1.ThermostatFanModeCommand, _Types_1.ThermostatFanModeCommand.Get);
115
+ const cc = new ThermostatFanModeCCGet(this.applHost, {
116
+ nodeId: this.endpoint.nodeId,
117
+ endpoint: this.endpoint.index,
118
+ });
119
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
120
+ if (response) {
121
+ return (0, safe_2.pick)(response, ["mode", "off"]);
122
+ }
123
+ }
124
+ async set(mode, off) {
125
+ __assertType("mode", "ThermostatFanMode", __assertType__ThermostatFanMode.bind(void 0, mode));
126
+ __assertType("off", "(optional) boolean", __assertType__optional_boolean.bind(void 0, off));
127
+ this.assertSupportsCommand(_Types_1.ThermostatFanModeCommand, _Types_1.ThermostatFanModeCommand.Set);
128
+ const cc = new ThermostatFanModeCCSet(this.applHost, {
129
+ nodeId: this.endpoint.nodeId,
130
+ endpoint: this.endpoint.index,
131
+ mode,
132
+ off,
133
+ });
134
+ await this.applHost.sendCommand(cc, this.commandOptions);
135
+ }
136
+ async getSupportedModes() {
137
+ this.assertSupportsCommand(_Types_1.ThermostatFanModeCommand, _Types_1.ThermostatFanModeCommand.SupportedGet);
138
+ const cc = new ThermostatFanModeCCSupportedGet(this.applHost, {
139
+ nodeId: this.endpoint.nodeId,
140
+ endpoint: this.endpoint.index,
141
+ });
142
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
143
+ return response === null || response === void 0 ? void 0 : response.supportedModes;
144
+ }
145
+ };
146
+ _a = API_1.SET_VALUE, _b = API_1.POLL_VALUE;
147
+ ThermostatFanModeCCAPI = __decorate([
148
+ (0, CommandClass_1.API)(safe_1.CommandClasses["Thermostat Fan Mode"])
149
+ ], ThermostatFanModeCCAPI);
150
+ exports.ThermostatFanModeCCAPI = ThermostatFanModeCCAPI;
151
+ let ThermostatFanModeCC = class ThermostatFanModeCC extends CommandClass_1.CommandClass {
152
+ async interview(applHost) {
153
+ const node = this.getNode(applHost);
154
+ const endpoint = this.getEndpoint(applHost);
155
+ const api = API_1.CCAPI.create(safe_1.CommandClasses["Thermostat Fan Mode"], applHost, endpoint).withOptions({
156
+ priority: safe_1.MessagePriority.NodeQuery,
157
+ });
158
+ applHost.controllerLog.logNode(node.id, {
159
+ endpoint: this.endpointIndex,
160
+ message: `Interviewing ${this.ccName}...`,
161
+ direction: "none",
162
+ });
163
+ // First query the possible modes to set the metadata
164
+ applHost.controllerLog.logNode(node.id, {
165
+ endpoint: this.endpointIndex,
166
+ message: "querying supported thermostat fan modes...",
167
+ direction: "outbound",
168
+ });
169
+ const supportedModes = await api.getSupportedModes();
170
+ if (supportedModes) {
171
+ const logMessage = `received supported thermostat fan modes:${supportedModes
172
+ .map((mode) => `\n· ${(0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanMode, mode)}`)
173
+ .join("")}`;
174
+ applHost.controllerLog.logNode(node.id, {
175
+ endpoint: this.endpointIndex,
176
+ message: logMessage,
177
+ direction: "inbound",
178
+ });
179
+ }
180
+ else {
181
+ applHost.controllerLog.logNode(node.id, {
182
+ endpoint: this.endpointIndex,
183
+ message: "Querying supported thermostat fan modes timed out, skipping interview...",
184
+ });
185
+ return;
186
+ }
187
+ await this.refreshValues(applHost);
188
+ // Remember that the interview is complete
189
+ this.setInterviewComplete(applHost, true);
190
+ }
191
+ async refreshValues(applHost) {
192
+ const node = this.getNode(applHost);
193
+ const endpoint = this.getEndpoint(applHost);
194
+ const api = API_1.CCAPI.create(safe_1.CommandClasses["Thermostat Fan Mode"], applHost, endpoint).withOptions({
195
+ priority: safe_1.MessagePriority.NodeQuery,
196
+ });
197
+ // Query the current status
198
+ applHost.controllerLog.logNode(node.id, {
199
+ endpoint: this.endpointIndex,
200
+ message: "querying current thermostat fan mode...",
201
+ direction: "outbound",
202
+ });
203
+ const currentStatus = await api.get();
204
+ if (currentStatus) {
205
+ let logMessage = `received current thermostat fan mode: ${(0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanMode, currentStatus.mode)}`;
206
+ if (currentStatus.off != undefined) {
207
+ logMessage += ` (turned off)`;
208
+ }
209
+ applHost.controllerLog.logNode(node.id, {
210
+ endpoint: this.endpointIndex,
211
+ message: logMessage,
212
+ direction: "inbound",
213
+ });
214
+ }
215
+ }
216
+ };
217
+ ThermostatFanModeCC = __decorate([
218
+ (0, CommandClass_1.commandClass)(safe_1.CommandClasses["Thermostat Fan Mode"]),
219
+ (0, CommandClass_1.implementedVersion)(5)
220
+ ], ThermostatFanModeCC);
221
+ exports.ThermostatFanModeCC = ThermostatFanModeCC;
222
+ let ThermostatFanModeCCSet = class ThermostatFanModeCCSet extends ThermostatFanModeCC {
223
+ constructor(host, options) {
224
+ super(host, options);
225
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
226
+ // TODO: Deserialize payload
227
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
228
+ }
229
+ else {
230
+ this.mode = options.mode;
231
+ this.off = options.off;
232
+ }
233
+ }
234
+ serialize() {
235
+ this.payload = Buffer.from([
236
+ (this.version >= 2 && this.off ? 128 : 0) |
237
+ (this.mode & 0b1111),
238
+ ]);
239
+ return super.serialize();
240
+ }
241
+ toLogEntry(applHost) {
242
+ const message = {
243
+ mode: (0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanMode, this.mode),
244
+ };
245
+ return {
246
+ ...super.toLogEntry(applHost),
247
+ message,
248
+ };
249
+ }
250
+ };
251
+ ThermostatFanModeCCSet = __decorate([
252
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanModeCommand.Set)
253
+ ], ThermostatFanModeCCSet);
254
+ exports.ThermostatFanModeCCSet = ThermostatFanModeCCSet;
255
+ let ThermostatFanModeCCReport = class ThermostatFanModeCCReport extends ThermostatFanModeCC {
256
+ constructor(host, options) {
257
+ super(host, options);
258
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
259
+ this._mode = this.payload[0] & 0b1111;
260
+ if (this.version >= 3) {
261
+ this._off = !!(this.payload[0] & 128);
262
+ }
263
+ }
264
+ get mode() {
265
+ return this._mode;
266
+ }
267
+ get off() {
268
+ return this._off;
269
+ }
270
+ toLogEntry(applHost) {
271
+ const message = {
272
+ mode: (0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanMode, this.mode),
273
+ };
274
+ if (this.off != undefined) {
275
+ message.off = this.off;
276
+ }
277
+ return {
278
+ ...super.toLogEntry(applHost),
279
+ message,
280
+ };
281
+ }
282
+ };
283
+ __decorate([
284
+ (0, CommandClass_1.ccValue)(),
285
+ (0, CommandClass_1.ccValueMetadata)({
286
+ ...safe_1.ValueMetadata.UInt8,
287
+ states: (0, safe_1.enumValuesToMetadataStates)(_Types_1.ThermostatFanMode),
288
+ label: "Thermostat fan mode",
289
+ })
290
+ ], ThermostatFanModeCCReport.prototype, "mode", null);
291
+ __decorate([
292
+ (0, CommandClass_1.ccValue)({ minVersion: 3 }),
293
+ (0, CommandClass_1.ccValueMetadata)({
294
+ ...safe_1.ValueMetadata.Boolean,
295
+ label: "Thermostat fan turned off",
296
+ })
297
+ ], ThermostatFanModeCCReport.prototype, "off", null);
298
+ ThermostatFanModeCCReport = __decorate([
299
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanModeCommand.Report)
300
+ ], ThermostatFanModeCCReport);
301
+ exports.ThermostatFanModeCCReport = ThermostatFanModeCCReport;
302
+ let ThermostatFanModeCCGet = class ThermostatFanModeCCGet extends ThermostatFanModeCC {
303
+ };
304
+ ThermostatFanModeCCGet = __decorate([
305
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanModeCommand.Get),
306
+ (0, CommandClass_1.expectedCCResponse)(ThermostatFanModeCCReport)
307
+ ], ThermostatFanModeCCGet);
308
+ exports.ThermostatFanModeCCGet = ThermostatFanModeCCGet;
309
+ let ThermostatFanModeCCSupportedReport = class ThermostatFanModeCCSupportedReport extends ThermostatFanModeCC {
310
+ constructor(host, options) {
311
+ super(host, options);
312
+ this._supportedModes = (0, safe_1.parseBitMask)(this.payload, _Types_1.ThermostatFanMode["Auto low"]);
313
+ }
314
+ persistValues(applHost) {
315
+ if (!super.persistValues(applHost))
316
+ return false;
317
+ const valueDB = this.getValueDB(applHost);
318
+ // Use this information to create the metadata for the mode property
319
+ const valueId = {
320
+ commandClass: this.ccId,
321
+ endpoint: this.endpointIndex,
322
+ property: "mode",
323
+ };
324
+ // Only update the dynamic part
325
+ valueDB.setMetadata(valueId, {
326
+ ...safe_1.ValueMetadata.UInt8,
327
+ states: (0, safe_1.enumValuesToMetadataStates)(_Types_1.ThermostatFanMode, this._supportedModes),
328
+ });
329
+ return true;
330
+ }
331
+ get supportedModes() {
332
+ return this._supportedModes;
333
+ }
334
+ toLogEntry(applHost) {
335
+ return {
336
+ ...super.toLogEntry(applHost),
337
+ message: {
338
+ "supported modes": this.supportedModes
339
+ .map((mode) => `\n· ${(0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanMode, mode)}`)
340
+ .join(""),
341
+ },
342
+ };
343
+ }
344
+ };
345
+ __decorate([
346
+ (0, CommandClass_1.ccValue)({ internal: true })
347
+ ], ThermostatFanModeCCSupportedReport.prototype, "supportedModes", null);
348
+ ThermostatFanModeCCSupportedReport = __decorate([
349
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanModeCommand.SupportedReport)
350
+ ], ThermostatFanModeCCSupportedReport);
351
+ exports.ThermostatFanModeCCSupportedReport = ThermostatFanModeCCSupportedReport;
352
+ let ThermostatFanModeCCSupportedGet = class ThermostatFanModeCCSupportedGet extends ThermostatFanModeCC {
353
+ };
354
+ ThermostatFanModeCCSupportedGet = __decorate([
355
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanModeCommand.SupportedGet),
356
+ (0, CommandClass_1.expectedCCResponse)(ThermostatFanModeCCSupportedReport)
357
+ ], ThermostatFanModeCCSupportedGet);
358
+ exports.ThermostatFanModeCCSupportedGet = ThermostatFanModeCCSupportedGet;
359
+ //# sourceMappingURL=ThermostatFanModeCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatFanModeCC.js","sourceRoot":"","sources":["../../src/cc/ThermostatFanModeCC.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Maybe, MessageOrCCLogEntry } from "@zwave-js/core/safe";
2
+ import type { ZWaveApplicationHost, ZWaveHost } from "@zwave-js/host/safe";
3
+ import { CCAPI, PollValueImplementation, POLL_VALUE } from "../lib/API";
4
+ import { CommandClass, type CommandClassDeserializationOptions } from "../lib/CommandClass";
5
+ import { ThermostatFanState, ThermostatFanStateCommand } from "../lib/_Types";
6
+ export declare class ThermostatFanStateCCAPI extends CCAPI {
7
+ supportsCommand(cmd: ThermostatFanStateCommand): Maybe<boolean>;
8
+ protected [POLL_VALUE]: PollValueImplementation;
9
+ get(): Promise<ThermostatFanState | undefined>;
10
+ }
11
+ export declare class ThermostatFanStateCC extends CommandClass {
12
+ ccCommand: ThermostatFanStateCommand;
13
+ interview(applHost: ZWaveApplicationHost): Promise<void>;
14
+ refreshValues(applHost: ZWaveApplicationHost): Promise<void>;
15
+ }
16
+ export declare class ThermostatFanStateCCReport extends ThermostatFanStateCC {
17
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions);
18
+ private _state;
19
+ get state(): ThermostatFanState;
20
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
21
+ }
22
+ export declare class ThermostatFanStateCCGet extends ThermostatFanStateCC {
23
+ }
24
+ //# sourceMappingURL=ThermostatFanStateCC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatFanStateCC.d.ts","sourceRoot":"","sources":["../../src/cc/ThermostatFanStateCC.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EACL,mBAAmB,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EACN,KAAK,EACL,uBAAuB,EACvB,UAAU,EAEV,MAAM,YAAY,CAAC;AACpB,OAAO,EAMN,YAAY,EAGZ,KAAK,kCAAkC,EACvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE9E,qBACa,uBAAwB,SAAQ,KAAK;IAC1C,eAAe,CAAC,GAAG,EAAE,yBAAyB,GAAG,KAAK,CAAC,OAAO,CAAC;IAQtE,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAU7C;IAGW,GAAG;CAmBhB;AAED,qBAEa,oBAAqB,SAAQ,YAAY;IAC7C,SAAS,EAAE,yBAAyB,CAAC;IAEhC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,aAAa,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BzE;AAED,qBACa,0BAA2B,SAAQ,oBAAoB;gBAElE,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,kCAAkC;IAQ5C,OAAO,CAAC,MAAM,CAAqB;IACnC,IAMW,KAAK,IAAI,kBAAkB,CAErC;IAEM,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAStE;AAED,qBAEa,uBAAwB,SAAQ,oBAAoB;CAAG"}
@@ -0,0 +1,131 @@
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;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ThermostatFanStateCCGet = exports.ThermostatFanStateCCReport = exports.ThermostatFanStateCC = exports.ThermostatFanStateCCAPI = void 0;
11
+ const safe_1 = require("@zwave-js/core/safe");
12
+ const safe_2 = require("@zwave-js/shared/safe");
13
+ const API_1 = require("../lib/API");
14
+ const CommandClass_1 = require("../lib/CommandClass");
15
+ const _Types_1 = require("../lib/_Types");
16
+ let ThermostatFanStateCCAPI = class ThermostatFanStateCCAPI extends API_1.CCAPI {
17
+ constructor() {
18
+ super(...arguments);
19
+ this[_a] = async ({ property, }) => {
20
+ switch (property) {
21
+ case "state":
22
+ return this.get();
23
+ default:
24
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
25
+ }
26
+ };
27
+ }
28
+ supportsCommand(cmd) {
29
+ switch (cmd) {
30
+ case _Types_1.ThermostatFanStateCommand.Get:
31
+ return this.isSinglecast();
32
+ }
33
+ return super.supportsCommand(cmd);
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
36
+ async get() {
37
+ this.assertSupportsCommand(_Types_1.ThermostatFanStateCommand, _Types_1.ThermostatFanStateCommand.Get);
38
+ const cc = new ThermostatFanStateCCGet(this.applHost, {
39
+ nodeId: this.endpoint.nodeId,
40
+ endpoint: this.endpoint.index,
41
+ });
42
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
43
+ if (response) {
44
+ return response === null || response === void 0 ? void 0 : response.state;
45
+ }
46
+ }
47
+ };
48
+ _a = API_1.POLL_VALUE;
49
+ ThermostatFanStateCCAPI = __decorate([
50
+ (0, CommandClass_1.API)(safe_1.CommandClasses["Thermostat Fan State"])
51
+ ], ThermostatFanStateCCAPI);
52
+ exports.ThermostatFanStateCCAPI = ThermostatFanStateCCAPI;
53
+ let ThermostatFanStateCC = class ThermostatFanStateCC extends CommandClass_1.CommandClass {
54
+ async interview(applHost) {
55
+ const node = this.getNode(applHost);
56
+ applHost.controllerLog.logNode(node.id, {
57
+ endpoint: this.endpointIndex,
58
+ message: `Interviewing ${this.ccName}...`,
59
+ direction: "none",
60
+ });
61
+ await this.refreshValues(applHost);
62
+ // Remember that the interview is complete
63
+ this.setInterviewComplete(applHost, true);
64
+ }
65
+ async refreshValues(applHost) {
66
+ const node = this.getNode(applHost);
67
+ const endpoint = this.getEndpoint(applHost);
68
+ const api = API_1.CCAPI.create(safe_1.CommandClasses["Thermostat Fan State"], applHost, endpoint).withOptions({
69
+ priority: safe_1.MessagePriority.NodeQuery,
70
+ });
71
+ // Query the current status
72
+ applHost.controllerLog.logNode(node.id, {
73
+ endpoint: this.endpointIndex,
74
+ message: "querying current thermostat fan state...",
75
+ direction: "outbound",
76
+ });
77
+ const currentStatus = await api.get();
78
+ if (currentStatus) {
79
+ applHost.controllerLog.logNode(node.id, {
80
+ endpoint: this.endpointIndex,
81
+ message: "received current thermostat fan state: " +
82
+ (0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanState, currentStatus),
83
+ direction: "inbound",
84
+ });
85
+ }
86
+ }
87
+ };
88
+ ThermostatFanStateCC = __decorate([
89
+ (0, CommandClass_1.commandClass)(safe_1.CommandClasses["Thermostat Fan State"]),
90
+ (0, CommandClass_1.implementedVersion)(2)
91
+ ], ThermostatFanStateCC);
92
+ exports.ThermostatFanStateCC = ThermostatFanStateCC;
93
+ let ThermostatFanStateCCReport = class ThermostatFanStateCCReport extends ThermostatFanStateCC {
94
+ constructor(host, options) {
95
+ super(host, options);
96
+ (0, safe_1.validatePayload)(this.payload.length == 1);
97
+ this._state = this.payload[0] & 0b1111;
98
+ }
99
+ get state() {
100
+ return this._state;
101
+ }
102
+ toLogEntry(applHost) {
103
+ const message = {
104
+ state: (0, safe_2.getEnumMemberName)(_Types_1.ThermostatFanState, this.state),
105
+ };
106
+ return {
107
+ ...super.toLogEntry(applHost),
108
+ message,
109
+ };
110
+ }
111
+ };
112
+ __decorate([
113
+ (0, CommandClass_1.ccValue)(),
114
+ (0, CommandClass_1.ccValueMetadata)({
115
+ ...safe_1.ValueMetadata.ReadOnlyUInt8,
116
+ states: (0, safe_1.enumValuesToMetadataStates)(_Types_1.ThermostatFanState),
117
+ label: "Thermostat fan state",
118
+ })
119
+ ], ThermostatFanStateCCReport.prototype, "state", null);
120
+ ThermostatFanStateCCReport = __decorate([
121
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanStateCommand.Report)
122
+ ], ThermostatFanStateCCReport);
123
+ exports.ThermostatFanStateCCReport = ThermostatFanStateCCReport;
124
+ let ThermostatFanStateCCGet = class ThermostatFanStateCCGet extends ThermostatFanStateCC {
125
+ };
126
+ ThermostatFanStateCCGet = __decorate([
127
+ (0, CommandClass_1.CCCommand)(_Types_1.ThermostatFanStateCommand.Get),
128
+ (0, CommandClass_1.expectedCCResponse)(ThermostatFanStateCCReport)
129
+ ], ThermostatFanStateCCGet);
130
+ exports.ThermostatFanStateCCGet = ThermostatFanStateCCGet;
131
+ //# sourceMappingURL=ThermostatFanStateCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatFanStateCC.js","sourceRoot":"","sources":["../../src/cc/ThermostatFanStateCC.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /// <reference types="node" />
2
+ import type { MessageOrCCLogEntry, ValueID } from "@zwave-js/core/safe";
3
+ import { Maybe } from "@zwave-js/core/safe";
4
+ import type { ZWaveApplicationHost, ZWaveHost } from "@zwave-js/host/safe";
5
+ import { CCAPI, PollValueImplementation, POLL_VALUE, SetValueImplementation, SET_VALUE } from "../lib/API";
6
+ import { CommandClass, type CCCommandOptions, type CommandClassDeserializationOptions } from "../lib/CommandClass";
7
+ import { ThermostatMode, ThermostatModeCommand } from "../lib/_Types";
8
+ export declare function getThermostatModeValueId(endpointIndex: number): ValueID;
9
+ export declare function getSupportedModesValueId(endpointIndex: number): ValueID;
10
+ export declare class ThermostatModeCCAPI extends CCAPI {
11
+ supportsCommand(cmd: ThermostatModeCommand): Maybe<boolean>;
12
+ protected [SET_VALUE]: SetValueImplementation;
13
+ protected [POLL_VALUE]: PollValueImplementation;
14
+ get(): Promise<Pick<ThermostatModeCCReport, "mode" | "manufacturerData"> | undefined>;
15
+ set(mode: Exclude<ThermostatMode, typeof ThermostatMode["Manufacturer specific"]>): Promise<void>;
16
+ set(mode: typeof ThermostatMode["Manufacturer specific"], manufacturerData: Buffer): Promise<void>;
17
+ getSupportedModes(): Promise<readonly ThermostatMode[] | undefined>;
18
+ }
19
+ export declare class ThermostatModeCC extends CommandClass {
20
+ ccCommand: ThermostatModeCommand;
21
+ interview(applHost: ZWaveApplicationHost): Promise<void>;
22
+ refreshValues(applHost: ZWaveApplicationHost): Promise<void>;
23
+ }
24
+ declare type ThermostatModeCCSetOptions = CCCommandOptions & ({
25
+ mode: Exclude<ThermostatMode, typeof ThermostatMode["Manufacturer specific"]>;
26
+ } | {
27
+ mode: typeof ThermostatMode["Manufacturer specific"];
28
+ manufacturerData: Buffer;
29
+ });
30
+ export declare class ThermostatModeCCSet extends ThermostatModeCC {
31
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | ThermostatModeCCSetOptions);
32
+ mode: ThermostatMode;
33
+ manufacturerData?: Buffer;
34
+ serialize(): Buffer;
35
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
36
+ }
37
+ export declare class ThermostatModeCCReport extends ThermostatModeCC {
38
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions | CCCommandOptions);
39
+ persistValues(applHost: ZWaveApplicationHost): boolean;
40
+ private _mode;
41
+ get mode(): ThermostatMode;
42
+ private _manufacturerData;
43
+ get manufacturerData(): Buffer | undefined;
44
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
45
+ }
46
+ export declare class ThermostatModeCCGet extends ThermostatModeCC {
47
+ }
48
+ export declare class ThermostatModeCCSupportedReport extends ThermostatModeCC {
49
+ constructor(host: ZWaveHost, options: CommandClassDeserializationOptions);
50
+ persistValues(applHost: ZWaveApplicationHost): boolean;
51
+ private _supportedModes;
52
+ get supportedModes(): readonly ThermostatMode[];
53
+ toLogEntry(applHost: ZWaveApplicationHost): MessageOrCCLogEntry;
54
+ }
55
+ export declare class ThermostatModeCCSupportedGet extends ThermostatModeCC {
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=ThermostatModeCC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatModeCC.d.ts","sourceRoot":"","sources":["../../src/cc/ThermostatModeCC.ts"],"names":[],"mappings":"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"}