hap-nodejs 0.11.0-beta.13 → 0.11.0-beta.14
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/dist/BridgedCore.js +4 -4
- package/dist/BridgedCore.js.map +1 -1
- package/dist/Core.js +2 -2
- package/dist/Core.js.map +1 -1
- package/dist/accessories/AirConditioner_accessory.js +18 -18
- package/dist/accessories/AirConditioner_accessory.js.map +1 -1
- package/dist/accessories/AppleTVRemote_accessory.js +6 -6
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
- package/dist/accessories/Camera_accessory.js +96 -87
- package/dist/accessories/Camera_accessory.js.map +1 -1
- package/dist/accessories/Fan_accessory.js +6 -6
- package/dist/accessories/Fan_accessory.js.map +1 -1
- package/dist/accessories/GarageDoorOpener_accessory.js +4 -4
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +2 -2
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
- package/dist/accessories/Light_accessory.js +10 -10
- package/dist/accessories/Light_accessory.js.map +1 -1
- package/dist/accessories/Lock_accessory.js +4 -4
- package/dist/accessories/Lock_accessory.js.map +1 -1
- package/dist/accessories/MotionSensor_accessory.js +3 -3
- package/dist/accessories/MotionSensor_accessory.js.map +1 -1
- package/dist/accessories/Outlet_accessory.js +4 -4
- package/dist/accessories/Outlet_accessory.js.map +1 -1
- package/dist/accessories/SmartSpeaker_accessory.js +5 -5
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
- package/dist/accessories/Sprinkler_accessory.js +7 -7
- package/dist/accessories/Sprinkler_accessory.js.map +1 -1
- package/dist/accessories/TV_accessory.js +9 -9
- package/dist/accessories/TV_accessory.js.map +1 -1
- package/dist/accessories/TemperatureSensor_accessory.js +2 -2
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.js +2 -2
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.js +2 -2
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.d.ts +2 -2
- package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.js +20 -20
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
- package/dist/index.d.ts +30 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -25
- package/dist/index.js.map +1 -1
- package/dist/internal-types.d.ts +20 -125
- package/dist/internal-types.d.ts.map +1 -1
- package/dist/internal-types.js +15 -5
- package/dist/internal-types.js.map +1 -1
- package/dist/lib/Accessory.d.ts +71 -10
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +168 -148
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/AccessoryLoader.d.ts +12 -0
- package/dist/lib/AccessoryLoader.d.ts.map +1 -1
- package/dist/lib/AccessoryLoader.js +18 -6
- package/dist/lib/AccessoryLoader.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +26 -0
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +59 -39
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.d.ts +2 -0
- package/dist/lib/Bridge.d.ts.map +1 -1
- package/dist/lib/Bridge.js +3 -1
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +818 -13
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +155 -127
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +72 -18
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +178 -160
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +266 -14
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +36 -35
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/Camera.d.ts +13 -4
- package/dist/lib/camera/Camera.d.ts.map +1 -1
- package/dist/lib/camera/Camera.js +3 -0
- package/dist/lib/camera/Camera.js.map +1 -1
- package/dist/lib/camera/RTPProxy.d.ts +5 -0
- package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
- package/dist/lib/camera/RTPProxy.js +2 -1
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +154 -31
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +198 -161
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.d.ts +61 -11
- package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
- package/dist/lib/camera/RecordingManagement.js +171 -138
- package/dist/lib/camera/RecordingManagement.js.map +1 -1
- package/dist/lib/camera/index.js +4 -4
- package/dist/lib/camera/index.js.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +28 -2
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +72 -65
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +44 -13
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +42 -34
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/Controller.d.ts +28 -7
- 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 +5 -1
- package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
- package/dist/lib/controller/DoorbellController.js +5 -3
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +108 -39
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +190 -175
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.js +5 -5
- package/dist/lib/controller/index.js.map +1 -1
- 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 +36 -30
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.d.ts +39 -0
- package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +125 -88
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +121 -46
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +134 -100
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.js +3 -3
- package/dist/lib/datastream/index.js.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +799 -799
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +77 -77
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +60 -59
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +15 -15
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/definitions/index.js +2 -2
- package/dist/lib/definitions/index.js.map +1 -1
- package/dist/lib/model/AccessoryInfo.d.ts +10 -4
- package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
- package/dist/lib/model/AccessoryInfo.js +21 -17
- 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 +8 -5
- 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 -1
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.d.ts +1 -0
- package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
- package/dist/lib/model/IdentifierCache.js +3 -2
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts +11 -0
- package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +15 -7
- 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 +5 -4
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.d.ts +3 -0
- package/dist/lib/util/color-utils.d.ts.map +1 -1
- package/dist/lib/util/color-utils.js +4 -1
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts +34 -5
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +62 -51
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts +27 -0
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +28 -4
- 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 +4 -2
- 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 +5 -0
- package/dist/lib/util/once.d.ts.map +1 -1
- package/dist/lib/util/once.js +6 -1
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.d.ts +9 -0
- package/dist/lib/util/promise-utils.d.ts.map +1 -1
- package/dist/lib/util/promise-utils.js +3 -0
- package/dist/lib/util/promise-utils.js.map +1 -1
- 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 +42 -27
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.d.ts +6 -0
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +7 -1
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.d.ts +33 -2
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +29 -5
- 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 +1 -1
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +264 -20
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/package.json +5 -4
- package/dist/lib/util/HAPHTTPError.d.ts +0 -16
- package/dist/lib/util/HAPHTTPError.d.ts.map +0 -1
- package/dist/lib/util/HAPHTTPError.js +0 -26
- package/dist/lib/util/HAPHTTPError.js.map +0 -1
- package/dist/lib/util/tlvError.d.ts +0 -14
- package/dist/lib/util/tlvError.d.ts.map +0 -1
- package/dist/lib/util/tlvError.js +0 -24
- package/dist/lib/util/tlvError.js.map +0 -1
package/dist/BridgedCore.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var path_1 =
|
|
5
|
-
var node_persist_1 =
|
|
4
|
+
var path_1 = tslib_1.__importDefault(require("path"));
|
|
5
|
+
var node_persist_1 = tslib_1.__importDefault(require("node-persist"));
|
|
6
6
|
var _1 = require("./");
|
|
7
7
|
console.log("HAP-NodeJS v".concat((0, _1.HAPLibraryVersion)(), " starting..."));
|
|
8
8
|
console.warn("DEPRECATION NOTICE: The use of Core and BridgeCore are deprecated and are scheduled to be remove in October 2020. " +
|
|
@@ -12,7 +12,7 @@ node_persist_1.default.initSync();
|
|
|
12
12
|
// Start by creating our Bridge which will host all loaded Accessories
|
|
13
13
|
var bridge = new _1.Bridge("Node Bridge", _1.uuid.generate("Node Bridge"));
|
|
14
14
|
// Listen for bridge identification event
|
|
15
|
-
bridge.on("identify" /* IDENTIFY */, function (paired, callback) {
|
|
15
|
+
bridge.on("identify" /* AccessoryEventTypes.IDENTIFY */, function (paired, callback) {
|
|
16
16
|
console.log("Node Bridge identify");
|
|
17
17
|
callback(); // success
|
|
18
18
|
});
|
|
@@ -28,7 +28,7 @@ bridge.publish({
|
|
|
28
28
|
username: "CC:22:3D:E3:CE:F6",
|
|
29
29
|
port: 51826,
|
|
30
30
|
pincode: "031-45-154",
|
|
31
|
-
category: 2 /* BRIDGE */,
|
|
31
|
+
category: 2 /* Categories.BRIDGE */,
|
|
32
32
|
});
|
|
33
33
|
var signals = { "SIGINT": 2, "SIGTERM": 15 };
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
package/dist/BridgedCore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgedCore.js","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"BridgedCore.js","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":";;;AAAA,sDAAwB;AAExB,sEAAmC;AAEnC,uBAAgI;AAEhI,OAAO,CAAC,GAAG,CAAC,sBAAe,IAAA,oBAAiB,GAAE,iBAAc,CAAC,CAAC;AAE9D,OAAO,CAAC,IAAI,CAAC,oHAAoH;IAC/H,2JAA2J,CAAC,CAAC;AAE/J,gCAAgC;AAChC,sBAAO,CAAC,QAAQ,EAAE,CAAC;AAEnB,sEAAsE;AACtE,IAAM,MAAM,GAAG,IAAI,SAAM,CAAC,aAAa,EAAE,OAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE,yCAAyC;AACzC,MAAM,CAAC,EAAE,gDAA+B,UAAC,MAAe,EAAE,QAAsB;IAC9E,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,UAAU;AACxB,CAAC,CAAC,CAAC;AAEH,qDAAqD;AACrD,IAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAChD,IAAM,WAAW,GAAG,kBAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAEvD,6BAA6B;AAC7B,WAAW,CAAC,OAAO,CAAC,UAAC,SAAoB;IACvC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,CAAC,OAAO,CAAC;IACb,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,YAAY;IACrB,QAAQ,2BAAmB;CAC5B,CAAC,CAAC;AAEH,IAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAA4B,CAAC;AACzE,8DAA8D;AAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,MAAW;IACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,UAAU,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/Core.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var path_1 =
|
|
5
|
-
var node_persist_1 =
|
|
4
|
+
var path_1 = tslib_1.__importDefault(require("path"));
|
|
5
|
+
var node_persist_1 = tslib_1.__importDefault(require("node-persist"));
|
|
6
6
|
var _1 = require("./");
|
|
7
7
|
console.log("HAP-NodeJS v".concat((0, _1.HAPLibraryVersion)(), " starting..."));
|
|
8
8
|
console.warn("DEPRECATION NOTICE: The use of Core and BridgeCore are deprecated and are scheduled to be remove in October 2020. " +
|
package/dist/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;AAAA,sDAAwB;AAExB,sEAAmC;AAEnC,uBAAwD;AAExD,OAAO,CAAC,GAAG,CAAC,sBAAe,IAAA,oBAAiB,GAAE,iBAAc,CAAC,CAAC;AAE9D,OAAO,CAAC,IAAI,CAAC,oHAAoH;IAC/H,2JAA2J,CAAC,CAAC;AAE/J,gCAAgC;AAChC,sBAAO,CAAC,QAAQ,EAAE,CAAC;AAEnB,yFAAyF;AACzF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,qDAAqD;AACrD,IAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAChD,IAAM,WAAW,GAAG,kBAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAEvD,gHAAgH;AAChH,WAAW,CAAC,OAAO,CAAC,UAAC,SAAS;IAE5B,oEAAoE;IACpE,wCAAwC;IACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,SAAS,CAAC,WAAW;YAC3D,6EAA6E,CAAC,CAAC;KAChG;IAED,wCAAwC;IACxC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,SAAS,CAAC,WAAW;YAC1D,qEAAqE,CAAC,CAAC;KACxF;IAED,8CAA8C;IAC9C,SAAS,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,UAAU,EAAE;QAClB,wCAAwC;QACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,wCAAwC;QACxC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAA4B,CAAC;AACzE,8DAA8D;AAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,MAAW;IACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;SAC5B;QAED,UAAU,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -23,20 +23,20 @@ var ACTest = exports.accessory = new __1.Accessory("Air Conditioner", __1.uuid.g
|
|
|
23
23
|
ACTest.username = "1A:2B:3C:4D:5E:FF";
|
|
24
24
|
// @ts-expect-error: Core/BridgeCore API
|
|
25
25
|
ACTest.pincode = "031-45-154";
|
|
26
|
-
ACTest.category = 9 /* THERMOSTAT */;
|
|
26
|
+
ACTest.category = 9 /* Categories.THERMOSTAT */;
|
|
27
27
|
// set some basic properties (these values are arbitrary and setting them is optional)
|
|
28
28
|
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" /* IDENTIFY */, function (paired, callback) {
|
|
32
|
+
ACTest.on("identify" /* AccessoryEventTypes.IDENTIFY */, function (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
|
var 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" /* SET */, function (value, callback) {
|
|
39
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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,7 +44,7 @@ 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" /* GET */, function (callback) {
|
|
47
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (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.
|
|
@@ -58,10 +58,10 @@ 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" /* GET */, function (callback) {
|
|
61
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
62
62
|
callback(null, ACTest_data.rSpeed);
|
|
63
63
|
})
|
|
64
|
-
.on("set" /* SET */, function (value, callback) {
|
|
64
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (value, callback) {
|
|
65
65
|
console.log("Setting fan rSpeed to %s", value);
|
|
66
66
|
ACTest_data.rSpeed = value;
|
|
67
67
|
callback();
|
|
@@ -70,56 +70,56 @@ var 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" /* GET */, function (callback) {
|
|
73
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
74
74
|
callback(null, ACTest_data.CurrentHeatingCoolingState);
|
|
75
75
|
})
|
|
76
|
-
.on("set" /* SET */, function (value, callback) {
|
|
76
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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" /* GET */, function (callback) {
|
|
82
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
83
83
|
callback(null, ACTest_data.TargetHeatingCoolingState);
|
|
84
84
|
})
|
|
85
|
-
.on("set" /* SET */, function (value, callback) {
|
|
85
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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" /* GET */, function (callback) {
|
|
91
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
92
92
|
callback(null, ACTest_data.CurrentTemperature);
|
|
93
93
|
})
|
|
94
|
-
.on("set" /* SET */, function (value, callback) {
|
|
94
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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" /* GET */, function (callback) {
|
|
100
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
101
101
|
callback(null, ACTest_data.TargetTemperature);
|
|
102
102
|
})
|
|
103
|
-
.on("set" /* SET */, function (value, callback) {
|
|
103
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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" /* GET */, function (callback) {
|
|
109
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
110
110
|
callback(null, ACTest_data.TemperatureDisplayUnits);
|
|
111
111
|
})
|
|
112
|
-
.on("set" /* SET */, function (value, callback) {
|
|
112
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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
|
var LightService = ACTest.addService(__1.Service.Lightbulb, "AC Light");
|
|
118
118
|
LightService.getCharacteristic(__1.Characteristic.On)
|
|
119
|
-
.on("get" /* GET */, function (callback) {
|
|
119
|
+
.on("get" /* CharacteristicEventTypes.GET */, function (callback) {
|
|
120
120
|
callback(null, ACTest_data.LightOn);
|
|
121
121
|
})
|
|
122
|
-
.on("set" /* SET */, function (value, callback) {
|
|
122
|
+
.on("set" /* CharacteristicEventTypes.SET */, function (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,wBAWY;AAGZ,IAAM,WAAW,GAAwC;IACvD,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,GAAG;IACX,0BAA0B,EAAE,CAAC;IAC7B,yBAAyB,EAAE,CAAC;IAC5B,kBAAkB,EAAE,EAAE;IACtB,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,sFAAsF;AACtF,IAAM,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,aAAS,CAAC,iBAAiB,EAAE,QAAI,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;AAE5H,qFAAqF;AACrF,wCAAwC;AACxC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC;AACtC,wCAAwC;AACxC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;AAC9B,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"AirConditioner_accessory.js","sourceRoot":"","sources":["../../src/accessories/AirConditioner_accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var escape_html_1 =
|
|
4
|
+
var escape_html_1 = tslib_1.__importDefault(require("escape-html"));
|
|
5
5
|
var __1 = require("..");
|
|
6
|
-
var http =
|
|
7
|
-
var url_1 =
|
|
6
|
+
var http = tslib_1.__importStar(require("http"));
|
|
7
|
+
var url_1 = tslib_1.__importDefault(require("url"));
|
|
8
8
|
var gstreamer_audioProducer_1 = require("./gstreamer-audioProducer");
|
|
9
9
|
var remoteUUID = __1.uuid.generate("hap-nodejs:accessories:remote");
|
|
10
10
|
var remote = exports.accessory = new __1.Accessory("Remote", remoteUUID);
|
|
@@ -12,7 +12,7 @@ var remote = exports.accessory = new __1.Accessory("Remote", remoteUUID);
|
|
|
12
12
|
remote.username = "DB:AF:E0:5C:69:76";
|
|
13
13
|
// @ts-expect-error: Core/BridgeCore API
|
|
14
14
|
remote.pincode = "874-23-897";
|
|
15
|
-
remote.category = 32 /* TARGET_CONTROLLER */;
|
|
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
18
|
var siriSupport = false;
|
|
@@ -104,10 +104,10 @@ http.createServer(function (request, response) {
|
|
|
104
104
|
response.end("Bad request. Unknown button " + (0, escape_html_1.default)(query.button + ""));
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
|
-
if (buttonState === 0 /* UP */) {
|
|
107
|
+
if (buttonState === 0 /* ButtonState.UP */) {
|
|
108
108
|
controller.releaseButton(button);
|
|
109
109
|
}
|
|
110
|
-
else if (buttonState === 1 /* DOWN */) {
|
|
110
|
+
else if (buttonState === 1 /* ButtonState.DOWN */) {
|
|
111
111
|
controller.pushButton(button);
|
|
112
112
|
}
|
|
113
113
|
response.writeHead(200, { "Content-Type": "text/html" });
|
|
@@ -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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var assert_1 =
|
|
4
|
+
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
5
5
|
var child_process_1 = require("child_process");
|
|
6
6
|
var events_1 = require("events");
|
|
7
7
|
var net_1 = require("net");
|
|
@@ -12,7 +12,7 @@ var camera = exports.accessory = new __1.Accessory("IPCamera", cameraUUID);
|
|
|
12
12
|
camera.username = "9F:B2:46:0C:40:DB";
|
|
13
13
|
// @ts-expect-error: Core/BridgeCore API
|
|
14
14
|
camera.pincode = "948-23-459";
|
|
15
|
-
camera.category = 17 /* IP_CAMERA */;
|
|
15
|
+
camera.category = 17 /* Categories.IP_CAMERA */;
|
|
16
16
|
var FFMPEGH264ProfileNames = [
|
|
17
17
|
"baseline",
|
|
18
18
|
"main",
|
|
@@ -101,7 +101,7 @@ var ExampleCamera = /** @class */ (function () {
|
|
|
101
101
|
var _this = this;
|
|
102
102
|
var sessionId = request.sessionID;
|
|
103
103
|
switch (request.type) {
|
|
104
|
-
case "start" /* START */: {
|
|
104
|
+
case "start" /* StreamRequestTypes.START */: {
|
|
105
105
|
var sessionInfo = this.pendingSessions[sessionId];
|
|
106
106
|
var video = request.video;
|
|
107
107
|
var profile = FFMPEGH264ProfileNames[video.profile];
|
|
@@ -125,13 +125,13 @@ var ExampleCamera = /** @class */ (function () {
|
|
|
125
125
|
"-c:v h264 -pix_fmt yuv420p -r ".concat(fps, " -an -sn -dn -b:v ").concat(maxBitrate, "k ") +
|
|
126
126
|
"-profile:v ".concat(profile, " -level:v ").concat(level, " ") +
|
|
127
127
|
"-payload_type ".concat(payloadType, " -ssrc ").concat(ssrc, " -f rtp ");
|
|
128
|
-
if (cryptoSuite !== 2 /* NONE */) {
|
|
128
|
+
if (cryptoSuite !== 2 /* SRTPCryptoSuites.NONE */) {
|
|
129
129
|
var suite = void 0;
|
|
130
130
|
switch (cryptoSuite) {
|
|
131
|
-
case 0 /* AES_CM_128_HMAC_SHA1_80 */: // actually ffmpeg just supports AES_CM_128_HMAC_SHA1_80
|
|
131
|
+
case 0 /* SRTPCryptoSuites.AES_CM_128_HMAC_SHA1_80 */: // actually ffmpeg just supports AES_CM_128_HMAC_SHA1_80
|
|
132
132
|
suite = "AES_CM_128_HMAC_SHA1_80";
|
|
133
133
|
break;
|
|
134
|
-
case 1 /* AES_CM_256_HMAC_SHA1_80 */:
|
|
134
|
+
case 1 /* SRTPCryptoSuites.AES_CM_256_HMAC_SHA1_80 */:
|
|
135
135
|
suite = "AES_CM_256_HMAC_SHA1_80";
|
|
136
136
|
break;
|
|
137
137
|
}
|
|
@@ -180,12 +180,12 @@ var ExampleCamera = /** @class */ (function () {
|
|
|
180
180
|
delete this.pendingSessions[sessionId];
|
|
181
181
|
break;
|
|
182
182
|
}
|
|
183
|
-
case "reconfigure" /* RECONFIGURE */:
|
|
183
|
+
case "reconfigure" /* StreamRequestTypes.RECONFIGURE */:
|
|
184
184
|
// not supported by this example
|
|
185
185
|
console.log("Received (unsupported) request to reconfigure to: " + JSON.stringify(request.video));
|
|
186
186
|
callback();
|
|
187
187
|
break;
|
|
188
|
-
case "stop" /* STOP */: {
|
|
188
|
+
case "stop" /* StreamRequestTypes.STOP */: {
|
|
189
189
|
var ongoingSession = this.ongoingSessions[sessionId];
|
|
190
190
|
if (!ongoingSession) {
|
|
191
191
|
callback();
|
|
@@ -226,20 +226,20 @@ var ExampleCamera = /** @class */ (function () {
|
|
|
226
226
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
227
227
|
ExampleCamera.prototype.handleRecordingStreamRequest = function (streamId) {
|
|
228
228
|
var _a, _b, _c;
|
|
229
|
-
return
|
|
230
|
-
var STOP_AFTER_MOTION_STOP, profile, level, videoArgs, samplerate, audioArgs, pending, _d, _e, box, motionDetected, fragment, isLast, e_1_1, error_1;
|
|
231
|
-
var e_1,
|
|
232
|
-
return
|
|
233
|
-
switch (
|
|
229
|
+
return tslib_1.__asyncGenerator(this, arguments, function handleRecordingStreamRequest_1() {
|
|
230
|
+
var STOP_AFTER_MOTION_STOP, profile, level, videoArgs, samplerate, audioArgs, pending, _d, _e, _f, box, motionDetected, fragment, isLast, e_1_1, error_1;
|
|
231
|
+
var _g, e_1, _h, _j;
|
|
232
|
+
return tslib_1.__generator(this, function (_k) {
|
|
233
|
+
switch (_k.label) {
|
|
234
234
|
case 0:
|
|
235
235
|
(0, assert_1.default)(!!this.configuration);
|
|
236
236
|
STOP_AFTER_MOTION_STOP = false;
|
|
237
237
|
this.handlingStreamingRequest = true;
|
|
238
|
-
(0, assert_1.default)(this.configuration.videoCodec.type === 0 /* H264 */);
|
|
239
|
-
profile = this.configuration.videoCodec.parameters.profile === 2 /* HIGH */ ? "high"
|
|
240
|
-
: this.configuration.videoCodec.parameters.profile === 1 /* MAIN */ ? "main" : "baseline";
|
|
241
|
-
level = this.configuration.videoCodec.parameters.level === 2 /* LEVEL4_0 */ ? "4.0"
|
|
242
|
-
: this.configuration.videoCodec.parameters.level === 1 /* LEVEL3_2 */ ? "3.2" : "3.1";
|
|
238
|
+
(0, assert_1.default)(this.configuration.videoCodec.type === 0 /* VideoCodecType.H264 */);
|
|
239
|
+
profile = this.configuration.videoCodec.parameters.profile === 2 /* H264Profile.HIGH */ ? "high"
|
|
240
|
+
: this.configuration.videoCodec.parameters.profile === 1 /* H264Profile.MAIN */ ? "main" : "baseline";
|
|
241
|
+
level = this.configuration.videoCodec.parameters.level === 2 /* H264Level.LEVEL4_0 */ ? "4.0"
|
|
242
|
+
: this.configuration.videoCodec.parameters.level === 1 /* H264Level.LEVEL3_2 */ ? "3.2" : "3.1";
|
|
243
243
|
videoArgs = [
|
|
244
244
|
"-an",
|
|
245
245
|
"-sn",
|
|
@@ -257,31 +257,31 @@ var ExampleCamera = /** @class */ (function () {
|
|
|
257
257
|
"-r", this.configuration.videoCodec.resolution[2].toString(),
|
|
258
258
|
];
|
|
259
259
|
switch (this.configuration.audioCodec.samplerate) {
|
|
260
|
-
case 0 /* KHZ_8 */:
|
|
260
|
+
case 0 /* AudioRecordingSamplerate.KHZ_8 */:
|
|
261
261
|
samplerate = "8";
|
|
262
262
|
break;
|
|
263
|
-
case 1 /* KHZ_16 */:
|
|
263
|
+
case 1 /* AudioRecordingSamplerate.KHZ_16 */:
|
|
264
264
|
samplerate = "16";
|
|
265
265
|
break;
|
|
266
|
-
case 2 /* KHZ_24 */:
|
|
266
|
+
case 2 /* AudioRecordingSamplerate.KHZ_24 */:
|
|
267
267
|
samplerate = "24";
|
|
268
268
|
break;
|
|
269
|
-
case 3 /* KHZ_32 */:
|
|
269
|
+
case 3 /* AudioRecordingSamplerate.KHZ_32 */:
|
|
270
270
|
samplerate = "32";
|
|
271
271
|
break;
|
|
272
|
-
case 4 /* KHZ_44_1 */:
|
|
272
|
+
case 4 /* AudioRecordingSamplerate.KHZ_44_1 */:
|
|
273
273
|
samplerate = "44.1";
|
|
274
274
|
break;
|
|
275
|
-
case 5 /* KHZ_48 */:
|
|
275
|
+
case 5 /* AudioRecordingSamplerate.KHZ_48 */:
|
|
276
276
|
samplerate = "48";
|
|
277
277
|
break;
|
|
278
278
|
default:
|
|
279
279
|
throw new Error("Unsupported audio samplerate: " + this.configuration.audioCodec.samplerate);
|
|
280
280
|
}
|
|
281
281
|
audioArgs = ((_b = (_a = this.controller) === null || _a === void 0 ? void 0 : _a.recordingManagement) === null || _b === void 0 ? void 0 : _b.recordingManagementService.getCharacteristic(__1.Characteristic.RecordingAudioActive))
|
|
282
|
-
?
|
|
282
|
+
? tslib_1.__spreadArray(tslib_1.__spreadArray([
|
|
283
283
|
"-acodec", "libfdk_aac"
|
|
284
|
-
],
|
|
284
|
+
], tslib_1.__read((this.configuration.audioCodec.type === 0 /* AudioRecordingCodecType.AAC_LC */ ?
|
|
285
285
|
["-profile:a", "aac_low"] :
|
|
286
286
|
["-profile:a", "aac_eld"])), false), [
|
|
287
287
|
"-ar",
|
|
@@ -293,71 +293,80 @@ var ExampleCamera = /** @class */ (function () {
|
|
|
293
293
|
], false) : [];
|
|
294
294
|
this.server = new MP4StreamingServer("ffmpeg", "-f lavfi -i testsrc=s=".concat(this.configuration.videoCodec.resolution[0], "x").concat(this.configuration.videoCodec.resolution[1], ":r=").concat(this.configuration.videoCodec.resolution[2])
|
|
295
295
|
.split(/ /g), audioArgs, videoArgs);
|
|
296
|
-
return [4 /*yield*/,
|
|
296
|
+
return [4 /*yield*/, tslib_1.__await(this.server.start())];
|
|
297
297
|
case 1:
|
|
298
|
-
|
|
298
|
+
_k.sent();
|
|
299
299
|
if (!(!this.server || this.server.destroyed)) return [3 /*break*/, 3];
|
|
300
|
-
return [4 /*yield*/,
|
|
301
|
-
case 2: return [2 /*return*/,
|
|
300
|
+
return [4 /*yield*/, tslib_1.__await(void 0)];
|
|
301
|
+
case 2: return [2 /*return*/, _k.sent()]; // early exit
|
|
302
302
|
case 3:
|
|
303
303
|
pending = [];
|
|
304
|
-
|
|
304
|
+
_k.label = 4;
|
|
305
305
|
case 4:
|
|
306
|
-
|
|
307
|
-
|
|
306
|
+
_k.trys.push([4, 22, , 23]);
|
|
307
|
+
_k.label = 5;
|
|
308
308
|
case 5:
|
|
309
|
-
|
|
310
|
-
_d =
|
|
311
|
-
|
|
312
|
-
case 6: return [4 /*yield*/,
|
|
309
|
+
_k.trys.push([5, 15, 16, 21]);
|
|
310
|
+
_d = true, _e = tslib_1.__asyncValues(this.server.generator());
|
|
311
|
+
_k.label = 6;
|
|
312
|
+
case 6: return [4 /*yield*/, tslib_1.__await(_e.next())];
|
|
313
313
|
case 7:
|
|
314
|
-
if (!(
|
|
315
|
-
|
|
314
|
+
if (!(_f = _k.sent(), _g = _f.done, !_g)) return [3 /*break*/, 14];
|
|
315
|
+
_j = _f.value;
|
|
316
|
+
_d = false;
|
|
317
|
+
_k.label = 8;
|
|
318
|
+
case 8:
|
|
319
|
+
_k.trys.push([8, , 12, 13]);
|
|
320
|
+
box = _j;
|
|
316
321
|
pending.push(box.header, box.data);
|
|
317
322
|
motionDetected = (_c = camera.getService(__1.Service.MotionSensor)) === null || _c === void 0 ? void 0 : _c.getCharacteristic(__1.Characteristic.MotionDetected).value;
|
|
318
323
|
console.log("mp4 box type " + box.type + " and length " + box.length);
|
|
319
|
-
if (!(box.type === "moov" || box.type === "mdat")) return [3 /*break*/,
|
|
324
|
+
if (!(box.type === "moov" || box.type === "mdat")) return [3 /*break*/, 11];
|
|
320
325
|
fragment = Buffer.concat(pending);
|
|
321
326
|
pending.splice(0, pending.length);
|
|
322
327
|
isLast = STOP_AFTER_MOTION_STOP && !motionDetected;
|
|
323
|
-
return [4 /*yield*/,
|
|
328
|
+
return [4 /*yield*/, tslib_1.__await({
|
|
324
329
|
data: fragment,
|
|
325
330
|
isLast: isLast,
|
|
326
331
|
})];
|
|
327
|
-
case
|
|
328
|
-
case
|
|
329
|
-
|
|
332
|
+
case 9: return [4 /*yield*/, _k.sent()];
|
|
333
|
+
case 10:
|
|
334
|
+
_k.sent();
|
|
330
335
|
if (isLast) {
|
|
331
336
|
console.log("Ending session due to motion stopped!");
|
|
332
|
-
return [3 /*break*/,
|
|
337
|
+
return [3 /*break*/, 14];
|
|
333
338
|
}
|
|
334
|
-
|
|
335
|
-
case
|
|
336
|
-
case 11: return [3 /*break*/, 18];
|
|
339
|
+
_k.label = 11;
|
|
340
|
+
case 11: return [3 /*break*/, 13];
|
|
337
341
|
case 12:
|
|
338
|
-
|
|
342
|
+
_d = true;
|
|
343
|
+
return [7 /*endfinally*/];
|
|
344
|
+
case 13: return [3 /*break*/, 6];
|
|
345
|
+
case 14: return [3 /*break*/, 21];
|
|
346
|
+
case 15:
|
|
347
|
+
e_1_1 = _k.sent();
|
|
339
348
|
e_1 = { error: e_1_1 };
|
|
340
|
-
return [3 /*break*/,
|
|
341
|
-
case 13:
|
|
342
|
-
_g.trys.push([13, , 16, 17]);
|
|
343
|
-
if (!(_e && !_e.done && (_f = _d.return))) return [3 /*break*/, 15];
|
|
344
|
-
return [4 /*yield*/, (0, tslib_1.__await)(_f.call(_d))];
|
|
345
|
-
case 14:
|
|
346
|
-
_g.sent();
|
|
347
|
-
_g.label = 15;
|
|
348
|
-
case 15: return [3 /*break*/, 17];
|
|
349
|
+
return [3 /*break*/, 21];
|
|
349
350
|
case 16:
|
|
350
|
-
|
|
351
|
-
return [
|
|
352
|
-
|
|
351
|
+
_k.trys.push([16, , 19, 20]);
|
|
352
|
+
if (!(!_d && !_g && (_h = _e.return))) return [3 /*break*/, 18];
|
|
353
|
+
return [4 /*yield*/, tslib_1.__await(_h.call(_e))];
|
|
354
|
+
case 17:
|
|
355
|
+
_k.sent();
|
|
356
|
+
_k.label = 18;
|
|
353
357
|
case 18: return [3 /*break*/, 20];
|
|
354
358
|
case 19:
|
|
355
|
-
|
|
359
|
+
if (e_1) throw e_1.error;
|
|
360
|
+
return [7 /*endfinally*/];
|
|
361
|
+
case 20: return [7 /*endfinally*/];
|
|
362
|
+
case 21: return [3 /*break*/, 23];
|
|
363
|
+
case 22:
|
|
364
|
+
error_1 = _k.sent();
|
|
356
365
|
if (!error_1.message.startsWith("FFMPEG")) { // cheap way of identifying our own emitted errors
|
|
357
366
|
console.error("Encountered unexpected error on generator " + error_1.stack);
|
|
358
367
|
}
|
|
359
|
-
return [3 /*break*/,
|
|
360
|
-
case
|
|
368
|
+
return [3 /*break*/, 23];
|
|
369
|
+
case 23: return [2 /*return*/];
|
|
361
370
|
}
|
|
362
371
|
});
|
|
363
372
|
});
|
|
@@ -388,17 +397,17 @@ var MP4StreamingServer = /** @class */ (function () {
|
|
|
388
397
|
this.server = (0, net_1.createServer)(this.handleConnection.bind(this));
|
|
389
398
|
this.ffmpegPath = ffmpegPath;
|
|
390
399
|
this.args = [];
|
|
391
|
-
(_a = this.args).push.apply(_a,
|
|
392
|
-
(_b = this.args).push.apply(_b,
|
|
400
|
+
(_a = this.args).push.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(ffmpegInput), false));
|
|
401
|
+
(_b = this.args).push.apply(_b, tslib_1.__spreadArray([], tslib_1.__read(audioOutputArgs), false));
|
|
393
402
|
this.args.push("-f", "mp4");
|
|
394
|
-
(_c = this.args).push.apply(_c,
|
|
403
|
+
(_c = this.args).push.apply(_c, tslib_1.__spreadArray([], tslib_1.__read(videoOutputArgs), false));
|
|
395
404
|
this.args.push("-fflags", "+genpts", "-reset_timestamps", "1");
|
|
396
405
|
this.args.push("-movflags", "frag_keyframe+empty_moov+default_base_moof");
|
|
397
406
|
}
|
|
398
407
|
MP4StreamingServer.prototype.start = function () {
|
|
399
|
-
return
|
|
408
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
400
409
|
var promise, port;
|
|
401
|
-
return
|
|
410
|
+
return tslib_1.__generator(this, function (_a) {
|
|
402
411
|
switch (_a.label) {
|
|
403
412
|
case 0:
|
|
404
413
|
promise = (0, events_1.once)(this.server, "listening");
|
|
@@ -444,11 +453,11 @@ var MP4StreamingServer = /** @class */ (function () {
|
|
|
444
453
|
* Throws error to signal EOF when socket is closed.
|
|
445
454
|
*/
|
|
446
455
|
MP4StreamingServer.prototype.generator = function () {
|
|
447
|
-
return
|
|
456
|
+
return tslib_1.__asyncGenerator(this, arguments, function generator_1() {
|
|
448
457
|
var header, length, type, data;
|
|
449
|
-
return
|
|
458
|
+
return tslib_1.__generator(this, function (_a) {
|
|
450
459
|
switch (_a.label) {
|
|
451
|
-
case 0: return [4 /*yield*/,
|
|
460
|
+
case 0: return [4 /*yield*/, tslib_1.__await(this.connectPromise)];
|
|
452
461
|
case 1:
|
|
453
462
|
_a.sent();
|
|
454
463
|
if (!this.socket || !this.childProcess) {
|
|
@@ -458,15 +467,15 @@ var MP4StreamingServer = /** @class */ (function () {
|
|
|
458
467
|
_a.label = 2;
|
|
459
468
|
case 2:
|
|
460
469
|
if (!true) return [3 /*break*/, 7];
|
|
461
|
-
return [4 /*yield*/,
|
|
470
|
+
return [4 /*yield*/, tslib_1.__await(this.read(8))];
|
|
462
471
|
case 3:
|
|
463
472
|
header = _a.sent();
|
|
464
473
|
length = header.readInt32BE(0) - 8;
|
|
465
474
|
type = header.slice(4).toString();
|
|
466
|
-
return [4 /*yield*/,
|
|
475
|
+
return [4 /*yield*/, tslib_1.__await(this.read(length))];
|
|
467
476
|
case 4:
|
|
468
477
|
data = _a.sent();
|
|
469
|
-
return [4 /*yield*/,
|
|
478
|
+
return [4 /*yield*/, tslib_1.__await({
|
|
470
479
|
header: header,
|
|
471
480
|
length: length,
|
|
472
481
|
type: type,
|
|
@@ -482,10 +491,10 @@ var MP4StreamingServer = /** @class */ (function () {
|
|
|
482
491
|
});
|
|
483
492
|
};
|
|
484
493
|
MP4StreamingServer.prototype.read = function (length) {
|
|
485
|
-
return
|
|
494
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
486
495
|
var value;
|
|
487
496
|
var _this = this;
|
|
488
|
-
return
|
|
497
|
+
return tslib_1.__generator(this, function (_a) {
|
|
489
498
|
if (!this.socket) {
|
|
490
499
|
throw Error("FFMPEG tried reading from closed socket!");
|
|
491
500
|
}
|
|
@@ -533,11 +542,11 @@ var cameraController = new __1.CameraController({
|
|
|
533
542
|
streamingOptions: {
|
|
534
543
|
// srtp: true, // legacy option which will just enable AES_CM_128_HMAC_SHA1_80 (can still be used though)
|
|
535
544
|
// NONE is not supported by iOS just there for testing with Wireshark for example
|
|
536
|
-
supportedCryptoSuites: [2 /* NONE */, 0 /* AES_CM_128_HMAC_SHA1_80 */],
|
|
545
|
+
supportedCryptoSuites: [2 /* SRTPCryptoSuites.NONE */, 0 /* SRTPCryptoSuites.AES_CM_128_HMAC_SHA1_80 */],
|
|
537
546
|
video: {
|
|
538
547
|
codec: {
|
|
539
|
-
profiles: [0 /* BASELINE */, 1 /* MAIN */, 2 /* HIGH */],
|
|
540
|
-
levels: [0 /* LEVEL3_1 */, 1 /* LEVEL3_2 */, 2 /* LEVEL4_0 */],
|
|
548
|
+
profiles: [0 /* H264Profile.BASELINE */, 1 /* H264Profile.MAIN */, 2 /* H264Profile.HIGH */],
|
|
549
|
+
levels: [0 /* H264Level.LEVEL3_1 */, 1 /* H264Level.LEVEL3_2 */, 2 /* H264Level.LEVEL4_0 */],
|
|
541
550
|
},
|
|
542
551
|
resolutions: [
|
|
543
552
|
[1920, 1080, 30],
|
|
@@ -570,14 +579,14 @@ var cameraController = new __1.CameraController({
|
|
|
570
579
|
options: {
|
|
571
580
|
prebufferLength: 4000,
|
|
572
581
|
mediaContainerConfiguration: {
|
|
573
|
-
type: 0 /* FRAGMENTED_MP4 */,
|
|
582
|
+
type: 0 /* MediaContainerType.FRAGMENTED_MP4 */,
|
|
574
583
|
fragmentLength: 4000,
|
|
575
584
|
},
|
|
576
585
|
video: {
|
|
577
|
-
type: 0 /* H264 */,
|
|
586
|
+
type: 0 /* VideoCodecType.H264 */,
|
|
578
587
|
parameters: {
|
|
579
|
-
profiles: [2 /* HIGH */],
|
|
580
|
-
levels: [2 /* LEVEL4_0 */],
|
|
588
|
+
profiles: [2 /* H264Profile.HIGH */],
|
|
589
|
+
levels: [2 /* H264Level.LEVEL4_0 */],
|
|
581
590
|
},
|
|
582
591
|
resolutions: [
|
|
583
592
|
[320, 180, 30],
|
|
@@ -595,10 +604,10 @@ var cameraController = new __1.CameraController({
|
|
|
595
604
|
},
|
|
596
605
|
audio: {
|
|
597
606
|
codecs: {
|
|
598
|
-
type: 1 /* AAC_ELD */,
|
|
607
|
+
type: 1 /* AudioRecordingCodecType.AAC_ELD */,
|
|
599
608
|
audioChannels: 1,
|
|
600
|
-
samplerate: 5 /* KHZ_48 */,
|
|
601
|
-
bitrateMode: 0 /* VARIABLE */,
|
|
609
|
+
samplerate: 5 /* AudioRecordingSamplerate.KHZ_48 */,
|
|
610
|
+
bitrateMode: 0 /* AudioBitrate.VARIABLE */,
|
|
602
611
|
},
|
|
603
612
|
},
|
|
604
613
|
},
|