hap-nodejs 0.12.3-beta.2 → 0.12.3-beta.21
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/README.md +1 -0
- package/dist/accessories/AirConditioner_accessory.js +24 -24
- package/dist/accessories/AirConditioner_accessory.js.map +1 -1
- package/dist/accessories/AppleTVRemote_accessory.js +23 -23
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
- package/dist/accessories/Camera_accessory.js +292 -373
- package/dist/accessories/Camera_accessory.js.map +1 -1
- package/dist/accessories/Fan_accessory.js +15 -21
- package/dist/accessories/Fan_accessory.js.map +1 -1
- package/dist/accessories/GarageDoorOpener_accessory.js +12 -12
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +31 -21
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
- package/dist/accessories/Light_accessory.js +45 -48
- package/dist/accessories/Light_accessory.js.map +1 -1
- package/dist/accessories/Lock_accessory.js +11 -11
- package/dist/accessories/Lock_accessory.js.map +1 -1
- package/dist/accessories/MotionSensor_accessory.js +8 -8
- package/dist/accessories/MotionSensor_accessory.js.map +1 -1
- package/dist/accessories/Outlet_accessory.js +10 -10
- package/dist/accessories/Outlet_accessory.js.map +1 -1
- package/dist/accessories/SmartSpeaker_accessory.js +11 -11
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
- package/dist/accessories/Sprinkler_accessory.js +19 -19
- package/dist/accessories/Sprinkler_accessory.js.map +1 -1
- package/dist/accessories/TV_accessory.js +17 -17
- package/dist/accessories/TV_accessory.js.map +1 -1
- package/dist/accessories/TemperatureSensor_accessory.js +6 -6
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.js +3 -3
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.js +4 -4
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.js +36 -47
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
- package/dist/accessories/types.js +2 -2
- package/dist/accessories/types.js.map +1 -1
- package/dist/index.d.ts +0 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -28
- package/dist/index.js.map +1 -1
- package/dist/lib/Accessory.d.ts +1 -58
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +747 -1149
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +1 -2
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +392 -524
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.js +6 -10
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +2 -133
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +1467 -669
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +0 -10
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +216 -280
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +1 -51
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +474 -322
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/RTPProxy.js +112 -104
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +0 -65
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +255 -278
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.js +318 -381
- package/dist/lib/camera/RecordingManagement.js.map +1 -1
- package/dist/lib/camera/index.d.ts +0 -1
- package/dist/lib/camera/index.d.ts.map +1 -1
- package/dist/lib/camera/index.js +1 -2
- package/dist/lib/camera/index.js.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +19 -3
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +217 -218
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +0 -4
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +189 -256
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/DoorbellController.js +38 -39
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +0 -14
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +340 -415
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.js +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +56 -57
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +259 -304
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +0 -5
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +252 -269
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.js +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts +1 -106
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +2000 -2995
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts +0 -32
- package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +820 -1147
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +383 -679
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +29 -29
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/definitions/index.js +1 -1
- package/dist/lib/model/AccessoryInfo.js +101 -136
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.js +86 -89
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.js +15 -16
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.js +49 -49
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +40 -44
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/checkName.d.ts +2 -1
- package/dist/lib/util/checkName.d.ts.map +1 -1
- package/dist/lib/util/checkName.js +7 -11
- package/dist/lib/util/checkName.js.map +1 -1
- package/dist/lib/util/clone.js +5 -27
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.js +8 -12
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +301 -409
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.js +31 -32
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.js +9 -12
- package/dist/lib/util/hapStatusError.js.map +1 -1
- package/dist/lib/util/net-utils.js +32 -53
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.js +3 -8
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.js +8 -13
- package/dist/lib/util/promise-utils.js.map +1 -1
- package/dist/lib/util/request-util.js +2 -3
- package/dist/lib/util/request-util.js.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 +0 -27
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +71 -113
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.d.ts +0 -9
- package/dist/lib/util/uuid.d.ts.map +1 -1
- package/dist/lib/util/uuid.js +15 -33
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +0 -35
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -10
- package/dist/BridgedCore.d.ts +0 -2
- package/dist/BridgedCore.d.ts.map +0 -1
- package/dist/BridgedCore.js +0 -43
- package/dist/BridgedCore.js.map +0 -1
- package/dist/Core.d.ts +0 -2
- package/dist/Core.d.ts.map +0 -1
- package/dist/Core.js +0 -52
- package/dist/Core.js.map +0 -1
- package/dist/lib/AccessoryLoader.d.ts +0 -28
- package/dist/lib/AccessoryLoader.d.ts.map +0 -1
- package/dist/lib/AccessoryLoader.js +0 -166
- package/dist/lib/AccessoryLoader.js.map +0 -1
- package/dist/lib/camera/Camera.d.ts +0 -43
- package/dist/lib/camera/Camera.d.ts.map +0 -1
- package/dist/lib/camera/Camera.js +0 -36
- package/dist/lib/camera/Camera.js.map +0 -1
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<a href="https://www.npmjs.com/package/hap-nodejs"><img title="npm version" src="https://badgen.net/npm/v/hap-nodejs" ></a>
|
|
9
9
|
<a href="https://www.npmjs.com/package/hap-nodejs/v/beta"><img title="npm version beta" src="https://badgen.net/npm/v/hap-nodejs/beta" ></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/hap-nodejs/v/alpha"><img title="npm version apha" src="https://badgen.net/npm/v/hap-nodejs/alpha" ></a><br>
|
|
10
11
|
<a href="https://www.npmjs.com/package/hap-nodejs"><img title="npm downloads" src="https://badgen.net/npm/dt/hap-nodejs" ></a>
|
|
11
12
|
<a href="https://github.com/homebridge/HAP-NodeJS/actions/workflows/build.yml"><img title="Node Build" src="https://github.com/homebridge/HAP-NodeJS/actions/workflows/build.yml/badge.svg" ></a>
|
|
12
13
|
<a href='https://coveralls.io/github/homebridge/HAP-NodeJS'><img src='https://coveralls.io/repos/github/homebridge/HAP-NodeJS/badge.svg' alt='Coverage Status' /></a>
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// The linking and Hiding does NOT appear to be reflected in Home
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
// here's a fake hardware device that we'll expose to HomeKit
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const __1 = require("..");
|
|
9
|
+
const ACTest_data = {
|
|
10
10
|
fanPowerOn: false,
|
|
11
11
|
rSpeed: 100,
|
|
12
12
|
CurrentHeatingCoolingState: 1,
|
|
@@ -17,7 +17,7 @@ var ACTest_data = {
|
|
|
17
17
|
LightOn: false,
|
|
18
18
|
};
|
|
19
19
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake fan.
|
|
20
|
-
|
|
20
|
+
const ACTest = exports.accessory = new __1.Accessory("Air Conditioner", __1.uuid.generate("hap-nodejs:accessories:airconditioner"));
|
|
21
21
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
22
22
|
// @ts-expect-error: Core/BridgeCore API
|
|
23
23
|
ACTest.username = "1A:2B:3C:4D:5E:FF";
|
|
@@ -29,14 +29,14 @@ ACTest
|
|
|
29
29
|
.getService(__1.Service.AccessoryInformation)
|
|
30
30
|
.setCharacteristic(__1.Characteristic.Manufacturer, "Sample Company");
|
|
31
31
|
// listen for the "identify" event for this Accessory
|
|
32
|
-
ACTest.on("identify" /* AccessoryEventTypes.IDENTIFY */,
|
|
32
|
+
ACTest.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
33
33
|
console.log("Fan Identified!");
|
|
34
34
|
callback(); // success
|
|
35
35
|
});
|
|
36
36
|
// Add the actual Fan Service and listen for change events from iOS.
|
|
37
|
-
|
|
37
|
+
const FanService = ACTest.addService(__1.Service.Fan, "Blower"); // services exposed to the user should have "names" like "Fake Light" for us
|
|
38
38
|
FanService.getCharacteristic(__1.Characteristic.On)
|
|
39
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
39
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
40
40
|
console.log("Fan Power Changed To " + value);
|
|
41
41
|
ACTest_data.fanPowerOn = value;
|
|
42
42
|
callback(); // Our fake Fan is synchronous - this value has been successfully set
|
|
@@ -44,11 +44,11 @@ FanService.getCharacteristic(__1.Characteristic.On)
|
|
|
44
44
|
// We want to intercept requests for our current power state so we can query the hardware itself instead of
|
|
45
45
|
// allowing HAP-NodeJS to return the cached Characteristic.value.
|
|
46
46
|
FanService.getCharacteristic(__1.Characteristic.On)
|
|
47
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
47
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
48
48
|
// this event is emitted when you ask Siri directly whether your fan is on or not. you might query
|
|
49
49
|
// the fan hardware itself to find this out, then call the callback. But if you take longer than a
|
|
50
50
|
// few seconds to respond, Siri will give up.
|
|
51
|
-
|
|
51
|
+
const err = null; // in case there were any problems
|
|
52
52
|
if (ACTest_data.fanPowerOn) {
|
|
53
53
|
callback(err, true);
|
|
54
54
|
}
|
|
@@ -58,68 +58,68 @@ FanService.getCharacteristic(__1.Characteristic.On)
|
|
|
58
58
|
});
|
|
59
59
|
// also add an "optional" Characteristic for speed
|
|
60
60
|
FanService.addCharacteristic(__1.Characteristic.RotationSpeed)
|
|
61
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
61
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
62
62
|
callback(null, ACTest_data.rSpeed);
|
|
63
63
|
})
|
|
64
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
64
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
65
65
|
console.log("Setting fan rSpeed to %s", value);
|
|
66
66
|
ACTest_data.rSpeed = value;
|
|
67
67
|
callback();
|
|
68
68
|
});
|
|
69
|
-
|
|
69
|
+
const ThermostatService = ACTest.addService(__1.Service.Thermostat, "Thermostat");
|
|
70
70
|
ThermostatService.addLinkedService(FanService);
|
|
71
71
|
ThermostatService.setPrimaryService();
|
|
72
72
|
ThermostatService.getCharacteristic(__1.Characteristic.CurrentHeatingCoolingState)
|
|
73
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
73
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
74
74
|
callback(null, ACTest_data.CurrentHeatingCoolingState);
|
|
75
75
|
})
|
|
76
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
76
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
77
77
|
ACTest_data.CurrentHeatingCoolingState = value;
|
|
78
78
|
console.log("Characteristic CurrentHeatingCoolingState changed to %s", value);
|
|
79
79
|
callback();
|
|
80
80
|
});
|
|
81
81
|
ThermostatService.getCharacteristic(__1.Characteristic.TargetHeatingCoolingState)
|
|
82
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
82
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
83
83
|
callback(null, ACTest_data.TargetHeatingCoolingState);
|
|
84
84
|
})
|
|
85
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
85
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
86
86
|
ACTest_data.TargetHeatingCoolingState = value;
|
|
87
87
|
console.log("Characteristic TargetHeatingCoolingState changed to %s", value);
|
|
88
88
|
callback();
|
|
89
89
|
});
|
|
90
90
|
ThermostatService.getCharacteristic(__1.Characteristic.CurrentTemperature)
|
|
91
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
91
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
92
92
|
callback(null, ACTest_data.CurrentTemperature);
|
|
93
93
|
})
|
|
94
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
94
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
95
95
|
ACTest_data.CurrentTemperature = value;
|
|
96
96
|
console.log("Characteristic CurrentTemperature changed to %s", value);
|
|
97
97
|
callback();
|
|
98
98
|
});
|
|
99
99
|
ThermostatService.getCharacteristic(__1.Characteristic.TargetTemperature)
|
|
100
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
100
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
101
101
|
callback(null, ACTest_data.TargetTemperature);
|
|
102
102
|
})
|
|
103
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
103
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
104
104
|
ACTest_data.TargetTemperature = value;
|
|
105
105
|
console.log("Characteristic TargetTemperature changed to %s", value);
|
|
106
106
|
callback();
|
|
107
107
|
});
|
|
108
108
|
ThermostatService.getCharacteristic(__1.Characteristic.TemperatureDisplayUnits)
|
|
109
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
109
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
110
110
|
callback(null, ACTest_data.TemperatureDisplayUnits);
|
|
111
111
|
})
|
|
112
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
112
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
113
113
|
ACTest_data.TemperatureDisplayUnits = value;
|
|
114
114
|
console.log("Characteristic TemperatureDisplayUnits changed to %s", value);
|
|
115
115
|
callback();
|
|
116
116
|
});
|
|
117
|
-
|
|
117
|
+
const LightService = ACTest.addService(__1.Service.Lightbulb, "AC Light");
|
|
118
118
|
LightService.getCharacteristic(__1.Characteristic.On)
|
|
119
|
-
.on("get" /* CharacteristicEventTypes.GET */,
|
|
119
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
120
120
|
callback(null, ACTest_data.LightOn);
|
|
121
121
|
})
|
|
122
|
-
.on("set" /* CharacteristicEventTypes.SET */,
|
|
122
|
+
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
123
123
|
ACTest_data.LightOn = value;
|
|
124
124
|
console.log("Characteristic Light On changed to %s", value);
|
|
125
125
|
callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirConditioner_accessory.js","sourceRoot":"","sources":["../../src/accessories/AirConditioner_accessory.ts"],"names":[],"mappings":";AAAA,wGAAwG;AACxG,8HAA8H;AAC9H,sCAAsC;AACtC,iEAAiE;;AAEjE,6DAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"AirConditioner_accessory.js","sourceRoot":"","sources":["../../src/accessories/AirConditioner_accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
5
|
+
const __1 = require("..");
|
|
6
|
+
const http = tslib_1.__importStar(require("http"));
|
|
7
|
+
const url_1 = tslib_1.__importDefault(require("url"));
|
|
8
|
+
const gstreamer_audioProducer_1 = require("./gstreamer-audioProducer");
|
|
9
|
+
const remoteUUID = __1.uuid.generate("hap-nodejs:accessories:remote");
|
|
10
|
+
const remote = exports.accessory = new __1.Accessory("Remote", remoteUUID);
|
|
11
11
|
// @ts-expect-error: Core/BridgeCore API
|
|
12
12
|
remote.username = "DB:AF:E0:5C:69:76";
|
|
13
13
|
// @ts-expect-error: Core/BridgeCore API
|
|
@@ -15,11 +15,11 @@ remote.pincode = "874-23-897";
|
|
|
15
15
|
remote.category = 32 /* Categories.TARGET_CONTROLLER */;
|
|
16
16
|
// ----------------- for siri support -----------------
|
|
17
17
|
// CHANGE this to enable siri support. Read docs in 'gstreamer-audioProducer.ts' for necessary package dependencies
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const siriSupport = false;
|
|
19
|
+
const gstreamerOptions = { // any configuration regarding the producer can be made here
|
|
20
20
|
};
|
|
21
21
|
// ----------------------------------------------------
|
|
22
|
-
|
|
22
|
+
const controller = siriSupport
|
|
23
23
|
? new __1.RemoteController(gstreamer_audioProducer_1.GStreamerAudioProducer, gstreamerOptions)
|
|
24
24
|
: new __1.RemoteController();
|
|
25
25
|
remote.configureController(controller);
|
|
@@ -37,22 +37,22 @@ remote.configureController(controller);
|
|
|
37
37
|
/getTargetId?name=<name of apple TV> - get the target identifier for the given name of the apple tv
|
|
38
38
|
/setActiveTarget?identifier=<id> - set currently controlled apple tv
|
|
39
39
|
*/
|
|
40
|
-
http.createServer(
|
|
40
|
+
http.createServer((request, response) => {
|
|
41
41
|
if (request.method !== "GET") {
|
|
42
42
|
response.writeHead(405, { "Content-Type": "text/html" });
|
|
43
43
|
response.end("Method Not Allowed");
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
const parsedPath = url_1.default.parse(request.url, true);
|
|
47
|
+
const pathname = parsedPath.pathname.substring(1, parsedPath.pathname.length);
|
|
48
|
+
const query = parsedPath.query;
|
|
49
49
|
if (pathname === "setActiveTarget") {
|
|
50
50
|
if (query === undefined || query.identifier === undefined) {
|
|
51
51
|
response.writeHead(400, { "Content-Type": "text/html" });
|
|
52
52
|
response.end("Bad request. Must include 'identifier' in query string!");
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
const targetIdentifier = parseInt(query.identifier, 10);
|
|
56
56
|
if (!controller.isConfigured(targetIdentifier)) {
|
|
57
57
|
response.writeHead(400, { "Content-Type": "text/html" });
|
|
58
58
|
response.end("Bad request. No target found for given identifier " + targetIdentifier);
|
|
@@ -74,7 +74,7 @@ http.createServer(function (request, response) {
|
|
|
74
74
|
response.end("Bad request. Must include 'name' in query string!");
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
|
|
77
|
+
const targetIdentifier = controller.getTargetIdentifierByName(query.name);
|
|
78
78
|
if (targetIdentifier === undefined) {
|
|
79
79
|
response.writeHead(400, { "Content-Type": "text/html" });
|
|
80
80
|
response.end("Bad request. No target found for given name " + (0, escape_html_1.default)(query.name + ""));
|
|
@@ -90,8 +90,8 @@ http.createServer(function (request, response) {
|
|
|
90
90
|
response.end("Bad request. Must include 'state' and 'button' in query string!");
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const buttonState = parseInt(query.state, 10);
|
|
94
|
+
const button = parseInt(query.button, 10);
|
|
95
95
|
// @ts-expect-error: forceConsistentCasingInFileNames compiler option
|
|
96
96
|
if (__1.ButtonState[buttonState] === undefined) {
|
|
97
97
|
response.writeHead(400, { "Content-Type": "text/html" });
|
|
@@ -120,14 +120,14 @@ http.createServer(function (request, response) {
|
|
|
120
120
|
response.end("Bad request. Must include 'button' in query string!");
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
|
-
|
|
123
|
+
let time = 200;
|
|
124
124
|
if (query.time !== undefined) {
|
|
125
|
-
|
|
125
|
+
const parsedTime = parseInt(query.time, 10);
|
|
126
126
|
if (parsedTime) {
|
|
127
127
|
time = parsedTime;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
const button = parseInt(query.button, 10);
|
|
131
131
|
// @ts-expect-error: forceConsistentCasingInFileNames compiler option
|
|
132
132
|
if (__1.ButtonType[button] === undefined) {
|
|
133
133
|
response.writeHead(400, { "Content-Type": "text/html" });
|
|
@@ -140,7 +140,7 @@ http.createServer(function (request, response) {
|
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
142
|
else if (pathname === "listTargets") {
|
|
143
|
-
|
|
143
|
+
const targets = controller.targetConfigurations;
|
|
144
144
|
response.writeHead(200, { "Content-Type": "application/json" });
|
|
145
145
|
response.end(JSON.stringify(targets, undefined, 4));
|
|
146
146
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppleTVRemote_accessory.js","sourceRoot":"","sources":["../../src/accessories/AppleTVRemote_accessory.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"AppleTVRemote_accessory.js","sourceRoot":"","sources":["../../src/accessories/AppleTVRemote_accessory.ts"],"names":[],"mappings":"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"}
|