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
package/dist/lib/Service.js
CHANGED
|
@@ -7,11 +7,14 @@ var debug_1 = tslib_1.__importDefault(require("debug"));
|
|
|
7
7
|
var events_1 = require("events");
|
|
8
8
|
var Characteristic_1 = require("./Characteristic");
|
|
9
9
|
var uuid_1 = require("./util/uuid");
|
|
10
|
-
var debug = debug_1.default("HAP-NodeJS:Service");
|
|
10
|
+
var debug = (0, debug_1.default)("HAP-NodeJS:Service");
|
|
11
11
|
/**
|
|
12
12
|
* HAP spec allows a maximum of 100 characteristics per service!
|
|
13
13
|
*/
|
|
14
14
|
var MAX_CHARACTERISTICS = 100;
|
|
15
|
+
/**
|
|
16
|
+
* @group Service
|
|
17
|
+
*/
|
|
15
18
|
var ServiceEventTypes;
|
|
16
19
|
(function (ServiceEventTypes) {
|
|
17
20
|
ServiceEventTypes["CHARACTERISTIC_CHANGE"] = "characteristic-change";
|
|
@@ -23,7 +26,7 @@ var ServiceEventTypes;
|
|
|
23
26
|
* "Door Lock Mechanism" service might contain two values, one for the "desired lock state" and one for the
|
|
24
27
|
* "current lock state". A particular Service is distinguished from others by its "type", which is a UUID.
|
|
25
28
|
* HomeKit provides a set of known Service UUIDs defined in HomeKit.ts along with a corresponding
|
|
26
|
-
* concrete subclass that you can instantiate directly to
|
|
29
|
+
* concrete subclass that you can instantiate directly to set up the necessary values. These natively-supported
|
|
27
30
|
* Services are expected to contain a particular set of Characteristics.
|
|
28
31
|
*
|
|
29
32
|
* Unlike Characteristics, where you cannot have two Characteristics with the same UUID in the same Service,
|
|
@@ -37,6 +40,8 @@ var ServiceEventTypes;
|
|
|
37
40
|
* You can also define custom Services by providing your own UUID for the type that you generate yourself.
|
|
38
41
|
* Custom Services can contain an arbitrary set of Characteristics, but Siri will likely not be able to
|
|
39
42
|
* work with these.
|
|
43
|
+
*
|
|
44
|
+
* @group Service
|
|
40
45
|
*/
|
|
41
46
|
var Service = /** @class */ (function (_super) {
|
|
42
47
|
tslib_1.__extends(Service, _super);
|
|
@@ -59,7 +64,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
59
64
|
* @private
|
|
60
65
|
*/
|
|
61
66
|
_this.linkedServices = [];
|
|
62
|
-
assert_1.default(UUID, "Services must be created with a valid UUID.");
|
|
67
|
+
(0, assert_1.default)(UUID, "Services must be created with a valid UUID.");
|
|
63
68
|
_this.displayName = displayName;
|
|
64
69
|
_this.UUID = UUID;
|
|
65
70
|
_this.subtype = subtype;
|
|
@@ -75,7 +80,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
75
80
|
return _this;
|
|
76
81
|
}
|
|
77
82
|
/**
|
|
78
|
-
* Returns an id which uniquely identifies
|
|
83
|
+
* Returns an id which uniquely identifies a service on the associated accessory.
|
|
79
84
|
* The serviceId is a concatenation of the UUID for the service (defined by HAP) and the subtype (could be empty)
|
|
80
85
|
* which is programmatically defined by the programmer.
|
|
81
86
|
*
|
|
@@ -84,6 +89,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
84
89
|
Service.prototype.getServiceId = function () {
|
|
85
90
|
return this.UUID + (this.subtype || "");
|
|
86
91
|
};
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
87
93
|
Service.prototype.addCharacteristic = function (input) {
|
|
88
94
|
// characteristic might be a constructor like `Characteristic.Brightness` instead of an instance of Characteristic. Coerce if necessary.
|
|
89
95
|
var e_1, _a;
|
|
@@ -91,13 +97,13 @@ var Service = /** @class */ (function (_super) {
|
|
|
91
97
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
92
98
|
constructorArgs[_i - 1] = arguments[_i];
|
|
93
99
|
}
|
|
94
|
-
var characteristic = typeof input === "function" ? new (input.bind.apply(input, tslib_1.__spreadArray([void 0], tslib_1.__read(constructorArgs))))() : input;
|
|
100
|
+
var characteristic = typeof input === "function" ? new (input.bind.apply(input, tslib_1.__spreadArray([void 0], tslib_1.__read(constructorArgs), false)))() : input;
|
|
95
101
|
try {
|
|
96
102
|
// check for UUID conflict
|
|
97
103
|
for (var _b = tslib_1.__values(this.characteristics), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
98
104
|
var existing = _c.value;
|
|
99
105
|
if (existing.UUID === characteristic.UUID) {
|
|
100
|
-
if (characteristic.UUID ===
|
|
106
|
+
if (characteristic.UUID === "00000052-0000-1000-8000-0026BB765291") {
|
|
101
107
|
//This is a special workaround for the Firmware Revision characteristic.
|
|
102
108
|
return existing;
|
|
103
109
|
}
|
|
@@ -117,7 +123,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
117
123
|
}
|
|
118
124
|
this.setupCharacteristicEventHandlers(characteristic);
|
|
119
125
|
this.characteristics.push(characteristic);
|
|
120
|
-
this.emit("service-configurationChange" /* SERVICE_CONFIGURATION_CHANGE */);
|
|
126
|
+
this.emit("service-configurationChange" /* ServiceEventTypes.SERVICE_CONFIGURATION_CHANGE */);
|
|
121
127
|
return characteristic;
|
|
122
128
|
};
|
|
123
129
|
/**
|
|
@@ -126,22 +132,22 @@ var Service = /** @class */ (function (_super) {
|
|
|
126
132
|
* This will happen immediately, if the service was already added to an accessory, or later
|
|
127
133
|
* when the service gets added to an accessory.
|
|
128
134
|
*
|
|
129
|
-
* @param isPrimary
|
|
135
|
+
* @param isPrimary - optional boolean (default true) if the service should be the primary service
|
|
130
136
|
*/
|
|
131
137
|
Service.prototype.setPrimaryService = function (isPrimary) {
|
|
132
138
|
if (isPrimary === void 0) { isPrimary = true; }
|
|
133
139
|
this.isPrimaryService = isPrimary;
|
|
134
|
-
this.emit("service-configurationChange" /* SERVICE_CONFIGURATION_CHANGE */);
|
|
140
|
+
this.emit("service-configurationChange" /* ServiceEventTypes.SERVICE_CONFIGURATION_CHANGE */);
|
|
135
141
|
};
|
|
136
142
|
/**
|
|
137
143
|
* Marks the service as hidden
|
|
138
144
|
*
|
|
139
|
-
* @param isHidden
|
|
145
|
+
* @param isHidden - optional boolean (default true) if the service should be marked hidden
|
|
140
146
|
*/
|
|
141
147
|
Service.prototype.setHiddenService = function (isHidden) {
|
|
142
148
|
if (isHidden === void 0) { isHidden = true; }
|
|
143
149
|
this.isHiddenService = isHidden;
|
|
144
|
-
this.emit("service-configurationChange" /* SERVICE_CONFIGURATION_CHANGE */);
|
|
150
|
+
this.emit("service-configurationChange" /* ServiceEventTypes.SERVICE_CONFIGURATION_CHANGE */);
|
|
145
151
|
};
|
|
146
152
|
/**
|
|
147
153
|
* Adds a new link to the specified service. The service MUST be already added to
|
|
@@ -154,7 +160,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
154
160
|
if (!this.linkedServices.includes(service)) {
|
|
155
161
|
this.linkedServices.push(service);
|
|
156
162
|
}
|
|
157
|
-
this.emit("service-configurationChange" /* SERVICE_CONFIGURATION_CHANGE */);
|
|
163
|
+
this.emit("service-configurationChange" /* ServiceEventTypes.SERVICE_CONFIGURATION_CHANGE */);
|
|
158
164
|
};
|
|
159
165
|
/**
|
|
160
166
|
* Removes a link to the specified service which was previously added with {@link addLinkedService}
|
|
@@ -167,14 +173,14 @@ var Service = /** @class */ (function (_super) {
|
|
|
167
173
|
if (index !== -1) {
|
|
168
174
|
this.linkedServices.splice(index, 1);
|
|
169
175
|
}
|
|
170
|
-
this.emit("service-configurationChange" /* SERVICE_CONFIGURATION_CHANGE */);
|
|
176
|
+
this.emit("service-configurationChange" /* ServiceEventTypes.SERVICE_CONFIGURATION_CHANGE */);
|
|
171
177
|
};
|
|
172
178
|
Service.prototype.removeCharacteristic = function (characteristic) {
|
|
173
179
|
var index = this.characteristics.indexOf(characteristic);
|
|
174
180
|
if (index !== -1) {
|
|
175
181
|
this.characteristics.splice(index, 1);
|
|
176
182
|
characteristic.removeAllListeners();
|
|
177
|
-
this.emit("service-configurationChange" /* SERVICE_CONFIGURATION_CHANGE */);
|
|
183
|
+
this.emit("service-configurationChange" /* ServiceEventTypes.SERVICE_CONFIGURATION_CHANGE */);
|
|
178
184
|
}
|
|
179
185
|
};
|
|
180
186
|
Service.prototype.getCharacteristic = function (name) {
|
|
@@ -182,15 +188,14 @@ var Service = /** @class */ (function (_super) {
|
|
|
182
188
|
// If Service.prototype.getCharacteristic(Characteristic.Type) does not find the characteristic,
|
|
183
189
|
// but the type is in optionalCharacteristics, it adds the characteristic.type to the service and returns it.
|
|
184
190
|
var e_2, _a, e_3, _b;
|
|
185
|
-
var index, characteristic;
|
|
186
191
|
try {
|
|
187
192
|
for (var _c = tslib_1.__values(this.characteristics), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
188
|
-
var
|
|
189
|
-
if (typeof name ===
|
|
190
|
-
return
|
|
193
|
+
var characteristic = _d.value;
|
|
194
|
+
if (typeof name === "string" && characteristic.displayName === name) {
|
|
195
|
+
return characteristic;
|
|
191
196
|
}
|
|
192
|
-
else if (typeof name ===
|
|
193
|
-
return
|
|
197
|
+
else if (typeof name === "function" && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
|
|
198
|
+
return characteristic;
|
|
194
199
|
}
|
|
195
200
|
}
|
|
196
201
|
}
|
|
@@ -201,11 +206,11 @@ var Service = /** @class */ (function (_super) {
|
|
|
201
206
|
}
|
|
202
207
|
finally { if (e_2) throw e_2.error; }
|
|
203
208
|
}
|
|
204
|
-
if (typeof name ===
|
|
209
|
+
if (typeof name === "function") {
|
|
205
210
|
try {
|
|
206
211
|
for (var _e = tslib_1.__values(this.optionalCharacteristics), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
207
|
-
var
|
|
208
|
-
if ((
|
|
212
|
+
var characteristic = _f.value;
|
|
213
|
+
if ((characteristic instanceof name) || (name.UUID === characteristic.UUID)) {
|
|
209
214
|
return this.addCharacteristic(name);
|
|
210
215
|
}
|
|
211
216
|
}
|
|
@@ -220,7 +225,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
220
225
|
var instance = this.addCharacteristic(name);
|
|
221
226
|
// Not found in optional Characteristics. Adding anyway, but warning about it if it isn't the Name.
|
|
222
227
|
if (name.UUID !== Characteristic_1.Characteristic.Name.UUID) {
|
|
223
|
-
this.emitCharacteristicWarningEvent(instance, "warn-message" /* WARN_MESSAGE */, "Characteristic not in required or optional characteristic section for service " + this.constructor.name + ". Adding anyway.");
|
|
228
|
+
this.emitCharacteristicWarningEvent(instance, "warn-message" /* CharacteristicWarningType.WARN_MESSAGE */, "Characteristic not in required or optional characteristic section for service " + this.constructor.name + ". Adding anyway.");
|
|
224
229
|
}
|
|
225
230
|
return instance;
|
|
226
231
|
}
|
|
@@ -231,10 +236,10 @@ var Service = /** @class */ (function (_super) {
|
|
|
231
236
|
// checks for the existence of a characteristic object in the service
|
|
232
237
|
for (var _b = tslib_1.__values(this.characteristics), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
233
238
|
var characteristic = _c.value;
|
|
234
|
-
if (typeof name ===
|
|
239
|
+
if (typeof name === "string" && characteristic.displayName === name) {
|
|
235
240
|
return true;
|
|
236
241
|
}
|
|
237
|
-
else if (typeof name ===
|
|
242
|
+
else if (typeof name === "function" && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
|
|
238
243
|
return true;
|
|
239
244
|
}
|
|
240
245
|
}
|
|
@@ -249,10 +254,10 @@ var Service = /** @class */ (function (_super) {
|
|
|
249
254
|
return false;
|
|
250
255
|
};
|
|
251
256
|
Service.prototype.setCharacteristic = function (name, value) {
|
|
257
|
+
// @ts-expect-error: We know that both overloads exists individually. There is just no publicly exposed type for that!
|
|
252
258
|
this.getCharacteristic(name).setValue(value);
|
|
253
259
|
return this; // for chaining
|
|
254
260
|
};
|
|
255
|
-
// A function to only updating the remote value, but not firing the 'set' event.
|
|
256
261
|
Service.prototype.updateCharacteristic = function (name, value) {
|
|
257
262
|
this.getCharacteristic(name).updateValue(value);
|
|
258
263
|
return this;
|
|
@@ -260,8 +265,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
260
265
|
Service.prototype.addOptionalCharacteristic = function (characteristic) {
|
|
261
266
|
// characteristic might be a constructor like `Characteristic.Brightness` instead of an instance
|
|
262
267
|
// of Characteristic. Coerce if necessary.
|
|
263
|
-
if (typeof characteristic ===
|
|
264
|
-
// @ts-ignore we are dealing with predefined characteristics here
|
|
268
|
+
if (typeof characteristic === "function") {
|
|
265
269
|
characteristic = new characteristic();
|
|
266
270
|
}
|
|
267
271
|
this.optionalCharacteristics.push(characteristic);
|
|
@@ -270,7 +274,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
270
274
|
/**
|
|
271
275
|
* This method was created to copy all characteristics from another service to this.
|
|
272
276
|
* It's only adopting is currently in homebridge to merge the AccessoryInformation service. So some things
|
|
273
|
-
*
|
|
277
|
+
* may be explicitly tailored towards this use case.
|
|
274
278
|
*
|
|
275
279
|
* It will not remove characteristics which are present currently but not added on the other characteristic.
|
|
276
280
|
* It will not replace the characteristic if the value is falsy (except of '0' or 'false')
|
|
@@ -280,7 +284,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
280
284
|
Service.prototype.replaceCharacteristicsFromService = function (service) {
|
|
281
285
|
var _this = this;
|
|
282
286
|
if (this.UUID !== service.UUID) {
|
|
283
|
-
throw new Error("Incompatible services. Tried replacing characteristics of "
|
|
287
|
+
throw new Error("Incompatible services. Tried replacing characteristics of ".concat(this.UUID, " with characteristics from ").concat(service.UUID));
|
|
284
288
|
}
|
|
285
289
|
var foreignCharacteristics = {}; // index foreign characteristics by UUID
|
|
286
290
|
service.characteristics.forEach(function (characteristic) { return foreignCharacteristics[characteristic.UUID] = characteristic; });
|
|
@@ -289,7 +293,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
289
293
|
if (foreignCharacteristic) {
|
|
290
294
|
delete foreignCharacteristics[characteristic.UUID];
|
|
291
295
|
if (!foreignCharacteristic.value && foreignCharacteristic.value !== 0 && foreignCharacteristic.value !== false) {
|
|
292
|
-
return; // ignore falsy values except if
|
|
296
|
+
return; // ignore falsy values except if it's the number zero or literally false
|
|
293
297
|
}
|
|
294
298
|
characteristic.replaceBy(foreignCharacteristic);
|
|
295
299
|
}
|
|
@@ -305,8 +309,9 @@ var Service = /** @class */ (function (_super) {
|
|
|
305
309
|
try {
|
|
306
310
|
for (var _b = tslib_1.__values(this.characteristics), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
307
311
|
var characteristic = _c.value;
|
|
308
|
-
if (characteristic.iid === iid)
|
|
312
|
+
if (characteristic.iid === iid) {
|
|
309
313
|
return characteristic;
|
|
314
|
+
}
|
|
310
315
|
}
|
|
311
316
|
}
|
|
312
317
|
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
@@ -324,7 +329,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
324
329
|
var e_6, _a;
|
|
325
330
|
if (baseIID === void 0) { baseIID = 0; }
|
|
326
331
|
// the Accessory Information service must have a (reserved by IdentifierCache) ID of 1
|
|
327
|
-
if (this.UUID ===
|
|
332
|
+
if (this.UUID === "0000003E-0000-1000-8000-0026BB765291") {
|
|
328
333
|
this.iid = 1;
|
|
329
334
|
}
|
|
330
335
|
else {
|
|
@@ -355,10 +360,10 @@ var Service = /** @class */ (function (_super) {
|
|
|
355
360
|
if (contactGetHandlers === void 0) { contactGetHandlers = true; }
|
|
356
361
|
return new Promise(function (resolve) {
|
|
357
362
|
var e_7, _a, e_8, _b;
|
|
358
|
-
assert_1.default(_this.iid, "iid cannot be undefined for service '" + _this.displayName + "'");
|
|
359
|
-
assert_1.default(_this.characteristics.length, "service '" + _this.displayName + "' does not have any characteristics!");
|
|
363
|
+
(0, assert_1.default)(_this.iid, "iid cannot be undefined for service '" + _this.displayName + "'");
|
|
364
|
+
(0, assert_1.default)(_this.characteristics.length, "service '" + _this.displayName + "' does not have any characteristics!");
|
|
360
365
|
var service = {
|
|
361
|
-
type: uuid_1.toShortForm(_this.UUID),
|
|
366
|
+
type: (0, uuid_1.toShortForm)(_this.UUID),
|
|
362
367
|
iid: _this.iid,
|
|
363
368
|
characteristics: [],
|
|
364
369
|
hidden: _this.isHiddenService ? true : undefined,
|
|
@@ -373,9 +378,9 @@ var Service = /** @class */ (function (_super) {
|
|
|
373
378
|
// we got a linked service which is not added to the accessory
|
|
374
379
|
// as it doesn't "exists" we just ignore it.
|
|
375
380
|
// we have some (at least one) plugins on homebridge which link to the AccessoryInformation service.
|
|
376
|
-
// homebridge always creates
|
|
381
|
+
// homebridge always creates its own AccessoryInformation service and ignores the user supplied one
|
|
377
382
|
// thus the link is automatically broken.
|
|
378
|
-
debug("iid of linked service '"
|
|
383
|
+
debug("iid of linked service '".concat(linked.displayName, "' ").concat(linked.UUID, " is undefined on service '").concat(_this.displayName, "'"));
|
|
379
384
|
continue;
|
|
380
385
|
}
|
|
381
386
|
service.linked.push(linked.iid);
|
|
@@ -395,7 +400,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
395
400
|
try {
|
|
396
401
|
for (var missingCharacteristics_1 = tslib_1.__values(missingCharacteristics), missingCharacteristics_1_1 = missingCharacteristics_1.next(); !missingCharacteristics_1_1.done; missingCharacteristics_1_1 = missingCharacteristics_1.next()) {
|
|
397
402
|
var characteristic = missingCharacteristics_1_1.value;
|
|
398
|
-
_this.emitCharacteristicWarningEvent(characteristic, "slow-read" /* SLOW_READ */, "The read handler for the characteristic '"
|
|
403
|
+
_this.emitCharacteristicWarningEvent(characteristic, "slow-read" /* CharacteristicWarningType.SLOW_READ */, "The read handler for the characteristic '".concat(characteristic.displayName, "' was slow to respond!"));
|
|
399
404
|
}
|
|
400
405
|
}
|
|
401
406
|
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
@@ -411,7 +416,7 @@ var Service = /** @class */ (function (_super) {
|
|
|
411
416
|
try {
|
|
412
417
|
for (var missingCharacteristics_2 = tslib_1.__values(missingCharacteristics), missingCharacteristics_2_1 = missingCharacteristics_2.next(); !missingCharacteristics_2_1.done; missingCharacteristics_2_1 = missingCharacteristics_2.next()) {
|
|
413
418
|
var characteristic = missingCharacteristics_2_1.value;
|
|
414
|
-
_this.emitCharacteristicWarningEvent(characteristic, "timeout-read" /* TIMEOUT_READ */, "The read handler for the characteristic '" + (characteristic === null || characteristic === void 0 ? void 0 : characteristic.displayName) +
|
|
419
|
+
_this.emitCharacteristicWarningEvent(characteristic, "timeout-read" /* CharacteristicWarningType.TIMEOUT_READ */, "The read handler for the characteristic '" + (characteristic === null || characteristic === void 0 ? void 0 : characteristic.displayName) +
|
|
415
420
|
"' didn't respond at all!. Please check that you properly call the callback!");
|
|
416
421
|
service.characteristics.push(characteristic.internalHAPRepresentation()); // value is set to null
|
|
417
422
|
}
|
|
@@ -465,10 +470,10 @@ var Service = /** @class */ (function (_super) {
|
|
|
465
470
|
*/
|
|
466
471
|
Service.prototype.internalHAPRepresentation = function () {
|
|
467
472
|
var e_11, _a;
|
|
468
|
-
assert_1.default(this.iid, "iid cannot be undefined for service '" + this.displayName + "'");
|
|
469
|
-
assert_1.default(this.characteristics.length, "service '" + this.displayName + "' does not have any characteristics!");
|
|
473
|
+
(0, assert_1.default)(this.iid, "iid cannot be undefined for service '" + this.displayName + "'");
|
|
474
|
+
(0, assert_1.default)(this.characteristics.length, "service '" + this.displayName + "' does not have any characteristics!");
|
|
470
475
|
var service = {
|
|
471
|
-
type: uuid_1.toShortForm(this.UUID),
|
|
476
|
+
type: (0, uuid_1.toShortForm)(this.UUID),
|
|
472
477
|
iid: this.iid,
|
|
473
478
|
characteristics: this.characteristics.map(function (characteristic) { return characteristic.internalHAPRepresentation(); }),
|
|
474
479
|
hidden: this.isHiddenService ? true : undefined,
|
|
@@ -483,9 +488,9 @@ var Service = /** @class */ (function (_super) {
|
|
|
483
488
|
// we got a linked service which is not added to the accessory
|
|
484
489
|
// as it doesn't "exists" we just ignore it.
|
|
485
490
|
// we have some (at least one) plugins on homebridge which link to the AccessoryInformation service.
|
|
486
|
-
// homebridge always creates
|
|
491
|
+
// homebridge always creates its own AccessoryInformation service and ignores the user supplied one
|
|
487
492
|
// thus the link is automatically broken.
|
|
488
|
-
debug("iid of linked service '"
|
|
493
|
+
debug("iid of linked service '".concat(linked.displayName, "' ").concat(linked.UUID, " is undefined on service '").concat(this.displayName, "'"));
|
|
489
494
|
continue;
|
|
490
495
|
}
|
|
491
496
|
service.linked.push(linked.iid);
|
|
@@ -507,16 +512,16 @@ var Service = /** @class */ (function (_super) {
|
|
|
507
512
|
Service.prototype.setupCharacteristicEventHandlers = function (characteristic) {
|
|
508
513
|
var _this = this;
|
|
509
514
|
// listen for changes in characteristics and bubble them up
|
|
510
|
-
characteristic.on("change" /* CHANGE */, function (change) {
|
|
511
|
-
_this.emit("characteristic-change" /* CHARACTERISTIC_CHANGE */, tslib_1.__assign(tslib_1.__assign({}, change), { characteristic: characteristic }));
|
|
515
|
+
characteristic.on("change" /* CharacteristicEventTypes.CHANGE */, function (change) {
|
|
516
|
+
_this.emit("characteristic-change" /* ServiceEventTypes.CHARACTERISTIC_CHANGE */, tslib_1.__assign(tslib_1.__assign({}, change), { characteristic: characteristic }));
|
|
512
517
|
});
|
|
513
|
-
characteristic.on("characteristic-warning" /* CHARACTERISTIC_WARNING */, this.emitCharacteristicWarningEvent.bind(this, characteristic));
|
|
518
|
+
characteristic.on("characteristic-warning" /* CharacteristicEventTypes.CHARACTERISTIC_WARNING */, this.emitCharacteristicWarningEvent.bind(this, characteristic));
|
|
514
519
|
};
|
|
515
520
|
/**
|
|
516
521
|
* @private
|
|
517
522
|
*/
|
|
518
523
|
Service.prototype.emitCharacteristicWarningEvent = function (characteristic, type, message, stack) {
|
|
519
|
-
this.emit("characteristic-warning" /* CHARACTERISTIC_WARNING */, {
|
|
524
|
+
this.emit("characteristic-warning" /* ServiceEventTypes.CHARACTERISTIC_WARNING */, {
|
|
520
525
|
characteristic: characteristic,
|
|
521
526
|
type: type,
|
|
522
527
|
message: message,
|
|
@@ -588,4 +593,8 @@ var Service = /** @class */ (function (_super) {
|
|
|
588
593
|
return Service;
|
|
589
594
|
}(events_1.EventEmitter));
|
|
590
595
|
exports.Service = Service;
|
|
596
|
+
// We have a cyclic dependency problem. Within this file we have the definitions of "./definitions" as
|
|
597
|
+
// type imports only (in order to define the static properties). Setting those properties is done outside
|
|
598
|
+
// this file, within the definition files. Therefore, we import it at the end of this file. Seems weird, but is important.
|
|
599
|
+
require("./definitions/ServiceDefinitions");
|
|
591
600
|
//# sourceMappingURL=Service.js.map
|
package/dist/lib/Service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/lib/Service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/lib/Service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Service } from
|
|
2
|
+
import { Service } from "../Service";
|
|
3
3
|
import { CameraStreamingDelegate, PrepareStreamCallback, PrepareStreamRequest, PrepareStreamResponse, SnapshotRequest, SnapshotRequestCallback, StreamController, StreamingRequest, StreamRequest, StreamRequestCallback } from "../..";
|
|
4
|
-
import { NodeCallback, SessionIdentifier } from
|
|
4
|
+
import { NodeCallback, SessionIdentifier } from "../../types";
|
|
5
5
|
/**
|
|
6
|
+
* @group Camera
|
|
6
7
|
* @deprecated
|
|
7
8
|
*/
|
|
8
|
-
export
|
|
9
|
+
export type PreparedStreamRequestCallback = (response: PreparedStreamResponse) => void;
|
|
9
10
|
/**
|
|
11
|
+
* @group Camera
|
|
10
12
|
* @deprecated
|
|
11
13
|
*/
|
|
12
|
-
export
|
|
13
|
-
export declare type Camera = LegacyCameraSource;
|
|
14
|
+
export type PreparedStreamResponse = PrepareStreamResponse;
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* @group Camera
|
|
17
|
+
*/
|
|
18
|
+
export type Camera = LegacyCameraSource;
|
|
19
|
+
/**
|
|
20
|
+
* Interface of and old style CameraSource. See {@link Accessory.configureCameraSource} for more Information.
|
|
16
21
|
*
|
|
22
|
+
* @group Camera
|
|
17
23
|
* @deprecated was replaced by {@link CameraStreamingDelegate} utilized by the {@link CameraController}
|
|
18
24
|
*/
|
|
19
25
|
export interface LegacyCameraSource {
|
|
@@ -24,6 +30,9 @@ export interface LegacyCameraSource {
|
|
|
24
30
|
handleStreamRequest(request: StreamRequest): void;
|
|
25
31
|
handleCloseConnection(connectionID: SessionIdentifier): void;
|
|
26
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @group Camera
|
|
35
|
+
*/
|
|
27
36
|
export declare class LegacyCameraSourceAdapter implements CameraStreamingDelegate {
|
|
28
37
|
private readonly cameraSource;
|
|
29
38
|
constructor(cameraSource: LegacyCameraSource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/Camera.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACtB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG9D
|
|
1
|
+
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/Camera.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACtB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG9D;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;AACvF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE3D;;GAEG;AAEH,MAAM,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAExC;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEtF,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC5F,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAElD,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAE9D;AAED;;GAEG;AAEH,qBAAa,yBAA0B,YAAW,uBAAuB;IAEvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAEtC,YAAY,EAAE,kBAAkB;IAI5C,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAMxF,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAMnF,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAMrF,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;CAO3D"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LegacyCameraSourceAdapter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @group Camera
|
|
6
|
+
*/
|
|
4
7
|
// noinspection JSDeprecatedSymbols
|
|
5
8
|
var LegacyCameraSourceAdapter = /** @class */ (function () {
|
|
6
9
|
function LegacyCameraSourceAdapter(cameraSource) {
|
|
@@ -17,14 +20,14 @@ var LegacyCameraSourceAdapter = /** @class */ (function () {
|
|
|
17
20
|
});
|
|
18
21
|
};
|
|
19
22
|
LegacyCameraSourceAdapter.prototype.handleStreamRequest = function (request, callback) {
|
|
20
|
-
// @ts-
|
|
23
|
+
// @ts-expect-error: compatible types
|
|
21
24
|
this.cameraSource.handleStreamRequest(request);
|
|
22
25
|
callback();
|
|
23
26
|
};
|
|
24
27
|
LegacyCameraSourceAdapter.prototype.forwardCloseConnection = function (sessionID) {
|
|
25
|
-
// In the legacy type CameraSource API it was
|
|
28
|
+
// In the legacy type CameraSource API it was required that the plugin dev would forward this call to the
|
|
26
29
|
// handleCloseConnection of the "StreamController". This is not needed anymore and is automatically handled
|
|
27
|
-
// by HAP-NodeJS. However devs could possibly define other stuff in there so we still forward this call.
|
|
30
|
+
// by HAP-NodeJS. However, devs could possibly define other stuff in there so we still forward this call.
|
|
28
31
|
this.cameraSource.handleCloseConnection(sessionID);
|
|
29
32
|
};
|
|
30
33
|
return LegacyCameraSourceAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../src/lib/camera/Camera.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../src/lib/camera/Camera.ts"],"names":[],"mappings":";;;AAsDA;;GAEG;AACH,mCAAmC;AACnC;IAIE,mCAAY,YAAgC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,yDAAqB,GAArB,UAAsB,OAAwB,EAAE,QAAiC;QAC/E,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAC,KAAK,EAAE,MAAM;YAC7D,QAAQ,CAAC,KAAK,CAAA,CAAC,CAAC,KAAK,CAAA,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAa,GAAb,UAAc,OAA6B,EAAE,QAA+B;QAC1E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,UAAA,QAAQ;YAC/C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAAmB,GAAnB,UAAoB,OAAyB,EAAE,QAA+B;QAC5E,qCAAqC;QACrC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/C,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,0DAAsB,GAAtB,UAAuB,SAA4B;QACjD,yGAAyG;QACzG,2GAA2G;QAC3G,yGAAyG;QACzG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAEH,gCAAC;AAAD,CAAC,AAjCD,IAiCC;AAjCY,8DAAyB"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
import { Socket, SocketType } from "dgram";
|
|
4
|
+
/**
|
|
5
|
+
* @group Camera
|
|
6
|
+
*/
|
|
3
7
|
export interface RTPProxyOptions {
|
|
4
8
|
disabled: boolean;
|
|
5
9
|
isIPV6?: boolean;
|
|
@@ -14,6 +18,7 @@ export interface RTPProxyOptions {
|
|
|
14
18
|
* The proxy was created to deal with RTCP and SSRC related stuff from external streams back in that days.
|
|
15
19
|
* Later HomeKit removed support for unencrypted stream so it’s mostly no longer useful anymore, only really for testing
|
|
16
20
|
* with a custom HAP controller.
|
|
21
|
+
* @group Camera
|
|
17
22
|
*/
|
|
18
23
|
export default class RTPProxy {
|
|
19
24
|
options: RTPProxyOptions;
|
|
@@ -33,24 +38,24 @@ export default class RTPProxy {
|
|
|
33
38
|
serverRTPPort?: number;
|
|
34
39
|
serverRTCPPort?: number;
|
|
35
40
|
constructor(options: RTPProxyOptions);
|
|
36
|
-
setup
|
|
37
|
-
destroy
|
|
38
|
-
incomingRTPPort
|
|
39
|
-
incomingRTCPPort
|
|
40
|
-
outgoingLocalPort
|
|
41
|
-
setServerAddress
|
|
42
|
-
setServerRTPPort
|
|
43
|
-
setServerRTCPPort
|
|
44
|
-
setIncomingPayloadType
|
|
45
|
-
setOutgoingPayloadType
|
|
46
|
-
sendOut
|
|
47
|
-
sendBack
|
|
48
|
-
onBound
|
|
49
|
-
rtpMessage
|
|
50
|
-
processRTCPMessage
|
|
51
|
-
rtcpMessage
|
|
52
|
-
rtcpReply
|
|
53
|
-
createSocket
|
|
54
|
-
createSocketPair
|
|
41
|
+
setup(): Promise<void>;
|
|
42
|
+
destroy(): void;
|
|
43
|
+
incomingRTPPort(): number;
|
|
44
|
+
incomingRTCPPort(): number;
|
|
45
|
+
outgoingLocalPort(): number;
|
|
46
|
+
setServerAddress(address: string): void;
|
|
47
|
+
setServerRTPPort(port: number): void;
|
|
48
|
+
setServerRTCPPort(port: number): void;
|
|
49
|
+
setIncomingPayloadType(pt: number): void;
|
|
50
|
+
setOutgoingPayloadType(pt: number): void;
|
|
51
|
+
sendOut(msg: Buffer): void;
|
|
52
|
+
sendBack(msg: Buffer): void;
|
|
53
|
+
onBound(): void;
|
|
54
|
+
rtpMessage(msg: Buffer): void;
|
|
55
|
+
processRTCPMessage(msg: Buffer, transform: (pt: number, packet: Buffer) => Buffer): Buffer | null;
|
|
56
|
+
rtcpMessage(msg: Buffer): void;
|
|
57
|
+
rtcpReply(msg: Buffer): void;
|
|
58
|
+
createSocket(type: SocketType): Promise<Socket>;
|
|
59
|
+
createSocketPair(type: SocketType): Promise<Socket[]>;
|
|
55
60
|
}
|
|
56
61
|
//# sourceMappingURL=RTPProxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTPProxy.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/RTPProxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RTPProxy.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/RTPProxy.ts"],"names":[],"mappings":";;AAAA,OAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAkBR,OAAO,EAAE,eAAe;IAjB3C,YAAY,SAAS;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,iBAAiB,EAAG,MAAM,CAAC;IAC3B,kBAAkB,EAAG,MAAM,CAAC;IAC5B,cAAc,EAAG,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,eAAe;IAc3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,OAAO,IAAI,IAAI;IAcf,eAAe,IAAI,MAAM;IAUzB,gBAAgB,IAAI,MAAM;IAU1B,iBAAiB,IAAI,MAAM;IAU3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS3B,OAAO,IAAI,IAAI;IAkBf,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAuB7B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI;IA2BjG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAiB5B,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B/C,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwDtD"}
|