hap-nodejs 0.10.0-beta.9 → 0.10.0
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/dist/BridgedCore.js +5 -4
- package/dist/BridgedCore.js.map +1 -1
- package/dist/Core.js +12 -10
- package/dist/Core.js.map +1 -1
- package/dist/accessories/AirConditioner_accessory.js +9 -9
- package/dist/accessories/AirConditioner_accessory.js.map +1 -1
- package/dist/accessories/AppleTVRemote_accessory.js +9 -8
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
- package/dist/accessories/Camera_accessory.js +82 -75
- package/dist/accessories/Camera_accessory.js.map +1 -1
- package/dist/accessories/Fan_accessory.js +6 -11
- package/dist/accessories/Fan_accessory.js.map +1 -1
- package/dist/accessories/GarageDoorOpener_accessory.js +7 -8
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +3 -4
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
- package/dist/accessories/Light_accessory.js +23 -14
- package/dist/accessories/Light_accessory.js.map +1 -1
- package/dist/accessories/Lock_accessory.js +7 -8
- package/dist/accessories/Lock_accessory.js.map +1 -1
- package/dist/accessories/MotionSensor_accessory.js +5 -6
- package/dist/accessories/MotionSensor_accessory.js.map +1 -1
- package/dist/accessories/Outlet_accessory.js +5 -6
- package/dist/accessories/Outlet_accessory.js.map +1 -1
- package/dist/accessories/SmartSpeaker_accessory.js +6 -6
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
- package/dist/accessories/Sprinkler_accessory.js +12 -13
- package/dist/accessories/Sprinkler_accessory.js.map +1 -1
- package/dist/accessories/TV_accessory.js +4 -5
- package/dist/accessories/TV_accessory.js.map +1 -1
- package/dist/accessories/TemperatureSensor_accessory.js +5 -6
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.js +7 -8
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.js +6 -7
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.js +12 -12
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
- package/dist/index.d.ts +22 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internal-types.d.ts.map +1 -1
- package/dist/internal-types.js.map +1 -1
- package/dist/lib/Accessory.d.ts +12 -12
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +109 -89
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/AccessoryLoader.d.ts +10 -10
- package/dist/lib/AccessoryLoader.d.ts.map +1 -1
- package/dist/lib/AccessoryLoader.js +105 -95
- package/dist/lib/AccessoryLoader.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +4 -4
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +32 -27
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.d.ts +1 -1
- package/dist/lib/Bridge.d.ts.map +1 -1
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +23 -22
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +95 -93
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +2 -2
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +18 -14
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +3 -3
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +26 -26
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/Camera.d.ts +2 -2
- package/dist/lib/camera/Camera.d.ts.map +1 -1
- package/dist/lib/camera/Camera.js +3 -3
- package/dist/lib/camera/Camera.js.map +1 -1
- package/dist/lib/camera/RTPProxy.d.ts +19 -19
- package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
- package/dist/lib/camera/RTPProxy.js +229 -207
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +4 -4
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +38 -34
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
- package/dist/lib/camera/RecordingManagement.js +70 -34
- package/dist/lib/camera/RecordingManagement.js.map +1 -1
- package/dist/lib/camera/index.d.ts +4 -4
- package/dist/lib/controller/AdaptiveLightingController.d.ts +9 -9
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +21 -17
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +6 -4
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +18 -16
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/Controller.d.ts +3 -3
- package/dist/lib/controller/Controller.d.ts.map +1 -1
- package/dist/lib/controller/Controller.js.map +1 -1
- package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
- package/dist/lib/controller/DoorbellController.js +1 -0
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +1 -1
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +50 -42
- 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.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +10 -9
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.d.ts +24 -24
- package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +14 -6
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +11 -1
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +85 -54
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.d.ts +3 -3
- package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +18 -14
- 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 +32 -14
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/model/AccessoryInfo.d.ts +6 -6
- package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
- package/dist/lib/model/AccessoryInfo.js +79 -69
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
- package/dist/lib/model/ControllerStorage.js +2 -2
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.d.ts.map +1 -1
- package/dist/lib/model/HAPStorage.js +1 -0
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.d.ts +11 -11
- package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
- package/dist/lib/model/IdentifierCache.js +67 -65
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/clone.js +1 -0
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.d.ts.map +1 -1
- package/dist/lib/util/color-utils.js +1 -1
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts +7 -7
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +71 -55
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts +5 -5
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +57 -86
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.js +1 -1
- package/dist/lib/util/net-utils.d.ts.map +1 -1
- package/dist/lib/util/net-utils.js +0 -2
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.d.ts +1 -1
- package/dist/lib/util/once.d.ts.map +1 -1
- package/dist/lib/util/once.js +1 -0
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/request-util.d.ts.map +1 -1
- package/dist/lib/util/request-util.js +1 -0
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.d.ts +1 -1
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +5 -5
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +9 -6
- package/dist/lib/util/tlv.js.map +1 -1
- 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 +0 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -11
|
@@ -10,7 +10,7 @@ var datastream_1 = require("../datastream");
|
|
|
10
10
|
var Service_1 = require("../Service");
|
|
11
11
|
var hapStatusError_1 = require("../util/hapStatusError");
|
|
12
12
|
var tlv = (0, tslib_1.__importStar)(require("../util/tlv"));
|
|
13
|
-
var debug = (0, debug_1.default)(
|
|
13
|
+
var debug = (0, debug_1.default)("HAP-NodeJS:Camera:RecordingManagement");
|
|
14
14
|
/**
|
|
15
15
|
* Describes the Event trigger.
|
|
16
16
|
*/
|
|
@@ -146,10 +146,10 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
146
146
|
this.setupServiceHandlers();
|
|
147
147
|
}
|
|
148
148
|
RecordingManagement.prototype.constructService = function () {
|
|
149
|
-
var recordingManagement = new Service_1.Service.CameraRecordingManagement(
|
|
149
|
+
var recordingManagement = new Service_1.Service.CameraRecordingManagement("", "");
|
|
150
150
|
recordingManagement.setCharacteristic(Characteristic_1.Characteristic.Active, false);
|
|
151
151
|
recordingManagement.setCharacteristic(Characteristic_1.Characteristic.RecordingAudioActive, false);
|
|
152
|
-
var operatingMode = new Service_1.Service.CameraOperatingMode(
|
|
152
|
+
var operatingMode = new Service_1.Service.CameraOperatingMode("", "");
|
|
153
153
|
operatingMode.setCharacteristic(Characteristic_1.Characteristic.EventSnapshotsActive, true);
|
|
154
154
|
operatingMode.setCharacteristic(Characteristic_1.Characteristic.HomeKitCameraActive, true);
|
|
155
155
|
operatingMode.setCharacteristic(Characteristic_1.Characteristic.PeriodicSnapshotsActive, true);
|
|
@@ -209,6 +209,7 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
209
209
|
this.dataStreamManagement
|
|
210
210
|
.onRequestMessage("dataSend" /* DATA_SEND */, "open" /* OPEN */, this.handleDataSendOpen.bind(this));
|
|
211
211
|
};
|
|
212
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
212
213
|
RecordingManagement.prototype.handleDataSendOpen = function (connection, id, message) {
|
|
213
214
|
var _this = this;
|
|
214
215
|
// for message fields see https://github.com/Supereg/secure-video-specification#41-start
|
|
@@ -216,7 +217,7 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
216
217
|
var type = message.type;
|
|
217
218
|
var target = message.target;
|
|
218
219
|
var reason = message.reason;
|
|
219
|
-
if (target
|
|
220
|
+
if (target !== "controller" || type !== "ipcamera.recording") {
|
|
220
221
|
debug("[HDS %s] Received data send with unexpected target: %s or type: %d. Rejecting...", connection.remoteAddress, target, type);
|
|
221
222
|
connection.sendResponse("dataSend" /* DATA_SEND */, "open" /* OPEN */, id, datastream_1.HDSStatus.PROTOCOL_SPECIFIC_ERROR, {
|
|
222
223
|
status: 5 /* UNEXPECTED_FAILURE */,
|
|
@@ -250,8 +251,10 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
250
251
|
return;
|
|
251
252
|
}
|
|
252
253
|
debug("[HDS %s] HDS DATA_SEND Open with reason '%s'.", connection.remoteAddress, reason);
|
|
254
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
253
255
|
this.recordingStream = new CameraRecordingStream(connection, this.delegate, id, streamId);
|
|
254
256
|
this.recordingStream.on("closed" /* CLOSED */, function () {
|
|
257
|
+
debug("[HDS %s] Removing active recoding session from recording management!");
|
|
255
258
|
_this.recordingStream = undefined;
|
|
256
259
|
});
|
|
257
260
|
this.recordingStream.startStreaming();
|
|
@@ -262,6 +265,7 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
262
265
|
}
|
|
263
266
|
return this.selectedConfiguration.base64;
|
|
264
267
|
};
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
265
269
|
RecordingManagement.prototype.handleSelectedCameraRecordingConfigurationWrite = function (value) {
|
|
266
270
|
var _a;
|
|
267
271
|
var configuration = this.parseSelectedConfiguration(value);
|
|
@@ -274,7 +278,7 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
274
278
|
(_a = this.stateChangeDelegate) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
275
279
|
};
|
|
276
280
|
RecordingManagement.prototype.parseSelectedConfiguration = function (value) {
|
|
277
|
-
var decoded = tlv.decode(Buffer.from(value,
|
|
281
|
+
var decoded = tlv.decode(Buffer.from(value, "base64"));
|
|
278
282
|
var recording = tlv.decode(decoded[1 /* SELECTED_RECORDING_CONFIGURATION */]);
|
|
279
283
|
var video = tlv.decode(decoded[2 /* SELECTED_VIDEO_CONFIGURATION */]);
|
|
280
284
|
var audio = tlv.decode(decoded[3 /* SELECTED_AUDIO_CONFIGURATION */]);
|
|
@@ -347,19 +351,19 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
347
351
|
var fragmentLength = Buffer.alloc(4);
|
|
348
352
|
fragmentLength.writeInt32LE(config.fragmentLength, 0);
|
|
349
353
|
return tlv.encode(1 /* MEDIA_CONTAINER_TYPE */, config.type, 2 /* MEDIA_CONTAINER_PARAMETERS */, tlv.encode(1 /* FRAGMENT_LENGTH */, fragmentLength));
|
|
350
|
-
})).toString(
|
|
354
|
+
})).toString("base64");
|
|
351
355
|
};
|
|
352
356
|
RecordingManagement.prototype._supportedVideoRecordingConfiguration = function (videoOptions) {
|
|
353
357
|
if (!videoOptions.parameters) {
|
|
354
|
-
throw new Error(
|
|
358
|
+
throw new Error("Video parameters cannot be undefined");
|
|
355
359
|
}
|
|
356
360
|
if (!videoOptions.resolutions) {
|
|
357
|
-
throw new Error(
|
|
361
|
+
throw new Error("Video resolutions cannot be undefined");
|
|
358
362
|
}
|
|
359
363
|
var codecParameters = tlv.encode(1 /* PROFILE_ID */, videoOptions.parameters.profiles, 2 /* LEVEL */, videoOptions.parameters.levels);
|
|
360
364
|
var videoStreamConfiguration = tlv.encode(1 /* CODEC_TYPE */, videoOptions.type, 2 /* CODEC_PARAMETERS */, codecParameters, 3 /* ATTRIBUTES */, videoOptions.resolutions.map(function (resolution) {
|
|
361
|
-
if (resolution.length
|
|
362
|
-
throw new Error(
|
|
365
|
+
if (resolution.length !== 3) {
|
|
366
|
+
throw new Error("Unexpected video resolution");
|
|
363
367
|
}
|
|
364
368
|
var width = Buffer.alloc(2);
|
|
365
369
|
var height = Buffer.alloc(2);
|
|
@@ -369,7 +373,7 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
369
373
|
frameRate.writeUInt8(resolution[2], 0);
|
|
370
374
|
return tlv.encode(1 /* IMAGE_WIDTH */, width, 2 /* IMAGE_HEIGHT */, height, 3 /* FRAME_RATE */, frameRate);
|
|
371
375
|
}));
|
|
372
|
-
return tlv.encode(1 /* VIDEO_CODEC_CONFIGURATION */, videoStreamConfiguration).toString(
|
|
376
|
+
return tlv.encode(1 /* VIDEO_CODEC_CONFIGURATION */, videoStreamConfiguration).toString("base64");
|
|
373
377
|
};
|
|
374
378
|
RecordingManagement.prototype._supportedAudioStreamConfiguration = function (audioOptions) {
|
|
375
379
|
var audioCodecs = Array.isArray(audioOptions.codecs)
|
|
@@ -426,7 +430,7 @@ var RecordingManagement = /** @class */ (function () {
|
|
|
426
430
|
// we only restore the `selectedConfiguration` if our supported configuration hasn't changed.
|
|
427
431
|
var currentConfigurationHash = this.computeConfigurationHash(serialized.configurationHash.algorithm);
|
|
428
432
|
if (serialized.selectedConfiguration) {
|
|
429
|
-
if (currentConfigurationHash
|
|
433
|
+
if (currentConfigurationHash === serialized.configurationHash.hash) {
|
|
430
434
|
this.selectedConfiguration = {
|
|
431
435
|
base64: serialized.selectedConfiguration,
|
|
432
436
|
parsed: this.parseSelectedConfiguration(serialized.selectedConfiguration),
|
|
@@ -576,11 +580,11 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
576
580
|
if (!(_c = _d.sent(), !_c.done)) return [3 /*break*/, 6];
|
|
577
581
|
packet = _c.value;
|
|
578
582
|
if (this.closed) {
|
|
579
|
-
console.error("[HDS "
|
|
583
|
+
console.error("[HDS ".concat(this.connection.remoteAddress, "] Delegate yielded fragment after stream ").concat(this.streamId, " was already closed!"));
|
|
580
584
|
return [3 /*break*/, 6];
|
|
581
585
|
}
|
|
582
586
|
if (lastFragmentWasMarkedLast) {
|
|
583
|
-
console.error("[HDS "
|
|
587
|
+
console.error("[HDS ".concat(this.connection.remoteAddress, "] Delegate yielded fragment for stream ").concat(this.streamId, " after already signaling end of stream!"));
|
|
584
588
|
return [3 /*break*/, 6];
|
|
585
589
|
}
|
|
586
590
|
fragment = packet.data;
|
|
@@ -598,7 +602,7 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
598
602
|
dataSequenceNumber: dataSequenceNumber,
|
|
599
603
|
dataChunkSequenceNumber: dataChunkSequenceNumber,
|
|
600
604
|
isLastDataChunk: offset >= fragment.length,
|
|
601
|
-
dataTotalSize: dataChunkSequenceNumber
|
|
605
|
+
dataTotalSize: dataChunkSequenceNumber === 1 ? fragment.length : undefined,
|
|
602
606
|
},
|
|
603
607
|
}],
|
|
604
608
|
endOfStream: offset >= fragment.length ? Boolean(packet.isLast).valueOf() : undefined,
|
|
@@ -635,27 +639,30 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
635
639
|
case 13:
|
|
636
640
|
if (!lastFragmentWasMarkedLast && !this.closed) {
|
|
637
641
|
// Delegate violates the contract. Exited normally on a non-closed stream without properly setting `isLast`.
|
|
638
|
-
console.warn("[HDS "
|
|
642
|
+
console.warn("[HDS ".concat(this.connection.remoteAddress, "] Delegate finished streaming for ").concat(this.streamId, " without setting RecordingPacket.isLast. Can't notify Controller about endOfStream!"));
|
|
639
643
|
}
|
|
640
644
|
return [3 /*break*/, 16];
|
|
641
645
|
case 14:
|
|
642
646
|
error_1 = _d.sent();
|
|
643
647
|
if (this.closed) {
|
|
644
|
-
console.warn("[HDS "
|
|
648
|
+
console.warn("[HDS ".concat(this.connection.remoteAddress, "] Encountered unexpected error on already closed recording stream ").concat(this.streamId, ": ").concat(error_1.stack));
|
|
645
649
|
}
|
|
646
650
|
else {
|
|
647
651
|
closeReason = 5 /* UNEXPECTED_FAILURE */;
|
|
648
652
|
if (error_1 instanceof datastream_1.HDSProtocolError) {
|
|
649
653
|
closeReason = error_1.reason;
|
|
650
|
-
debug("[HDS %s] Delegate signaled to close the recording stream %d", this.connection.remoteAddress, this.streamId);
|
|
654
|
+
debug("[HDS %s] Delegate signaled to close the recording stream %d.", this.connection.remoteAddress, this.streamId);
|
|
655
|
+
}
|
|
656
|
+
else if (error_1 instanceof datastream_1.HDSConnectionError && error_1.type === 2 /* CLOSED_SOCKET */) {
|
|
657
|
+
// we are probably on a shutdown or just late. Connection is dead. End the stream!
|
|
658
|
+
debug("[HDS %s] Exited recording stream due to closed HDS socket: stream id %d.", this.connection.remoteAddress, this.streamId);
|
|
659
|
+
return [2 /*return*/]; // execute finally and then exit (we want to skip the `sendEvent` below)
|
|
651
660
|
}
|
|
652
661
|
else {
|
|
653
|
-
console.error("[HDS "
|
|
662
|
+
console.error("[HDS ".concat(this.connection.remoteAddress, "] Encountered unexpected error for recording stream ").concat(this.streamId, ": ").concat(error_1.stack));
|
|
654
663
|
}
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
reason: closeReason,
|
|
658
|
-
});
|
|
664
|
+
// call close to go through standard close routine!
|
|
665
|
+
this.close(closeReason);
|
|
659
666
|
}
|
|
660
667
|
return [2 /*return*/];
|
|
661
668
|
case 15:
|
|
@@ -663,10 +670,16 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
663
670
|
if (this.generatorTimeout) {
|
|
664
671
|
clearTimeout(this.generatorTimeout);
|
|
665
672
|
}
|
|
673
|
+
if (!this.closed) {
|
|
674
|
+
// e.g. when returning with `endOfStream` we rely on the HomeHub to send an ACK event to close the recording.
|
|
675
|
+
// With this timer we ensure that the HomeHub has the chance to close the stream gracefully but at the same time
|
|
676
|
+
// ensure that if something fails the recording stream is freed nonetheless.
|
|
677
|
+
this.kickOffCloseTimeout();
|
|
678
|
+
}
|
|
666
679
|
return [7 /*endfinally*/];
|
|
667
680
|
case 16:
|
|
668
681
|
if (initialization) { // we never actually sent anything out there!
|
|
669
|
-
console.warn("[HDS "
|
|
682
|
+
console.warn("[HDS ".concat(this.connection.remoteAddress, "] Delegate finished recording stream ").concat(this.streamId, " without sending anything out. Controller will CANCEL."));
|
|
670
683
|
}
|
|
671
684
|
debug("[HDS %s] Finished DATA_SEND transmission for stream %d!", this.connection.remoteAddress, this.streamId);
|
|
672
685
|
return [2 /*return*/];
|
|
@@ -674,6 +687,7 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
674
687
|
});
|
|
675
688
|
});
|
|
676
689
|
};
|
|
690
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
677
691
|
CameraRecordingStream.prototype.handleDataSendAck = function (message) {
|
|
678
692
|
var _this = this;
|
|
679
693
|
var streamId = message.streamId;
|
|
@@ -684,16 +698,17 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
684
698
|
debug("[HDS %s] Received DATA_SEND ACK packet for streamId %s. Acknowledged %s.", this.connection.remoteAddress, streamId, endOfStream);
|
|
685
699
|
this.handleClosed(function () { var _a, _b; return (_b = (_a = _this.delegate).acknowledgeStream) === null || _b === void 0 ? void 0 : _b.call(_a, _this.streamId); });
|
|
686
700
|
};
|
|
701
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
687
702
|
CameraRecordingStream.prototype.handleDataSendClose = function (message) {
|
|
688
703
|
var _this = this;
|
|
689
704
|
// see https://github.com/Supereg/secure-video-specification#43-close
|
|
690
705
|
var streamId = message.streamId;
|
|
691
706
|
var reason = message.reason;
|
|
692
|
-
if (streamId
|
|
707
|
+
if (streamId !== this.streamId) {
|
|
693
708
|
return;
|
|
694
709
|
}
|
|
695
710
|
debug("[HDS %s] Received DATA_SEND CLOSE for streamId %d with reason %s",
|
|
696
|
-
// @ts-expect-error
|
|
711
|
+
// @ts-expect-error: forceConsistentCasingInFileNames compiler option
|
|
697
712
|
this.connection.remoteAddress, streamId, datastream_1.HDSProtocolSpecificErrorReason[reason]);
|
|
698
713
|
this.handleClosed(function () { return _this.delegate.closeRecordingStream(streamId, reason); });
|
|
699
714
|
};
|
|
@@ -705,20 +720,25 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
705
720
|
CameraRecordingStream.prototype.handleClosed = function (closure) {
|
|
706
721
|
var _this = this;
|
|
707
722
|
this.closed = true;
|
|
723
|
+
if (this.closingTimeout) {
|
|
724
|
+
clearTimeout(this.closingTimeout);
|
|
725
|
+
this.closingTimeout = undefined;
|
|
726
|
+
}
|
|
708
727
|
this.connection.removeProtocolHandler("dataSend" /* DATA_SEND */, this);
|
|
709
728
|
this.connection.removeListener("closed" /* CLOSED */, this.closeListener);
|
|
710
729
|
if (this.generator) {
|
|
711
730
|
// when this variable is defined, the generator hasn't returned yet.
|
|
712
731
|
// we start a timeout to uncover potential programming mistakes where we await forever and can't free resources.
|
|
713
732
|
this.generatorTimeout = setTimeout(function () {
|
|
714
|
-
console.error("[HDS %s] Recording download stream %d is still awaiting generator although stream was closed 10s ago!"
|
|
733
|
+
console.error("[HDS %s] Recording download stream %d is still awaiting generator although stream was closed 10s ago! " +
|
|
734
|
+
"This is a programming mistake by the camera implementation which prevents freeing up resources.", _this.connection.remoteAddress, _this.streamId);
|
|
715
735
|
}, 10000);
|
|
716
736
|
}
|
|
717
737
|
try {
|
|
718
738
|
closure();
|
|
719
739
|
}
|
|
720
740
|
catch (error) {
|
|
721
|
-
console.error("[HDS "
|
|
741
|
+
console.error("[HDS ".concat(this.connection.remoteAddress, "] CameraRecordingDelegated failed to handle closing the stream ").concat(this.streamId, ": ").concat(error.stack));
|
|
722
742
|
}
|
|
723
743
|
this.emit("closed" /* CLOSED */);
|
|
724
744
|
};
|
|
@@ -732,14 +752,30 @@ var CameraRecordingStream = /** @class */ (function (_super) {
|
|
|
732
752
|
return;
|
|
733
753
|
}
|
|
734
754
|
debug("[HDS %s] Recording stream %d was closed manually with reason %s.",
|
|
735
|
-
// @ts-expect-error
|
|
736
|
-
this.connection.remoteAddress, this.streamId, datastream_1.HDSProtocolSpecificErrorReason[reason]);
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
755
|
+
// @ts-expect-error: forceConsistentCasingInFileNames compiler option
|
|
756
|
+
this.connection.remoteAddress, this.streamId, reason ? datastream_1.HDSProtocolSpecificErrorReason[reason] : "CLOSED");
|
|
757
|
+
// the `isConsideredClosed` check just ensures that the won't ever throw here and that `handledClosed` is always executed.
|
|
758
|
+
if (!this.connection.isConsideredClosed()) {
|
|
759
|
+
this.connection.sendEvent("dataSend" /* DATA_SEND */, "close" /* CLOSE */, {
|
|
760
|
+
streamId: this.streamId,
|
|
761
|
+
reason: reason,
|
|
762
|
+
});
|
|
763
|
+
}
|
|
741
764
|
this.handleClosed(function () { return _this.delegate.closeRecordingStream(_this.streamId, reason); });
|
|
742
765
|
};
|
|
766
|
+
CameraRecordingStream.prototype.kickOffCloseTimeout = function () {
|
|
767
|
+
var _this = this;
|
|
768
|
+
if (this.closingTimeout) {
|
|
769
|
+
clearTimeout(this.closingTimeout);
|
|
770
|
+
}
|
|
771
|
+
this.closingTimeout = setTimeout(function () {
|
|
772
|
+
if (_this.closed) {
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
debug("[HDS %s] Recording stream %d took longer than expected to fully close. Force closing now!", _this.connection.remoteAddress, _this.streamId);
|
|
776
|
+
_this.close(3 /* CANCELLED */);
|
|
777
|
+
}, 12000);
|
|
778
|
+
};
|
|
743
779
|
return CameraRecordingStream;
|
|
744
780
|
}(events_1.EventEmitter));
|
|
745
781
|
//# sourceMappingURL=RecordingManagement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordingManagement.js","sourceRoot":"","sources":["../../../src/lib/camera/RecordingManagement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecordingManagement.js","sourceRoot":"","sources":["../../../src/lib/camera/RecordingManagement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from "./Camera";
|
|
2
|
+
export * from "./RTPProxy";
|
|
3
|
+
export * from "./RTPStreamManagement";
|
|
4
|
+
export * from "./RecordingManagement";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -214,7 +214,7 @@ interface SerializedAdaptiveLightingControllerState {
|
|
|
214
214
|
* The AdaptiveLightingController will go through setup procedure with HomeKit and automatically update
|
|
215
215
|
* the color temperature characteristic base on the current transition schedule.
|
|
216
216
|
* It is also adjusting the color temperature when a write to the brightness characteristic happens.
|
|
217
|
-
* Additionally it will also handle turning off AdaptiveLighting, when it detects a write happening to the
|
|
217
|
+
* Additionally, it will also handle turning off AdaptiveLighting, when it detects a write happening to the
|
|
218
218
|
* ColorTemperature, Hue or Saturation characteristic (though it can only detect writes coming from HomeKit and
|
|
219
219
|
* can't detect changes done to the physical devices directly! See below).
|
|
220
220
|
*
|
|
@@ -234,13 +234,13 @@ interface SerializedAdaptiveLightingControllerState {
|
|
|
234
234
|
* of the ColorTemperature characteristic.
|
|
235
235
|
* - When using Hue/Saturation:
|
|
236
236
|
* When using Hue/Saturation in combination with the ColorTemperature characteristic you need to update the
|
|
237
|
-
* respective other in a particular way depending if being in "color mode" or "color temperature mode".
|
|
237
|
+
* respective other in a particular way depending on if being in "color mode" or "color temperature mode".
|
|
238
238
|
* When a write happens to Hue/Saturation characteristic in is advised to set the internal value of the
|
|
239
|
-
* ColorTemperature to the minimal (NOT RAISING
|
|
239
|
+
* ColorTemperature to the minimal (NOT RAISING an event).
|
|
240
240
|
* When a write happens to the ColorTemperature characteristic just MUST convert to a proper representation
|
|
241
|
-
* in hue and saturation values, with RAISING
|
|
241
|
+
* in hue and saturation values, with RAISING an event.
|
|
242
242
|
* As noted above you MUST NOT call the {@link Characteristic.setValue} method for this, as this will be considered
|
|
243
|
-
* a write to the characteristic and will turn off AdaptiveLighting. Instead you should use
|
|
243
|
+
* a write to the characteristic and will turn off AdaptiveLighting. Instead, you should use
|
|
244
244
|
* {@link Characteristic.updateValue} for this.
|
|
245
245
|
* You can and SHOULD use the supplied utility method {@link ColorUtils.colorTemperatureToHueAndSaturation}
|
|
246
246
|
* for converting mired to hue and saturation values.
|
|
@@ -252,13 +252,13 @@ interface SerializedAdaptiveLightingControllerState {
|
|
|
252
252
|
* Like for example ZigBee lights which support sending transitions directly to the lightbulb which
|
|
253
253
|
* then get executed ON the lightbulb itself reducing unnecessary network traffic.
|
|
254
254
|
* Here is a quick overview what you have to consider to successfully implement AdaptiveLighting support.
|
|
255
|
-
* The AdaptiveLightingController will also in manual mode do all
|
|
255
|
+
* The AdaptiveLightingController will also in manual mode do all the setup procedure.
|
|
256
256
|
* It will also save the transition schedule to disk to keep AdaptiveLighting enabled across reboots.
|
|
257
257
|
* The "only" thing you have to do yourself is handling the actual transitions, check that event notifications
|
|
258
258
|
* are only sent in the defined interval threshold, adjust the color temperature when brightness is changed
|
|
259
259
|
* and signal that Adaptive Lighting should be disabled if ColorTemperature, Hue or Saturation is changed manually.
|
|
260
260
|
*
|
|
261
|
-
* First step is to setup up
|
|
261
|
+
* First step is to setup up an event handler for the {@link AdaptiveLightingControllerEvents.UPDATE}, which is called
|
|
262
262
|
* when AdaptiveLighting is enabled, the HomeHub updates the schedule for the next 24 hours or AdaptiveLighting
|
|
263
263
|
* is restored from disk on startup.
|
|
264
264
|
* In the event handler you can get the current schedule via {@link AdaptiveLightingController.getAdaptiveLightingTransitionCurve},
|
|
@@ -268,8 +268,8 @@ interface SerializedAdaptiveLightingControllerState {
|
|
|
268
268
|
* Additionally {@link AdaptiveLightingController.getAdaptiveLightingBrightnessMultiplierRange} can be used
|
|
269
269
|
* to get the valid range for the brightness value to calculate the brightness adjustment factor.
|
|
270
270
|
* The method {@link AdaptiveLightingController.isAdaptiveLightingActive} can be used to check if AdaptiveLighting is enabled.
|
|
271
|
-
* Besides actually running the transition (see {@link AdaptiveLightingTransitionCurveEntry}) you must
|
|
272
|
-
*
|
|
271
|
+
* Besides, actually running the transition (see {@link AdaptiveLightingTransitionCurveEntry}) you must correctly update
|
|
272
|
+
* the color temperature when the brightness of the lightbulb changes (see {@link AdaptiveLightingTransitionCurveEntry.brightnessAdjustmentFactor}),
|
|
273
273
|
* and signal when AdaptiveLighting got disabled by calling {@link AdaptiveLightingController.disableAdaptiveLighting}
|
|
274
274
|
* when ColorTemperature, Hue or Saturation where changed manually.
|
|
275
275
|
* Lastly you should set up a event handler for the {@link AdaptiveLightingControllerEvents.DISABLED} event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdaptiveLightingController.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/AdaptiveLightingController.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAUtC,OAAO,EAML,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EAEpB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AdaptiveLightingController.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/AdaptiveLightingController.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAUtC,OAAO,EAML,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EAEpB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AA4FtB,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,eAAe,EAAE,oCAAoC,EAAE,CAAC;IAExD,2BAA2B,EAAE,MAAM,CAAC;IACpC,yBAAyB,EAAE,mCAAmC,CAAC;IAE/D;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAG7B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,UAAU,EAAE,oCAAoC,CAAC;IACjD,UAAU,EAAE,oCAAoC,CAAC;CAClD;AAED,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mCAAmC;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,0BAAkB,8BAA8B;IAC9C;;OAEG;IACH,SAAS,IAAI;IACb;;;OAGG;IACH,MAAM,IAAI;CACX;AAED,0BAAkB,gCAAgC;IAChD;;;;OAIG;IACH,MAAM,WAAW;IACjB;;;;OAIG;IACH,QAAQ,YAAY;CACrB;AAED,MAAM,CAAC,OAAO,WAAW,0BAA0B;IACjD;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAChD;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEjD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;CACjC;AAED,UAAU,yCAAyC;IACjD,gBAAgB,EAAE,gCAAgC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,qBAAa,0BACX,SAAQ,YACR,YAAW,sBAAsB,CAAC,oBAAoB,EAAE,yCAAyC,CAAC;IAElG,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAElD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IAErD,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAyC;IACzF,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAyC;IAEnG,OAAO,CAAC,gCAAgC,CAAC,CAAsD;IAC/F,OAAO,CAAC,iBAAiB,CAAC,CAAuC;IACjE,OAAO,CAAC,qBAAqB,CAAC,CAA2C;IAEzE,OAAO,CAAC,8BAA8B,CAAC,CAAmB;IAC1D,OAAO,CAAC,wBAAwB,CAAC,CAAa;IAC9C,OAAO,CAAC,wBAAwB,CAAC,CAAa;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAM;IAEhC,OAAO,CAAC,gBAAgB,CAAC,CAAmC;IAC5D,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,aAAa,CAAC,CAAiB;IAEvC,OAAO,CAAC,uBAAuB,CAAC,CAA+B;IAC/D,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,4BAA4B,CAAK;IACzC,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,oBAAoB,CAAK;IAEjC;;;;;;OAMG;gBACS,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,uBAAuB;IAajE;;OAEG;IACH,YAAY,IAAI,oBAAoB;IAMpC;;OAEG;IACI,wBAAwB,IAAI,OAAO;IAI1C;;;;;;OAMG;IACI,uBAAuB,IAAI,IAAI;IAwCtC;;;;OAIG;IACI,wCAAwC,IAAI,MAAM;IAOzD;;;;;;;OAOG;IACI,6BAA6B,IAAI,MAAM;IAOvC,kCAAkC,IAAI,oCAAoC,EAAE;IAO5E,4CAA4C,IAAI,mCAAmC;IAO1F;;;;;;OAMG;IACI,iCAAiC,IAAI,MAAM;IAOlD;;;;;;OAMG;IACI,0CAA0C,IAAI,MAAM;IAS3D,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,6BAA6B;IA8BrC;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IAYzC;;;OAGG;IACI,yCAAyC,IAAI,+BAA+B,GAAG,SAAS;IA4D/F,OAAO,CAAC,kBAAkB;IA8H1B;;OAEG;IACH,iBAAiB,IAAI,oBAAoB;IAIzC;;OAEG;IAEH,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,GAAG,oBAAoB;IAI/E;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAyBzB;;OAEG;IACH,uBAAuB,IAAI,IAAI;IAY/B;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,SAAS,IAAI,yCAAyC,GAAG,SAAS;IAUlE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,yCAAyC,GAAG,IAAI;IAkBxE;;OAEG;IACH,wBAAwB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAI9D,OAAO,CAAC,0CAA0C;IAkBlD,OAAO,CAAC,oCAAoC;IAgC5C,OAAO,CAAC,4BAA4B;IA0BpC,OAAO,CAAC,qCAAqC;IAwD7C,OAAO,CAAC,uCAAuC;CA+FhD"}
|
|
@@ -83,6 +83,7 @@ var ValueTransitionConfigurationStatusTypes;
|
|
|
83
83
|
ValueTransitionConfigurationStatusTypes[ValueTransitionConfigurationStatusTypes["TRANSITION_PARAMETERS"] = 2] = "TRANSITION_PARAMETERS";
|
|
84
84
|
ValueTransitionConfigurationStatusTypes[ValueTransitionConfigurationStatusTypes["TIME_SINCE_START"] = 3] = "TIME_SINCE_START";
|
|
85
85
|
})(ValueTransitionConfigurationStatusTypes || (ValueTransitionConfigurationStatusTypes = {}));
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
87
|
function isAdaptiveLightingContext(context) {
|
|
87
88
|
return context && "controller" in context;
|
|
88
89
|
}
|
|
@@ -150,7 +151,7 @@ var AdaptiveLightingControllerEvents;
|
|
|
150
151
|
* The AdaptiveLightingController will go through setup procedure with HomeKit and automatically update
|
|
151
152
|
* the color temperature characteristic base on the current transition schedule.
|
|
152
153
|
* 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
|
|
154
|
+
* Additionally, it will also handle turning off AdaptiveLighting, when it detects a write happening to the
|
|
154
155
|
* ColorTemperature, Hue or Saturation characteristic (though it can only detect writes coming from HomeKit and
|
|
155
156
|
* can't detect changes done to the physical devices directly! See below).
|
|
156
157
|
*
|
|
@@ -170,13 +171,13 @@ var AdaptiveLightingControllerEvents;
|
|
|
170
171
|
* of the ColorTemperature characteristic.
|
|
171
172
|
* - When using Hue/Saturation:
|
|
172
173
|
* 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".
|
|
174
|
+
* respective other in a particular way depending on if being in "color mode" or "color temperature mode".
|
|
174
175
|
* 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
|
|
176
|
+
* ColorTemperature to the minimal (NOT RAISING an event).
|
|
176
177
|
* When a write happens to the ColorTemperature characteristic just MUST convert to a proper representation
|
|
177
|
-
* in hue and saturation values, with RAISING
|
|
178
|
+
* in hue and saturation values, with RAISING an event.
|
|
178
179
|
* 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
|
|
180
|
+
* a write to the characteristic and will turn off AdaptiveLighting. Instead, you should use
|
|
180
181
|
* {@link Characteristic.updateValue} for this.
|
|
181
182
|
* You can and SHOULD use the supplied utility method {@link ColorUtils.colorTemperatureToHueAndSaturation}
|
|
182
183
|
* for converting mired to hue and saturation values.
|
|
@@ -188,13 +189,13 @@ var AdaptiveLightingControllerEvents;
|
|
|
188
189
|
* Like for example ZigBee lights which support sending transitions directly to the lightbulb which
|
|
189
190
|
* then get executed ON the lightbulb itself reducing unnecessary network traffic.
|
|
190
191
|
* 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
|
|
192
|
+
* The AdaptiveLightingController will also in manual mode do all the setup procedure.
|
|
192
193
|
* It will also save the transition schedule to disk to keep AdaptiveLighting enabled across reboots.
|
|
193
194
|
* The "only" thing you have to do yourself is handling the actual transitions, check that event notifications
|
|
194
195
|
* are only sent in the defined interval threshold, adjust the color temperature when brightness is changed
|
|
195
196
|
* and signal that Adaptive Lighting should be disabled if ColorTemperature, Hue or Saturation is changed manually.
|
|
196
197
|
*
|
|
197
|
-
* First step is to setup up
|
|
198
|
+
* First step is to setup up an event handler for the {@link AdaptiveLightingControllerEvents.UPDATE}, which is called
|
|
198
199
|
* when AdaptiveLighting is enabled, the HomeHub updates the schedule for the next 24 hours or AdaptiveLighting
|
|
199
200
|
* is restored from disk on startup.
|
|
200
201
|
* In the event handler you can get the current schedule via {@link AdaptiveLightingController.getAdaptiveLightingTransitionCurve},
|
|
@@ -204,8 +205,8 @@ var AdaptiveLightingControllerEvents;
|
|
|
204
205
|
* Additionally {@link AdaptiveLightingController.getAdaptiveLightingBrightnessMultiplierRange} can be used
|
|
205
206
|
* to get the valid range for the brightness value to calculate the brightness adjustment factor.
|
|
206
207
|
* 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
|
-
*
|
|
208
|
+
* Besides, actually running the transition (see {@link AdaptiveLightingTransitionCurveEntry}) you must correctly update
|
|
209
|
+
* the color temperature when the brightness of the lightbulb changes (see {@link AdaptiveLightingTransitionCurveEntry.brightnessAdjustmentFactor}),
|
|
209
210
|
* and signal when AdaptiveLighting got disabled by calling {@link AdaptiveLightingController.disableAdaptiveLighting}
|
|
210
211
|
* when ColorTemperature, Hue or Saturation where changed manually.
|
|
211
212
|
* Lastly you should set up a event handler for the {@link AdaptiveLightingControllerEvents.DISABLED} event.
|
|
@@ -532,10 +533,10 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
|
|
|
532
533
|
else {
|
|
533
534
|
var timePercentage = (transitionPoint.transitionOffset - ((_a = lowerBound.duration) !== null && _a !== void 0 ? _a : 0)) / upperBound.transitionTime;
|
|
534
535
|
interpolatedTemperature = lowerBound.temperature + (upperBound.temperature - lowerBound.temperature) * timePercentage;
|
|
535
|
-
interpolatedAdjustmentFactor = lowerBound.brightnessAdjustmentFactor
|
|
536
|
+
interpolatedAdjustmentFactor = lowerBound.brightnessAdjustmentFactor
|
|
537
|
+
+ (upperBound.brightnessAdjustmentFactor - lowerBound.brightnessAdjustmentFactor) * timePercentage;
|
|
536
538
|
}
|
|
537
|
-
var adjustmentMultiplier = Math.max(this.activeTransition.brightnessAdjustmentRange.minBrightnessValue, Math.min(this.activeTransition.brightnessAdjustmentRange.maxBrightnessValue, this.brightnessCharacteristic.value
|
|
538
|
-
));
|
|
539
|
+
var adjustmentMultiplier = Math.max(this.activeTransition.brightnessAdjustmentRange.minBrightnessValue, Math.min(this.activeTransition.brightnessAdjustmentRange.maxBrightnessValue, this.brightnessCharacteristic.value));
|
|
539
540
|
var temperature = Math.round(interpolatedTemperature + interpolatedAdjustmentFactor * adjustmentMultiplier);
|
|
540
541
|
// apply any manually applied temperature adjustments
|
|
541
542
|
temperature += this.customTemperatureAdjustment;
|
|
@@ -573,7 +574,8 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
|
|
|
573
574
|
debug("[%s] Failed to next adaptive lighting transition point: %d", _this.lightbulb.displayName, reason);
|
|
574
575
|
});
|
|
575
576
|
if (!this.activeTransition) {
|
|
576
|
-
console.warn("[" + this.lightbulb.displayName + "] Adaptive Lighting was probably disable my mistake by some call in
|
|
577
|
+
console.warn("[" + this.lightbulb.displayName + "] Adaptive Lighting was probably disable my mistake by some call in " +
|
|
578
|
+
"the SET handler of the ColorTemperature characteristic! " +
|
|
577
579
|
"Please check that you don't call setValue/setCharacteristic on the Hue, Saturation or ColorTemperature characteristic!");
|
|
578
580
|
return;
|
|
579
581
|
}
|
|
@@ -610,6 +612,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
|
|
|
610
612
|
/**
|
|
611
613
|
* @private
|
|
612
614
|
*/
|
|
615
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
613
616
|
AdaptiveLightingController.prototype.initWithServices = function (serviceMap) {
|
|
614
617
|
// do nothing
|
|
615
618
|
};
|
|
@@ -634,7 +637,7 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
|
|
|
634
637
|
return _this.handleTransitionControlWrite(value);
|
|
635
638
|
}
|
|
636
639
|
catch (error) {
|
|
637
|
-
console.warn("[%s] DEBUG: '"
|
|
640
|
+
console.warn("[%s] DEBUG: '".concat(value, "'"));
|
|
638
641
|
console.warn("[%s] Encountered error on CharacteristicValueTransitionControl characteristic: " + error.stack);
|
|
639
642
|
_this.disableAdaptiveLighting();
|
|
640
643
|
throw new __1.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
|
|
@@ -677,9 +680,9 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
|
|
|
677
680
|
this.activeTransition = serialized.activeTransition;
|
|
678
681
|
// Data migrations from beta builds
|
|
679
682
|
if (!this.activeTransition.transitionId) {
|
|
680
|
-
// @ts-
|
|
683
|
+
// @ts-expect-error: data migration from beta builds
|
|
681
684
|
this.activeTransition.transitionId = this.activeTransition.id1;
|
|
682
|
-
// @ts-
|
|
685
|
+
// @ts-expect-error: data migration from beta builds
|
|
683
686
|
delete this.activeTransition.id1;
|
|
684
687
|
}
|
|
685
688
|
if (!this.activeTransition.timeMillisOffset) { // compatibility to data produced by early betas
|
|
@@ -747,7 +750,8 @@ var AdaptiveLightingController = /** @class */ (function (_super) {
|
|
|
747
750
|
var iid = tlv.readVariableUIntLE(readTransition[1 /* CHARACTERISTIC_IID */]);
|
|
748
751
|
if (this.activeTransition) {
|
|
749
752
|
if (this.activeTransition.iid !== iid) {
|
|
750
|
-
console.warn("[" + this.lightbulb.displayName + "] iid of current adaptive lighting transition (" + this.activeTransition.iid
|
|
753
|
+
console.warn("[" + this.lightbulb.displayName + "] iid of current adaptive lighting transition (" + this.activeTransition.iid
|
|
754
|
+
+ ") doesn't match the requested one " + iid);
|
|
751
755
|
throw new __1.HapStatusError(-70410 /* INVALID_VALUE_IN_REQUEST */);
|
|
752
756
|
}
|
|
753
757
|
var parameters = tlv.encode(1 /* TRANSITION_ID */, uuid.write(this.activeTransition.transitionId), 2 /* START_TIME */, Buffer.from(this.activeTransition.transitionStartBuffer, "hex"));
|