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.
- package/@types/bonjour-hap.d.ts +4 -3
- package/@types/simple-plist.d.ts +2 -1
- package/README.md +2 -1
- package/dist/BridgedCore.js +7 -5
- package/dist/BridgedCore.js.map +1 -1
- package/dist/Core.js +14 -8
- package/dist/Core.js.map +1 -1
- package/dist/accessories/AirConditioner_accessory.d.ts +2 -0
- package/dist/accessories/AirConditioner_accessory.d.ts.map +1 -0
- package/dist/accessories/AirConditioner_accessory.js +128 -0
- package/dist/accessories/AirConditioner_accessory.js.map +1 -0
- package/dist/accessories/AppleTVRemote_accessory.d.ts +2 -0
- package/dist/accessories/AppleTVRemote_accessory.d.ts.map +1 -0
- package/dist/accessories/AppleTVRemote_accessory.js +159 -0
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -0
- package/dist/accessories/Camera_accessory.d.ts +2 -0
- package/dist/accessories/Camera_accessory.d.ts.map +1 -0
- package/dist/accessories/Camera_accessory.js +630 -0
- package/dist/accessories/Camera_accessory.js.map +1 -0
- package/dist/accessories/Fan_accessory.d.ts +2 -0
- package/dist/accessories/Fan_accessory.d.ts.map +1 -0
- package/dist/accessories/Fan_accessory.js +80 -0
- package/dist/accessories/Fan_accessory.js.map +1 -0
- package/dist/accessories/GarageDoorOpener_accessory.d.ts +2 -0
- package/dist/accessories/GarageDoorOpener_accessory.d.ts.map +1 -0
- package/dist/accessories/GarageDoorOpener_accessory.js +78 -0
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.d.ts +2 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.d.ts.map +1 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +96 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -0
- package/dist/accessories/Light_accessory.d.ts +2 -0
- package/dist/accessories/Light_accessory.d.ts.map +1 -0
- package/dist/accessories/Light_accessory.js +148 -0
- package/dist/accessories/Light_accessory.js.map +1 -0
- package/dist/accessories/Lock_accessory.d.ts +2 -0
- package/dist/accessories/Lock_accessory.d.ts.map +1 -0
- package/dist/accessories/Lock_accessory.js +76 -0
- package/dist/accessories/Lock_accessory.js.map +1 -0
- package/dist/accessories/MotionSensor_accessory.d.ts +2 -0
- package/dist/accessories/MotionSensor_accessory.d.ts.map +1 -0
- package/dist/accessories/MotionSensor_accessory.js +45 -0
- package/dist/accessories/MotionSensor_accessory.js.map +1 -0
- package/dist/accessories/Outlet_accessory.d.ts +2 -0
- package/dist/accessories/Outlet_accessory.d.ts.map +1 -0
- package/dist/accessories/Outlet_accessory.js +79 -0
- package/dist/accessories/Outlet_accessory.js.map +1 -0
- package/dist/accessories/SmartSpeaker_accessory.d.ts +2 -0
- package/dist/accessories/SmartSpeaker_accessory.d.ts.map +1 -0
- package/dist/accessories/SmartSpeaker_accessory.js +44 -0
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -0
- package/dist/accessories/Sprinkler_accessory.d.ts +2 -0
- package/dist/accessories/Sprinkler_accessory.d.ts.map +1 -0
- package/dist/accessories/Sprinkler_accessory.js +128 -0
- package/dist/accessories/Sprinkler_accessory.js.map +1 -0
- package/dist/accessories/TV_accessory.d.ts +2 -0
- package/dist/accessories/TV_accessory.d.ts.map +1 -0
- package/dist/accessories/TV_accessory.js +101 -0
- package/dist/accessories/TV_accessory.js.map +1 -0
- package/dist/accessories/TemperatureSensor_accessory.d.ts +2 -0
- package/dist/accessories/TemperatureSensor_accessory.d.ts.map +1 -0
- package/dist/accessories/TemperatureSensor_accessory.js +44 -0
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -0
- package/dist/accessories/Wi-FiRouter_accessory.d.ts +3 -0
- package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -0
- package/dist/accessories/Wi-FiRouter_accessory.js +17 -0
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -0
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts +3 -0
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -0
- package/dist/accessories/Wi-FiSatellite_accessory.js +19 -0
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -0
- package/dist/accessories/gstreamer-audioProducer.d.ts +25 -0
- package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -0
- package/dist/accessories/gstreamer-audioProducer.js +155 -0
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -0
- package/dist/accessories/types.d.ts +78 -0
- package/dist/accessories/types.d.ts.map +1 -0
- package/dist/accessories/types.js +88 -0
- package/dist/accessories/types.js.map +1 -0
- package/dist/index.d.ts +54 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -11
- package/dist/index.js.map +1 -1
- package/dist/internal-types.d.ts +65 -124
- package/dist/internal-types.d.ts.map +1 -1
- package/dist/internal-types.js +66 -5
- package/dist/internal-types.js.map +1 -1
- package/dist/lib/Accessory.d.ts +147 -60
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +566 -475
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/AccessoryLoader.d.ts +20 -8
- package/dist/lib/AccessoryLoader.d.ts.map +1 -1
- package/dist/lib/AccessoryLoader.js +115 -93
- package/dist/lib/AccessoryLoader.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +99 -5
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +564 -22
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.d.ts +3 -1
- package/dist/lib/Bridge.d.ts.map +1 -1
- package/dist/lib/Bridge.js +2 -0
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +918 -59
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +308 -257
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +114 -43
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +269 -405
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +339 -15
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +59 -50
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/Camera.d.ts +15 -6
- package/dist/lib/camera/Camera.d.ts.map +1 -1
- package/dist/lib/camera/Camera.js +6 -3
- package/dist/lib/camera/Camera.js.map +1 -1
- package/dist/lib/camera/RTPProxy.d.ts +24 -19
- package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
- package/dist/lib/camera/RTPProxy.js +230 -207
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +202 -43
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +303 -189
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.d.ts +326 -0
- package/dist/lib/camera/RecordingManagement.d.ts.map +1 -0
- package/dist/lib/camera/RecordingManagement.js +833 -0
- package/dist/lib/camera/RecordingManagement.js.map +1 -0
- package/dist/lib/camera/index.d.ts +4 -3
- package/dist/lib/camera/index.d.ts.map +1 -1
- package/dist/lib/camera/index.js +1 -0
- package/dist/lib/camera/index.js.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +37 -11
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +101 -86
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +290 -12
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +403 -47
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/Controller.d.ts +31 -10
- package/dist/lib/controller/Controller.d.ts.map +1 -1
- package/dist/lib/controller/Controller.js +7 -0
- package/dist/lib/controller/Controller.js.map +1 -1
- package/dist/lib/controller/DoorbellController.d.ts +47 -1
- package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
- package/dist/lib/controller/DoorbellController.js +65 -11
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +111 -42
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +228 -203
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.d.ts +4 -4
- package/dist/lib/datastream/DataStreamManagement.d.ts +25 -19
- package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +42 -35
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.d.ts +63 -24
- package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +132 -86
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +154 -50
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +242 -147
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.d.ts +3 -3
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts +181 -0
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +968 -499
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts +58 -0
- package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +173 -6
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.d.ts +1 -0
- package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +29 -21
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +62 -29
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/model/AccessoryInfo.d.ts +16 -13
- package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
- package/dist/lib/model/AccessoryInfo.js +88 -83
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.d.ts +3 -0
- package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
- package/dist/lib/model/ControllerStorage.js +7 -4
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.d.ts +3 -0
- package/dist/lib/model/HAPStorage.d.ts.map +1 -1
- package/dist/lib/model/HAPStorage.js +4 -0
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.d.ts +12 -11
- package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
- package/dist/lib/model/IdentifierCache.js +68 -65
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts +12 -1
- package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +13 -5
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/clone.d.ts +2 -1
- package/dist/lib/util/clone.d.ts.map +1 -1
- package/dist/lib/util/clone.js +2 -0
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.d.ts +4 -1
- package/dist/lib/util/color-utils.d.ts.map +1 -1
- package/dist/lib/util/color-utils.js +5 -2
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts +62 -22
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +236 -180
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts +35 -7
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +86 -78
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.d.ts +2 -0
- package/dist/lib/util/hapStatusError.d.ts.map +1 -1
- package/dist/lib/util/hapStatusError.js +5 -3
- package/dist/lib/util/hapStatusError.js.map +1 -1
- package/dist/lib/util/net-utils.d.ts +7 -0
- package/dist/lib/util/net-utils.d.ts.map +1 -1
- package/dist/lib/util/net-utils.js +11 -4
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.d.ts +6 -1
- package/dist/lib/util/once.d.ts.map +1 -1
- package/dist/lib/util/once.js +9 -3
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.d.ts +15 -0
- package/dist/lib/util/promise-utils.d.ts.map +1 -0
- package/dist/lib/util/promise-utils.js +36 -0
- package/dist/lib/util/promise-utils.js.map +1 -0
- package/dist/lib/util/request-util.d.ts +16 -0
- package/dist/lib/util/request-util.d.ts.map +1 -1
- package/dist/lib/util/request-util.js +43 -27
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.d.ts +7 -1
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +13 -7
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.d.ts +95 -5
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +96 -24
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.d.ts +2 -3
- package/dist/lib/util/uuid.d.ts.map +1 -1
- package/dist/lib/util/uuid.js +25 -19
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +271 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/package.json +28 -27
- package/dist/lib/util/setupcode.d.ts +0 -5
- package/dist/lib/util/setupcode.d.ts.map +0 -1
- package/dist/lib/util/setupcode.js +0 -49
- package/dist/lib/util/setupcode.js.map +0 -1
- package/dist/lib/util/setupid.d.ts +0 -5
- package/dist/lib/util/setupid.d.ts.map +0 -1
- package/dist/lib/util/setupid.js +0 -52
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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: '"
|
|
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
|
|
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-
|
|
692
|
+
// @ts-expect-error: data migration from beta builds
|
|
679
693
|
this.activeTransition.transitionId = this.activeTransition.id1;
|
|
680
|
-
// @ts-
|
|
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
|
|
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
|
|
749
|
-
|
|
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
|
|
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 =
|
|
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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"}
|