hap-nodejs 1.0.0-beta.2 → 1.0.0-beta.3

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 (265) hide show
  1. package/@types/bonjour-hap.d.ts +4 -3
  2. package/@types/simple-plist.d.ts +2 -1
  3. package/README.md +2 -1
  4. package/dist/BridgedCore.js +7 -5
  5. package/dist/BridgedCore.js.map +1 -1
  6. package/dist/Core.js +14 -8
  7. package/dist/Core.js.map +1 -1
  8. package/dist/accessories/AirConditioner_accessory.d.ts +2 -0
  9. package/dist/accessories/AirConditioner_accessory.d.ts.map +1 -0
  10. package/dist/accessories/AirConditioner_accessory.js +128 -0
  11. package/dist/accessories/AirConditioner_accessory.js.map +1 -0
  12. package/dist/accessories/AppleTVRemote_accessory.d.ts +2 -0
  13. package/dist/accessories/AppleTVRemote_accessory.d.ts.map +1 -0
  14. package/dist/accessories/AppleTVRemote_accessory.js +159 -0
  15. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -0
  16. package/dist/accessories/Camera_accessory.d.ts +2 -0
  17. package/dist/accessories/Camera_accessory.d.ts.map +1 -0
  18. package/dist/accessories/Camera_accessory.js +630 -0
  19. package/dist/accessories/Camera_accessory.js.map +1 -0
  20. package/dist/accessories/Fan_accessory.d.ts +2 -0
  21. package/dist/accessories/Fan_accessory.d.ts.map +1 -0
  22. package/dist/accessories/Fan_accessory.js +80 -0
  23. package/dist/accessories/Fan_accessory.js.map +1 -0
  24. package/dist/accessories/GarageDoorOpener_accessory.d.ts +2 -0
  25. package/dist/accessories/GarageDoorOpener_accessory.d.ts.map +1 -0
  26. package/dist/accessories/GarageDoorOpener_accessory.js +78 -0
  27. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -0
  28. package/dist/accessories/Light-AdaptiveLighting_accessory.d.ts +2 -0
  29. package/dist/accessories/Light-AdaptiveLighting_accessory.d.ts.map +1 -0
  30. package/dist/accessories/Light-AdaptiveLighting_accessory.js +96 -0
  31. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -0
  32. package/dist/accessories/Light_accessory.d.ts +2 -0
  33. package/dist/accessories/Light_accessory.d.ts.map +1 -0
  34. package/dist/accessories/Light_accessory.js +148 -0
  35. package/dist/accessories/Light_accessory.js.map +1 -0
  36. package/dist/accessories/Lock_accessory.d.ts +2 -0
  37. package/dist/accessories/Lock_accessory.d.ts.map +1 -0
  38. package/dist/accessories/Lock_accessory.js +76 -0
  39. package/dist/accessories/Lock_accessory.js.map +1 -0
  40. package/dist/accessories/MotionSensor_accessory.d.ts +2 -0
  41. package/dist/accessories/MotionSensor_accessory.d.ts.map +1 -0
  42. package/dist/accessories/MotionSensor_accessory.js +45 -0
  43. package/dist/accessories/MotionSensor_accessory.js.map +1 -0
  44. package/dist/accessories/Outlet_accessory.d.ts +2 -0
  45. package/dist/accessories/Outlet_accessory.d.ts.map +1 -0
  46. package/dist/accessories/Outlet_accessory.js +79 -0
  47. package/dist/accessories/Outlet_accessory.js.map +1 -0
  48. package/dist/accessories/SmartSpeaker_accessory.d.ts +2 -0
  49. package/dist/accessories/SmartSpeaker_accessory.d.ts.map +1 -0
  50. package/dist/accessories/SmartSpeaker_accessory.js +44 -0
  51. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -0
  52. package/dist/accessories/Sprinkler_accessory.d.ts +2 -0
  53. package/dist/accessories/Sprinkler_accessory.d.ts.map +1 -0
  54. package/dist/accessories/Sprinkler_accessory.js +128 -0
  55. package/dist/accessories/Sprinkler_accessory.js.map +1 -0
  56. package/dist/accessories/TV_accessory.d.ts +2 -0
  57. package/dist/accessories/TV_accessory.d.ts.map +1 -0
  58. package/dist/accessories/TV_accessory.js +101 -0
  59. package/dist/accessories/TV_accessory.js.map +1 -0
  60. package/dist/accessories/TemperatureSensor_accessory.d.ts +2 -0
  61. package/dist/accessories/TemperatureSensor_accessory.d.ts.map +1 -0
  62. package/dist/accessories/TemperatureSensor_accessory.js +44 -0
  63. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -0
  64. package/dist/accessories/Wi-FiRouter_accessory.d.ts +3 -0
  65. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -0
  66. package/dist/accessories/Wi-FiRouter_accessory.js +17 -0
  67. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -0
  68. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +3 -0
  69. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -0
  70. package/dist/accessories/Wi-FiSatellite_accessory.js +19 -0
  71. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -0
  72. package/dist/accessories/gstreamer-audioProducer.d.ts +25 -0
  73. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -0
  74. package/dist/accessories/gstreamer-audioProducer.js +155 -0
  75. package/dist/accessories/gstreamer-audioProducer.js.map +1 -0
  76. package/dist/accessories/types.d.ts +78 -0
  77. package/dist/accessories/types.d.ts.map +1 -0
  78. package/dist/accessories/types.js +88 -0
  79. package/dist/accessories/types.js.map +1 -0
  80. package/dist/index.d.ts +54 -27
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +34 -11
  83. package/dist/index.js.map +1 -1
  84. package/dist/internal-types.d.ts +65 -124
  85. package/dist/internal-types.d.ts.map +1 -1
  86. package/dist/internal-types.js +66 -5
  87. package/dist/internal-types.js.map +1 -1
  88. package/dist/lib/Accessory.d.ts +147 -60
  89. package/dist/lib/Accessory.d.ts.map +1 -1
  90. package/dist/lib/Accessory.js +566 -475
  91. package/dist/lib/Accessory.js.map +1 -1
  92. package/dist/lib/AccessoryLoader.d.ts +20 -8
  93. package/dist/lib/AccessoryLoader.d.ts.map +1 -1
  94. package/dist/lib/AccessoryLoader.js +115 -93
  95. package/dist/lib/AccessoryLoader.js.map +1 -1
  96. package/dist/lib/Advertiser.d.ts +99 -5
  97. package/dist/lib/Advertiser.d.ts.map +1 -1
  98. package/dist/lib/Advertiser.js +564 -22
  99. package/dist/lib/Advertiser.js.map +1 -1
  100. package/dist/lib/Bridge.d.ts +3 -1
  101. package/dist/lib/Bridge.d.ts.map +1 -1
  102. package/dist/lib/Bridge.js +2 -0
  103. package/dist/lib/Bridge.js.map +1 -1
  104. package/dist/lib/Characteristic.d.ts +918 -59
  105. package/dist/lib/Characteristic.d.ts.map +1 -1
  106. package/dist/lib/Characteristic.js +308 -257
  107. package/dist/lib/Characteristic.js.map +1 -1
  108. package/dist/lib/HAPServer.d.ts +114 -43
  109. package/dist/lib/HAPServer.d.ts.map +1 -1
  110. package/dist/lib/HAPServer.js +269 -405
  111. package/dist/lib/HAPServer.js.map +1 -1
  112. package/dist/lib/Service.d.ts +339 -15
  113. package/dist/lib/Service.d.ts.map +1 -1
  114. package/dist/lib/Service.js +59 -50
  115. package/dist/lib/Service.js.map +1 -1
  116. package/dist/lib/camera/Camera.d.ts +15 -6
  117. package/dist/lib/camera/Camera.d.ts.map +1 -1
  118. package/dist/lib/camera/Camera.js +6 -3
  119. package/dist/lib/camera/Camera.js.map +1 -1
  120. package/dist/lib/camera/RTPProxy.d.ts +24 -19
  121. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  122. package/dist/lib/camera/RTPProxy.js +230 -207
  123. package/dist/lib/camera/RTPProxy.js.map +1 -1
  124. package/dist/lib/camera/RTPStreamManagement.d.ts +202 -43
  125. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  126. package/dist/lib/camera/RTPStreamManagement.js +303 -189
  127. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  128. package/dist/lib/camera/RecordingManagement.d.ts +326 -0
  129. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -0
  130. package/dist/lib/camera/RecordingManagement.js +833 -0
  131. package/dist/lib/camera/RecordingManagement.js.map +1 -0
  132. package/dist/lib/camera/index.d.ts +4 -3
  133. package/dist/lib/camera/index.d.ts.map +1 -1
  134. package/dist/lib/camera/index.js +1 -0
  135. package/dist/lib/camera/index.js.map +1 -1
  136. package/dist/lib/controller/AdaptiveLightingController.d.ts +37 -11
  137. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  138. package/dist/lib/controller/AdaptiveLightingController.js +101 -86
  139. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  140. package/dist/lib/controller/CameraController.d.ts +290 -12
  141. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  142. package/dist/lib/controller/CameraController.js +403 -47
  143. package/dist/lib/controller/CameraController.js.map +1 -1
  144. package/dist/lib/controller/Controller.d.ts +31 -10
  145. package/dist/lib/controller/Controller.d.ts.map +1 -1
  146. package/dist/lib/controller/Controller.js +7 -0
  147. package/dist/lib/controller/Controller.js.map +1 -1
  148. package/dist/lib/controller/DoorbellController.d.ts +47 -1
  149. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  150. package/dist/lib/controller/DoorbellController.js +65 -11
  151. package/dist/lib/controller/DoorbellController.js.map +1 -1
  152. package/dist/lib/controller/RemoteController.d.ts +111 -42
  153. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  154. package/dist/lib/controller/RemoteController.js +228 -203
  155. package/dist/lib/controller/RemoteController.js.map +1 -1
  156. package/dist/lib/controller/index.d.ts +4 -4
  157. package/dist/lib/datastream/DataStreamManagement.d.ts +25 -19
  158. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  159. package/dist/lib/datastream/DataStreamManagement.js +42 -35
  160. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  161. package/dist/lib/datastream/DataStreamParser.d.ts +63 -24
  162. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  163. package/dist/lib/datastream/DataStreamParser.js +132 -86
  164. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  165. package/dist/lib/datastream/DataStreamServer.d.ts +154 -50
  166. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  167. package/dist/lib/datastream/DataStreamServer.js +242 -147
  168. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  169. package/dist/lib/datastream/index.d.ts +3 -3
  170. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +181 -0
  171. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  172. package/dist/lib/definitions/CharacteristicDefinitions.js +968 -499
  173. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  174. package/dist/lib/definitions/ServiceDefinitions.d.ts +58 -0
  175. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  176. package/dist/lib/definitions/ServiceDefinitions.js +173 -6
  177. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  178. package/dist/lib/definitions/generate-definitions.d.ts +1 -0
  179. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  180. package/dist/lib/definitions/generate-definitions.js +29 -21
  181. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  182. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  183. package/dist/lib/definitions/generator-configuration.js +62 -29
  184. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  185. package/dist/lib/model/AccessoryInfo.d.ts +16 -13
  186. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  187. package/dist/lib/model/AccessoryInfo.js +88 -83
  188. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  189. package/dist/lib/model/ControllerStorage.d.ts +3 -0
  190. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  191. package/dist/lib/model/ControllerStorage.js +7 -4
  192. package/dist/lib/model/ControllerStorage.js.map +1 -1
  193. package/dist/lib/model/HAPStorage.d.ts +3 -0
  194. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  195. package/dist/lib/model/HAPStorage.js +4 -0
  196. package/dist/lib/model/HAPStorage.js.map +1 -1
  197. package/dist/lib/model/IdentifierCache.d.ts +12 -11
  198. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  199. package/dist/lib/model/IdentifierCache.js +68 -65
  200. package/dist/lib/model/IdentifierCache.js.map +1 -1
  201. package/dist/lib/tv/AccessControlManagement.d.ts +12 -1
  202. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  203. package/dist/lib/tv/AccessControlManagement.js +13 -5
  204. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  205. package/dist/lib/util/clone.d.ts +2 -1
  206. package/dist/lib/util/clone.d.ts.map +1 -1
  207. package/dist/lib/util/clone.js +2 -0
  208. package/dist/lib/util/clone.js.map +1 -1
  209. package/dist/lib/util/color-utils.d.ts +4 -1
  210. package/dist/lib/util/color-utils.d.ts.map +1 -1
  211. package/dist/lib/util/color-utils.js +5 -2
  212. package/dist/lib/util/color-utils.js.map +1 -1
  213. package/dist/lib/util/eventedhttp.d.ts +62 -22
  214. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  215. package/dist/lib/util/eventedhttp.js +236 -180
  216. package/dist/lib/util/eventedhttp.js.map +1 -1
  217. package/dist/lib/util/hapCrypto.d.ts +35 -7
  218. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  219. package/dist/lib/util/hapCrypto.js +86 -78
  220. package/dist/lib/util/hapCrypto.js.map +1 -1
  221. package/dist/lib/util/hapStatusError.d.ts +2 -0
  222. package/dist/lib/util/hapStatusError.d.ts.map +1 -1
  223. package/dist/lib/util/hapStatusError.js +5 -3
  224. package/dist/lib/util/hapStatusError.js.map +1 -1
  225. package/dist/lib/util/net-utils.d.ts +7 -0
  226. package/dist/lib/util/net-utils.d.ts.map +1 -1
  227. package/dist/lib/util/net-utils.js +11 -4
  228. package/dist/lib/util/net-utils.js.map +1 -1
  229. package/dist/lib/util/once.d.ts +6 -1
  230. package/dist/lib/util/once.d.ts.map +1 -1
  231. package/dist/lib/util/once.js +9 -3
  232. package/dist/lib/util/once.js.map +1 -1
  233. package/dist/lib/util/promise-utils.d.ts +15 -0
  234. package/dist/lib/util/promise-utils.d.ts.map +1 -0
  235. package/dist/lib/util/promise-utils.js +36 -0
  236. package/dist/lib/util/promise-utils.js.map +1 -0
  237. package/dist/lib/util/request-util.d.ts +16 -0
  238. package/dist/lib/util/request-util.d.ts.map +1 -1
  239. package/dist/lib/util/request-util.js +43 -27
  240. package/dist/lib/util/request-util.js.map +1 -1
  241. package/dist/lib/util/time.d.ts +7 -1
  242. package/dist/lib/util/time.d.ts.map +1 -1
  243. package/dist/lib/util/time.js +13 -7
  244. package/dist/lib/util/time.js.map +1 -1
  245. package/dist/lib/util/tlv.d.ts +95 -5
  246. package/dist/lib/util/tlv.d.ts.map +1 -1
  247. package/dist/lib/util/tlv.js +96 -24
  248. package/dist/lib/util/tlv.js.map +1 -1
  249. package/dist/lib/util/uuid.d.ts +2 -3
  250. package/dist/lib/util/uuid.d.ts.map +1 -1
  251. package/dist/lib/util/uuid.js +25 -19
  252. package/dist/lib/util/uuid.js.map +1 -1
  253. package/dist/types.d.ts +271 -18
  254. package/dist/types.d.ts.map +1 -1
  255. package/dist/types.js +8 -0
  256. package/dist/types.js.map +1 -1
  257. package/package.json +28 -27
  258. package/dist/lib/util/setupcode.d.ts +0 -5
  259. package/dist/lib/util/setupcode.d.ts.map +0 -1
  260. package/dist/lib/util/setupcode.js +0 -49
  261. package/dist/lib/util/setupcode.js.map +0 -1
  262. package/dist/lib/util/setupid.d.ts +0 -5
  263. package/dist/lib/util/setupid.d.ts.map +0 -1
  264. package/dist/lib/util/setupid.js +0 -52
  265. package/dist/lib/util/setupid.js.map +0 -1
@@ -3,13 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AdaptiveLightingController = exports.AdaptiveLightingControllerEvents = exports.AdaptiveLightingControllerMode = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var assert_1 = tslib_1.__importDefault(require("assert"));
6
+ var color_utils_1 = require("../util/color-utils");
7
+ var hapStatusError_1 = require("../util/hapStatusError");
8
+ var time_1 = require("../util/time");
6
9
  var uuid = tslib_1.__importStar(require("../util/uuid"));
7
10
  var debug_1 = tslib_1.__importDefault(require("debug"));
8
11
  var events_1 = require("events");
9
- var __1 = require("../..");
10
12
  var Characteristic_1 = require("../Characteristic");
11
13
  var tlv = tslib_1.__importStar(require("../util/tlv"));
12
- var debug = debug_1.default("HAP-NodeJS:Controller:TransitionControl");
14
+ var debug = (0, debug_1.default)("HAP-NodeJS:Controller:TransitionControl");
13
15
  var SupportedCharacteristicValueTransitionConfigurationsTypes;
14
16
  (function (SupportedCharacteristicValueTransitionConfigurationsTypes) {
15
17
  SupportedCharacteristicValueTransitionConfigurationsTypes[SupportedCharacteristicValueTransitionConfigurationsTypes["SUPPORTED_TRANSITION_CONFIGURATION"] = 1] = "SUPPORTED_TRANSITION_CONFIGURATION";
@@ -83,11 +85,13 @@ var ValueTransitionConfigurationStatusTypes;
83
85
  ValueTransitionConfigurationStatusTypes[ValueTransitionConfigurationStatusTypes["TRANSITION_PARAMETERS"] = 2] = "TRANSITION_PARAMETERS";
84
86
  ValueTransitionConfigurationStatusTypes[ValueTransitionConfigurationStatusTypes["TIME_SINCE_START"] = 3] = "TIME_SINCE_START";
85
87
  })(ValueTransitionConfigurationStatusTypes || (ValueTransitionConfigurationStatusTypes = {}));
88
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
89
  function isAdaptiveLightingContext(context) {
87
90
  return context && "controller" in context;
88
91
  }
89
92
  /**
90
93
  * Defines in which mode the {@link AdaptiveLightingController} will operate in.
94
+ * @group Adaptive Lighting
91
95
  */
92
96
  var AdaptiveLightingControllerMode;
93
97
  (function (AdaptiveLightingControllerMode) {
@@ -101,6 +105,9 @@ var AdaptiveLightingControllerMode;
101
105
  */
102
106
  AdaptiveLightingControllerMode[AdaptiveLightingControllerMode["MANUAL"] = 2] = "MANUAL";
103
107
  })(AdaptiveLightingControllerMode = exports.AdaptiveLightingControllerMode || (exports.AdaptiveLightingControllerMode = {}));
108
+ /**
109
+ * @group Adaptive Lighting
110
+ */
104
111
  var AdaptiveLightingControllerEvents;
105
112
  (function (AdaptiveLightingControllerEvents) {
106
113
  /**
@@ -150,7 +157,7 @@ var AdaptiveLightingControllerEvents;
150
157
  * The AdaptiveLightingController will go through setup procedure with HomeKit and automatically update
151
158
  * the color temperature characteristic base on the current transition schedule.
152
159
  * It is also adjusting the color temperature when a write to the brightness characteristic happens.
153
- * Additionally it will also handle turning off AdaptiveLighting, when it detects a write happening to the
160
+ * Additionally, it will also handle turning off AdaptiveLighting, when it detects a write happening to the
154
161
  * ColorTemperature, Hue or Saturation characteristic (though it can only detect writes coming from HomeKit and
155
162
  * can't detect changes done to the physical devices directly! See below).
156
163
  *
@@ -170,13 +177,13 @@ var AdaptiveLightingControllerEvents;
170
177
  * of the ColorTemperature characteristic.
171
178
  * - When using Hue/Saturation:
172
179
  * When using Hue/Saturation in combination with the ColorTemperature characteristic you need to update the
173
- * respective other in a particular way depending if being in "color mode" or "color temperature mode".
180
+ * respective other in a particular way depending on if being in "color mode" or "color temperature mode".
174
181
  * When a write happens to Hue/Saturation characteristic in is advised to set the internal value of the
175
- * ColorTemperature to the minimal (NOT RAISING a event).
182
+ * ColorTemperature to the minimal (NOT RAISING an event).
176
183
  * When a write happens to the ColorTemperature characteristic just MUST convert to a proper representation
177
- * in hue and saturation values, with RAISING a event.
184
+ * in hue and saturation values, with RAISING an event.
178
185
  * As noted above you MUST NOT call the {@link Characteristic.setValue} method for this, as this will be considered
179
- * a write to the characteristic and will turn off AdaptiveLighting. Instead you should use
186
+ * a write to the characteristic and will turn off AdaptiveLighting. Instead, you should use
180
187
  * {@link Characteristic.updateValue} for this.
181
188
  * You can and SHOULD use the supplied utility method {@link ColorUtils.colorTemperatureToHueAndSaturation}
182
189
  * for converting mired to hue and saturation values.
@@ -188,13 +195,13 @@ var AdaptiveLightingControllerEvents;
188
195
  * Like for example ZigBee lights which support sending transitions directly to the lightbulb which
189
196
  * then get executed ON the lightbulb itself reducing unnecessary network traffic.
190
197
  * Here is a quick overview what you have to consider to successfully implement AdaptiveLighting support.
191
- * The AdaptiveLightingController will also in manual mode do all of the setup procedure.
198
+ * The AdaptiveLightingController will also in manual mode do all the setup procedure.
192
199
  * It will also save the transition schedule to disk to keep AdaptiveLighting enabled across reboots.
193
200
  * The "only" thing you have to do yourself is handling the actual transitions, check that event notifications
194
201
  * are only sent in the defined interval threshold, adjust the color temperature when brightness is changed
195
202
  * and signal that Adaptive Lighting should be disabled if ColorTemperature, Hue or Saturation is changed manually.
196
203
  *
197
- * First step is to setup up a event handler for the {@link AdaptiveLightingControllerEvents.UPDATE}, which is called
204
+ * First step is to setup up an event handler for the {@link AdaptiveLightingControllerEvents.UPDATE}, which is called
198
205
  * when AdaptiveLighting is enabled, the HomeHub updates the schedule for the next 24 hours or AdaptiveLighting
199
206
  * is restored from disk on startup.
200
207
  * In the event handler you can get the current schedule via {@link AdaptiveLightingController.getAdaptiveLightingTransitionCurve},
@@ -204,13 +211,15 @@ var AdaptiveLightingControllerEvents;
204
211
  * Additionally {@link AdaptiveLightingController.getAdaptiveLightingBrightnessMultiplierRange} can be used
205
212
  * to get the valid range for the brightness value to calculate the brightness adjustment factor.
206
213
  * The method {@link AdaptiveLightingController.isAdaptiveLightingActive} can be used to check if AdaptiveLighting is enabled.
207
- * Besides actually running the transition (see {@link AdaptiveLightingTransitionCurveEntry}) you must
208
- * correctly update the color temperature when the brightness of the lightbulb changes (see {@link AdaptiveLightingTransitionCurveEntry.brightnessAdjustmentFactor}),
214
+ * Besides, actually running the transition (see {@link AdaptiveLightingTransitionCurveEntry}) you must correctly update
215
+ * the color temperature when the brightness of the lightbulb changes (see {@link AdaptiveLightingTransitionCurveEntry.brightnessAdjustmentFactor}),
209
216
  * and signal when AdaptiveLighting got disabled by calling {@link AdaptiveLightingController.disableAdaptiveLighting}
210
217
  * when ColorTemperature, Hue or Saturation where changed manually.
211
218
  * Lastly you should set up a event handler for the {@link AdaptiveLightingControllerEvents.DISABLED} event.
212
219
  * In yet unknown circumstances HomeKit may also send a dedicated disable command via the control point characteristic.
213
220
  * Be prepared to handle that.
221
+ *
222
+ * @group Adaptive Lighting
214
223
  */
215
224
  var AdaptiveLightingController = /** @class */ (function (_super) {
216
225
  tslib_1.__extends(AdaptiveLightingController, _super);
@@ -222,18 +231,19 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
222
231
  * @param options - Optional options to define the operating mode (automatic vs manual).
223
232
  */
224
233
  function AdaptiveLightingController(service, options) {
234
+ var _this = this;
225
235
  var _a, _b;
226
- var _this = _super.call(this) || this;
236
+ _this = _super.call(this) || this;
227
237
  _this.didRunFirstInitializationStep = false;
228
238
  _this.lastEventNotificationSent = 0;
229
239
  _this.lastNotifiedTemperatureValue = 0;
230
240
  _this.lastNotifiedSaturationValue = 0;
231
241
  _this.lastNotifiedHueValue = 0;
232
242
  _this.lightbulb = service;
233
- _this.mode = (_a = options === null || options === void 0 ? void 0 : options.controllerMode) !== null && _a !== void 0 ? _a : 1 /* AUTOMATIC */;
243
+ _this.mode = (_a = options === null || options === void 0 ? void 0 : options.controllerMode) !== null && _a !== void 0 ? _a : 1 /* AdaptiveLightingControllerMode.AUTOMATIC */;
234
244
  _this.customTemperatureAdjustment = (_b = options === null || options === void 0 ? void 0 : options.customTemperatureAdjustment) !== null && _b !== void 0 ? _b : 0;
235
- assert_1.default(_this.lightbulb.testCharacteristic(Characteristic_1.Characteristic.ColorTemperature), "Lightbulb must have the ColorTemperature characteristic added!");
236
- assert_1.default(_this.lightbulb.testCharacteristic(Characteristic_1.Characteristic.Brightness), "Lightbulb must have the Brightness characteristic added!");
245
+ (0, assert_1.default)(_this.lightbulb.testCharacteristic(Characteristic_1.Characteristic.ColorTemperature), "Lightbulb must have the ColorTemperature characteristic added!");
246
+ (0, assert_1.default)(_this.lightbulb.testCharacteristic(Characteristic_1.Characteristic.Brightness), "Lightbulb must have the Brightness characteristic added!");
237
247
  _this.adjustmentFactorChangedListener = _this.handleAdjustmentFactorChanged.bind(_this);
238
248
  _this.characteristicManualWrittenChangeListener = _this.handleCharacteristicManualWritten.bind(_this);
239
249
  return _this;
@@ -242,7 +252,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
242
252
  * @private
243
253
  */
244
254
  AdaptiveLightingController.prototype.controllerId = function () {
245
- return "characteristic-transition" /* CHARACTERISTIC_TRANSITION */ + "-" + this.lightbulb.getServiceId();
255
+ return "characteristic-transition" /* DefaultControllerType.CHARACTERISTIC_TRANSITION */ + "-" + this.lightbulb.getServiceId();
246
256
  };
247
257
  // ----------- PUBLIC API START -----------
248
258
  /**
@@ -259,21 +269,22 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
259
269
  * (or if any of those values is changed by physical interaction with the lightbulb).
260
270
  */
261
271
  AdaptiveLightingController.prototype.disableAdaptiveLighting = function () {
272
+ var _a;
262
273
  if (this.updateTimeout) {
263
274
  clearTimeout(this.updateTimeout);
264
275
  this.updateTimeout = undefined;
265
276
  }
266
277
  if (this.activeTransition) {
267
- this.colorTemperatureCharacteristic.removeListener("change" /* CHANGE */, this.characteristicManualWrittenChangeListener);
268
- this.brightnessCharacteristic.removeListener("change" /* CHANGE */, this.adjustmentFactorChangedListener);
278
+ this.colorTemperatureCharacteristic.removeListener("change" /* CharacteristicEventTypes.CHANGE */, this.characteristicManualWrittenChangeListener);
279
+ this.brightnessCharacteristic.removeListener("change" /* CharacteristicEventTypes.CHANGE */, this.adjustmentFactorChangedListener);
269
280
  if (this.hueCharacteristic) {
270
- this.hueCharacteristic.removeListener("change" /* CHANGE */, this.characteristicManualWrittenChangeListener);
281
+ this.hueCharacteristic.removeListener("change" /* CharacteristicEventTypes.CHANGE */, this.characteristicManualWrittenChangeListener);
271
282
  }
272
283
  if (this.saturationCharacteristic) {
273
- this.saturationCharacteristic.removeListener("change" /* CHANGE */, this.characteristicManualWrittenChangeListener);
284
+ this.saturationCharacteristic.removeListener("change" /* CharacteristicEventTypes.CHANGE */, this.characteristicManualWrittenChangeListener);
274
285
  }
275
286
  this.activeTransition = undefined;
276
- this.stateChangeDelegate && this.stateChangeDelegate();
287
+ (_a = this.stateChangeDelegate) === null || _a === void 0 ? void 0 : _a.call(this);
277
288
  }
278
289
  this.colorTemperatureCharacteristic = undefined;
279
290
  this.brightnessCharacteristic = undefined;
@@ -353,6 +364,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
353
364
  };
354
365
  // ----------- PUBLIC API END -----------
355
366
  AdaptiveLightingController.prototype.handleActiveTransitionUpdated = function (calledFromDeserializer) {
367
+ var _a;
356
368
  if (calledFromDeserializer === void 0) { calledFromDeserializer = false; }
357
369
  if (!calledFromDeserializer) {
358
370
  this.activeTransitionCount.sendEventNotification(1);
@@ -360,17 +372,17 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
360
372
  else {
361
373
  this.activeTransitionCount.value = 1;
362
374
  }
363
- if (this.mode === 1 /* AUTOMATIC */) {
375
+ if (this.mode === 1 /* AdaptiveLightingControllerMode.AUTOMATIC */) {
364
376
  this.scheduleNextUpdate();
365
377
  }
366
- else if (this.mode === 2 /* MANUAL */) {
367
- this.emit("update" /* UPDATE */);
378
+ else if (this.mode === 2 /* AdaptiveLightingControllerMode.MANUAL */) {
379
+ this.emit("update" /* AdaptiveLightingControllerEvents.UPDATE */);
368
380
  }
369
381
  else {
370
382
  throw new Error("Unsupported adaptive lighting controller mode: " + this.mode);
371
383
  }
372
384
  if (!calledFromDeserializer) {
373
- this.stateChangeDelegate && this.stateChangeDelegate();
385
+ (_a = this.stateChangeDelegate) === null || _a === void 0 ? void 0 : _a.call(this);
374
386
  }
375
387
  };
376
388
  AdaptiveLightingController.prototype.handleAdaptiveLightingEnabled = function () {
@@ -379,20 +391,20 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
379
391
  }
380
392
  this.colorTemperatureCharacteristic = this.lightbulb.getCharacteristic(Characteristic_1.Characteristic.ColorTemperature);
381
393
  this.brightnessCharacteristic = this.lightbulb.getCharacteristic(Characteristic_1.Characteristic.Brightness);
382
- this.colorTemperatureCharacteristic.on("change" /* CHANGE */, this.characteristicManualWrittenChangeListener);
383
- this.brightnessCharacteristic.on("change" /* CHANGE */, this.adjustmentFactorChangedListener);
394
+ this.colorTemperatureCharacteristic.on("change" /* CharacteristicEventTypes.CHANGE */, this.characteristicManualWrittenChangeListener);
395
+ this.brightnessCharacteristic.on("change" /* CharacteristicEventTypes.CHANGE */, this.adjustmentFactorChangedListener);
384
396
  if (this.lightbulb.testCharacteristic(Characteristic_1.Characteristic.Hue)) {
385
397
  this.hueCharacteristic = this.lightbulb.getCharacteristic(Characteristic_1.Characteristic.Hue)
386
- .on("change" /* CHANGE */, this.characteristicManualWrittenChangeListener);
398
+ .on("change" /* CharacteristicEventTypes.CHANGE */, this.characteristicManualWrittenChangeListener);
387
399
  }
388
400
  if (this.lightbulb.testCharacteristic(Characteristic_1.Characteristic.Saturation)) {
389
401
  this.saturationCharacteristic = this.lightbulb.getCharacteristic(Characteristic_1.Characteristic.Saturation)
390
- .on("change" /* CHANGE */, this.characteristicManualWrittenChangeListener);
402
+ .on("change" /* CharacteristicEventTypes.CHANGE */, this.characteristicManualWrittenChangeListener);
391
403
  }
392
404
  };
393
405
  AdaptiveLightingController.prototype.handleAdaptiveLightingDisabled = function () {
394
- if (this.mode === 2 /* MANUAL */ && this.activeTransition) { // only emit the event if a transition is actually enabled
395
- this.emit("disable" /* DISABLED */);
406
+ if (this.mode === 2 /* AdaptiveLightingControllerMode.MANUAL */ && this.activeTransition) { // only emit the event if a transition is actually enabled
407
+ this.emit("disable" /* AdaptiveLightingControllerEvents.DISABLED */);
396
408
  }
397
409
  this.disableAdaptiveLighting();
398
410
  };
@@ -410,7 +422,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
410
422
  // After some short time the Hue or Saturation get handler return with the last known value to the plugin.
411
423
  // As those values now differ from the cached values (we already updated) we get a call to handleCharacteristicManualWritten
412
424
  // which again disables adaptive lighting.
413
- if (change.reason === "read" /* READ */) {
425
+ if (change.reason === "read" /* ChangeReason.READ */) {
414
426
  // if the reason is a read request, we expect that Hue/Saturation are also read
415
427
  // thus we postpone our update to ColorTemperature a bit.
416
428
  // It doesn't ensure that those race conditions do not happen anymore, but with a 1s delay it reduces the possibility by a bit
@@ -432,7 +444,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
432
444
  * @param change
433
445
  */
434
446
  AdaptiveLightingController.prototype.handleCharacteristicManualWritten = function (change) {
435
- if (change.reason === "write" /* WRITE */ && !(isAdaptiveLightingContext(change.context) && change.context.controller === this)) {
447
+ if (change.reason === "write" /* ChangeReason.WRITE */ && !(isAdaptiveLightingContext(change.context) && change.context.controller === this)) {
436
448
  // we ignore write request which are the result of calls made to updateValue or sendEventNotification
437
449
  // or the result of a changed value returned by a read handler
438
450
  // or the change was done by the controller itself
@@ -530,17 +542,17 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
530
542
  else {
531
543
  var timePercentage = (transitionPoint.transitionOffset - ((_a = lowerBound.duration) !== null && _a !== void 0 ? _a : 0)) / upperBound.transitionTime;
532
544
  interpolatedTemperature = lowerBound.temperature + (upperBound.temperature - lowerBound.temperature) * timePercentage;
533
- interpolatedAdjustmentFactor = lowerBound.brightnessAdjustmentFactor + (upperBound.brightnessAdjustmentFactor - lowerBound.brightnessAdjustmentFactor) * timePercentage;
545
+ interpolatedAdjustmentFactor = lowerBound.brightnessAdjustmentFactor
546
+ + (upperBound.brightnessAdjustmentFactor - lowerBound.brightnessAdjustmentFactor) * timePercentage;
534
547
  }
535
- var adjustmentMultiplier = Math.max(this.activeTransition.brightnessAdjustmentRange.minBrightnessValue, Math.min(this.activeTransition.brightnessAdjustmentRange.maxBrightnessValue, this.brightnessCharacteristic.value // get handler is not called for optimal performance
536
- ));
548
+ var adjustmentMultiplier = Math.max(this.activeTransition.brightnessAdjustmentRange.minBrightnessValue, Math.min(this.activeTransition.brightnessAdjustmentRange.maxBrightnessValue, this.brightnessCharacteristic.value));
537
549
  var temperature = Math.round(interpolatedTemperature + interpolatedAdjustmentFactor * adjustmentMultiplier);
538
550
  // apply any manually applied temperature adjustments
539
551
  temperature += this.customTemperatureAdjustment;
540
552
  var min = (_c = (_b = this.colorTemperatureCharacteristic) === null || _b === void 0 ? void 0 : _b.props.minValue) !== null && _c !== void 0 ? _c : 140;
541
553
  var max = (_e = (_d = this.colorTemperatureCharacteristic) === null || _d === void 0 ? void 0 : _d.props.maxValue) !== null && _e !== void 0 ? _e : 500;
542
554
  temperature = Math.max(min, Math.min(max, temperature));
543
- var color = __1.ColorUtils.colorTemperatureToHueAndSaturation(temperature);
555
+ var color = color_utils_1.ColorUtils.colorTemperatureToHueAndSaturation(temperature);
544
556
  debug("[%s] Next temperature value is %d (for brightness %d adj: %s)", this.lightbulb.displayName, temperature, adjustmentMultiplier, this.customTemperatureAdjustment);
545
557
  var context = {
546
558
  controller: this,
@@ -571,7 +583,8 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
571
583
  debug("[%s] Failed to next adaptive lighting transition point: %d", _this.lightbulb.displayName, reason);
572
584
  });
573
585
  if (!this.activeTransition) {
574
- console.warn("[" + this.lightbulb.displayName + "] Adaptive Lighting was probably disable my mistake by some call in the SET handler of the ColorTemperature characteristic! " +
586
+ console.warn("[" + this.lightbulb.displayName + "] Adaptive Lighting was probably disable my mistake by some call in " +
587
+ "the SET handler of the ColorTemperature characteristic! " +
575
588
  "Please check that you don't call setValue/setCharacteristic on the Hue, Saturation or ColorTemperature characteristic!");
576
589
  return;
577
590
  }
@@ -608,6 +621,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
608
621
  /**
609
622
  * @private
610
623
  */
624
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
611
625
  AdaptiveLightingController.prototype.initWithServices = function (serviceMap) {
612
626
  // do nothing
613
627
  };
@@ -632,10 +646,10 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
632
646
  return _this.handleTransitionControlWrite(value);
633
647
  }
634
648
  catch (error) {
635
- console.warn("[%s] DEBUG: '" + value + "'");
649
+ console.warn("[%s] DEBUG: '".concat(value, "'"));
636
650
  console.warn("[%s] Encountered error on CharacteristicValueTransitionControl characteristic: " + error.stack);
637
651
  _this.disableAdaptiveLighting();
638
- throw new __1.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
652
+ throw new hapStatusError_1.HapStatusError(-70402 /* HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
639
653
  }
640
654
  });
641
655
  };
@@ -675,9 +689,9 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
675
689
  this.activeTransition = serialized.activeTransition;
676
690
  // Data migrations from beta builds
677
691
  if (!this.activeTransition.transitionId) {
678
- // @ts-ignore
692
+ // @ts-expect-error: data migration from beta builds
679
693
  this.activeTransition.transitionId = this.activeTransition.id1;
680
- // @ts-ignore
694
+ // @ts-expect-error: data migration from beta builds
681
695
  delete this.activeTransition.id1;
682
696
  }
683
697
  if (!this.activeTransition.timeMillisOffset) { // compatibility to data produced by early betas
@@ -694,11 +708,11 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
694
708
  AdaptiveLightingController.prototype.handleSupportedTransitionConfigurationRead = function () {
695
709
  var brightnessIID = this.lightbulb.getCharacteristic(Characteristic_1.Characteristic.Brightness).iid;
696
710
  var temperatureIID = this.lightbulb.getCharacteristic(Characteristic_1.Characteristic.ColorTemperature).iid;
697
- assert_1.default(brightnessIID, "iid for brightness characteristic is undefined");
698
- assert_1.default(temperatureIID, "iid for temperature characteristic is undefined");
699
- return tlv.encode(1 /* SUPPORTED_TRANSITION_CONFIGURATION */, [
700
- tlv.encode(1 /* CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(brightnessIID), 2 /* TRANSITION_TYPE */, 1 /* BRIGHTNESS */),
701
- tlv.encode(1 /* CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(temperatureIID), 2 /* TRANSITION_TYPE */, 2 /* COLOR_TEMPERATURE */),
711
+ (0, assert_1.default)(brightnessIID, "iid for brightness characteristic is undefined");
712
+ (0, assert_1.default)(temperatureIID, "iid for temperature characteristic is undefined");
713
+ return tlv.encode(1 /* SupportedCharacteristicValueTransitionConfigurationsTypes.SUPPORTED_TRANSITION_CONFIGURATION */, [
714
+ tlv.encode(1 /* SupportedValueTransitionConfigurationTypes.CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(brightnessIID), 2 /* SupportedValueTransitionConfigurationTypes.TRANSITION_TYPE */, 1 /* TransitionType.BRIGHTNESS */),
715
+ tlv.encode(1 /* SupportedValueTransitionConfigurationTypes.CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(temperatureIID), 2 /* SupportedValueTransitionConfigurationTypes.TRANSITION_TYPE */, 2 /* TransitionType.COLOR_TEMPERATURE */),
702
716
  ]).toString("base64");
703
717
  };
704
718
  AdaptiveLightingController.prototype.buildTransitionControlResponseBuffer = function (time) {
@@ -708,30 +722,30 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
708
722
  var active = this.activeTransition;
709
723
  var timeSinceStart = time !== null && time !== void 0 ? time : (Date.now() - active.timeMillisOffset - active.transitionStartMillis);
710
724
  var timeSinceStartBuffer = tlv.writeVariableUIntLE(timeSinceStart);
711
- var parameters = tlv.encode(1 /* TRANSITION_ID */, uuid.write(active.transitionId), 2 /* START_TIME */, Buffer.from(active.transitionStartBuffer, "hex"));
725
+ var parameters = tlv.encode(1 /* ValueTransitionParametersTypes.TRANSITION_ID */, uuid.write(active.transitionId), 2 /* ValueTransitionParametersTypes.START_TIME */, Buffer.from(active.transitionStartBuffer, "hex"));
712
726
  if (active.id3) {
713
727
  parameters = Buffer.concat([
714
728
  parameters,
715
- tlv.encode(3 /* UNKNOWN_3 */, Buffer.from(active.id3, "hex")),
729
+ tlv.encode(3 /* ValueTransitionParametersTypes.UNKNOWN_3 */, Buffer.from(active.id3, "hex")),
716
730
  ]);
717
731
  }
718
- var status = tlv.encode(1 /* CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(active.iid), 2 /* TRANSITION_PARAMETERS */, parameters, 3 /* TIME_SINCE_START */, timeSinceStartBuffer);
719
- return tlv.encode(1 /* VALUE_CONFIGURATION_STATUS */, status);
732
+ var status = tlv.encode(1 /* ValueTransitionConfigurationStatusTypes.CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(active.iid), 2 /* ValueTransitionConfigurationStatusTypes.TRANSITION_PARAMETERS */, parameters, 3 /* ValueTransitionConfigurationStatusTypes.TIME_SINCE_START */, timeSinceStartBuffer);
733
+ return tlv.encode(1 /* ValueTransitionConfigurationResponseTypes.VALUE_CONFIGURATION_STATUS */, status);
720
734
  };
721
735
  AdaptiveLightingController.prototype.handleTransitionControlWrite = function (value) {
722
736
  if (typeof value !== "string") {
723
- throw new __1.HapStatusError(-70410 /* INVALID_VALUE_IN_REQUEST */);
737
+ throw new hapStatusError_1.HapStatusError(-70410 /* HAPStatus.INVALID_VALUE_IN_REQUEST */);
724
738
  }
725
739
  var tlvData = tlv.decode(Buffer.from(value, "base64"));
726
740
  var responseBuffers = [];
727
- var readTransition = tlvData[1 /* READ_CURRENT_VALUE_TRANSITION_CONFIGURATION */];
741
+ var readTransition = tlvData[1 /* TransitionControlTypes.READ_CURRENT_VALUE_TRANSITION_CONFIGURATION */];
728
742
  if (readTransition) {
729
743
  var readTransitionResponse = this.handleTransitionControlReadTransition(readTransition);
730
744
  if (readTransitionResponse) {
731
745
  responseBuffers.push(readTransitionResponse);
732
746
  }
733
747
  }
734
- var updateTransition = tlvData[2 /* UPDATE_VALUE_TRANSITION_CONFIGURATION */];
748
+ var updateTransition = tlvData[2 /* TransitionControlTypes.UPDATE_VALUE_TRANSITION_CONFIGURATION */];
735
749
  if (updateTransition) {
736
750
  var updateTransitionResponse = this.handleTransitionControlUpdateTransition(updateTransition);
737
751
  if (updateTransitionResponse) {
@@ -742,24 +756,25 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
742
756
  };
743
757
  AdaptiveLightingController.prototype.handleTransitionControlReadTransition = function (buffer) {
744
758
  var readTransition = tlv.decode(buffer);
745
- var iid = tlv.readVariableUIntLE(readTransition[1 /* CHARACTERISTIC_IID */]);
759
+ var iid = tlv.readVariableUIntLE(readTransition[1 /* ReadValueTransitionConfiguration.CHARACTERISTIC_IID */]);
746
760
  if (this.activeTransition) {
747
761
  if (this.activeTransition.iid !== iid) {
748
- console.warn("[" + this.lightbulb.displayName + "] iid of current adaptive lighting transition (" + this.activeTransition.iid + ") doesn't match the requested one " + iid);
749
- throw new __1.HapStatusError(-70410 /* INVALID_VALUE_IN_REQUEST */);
762
+ console.warn("[" + this.lightbulb.displayName + "] iid of current adaptive lighting transition (" + this.activeTransition.iid
763
+ + ") doesn't match the requested one " + iid);
764
+ throw new hapStatusError_1.HapStatusError(-70410 /* HAPStatus.INVALID_VALUE_IN_REQUEST */);
750
765
  }
751
- var parameters = tlv.encode(1 /* TRANSITION_ID */, uuid.write(this.activeTransition.transitionId), 2 /* START_TIME */, Buffer.from(this.activeTransition.transitionStartBuffer, "hex"));
766
+ var parameters = tlv.encode(1 /* ValueTransitionParametersTypes.TRANSITION_ID */, uuid.write(this.activeTransition.transitionId), 2 /* ValueTransitionParametersTypes.START_TIME */, Buffer.from(this.activeTransition.transitionStartBuffer, "hex"));
752
767
  if (this.activeTransition.id3) {
753
768
  parameters = Buffer.concat([
754
769
  parameters,
755
- tlv.encode(3 /* UNKNOWN_3 */, Buffer.from(this.activeTransition.id3, "hex")),
770
+ tlv.encode(3 /* ValueTransitionParametersTypes.UNKNOWN_3 */, Buffer.from(this.activeTransition.id3, "hex")),
756
771
  ]);
757
772
  }
758
- return tlv.encode(1 /* READ_CURRENT_VALUE_TRANSITION_CONFIGURATION */, tlv.encode(1 /* CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(this.activeTransition.iid), 2 /* TRANSITION_PARAMETERS */, parameters, 3 /* UNKNOWN_3 */, 1, 5 /* TRANSITION_CURVE_CONFIGURATION */, tlv.encode(1 /* TRANSITION_ENTRY */, this.activeTransition.transitionCurve.map(function (entry, index, array) {
773
+ return tlv.encode(1 /* TransitionControlTypes.READ_CURRENT_VALUE_TRANSITION_CONFIGURATION */, tlv.encode(1 /* ValueTransitionConfigurationTypes.CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(this.activeTransition.iid), 2 /* ValueTransitionConfigurationTypes.TRANSITION_PARAMETERS */, parameters, 3 /* ValueTransitionConfigurationTypes.UNKNOWN_3 */, 1, 5 /* ValueTransitionConfigurationTypes.TRANSITION_CURVE_CONFIGURATION */, tlv.encode(1 /* TransitionCurveConfigurationTypes.TRANSITION_ENTRY */, this.activeTransition.transitionCurve.map(function (entry, index, array) {
759
774
  var _a, _b;
760
775
  var duration = (_b = (_a = array[index - 1]) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0; // we store stuff differently :sweat_smile:
761
- return tlv.encode(1 /* ADJUSTMENT_FACTOR */, tlv.writeFloat32LE(entry.brightnessAdjustmentFactor), 2 /* VALUE */, tlv.writeFloat32LE(entry.temperature), 3 /* TRANSITION_OFFSET */, tlv.writeVariableUIntLE(entry.transitionTime), 4 /* DURATION */, tlv.writeVariableUIntLE(duration));
762
- }), 2 /* ADJUSTMENT_CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(this.activeTransition.brightnessCharacteristicIID), 3 /* ADJUSTMENT_MULTIPLIER_RANGE */, tlv.encode(1 /* MINIMUM_ADJUSTMENT_MULTIPLIER */, tlv.writeUInt32(this.activeTransition.brightnessAdjustmentRange.minBrightnessValue), 2 /* MAXIMUM_ADJUSTMENT_MULTIPLIER */, tlv.writeUInt32(this.activeTransition.brightnessAdjustmentRange.maxBrightnessValue))), 6 /* UPDATE_INTERVAL */, tlv.writeVariableUIntLE(this.activeTransition.updateInterval), 8 /* NOTIFY_INTERVAL_THRESHOLD */, tlv.writeVariableUIntLE(this.activeTransition.notifyIntervalThreshold)));
776
+ return tlv.encode(1 /* TransitionEntryTypes.ADJUSTMENT_FACTOR */, tlv.writeFloat32LE(entry.brightnessAdjustmentFactor), 2 /* TransitionEntryTypes.VALUE */, tlv.writeFloat32LE(entry.temperature), 3 /* TransitionEntryTypes.TRANSITION_OFFSET */, tlv.writeVariableUIntLE(entry.transitionTime), 4 /* TransitionEntryTypes.DURATION */, tlv.writeVariableUIntLE(duration));
777
+ }), 2 /* TransitionCurveConfigurationTypes.ADJUSTMENT_CHARACTERISTIC_IID */, tlv.writeVariableUIntLE(this.activeTransition.brightnessCharacteristicIID), 3 /* TransitionCurveConfigurationTypes.ADJUSTMENT_MULTIPLIER_RANGE */, tlv.encode(1 /* TransitionAdjustmentMultiplierRange.MINIMUM_ADJUSTMENT_MULTIPLIER */, tlv.writeUInt32(this.activeTransition.brightnessAdjustmentRange.minBrightnessValue), 2 /* TransitionAdjustmentMultiplierRange.MAXIMUM_ADJUSTMENT_MULTIPLIER */, tlv.writeUInt32(this.activeTransition.brightnessAdjustmentRange.maxBrightnessValue))), 6 /* ValueTransitionConfigurationTypes.UPDATE_INTERVAL */, tlv.writeVariableUIntLE(this.activeTransition.updateInterval), 8 /* ValueTransitionConfigurationTypes.NOTIFY_INTERVAL_THRESHOLD */, tlv.writeVariableUIntLE(this.activeTransition.notifyIntervalThreshold)));
763
778
  }
764
779
  else {
765
780
  return undefined; // returns empty string
@@ -769,36 +784,36 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
769
784
  var e_1, _a;
770
785
  var _b, _c;
771
786
  var updateTransition = tlv.decode(buffer);
772
- var transitionConfiguration = tlv.decode(updateTransition[1 /* VALUE_TRANSITION_CONFIGURATION */]);
773
- var iid = tlv.readVariableUIntLE(transitionConfiguration[1 /* CHARACTERISTIC_IID */]);
787
+ var transitionConfiguration = tlv.decode(updateTransition[1 /* UpdateValueTransitionConfigurationsTypes.VALUE_TRANSITION_CONFIGURATION */]);
788
+ var iid = tlv.readVariableUIntLE(transitionConfiguration[1 /* ValueTransitionConfigurationTypes.CHARACTERISTIC_IID */]);
774
789
  if (!this.lightbulb.getCharacteristicByIID(iid)) {
775
- throw new __1.HapStatusError(-70410 /* INVALID_VALUE_IN_REQUEST */);
790
+ throw new hapStatusError_1.HapStatusError(-70410 /* HAPStatus.INVALID_VALUE_IN_REQUEST */);
776
791
  }
777
- var param3 = (_b = transitionConfiguration[3 /* UNKNOWN_3 */]) === null || _b === void 0 ? void 0 : _b.readUInt8(0); // when present it is always 1
792
+ var param3 = (_b = transitionConfiguration[3 /* ValueTransitionConfigurationTypes.UNKNOWN_3 */]) === null || _b === void 0 ? void 0 : _b.readUInt8(0); // when present it is always 1
778
793
  if (!param3) { // if HomeKit just sends the iid, we consider that as "disable adaptive lighting" (assumption)
779
794
  this.handleAdaptiveLightingDisabled();
780
- return tlv.encode(2 /* UPDATE_VALUE_TRANSITION_CONFIGURATION */, Buffer.alloc(0));
781
- }
782
- var parametersTLV = tlv.decode(transitionConfiguration[2 /* TRANSITION_PARAMETERS */]);
783
- var curveConfiguration = tlv.decodeWithLists(transitionConfiguration[5 /* TRANSITION_CURVE_CONFIGURATION */]);
784
- var updateInterval = (_c = transitionConfiguration[6 /* UPDATE_INTERVAL */]) === null || _c === void 0 ? void 0 : _c.readUInt16LE(0);
785
- var notifyIntervalThreshold = transitionConfiguration[8 /* NOTIFY_INTERVAL_THRESHOLD */].readUInt32LE(0);
786
- var transitionId = parametersTLV[1 /* TRANSITION_ID */];
787
- var startTime = parametersTLV[2 /* START_TIME */];
788
- var id3 = parametersTLV[3 /* UNKNOWN_3 */]; // this may be undefined
789
- var startTimeMillis = __1.epochMillisFromMillisSince2001_01_01Buffer(startTime);
795
+ return tlv.encode(2 /* TransitionControlTypes.UPDATE_VALUE_TRANSITION_CONFIGURATION */, Buffer.alloc(0));
796
+ }
797
+ var parametersTLV = tlv.decode(transitionConfiguration[2 /* ValueTransitionConfigurationTypes.TRANSITION_PARAMETERS */]);
798
+ var curveConfiguration = tlv.decodeWithLists(transitionConfiguration[5 /* ValueTransitionConfigurationTypes.TRANSITION_CURVE_CONFIGURATION */]);
799
+ var updateInterval = (_c = transitionConfiguration[6 /* ValueTransitionConfigurationTypes.UPDATE_INTERVAL */]) === null || _c === void 0 ? void 0 : _c.readUInt16LE(0);
800
+ var notifyIntervalThreshold = transitionConfiguration[8 /* ValueTransitionConfigurationTypes.NOTIFY_INTERVAL_THRESHOLD */].readUInt32LE(0);
801
+ var transitionId = parametersTLV[1 /* ValueTransitionParametersTypes.TRANSITION_ID */];
802
+ var startTime = parametersTLV[2 /* ValueTransitionParametersTypes.START_TIME */];
803
+ var id3 = parametersTLV[3 /* ValueTransitionParametersTypes.UNKNOWN_3 */]; // this may be undefined
804
+ var startTimeMillis = (0, time_1.epochMillisFromMillisSince2001_01_01Buffer)(startTime);
790
805
  var timeMillisOffset = Date.now() - startTimeMillis;
791
806
  var transitionCurve = [];
792
807
  var previous = undefined;
793
- var transitions = curveConfiguration[1 /* TRANSITION_ENTRY */];
808
+ var transitions = curveConfiguration[1 /* TransitionCurveConfigurationTypes.TRANSITION_ENTRY */];
794
809
  try {
795
810
  for (var transitions_1 = tslib_1.__values(transitions), transitions_1_1 = transitions_1.next(); !transitions_1_1.done; transitions_1_1 = transitions_1.next()) {
796
811
  var entry = transitions_1_1.value;
797
812
  var tlvEntry = tlv.decode(entry);
798
- var adjustmentFactor = tlvEntry[1 /* ADJUSTMENT_FACTOR */].readFloatLE(0);
799
- var value = tlvEntry[2 /* VALUE */].readFloatLE(0);
800
- var transitionOffset = tlv.readVariableUIntLE(tlvEntry[3 /* TRANSITION_OFFSET */]);
801
- var duration = tlvEntry[4 /* DURATION */] ? tlv.readVariableUIntLE(tlvEntry[4 /* DURATION */]) : undefined;
813
+ var adjustmentFactor = tlvEntry[1 /* TransitionEntryTypes.ADJUSTMENT_FACTOR */].readFloatLE(0);
814
+ var value = tlvEntry[2 /* TransitionEntryTypes.VALUE */].readFloatLE(0);
815
+ var transitionOffset = tlv.readVariableUIntLE(tlvEntry[3 /* TransitionEntryTypes.TRANSITION_OFFSET */]);
816
+ var duration = tlvEntry[4 /* TransitionEntryTypes.DURATION */] ? tlv.readVariableUIntLE(tlvEntry[4 /* TransitionEntryTypes.DURATION */]) : undefined;
802
817
  if (previous) {
803
818
  previous.duration = duration;
804
819
  }
@@ -817,10 +832,10 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
817
832
  }
818
833
  finally { if (e_1) throw e_1.error; }
819
834
  }
820
- var adjustmentIID = tlv.readVariableUIntLE(curveConfiguration[2 /* ADJUSTMENT_CHARACTERISTIC_IID */]);
821
- var adjustmentMultiplierRange = tlv.decode(curveConfiguration[3 /* ADJUSTMENT_MULTIPLIER_RANGE */]);
822
- var minAdjustmentMultiplier = adjustmentMultiplierRange[1 /* MINIMUM_ADJUSTMENT_MULTIPLIER */].readUInt32LE(0);
823
- var maxAdjustmentMultiplier = adjustmentMultiplierRange[2 /* MAXIMUM_ADJUSTMENT_MULTIPLIER */].readUInt32LE(0);
835
+ var adjustmentIID = tlv.readVariableUIntLE(curveConfiguration[2 /* TransitionCurveConfigurationTypes.ADJUSTMENT_CHARACTERISTIC_IID */]);
836
+ var adjustmentMultiplierRange = tlv.decode(curveConfiguration[3 /* TransitionCurveConfigurationTypes.ADJUSTMENT_MULTIPLIER_RANGE */]);
837
+ var minAdjustmentMultiplier = adjustmentMultiplierRange[1 /* TransitionAdjustmentMultiplierRange.MINIMUM_ADJUSTMENT_MULTIPLIER */].readUInt32LE(0);
838
+ var maxAdjustmentMultiplier = adjustmentMultiplierRange[2 /* TransitionAdjustmentMultiplierRange.MAXIMUM_ADJUSTMENT_MULTIPLIER */].readUInt32LE(0);
824
839
  this.activeTransition = {
825
840
  iid: iid,
826
841
  transitionStartMillis: startTimeMillis,
@@ -846,7 +861,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
846
861
  debug("[%s] Adaptive lighting was enabled.", this.lightbulb.displayName);
847
862
  }
848
863
  this.handleActiveTransitionUpdated();
849
- return tlv.encode(2 /* UPDATE_VALUE_TRANSITION_CONFIGURATION */, this.buildTransitionControlResponseBuffer(0));
864
+ return tlv.encode(2 /* TransitionControlTypes.UPDATE_VALUE_TRANSITION_CONFIGURATION */, this.buildTransitionControlResponseBuffer(0));
850
865
  };
851
866
  return AdaptiveLightingController;
852
867
  }(events_1.EventEmitter));
@@ -1 +1 @@
1
- {"version":3,"file":"AdaptiveLightingController.js","sourceRoot":"","sources":["../../../src/lib/controller/AdaptiveLightingController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdaptiveLightingController.js","sourceRoot":"","sources":["../../../src/lib/controller/AdaptiveLightingController.ts"],"names":[],"mappings":"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"}