hap-nodejs 0.12.3-beta.24 → 0.12.3-beta.26
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.d.ts +2 -0
- package/dist/BridgedCore.d.ts.map +1 -0
- package/dist/BridgedCore.js +42 -0
- package/dist/BridgedCore.js.map +1 -0
- package/dist/Core.d.ts +2 -0
- package/dist/Core.d.ts.map +1 -0
- package/dist/Core.js +49 -0
- package/dist/Core.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/Accessory.d.ts +58 -1
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +92 -3
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/AccessoryLoader.d.ts +28 -0
- package/dist/lib/AccessoryLoader.d.ts.map +1 -0
- package/dist/lib/AccessoryLoader.js +166 -0
- package/dist/lib/AccessoryLoader.js.map +1 -0
- package/dist/lib/Advertiser.d.ts +2 -1
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +2 -2
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +133 -2
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +169 -0
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +10 -0
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +15 -1
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +51 -1
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +45 -0
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/Camera.d.ts +43 -0
- package/dist/lib/camera/Camera.d.ts.map +1 -0
- package/dist/lib/camera/Camera.js +36 -0
- package/dist/lib/camera/Camera.js.map +1 -0
- package/dist/lib/camera/RTPStreamManagement.d.ts +65 -0
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +51 -1
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/index.d.ts +1 -0
- 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/CameraController.d.ts +4 -0
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +8 -0
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +14 -0
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +18 -1
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +5 -0
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts +106 -1
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +232 -6
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts +32 -0
- package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +97 -2
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/util/tlv.d.ts +27 -0
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +46 -22
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.d.ts +9 -0
- package/dist/lib/util/uuid.d.ts.map +1 -1
- package/dist/lib/util/uuid.js +14 -0
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BridgedCore.d.ts","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
5
|
+
const node_persist_1 = tslib_1.__importDefault(require("node-persist"));
|
|
6
|
+
const _1 = require("./");
|
|
7
|
+
console.log(`HAP-NodeJS v${(0, _1.HAPLibraryVersion)()} starting...`);
|
|
8
|
+
console.warn("DEPRECATION NOTICE: The use of Core and BridgeCore is deprecated and is scheduled to be removed in a future version.");
|
|
9
|
+
console.warn("For more information and some guidance on how to migrate, have a look at"
|
|
10
|
+
+ " https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore");
|
|
11
|
+
// Initialize our storage system
|
|
12
|
+
node_persist_1.default.initSync();
|
|
13
|
+
// Start by creating our Bridge which will host all loaded Accessories
|
|
14
|
+
const bridge = new _1.Bridge("Node Bridge", _1.uuid.generate("Node Bridge"));
|
|
15
|
+
// Listen for bridge identification event
|
|
16
|
+
bridge.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
17
|
+
console.log("Node Bridge identify");
|
|
18
|
+
callback(); // success
|
|
19
|
+
});
|
|
20
|
+
// Load up all accessories in the /accessories folder
|
|
21
|
+
const dir = path_1.default.join(__dirname, "accessories");
|
|
22
|
+
const accessories = _1.AccessoryLoader.loadDirectory(dir);
|
|
23
|
+
// Add them all to the bridge
|
|
24
|
+
accessories.forEach((accessory) => {
|
|
25
|
+
bridge.addBridgedAccessory(accessory);
|
|
26
|
+
});
|
|
27
|
+
// Publish the Bridge on the local network.
|
|
28
|
+
bridge.publish({
|
|
29
|
+
username: "CC:22:3D:E3:CE:F6",
|
|
30
|
+
port: 51826,
|
|
31
|
+
pincode: "031-45-154",
|
|
32
|
+
category: 2 /* Categories.BRIDGE */,
|
|
33
|
+
});
|
|
34
|
+
const signals = { "SIGINT": 2, "SIGTERM": 15 };
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
Object.keys(signals).forEach((signal) => {
|
|
37
|
+
process.on(signal, () => {
|
|
38
|
+
bridge.unpublish()
|
|
39
|
+
.then(() => setTimeout(() => process.exit(128 + signals[signal]), 1000));
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=BridgedCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BridgedCore.js","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAExB,wEAAmC;AAEnC,yBAAgI;AAEhI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,oBAAiB,GAAE,cAAc,CAAC,CAAC;AAE9D,OAAO,CAAC,IAAI,CAAC,sHAAsH,CAAC,CAAC;AACrI,OAAO,CAAC,IAAI,CAAC,0EAA0E;MACnF,mFAAmF,CAAC,CAAC;AAEzF,gCAAgC;AAChC,sBAAO,CAAC,QAAQ,EAAE,CAAC;AAEnB,sEAAsE;AACtE,MAAM,MAAM,GAAG,IAAI,SAAM,CAAC,aAAa,EAAE,OAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAEvE,yCAAyC;AACzC,MAAM,CAAC,EAAE,gDAA+B,CAAC,MAAe,EAAE,QAAsB,EAAE,EAAE;IAClF,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,UAAU;AACxB,CAAC,CAAC,CAAC;AAEH,qDAAqD;AACrD,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,kBAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAEvD,6BAA6B;AAC7B,WAAW,CAAC,OAAO,CAAC,CAAC,SAAoB,EAAE,EAAE;IAC3C,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,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAA4B,CAAC;AACzE,8DAA8D;AAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;IAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,SAAS,EAAE;aACf,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/Core.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":""}
|
package/dist/Core.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
5
|
+
const node_persist_1 = tslib_1.__importDefault(require("node-persist"));
|
|
6
|
+
const _1 = require("./");
|
|
7
|
+
console.log(`HAP-NodeJS v${(0, _1.HAPLibraryVersion)()} starting...`);
|
|
8
|
+
console.warn("DEPRECATION NOTICE: The use of Core and BridgeCore is deprecated and is scheduled to be removed in a future version.");
|
|
9
|
+
console.warn("For more information and some guidance on how to migrate, have a look at"
|
|
10
|
+
+ " https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore");
|
|
11
|
+
// Initialize our storage system
|
|
12
|
+
node_persist_1.default.initSync();
|
|
13
|
+
// Our Accessories will each have their own HAP server; we will assign ports sequentially
|
|
14
|
+
let targetPort = 51826;
|
|
15
|
+
// Load up all accessories in the /accessories folder
|
|
16
|
+
const dir = path_1.default.join(__dirname, "accessories");
|
|
17
|
+
const accessories = _1.AccessoryLoader.loadDirectory(dir);
|
|
18
|
+
// Publish them all separately (as opposed to BridgedCore which publishes them behind a single Bridge accessory)
|
|
19
|
+
accessories.forEach((accessory) => {
|
|
20
|
+
// To push Accessories separately, we'll need a few extra properties
|
|
21
|
+
// @ts-expect-error: Core/BridgeCore API
|
|
22
|
+
if (!accessory.username) {
|
|
23
|
+
throw new Error("Username not found on accessory '" + accessory.displayName +
|
|
24
|
+
"'. Core.js requires all accessories to define a unique 'username' property.");
|
|
25
|
+
}
|
|
26
|
+
// @ts-expect-error: Core/BridgeCore API
|
|
27
|
+
if (!accessory.pincode) {
|
|
28
|
+
throw new Error("Pincode not found on accessory '" + accessory.displayName +
|
|
29
|
+
"'. Core.js requires all accessories to define a 'pincode' property.");
|
|
30
|
+
}
|
|
31
|
+
// publish this Accessory on the local network
|
|
32
|
+
accessory.publish({
|
|
33
|
+
port: targetPort++,
|
|
34
|
+
// @ts-expect-error: Core/BridgeCore API
|
|
35
|
+
username: accessory.username,
|
|
36
|
+
// @ts-expect-error: Core/BridgeCore API
|
|
37
|
+
pincode: accessory.pincode,
|
|
38
|
+
category: accessory.category,
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
const signals = { "SIGINT": 2, "SIGTERM": 15 };
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
Object.keys(signals).forEach((signal) => {
|
|
44
|
+
process.on(signal, () => {
|
|
45
|
+
Promise.all(accessories.map(a => a.unpublish()))
|
|
46
|
+
.then(() => setTimeout(() => process.exit(128 + signals[signal]), 1000));
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=Core.js.map
|
package/dist/Core.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAExB,wEAAmC;AAEnC,yBAAwD;AAExD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAA,oBAAiB,GAAE,cAAc,CAAC,CAAC;AAE9D,OAAO,CAAC,IAAI,CAAC,sHAAsH,CAAC,CAAC;AACrI,OAAO,CAAC,IAAI,CAAC,0EAA0E;MACnF,mFAAmF,CAAC,CAAC;AAEzF,gCAAgC;AAChC,sBAAO,CAAC,QAAQ,EAAE,CAAC;AAEnB,yFAAyF;AACzF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,qDAAqD;AACrD,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,kBAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAEvD,gHAAgH;AAChH,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;IAEhC,oEAAoE;IACpE,wCAAwC;IACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,SAAS,CAAC,WAAW;YACzE,6EAA6E,CAAC,CAAC;IACnF,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,SAAS,CAAC,WAAW;YACxE,qEAAqE,CAAC,CAAC;IAC3E,CAAC;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,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAA4B,CAAC;AACzE,8DAA8D;AAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;IAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;aAC7C,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import "source-map-support/register";
|
|
2
2
|
import "./lib/definitions";
|
|
3
|
+
/**
|
|
4
|
+
* @group Utils
|
|
5
|
+
*/
|
|
6
|
+
export * as AccessoryLoader from "./lib/AccessoryLoader";
|
|
3
7
|
/**
|
|
4
8
|
* @group Utils
|
|
5
9
|
*/
|
|
@@ -9,6 +13,7 @@ export * from "./lib/Accessory";
|
|
|
9
13
|
export * from "./lib/Bridge";
|
|
10
14
|
export * from "./lib/Service";
|
|
11
15
|
export * from "./lib/Characteristic";
|
|
16
|
+
export * from "./lib/AccessoryLoader";
|
|
12
17
|
export * from "./lib/camera";
|
|
13
18
|
export * from "./lib/tv/AccessControlManagement";
|
|
14
19
|
export * from "./lib/HAPServer";
|
|
@@ -34,6 +39,15 @@ export * as LegacyTypes from "./accessories/types";
|
|
|
34
39
|
* @group Utils
|
|
35
40
|
*/
|
|
36
41
|
export declare function HAPLibraryVersion(): string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param {string} storagePath
|
|
45
|
+
* @deprecated the need to manually initialize the internal storage was removed. If you want to set a custom
|
|
46
|
+
* storage path location, please use {@link HAPStorage.setCustomStoragePath} directly.
|
|
47
|
+
*
|
|
48
|
+
* @group Utils
|
|
49
|
+
*/
|
|
50
|
+
export declare function init(storagePath?: string): void;
|
|
37
51
|
import * as Services from "./lib/definitions/ServiceDefinitions";
|
|
38
52
|
import * as Characteristics from "./lib/definitions/CharacteristicDefinitions";
|
|
39
53
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,mBAAmB,CAAC;AAI3B;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,SAAS,CAAC;AACxB;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AAInD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAOD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAO/C;AAED,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAC;AACjE,OAAO,KAAK,eAAe,MAAM,6CAA6C,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,QAAQ,EACR,eAAe,GAChB,CAAC;CACH"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LegacyTypes = exports.uuid = void 0;
|
|
3
|
+
exports.LegacyTypes = exports.uuid = exports.AccessoryLoader = void 0;
|
|
4
4
|
exports.HAPLibraryVersion = HAPLibraryVersion;
|
|
5
|
+
exports.init = init;
|
|
5
6
|
const tslib_1 = require("tslib");
|
|
6
7
|
require("source-map-support/register"); // registering node-source-map-support for typescript stack traces
|
|
7
8
|
require("./lib/definitions"); // must be loaded before Characteristic and Service class
|
|
8
9
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
10
|
+
const HAPStorage_1 = require("./lib/model/HAPStorage");
|
|
11
|
+
/**
|
|
12
|
+
* @group Utils
|
|
13
|
+
*/
|
|
14
|
+
exports.AccessoryLoader = tslib_1.__importStar(require("./lib/AccessoryLoader"));
|
|
9
15
|
/**
|
|
10
16
|
* @group Utils
|
|
11
17
|
*/
|
|
@@ -15,6 +21,7 @@ tslib_1.__exportStar(require("./lib/Accessory"), exports);
|
|
|
15
21
|
tslib_1.__exportStar(require("./lib/Bridge"), exports);
|
|
16
22
|
tslib_1.__exportStar(require("./lib/Service"), exports);
|
|
17
23
|
tslib_1.__exportStar(require("./lib/Characteristic"), exports);
|
|
24
|
+
tslib_1.__exportStar(require("./lib/AccessoryLoader"), exports);
|
|
18
25
|
tslib_1.__exportStar(require("./lib/camera"), exports);
|
|
19
26
|
tslib_1.__exportStar(require("./lib/tv/AccessControlManagement"), exports);
|
|
20
27
|
tslib_1.__exportStar(require("./lib/HAPServer"), exports);
|
|
@@ -49,4 +56,20 @@ function printInit() {
|
|
|
49
56
|
debug("Initializing HAP-NodeJS v%s ...", HAPLibraryVersion());
|
|
50
57
|
}
|
|
51
58
|
printInit();
|
|
59
|
+
/**
|
|
60
|
+
*
|
|
61
|
+
* @param {string} storagePath
|
|
62
|
+
* @deprecated the need to manually initialize the internal storage was removed. If you want to set a custom
|
|
63
|
+
* storage path location, please use {@link HAPStorage.setCustomStoragePath} directly.
|
|
64
|
+
*
|
|
65
|
+
* @group Utils
|
|
66
|
+
*/
|
|
67
|
+
function init(storagePath) {
|
|
68
|
+
console.log("DEPRECATED: The need to manually initialize HAP (by calling the init method) was removed. " +
|
|
69
|
+
"If you want to set a custom storage path location, please ust HAPStorage.setCustomStoragePath directly. " +
|
|
70
|
+
"This method will be removed in the next major update!");
|
|
71
|
+
if (storagePath) {
|
|
72
|
+
HAPStorage_1.HAPStorage.setCustomStoragePath(storagePath);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
52
75
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAgDA,8CAIC;AAeD,oBAOC;;AA1ED,uCAAqC,CAAC,kEAAkE;AACxG,6BAA2B,CAAC,yDAAyD;AACrF,0DAAgC;AAChC,uDAAoD;AAEpD;;GAEG;AACH,iFAAyD;AACzD;;GAEG;AACH,gEAAwC;AACxC,iEAAuC;AACvC,0DAAgC;AAChC,uDAA6B;AAC7B,wDAA8B;AAC9B,+DAAqC;AACrC,gEAAsC;AACtC,uDAA6B;AAC7B,2EAAiD;AACjD,0DAAgC;AAChC,2DAAiC;AACjC,2DAAiC;AACjC,oEAA0C;AAE1C,2DAAiC;AACjC,0DAAgC;AAChC,yDAA+B;AAC/B,oEAA0C;AAC1C,iEAAuC;AACvC,0DAAgC;AAChC,iEAAuC;AAEvC,kDAAwB;AACxB;;GAEG;AACH,2EAAmD;AAEnD,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,uBAAuB,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,SAAgB,iBAAiB;IAC/B,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS;IAChB,KAAK,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAChE,CAAC;AACD,SAAS,EAAE,CAAC;AAEZ;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,WAAoB;IACvC,OAAO,CAAC,GAAG,CAAC,4FAA4F;QACtG,0GAA0G;QAC1G,uDAAuD,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE,CAAC;QAChB,uBAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
|
package/dist/lib/Accessory.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { MulticastOptions } from "bonjour-hap";
|
|
1
2
|
import { EventEmitter } from "events";
|
|
2
3
|
import { ConstructorArgs, HAPPincode, InterfaceName, IPAddress, MacAddress, Nullable, VoidCallback, WithUUID } from "../types";
|
|
3
4
|
import { Advertiser } from "./Advertiser";
|
|
5
|
+
import { LegacyCameraSource } from "./camera";
|
|
4
6
|
import { Characteristic } from "./Characteristic";
|
|
5
|
-
import { Controller, ControllerConstructor, ControllerIdentifier, ControllerServiceMap } from "./controller";
|
|
7
|
+
import { CameraController, Controller, ControllerConstructor, ControllerIdentifier, ControllerServiceMap } from "./controller";
|
|
6
8
|
import { HAPServer } from "./HAPServer";
|
|
7
9
|
import { AccessoryInfo } from "./model/AccessoryInfo";
|
|
8
10
|
import { ControllerStorage } from "./model/ControllerStorage";
|
|
@@ -105,6 +107,11 @@ export interface CharacteristicWarning {
|
|
|
105
107
|
originatorChain: string[];
|
|
106
108
|
stack?: string;
|
|
107
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* @group Characteristic
|
|
112
|
+
* @deprecated
|
|
113
|
+
*/
|
|
114
|
+
export type CharacteristicEvents = Record<string, any>;
|
|
108
115
|
/**
|
|
109
116
|
* @group Accessory
|
|
110
117
|
*/
|
|
@@ -178,6 +185,11 @@ export interface PublishInfo {
|
|
|
178
185
|
* When undefined port 0 will be used resulting in a random port.
|
|
179
186
|
*/
|
|
180
187
|
port?: number;
|
|
188
|
+
/**
|
|
189
|
+
* Used to define custom MDNS options. Is not used anymore.
|
|
190
|
+
* @deprecated
|
|
191
|
+
*/
|
|
192
|
+
mdns?: MulticastOptions;
|
|
181
193
|
/**
|
|
182
194
|
* If this option is set to true, HAP-NodeJS will add identifying material (based on {@link username})
|
|
183
195
|
* to the end of the accessory display name (and bonjour instance name).
|
|
@@ -188,6 +200,11 @@ export interface PublishInfo {
|
|
|
188
200
|
* Defines the advertiser used with the published Accessory.
|
|
189
201
|
*/
|
|
190
202
|
advertiser?: MDNSAdvertiser;
|
|
203
|
+
/**
|
|
204
|
+
* Use the legacy bonjour-hap as advertiser.
|
|
205
|
+
* @deprecated
|
|
206
|
+
*/
|
|
207
|
+
useLegacyAdvertiser?: boolean;
|
|
191
208
|
}
|
|
192
209
|
/**
|
|
193
210
|
* @group Accessory
|
|
@@ -226,6 +243,11 @@ export type AccessoryCharacteristicChange = ServiceCharacteristicChange & {
|
|
|
226
243
|
export interface ServiceConfigurationChange {
|
|
227
244
|
service: Service;
|
|
228
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* @deprecated Use AccessoryEventTypes instead
|
|
248
|
+
* @group Accessory
|
|
249
|
+
*/
|
|
250
|
+
export type EventAccessory = "identify" | "listening" | "service-configurationChange" | "service-characteristic-change";
|
|
229
251
|
/**
|
|
230
252
|
* @group Accessory
|
|
231
253
|
*/
|
|
@@ -293,6 +315,10 @@ export declare interface Accessory {
|
|
|
293
315
|
export declare class Accessory extends EventEmitter {
|
|
294
316
|
displayName: string;
|
|
295
317
|
UUID: string;
|
|
318
|
+
/**
|
|
319
|
+
* @deprecated Please use the Categories const enum above.
|
|
320
|
+
*/
|
|
321
|
+
static Categories: typeof Categories;
|
|
296
322
|
private static readonly TIMEOUT_WARNING;
|
|
297
323
|
private static readonly TIMEOUT_AFTER_WARNING;
|
|
298
324
|
aid: Nullable<number>;
|
|
@@ -365,6 +391,10 @@ export declare class Accessory extends EventEmitter {
|
|
|
365
391
|
* @returns Returns the constructed service instance.
|
|
366
392
|
*/
|
|
367
393
|
addService<S extends typeof Service>(serviceConstructor: S, ...constructorArgs: ConstructorArgs<S>): Service;
|
|
394
|
+
/**
|
|
395
|
+
* @deprecated use {@link Service.setPrimaryService} directly
|
|
396
|
+
*/
|
|
397
|
+
setPrimaryService(service: Service): void;
|
|
368
398
|
removeService(service: Service): void;
|
|
369
399
|
private removeLinkedService;
|
|
370
400
|
getService<T extends WithUUID<typeof Service>>(name: string | T): Service | undefined;
|
|
@@ -376,6 +406,10 @@ export declare class Accessory extends EventEmitter {
|
|
|
376
406
|
* @returns the primary accessory
|
|
377
407
|
*/
|
|
378
408
|
getPrimaryAccessory: () => Accessory;
|
|
409
|
+
/**
|
|
410
|
+
* @deprecated Not supported anymore
|
|
411
|
+
*/
|
|
412
|
+
updateReachability(reachable: boolean): void;
|
|
379
413
|
addBridgedAccessory(accessory: Accessory, deferUpdate?: boolean): Accessory;
|
|
380
414
|
addBridgedAccessories(accessories: Accessory[]): void;
|
|
381
415
|
removeBridgedAccessory(accessory: Accessory, deferUpdate?: boolean): void;
|
|
@@ -384,6 +418,29 @@ export declare class Accessory extends EventEmitter {
|
|
|
384
418
|
private getCharacteristicByIID;
|
|
385
419
|
protected getAccessoryByAID(aid: number): Accessory | undefined;
|
|
386
420
|
protected findCharacteristic(aid: number, iid: number): Characteristic | undefined;
|
|
421
|
+
/**
|
|
422
|
+
* Method is used to configure an old style CameraSource.
|
|
423
|
+
* The CameraSource API was fully replaced by the new Controller API used by {@link CameraController}.
|
|
424
|
+
* The {@link CameraStreamingDelegate} used by the CameraController is the equivalent to the old CameraSource.
|
|
425
|
+
*
|
|
426
|
+
* The new Controller API is much more refined and robust way of "grouping" services together.
|
|
427
|
+
* It especially is intended to fully support serialization/deserialization to/from persistent storage.
|
|
428
|
+
* This feature is also gained when using the old style CameraSource API.
|
|
429
|
+
* The {@link CameraStreamingDelegate} improves on the overall camera API though and provides some reworked
|
|
430
|
+
* type definitions and a refined callback interface to better signal errors to the requesting HomeKit device.
|
|
431
|
+
* It is advised to update to it.
|
|
432
|
+
*
|
|
433
|
+
* Full backwards compatibility is currently maintained. A legacy CameraSource will be wrapped into an Adapter.
|
|
434
|
+
* All legacy StreamControllers in the "streamControllers" property will be replaced by CameraRTPManagement instances.
|
|
435
|
+
* Any services in the "services" property which are one of the following are ignored:
|
|
436
|
+
* - CameraRTPStreamManagement
|
|
437
|
+
* - CameraOperatingMode
|
|
438
|
+
* - CameraEventRecordingManagement
|
|
439
|
+
*
|
|
440
|
+
* @param cameraSource - The instance of the legacy camera source
|
|
441
|
+
* @deprecated please refer to the new {@link CameraController} API and {@link configureController}
|
|
442
|
+
*/
|
|
443
|
+
configureCameraSource(cameraSource: LegacyCameraSource): CameraController;
|
|
387
444
|
/**
|
|
388
445
|
* This method is used to set up a new Controller for this accessory. See {@link Controller} for a more detailed
|
|
389
446
|
* explanation what a Controller is and what it is capable of.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accessory.d.ts","sourceRoot":"","sources":["../../src/lib/Accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Accessory.d.ts","sourceRoot":"","sources":["../../src/lib/Accessory.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/Accessory.js
CHANGED
|
@@ -9,6 +9,7 @@ const events_1 = require("events");
|
|
|
9
9
|
const net_1 = tslib_1.__importDefault(require("net"));
|
|
10
10
|
const Advertiser_1 = require("./Advertiser");
|
|
11
11
|
// noinspection JSDeprecatedSymbols
|
|
12
|
+
const camera_1 = require("./camera");
|
|
12
13
|
const Characteristic_1 = require("./Characteristic");
|
|
13
14
|
const controller_1 = require("./controller");
|
|
14
15
|
const HAPServer_1 = require("./HAPServer");
|
|
@@ -166,9 +167,14 @@ var AccessoryEventTypes;
|
|
|
166
167
|
class Accessory extends events_1.EventEmitter {
|
|
167
168
|
displayName;
|
|
168
169
|
UUID;
|
|
169
|
-
|
|
170
|
+
/**
|
|
171
|
+
* @deprecated Please use the Categories const enum above.
|
|
172
|
+
*/
|
|
173
|
+
// @ts-expect-error: forceConsistentCasingInFileNames compiler option
|
|
174
|
+
static Categories = Categories;
|
|
175
|
+
/// Timeout in milliseconds until a characteristic warning is issue
|
|
170
176
|
static TIMEOUT_WARNING = 3000;
|
|
171
|
-
|
|
177
|
+
/// Timeout in milliseconds after `TIMEOUT_WARNING` until the operation on the characteristic is considered timed out.
|
|
172
178
|
static TIMEOUT_AFTER_WARNING = 6000;
|
|
173
179
|
// NOTICE: when adding/changing properties, remember to possibly adjust the serialize/deserialize functions
|
|
174
180
|
aid = null; // assigned by us in assignIDs() or by a Bridge
|
|
@@ -300,6 +306,12 @@ class Accessory extends events_1.EventEmitter {
|
|
|
300
306
|
this.setupServiceEventHandlers(service);
|
|
301
307
|
return service;
|
|
302
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* @deprecated use {@link Service.setPrimaryService} directly
|
|
311
|
+
*/
|
|
312
|
+
setPrimaryService(service) {
|
|
313
|
+
service.setPrimaryService();
|
|
314
|
+
}
|
|
303
315
|
removeService(service) {
|
|
304
316
|
const index = this.services.indexOf(service);
|
|
305
317
|
if (index >= 0) {
|
|
@@ -359,6 +371,16 @@ class Accessory extends events_1.EventEmitter {
|
|
|
359
371
|
getPrimaryAccessory = () => {
|
|
360
372
|
return this.bridged ? this.bridge : this;
|
|
361
373
|
};
|
|
374
|
+
/**
|
|
375
|
+
* @deprecated Not supported anymore
|
|
376
|
+
*/
|
|
377
|
+
updateReachability(reachable) {
|
|
378
|
+
if (!this.bridged) {
|
|
379
|
+
throw new Error("Cannot update reachability on non-bridged accessory!");
|
|
380
|
+
}
|
|
381
|
+
this.reachable = reachable;
|
|
382
|
+
debug("Reachability update is no longer being supported.");
|
|
383
|
+
}
|
|
362
384
|
addBridgedAccessory(accessory, deferUpdate = false) {
|
|
363
385
|
if (accessory._isBridge || accessory === this) {
|
|
364
386
|
throw new Error("Illegal state: either trying to bridge a bridge or trying to bridge itself!");
|
|
@@ -436,6 +458,56 @@ class Accessory extends events_1.EventEmitter {
|
|
|
436
458
|
const accessory = this.getAccessoryByAID(aid);
|
|
437
459
|
return accessory && accessory.getCharacteristicByIID(iid);
|
|
438
460
|
}
|
|
461
|
+
// noinspection JSDeprecatedSymbols
|
|
462
|
+
/**
|
|
463
|
+
* Method is used to configure an old style CameraSource.
|
|
464
|
+
* The CameraSource API was fully replaced by the new Controller API used by {@link CameraController}.
|
|
465
|
+
* The {@link CameraStreamingDelegate} used by the CameraController is the equivalent to the old CameraSource.
|
|
466
|
+
*
|
|
467
|
+
* The new Controller API is much more refined and robust way of "grouping" services together.
|
|
468
|
+
* It especially is intended to fully support serialization/deserialization to/from persistent storage.
|
|
469
|
+
* This feature is also gained when using the old style CameraSource API.
|
|
470
|
+
* The {@link CameraStreamingDelegate} improves on the overall camera API though and provides some reworked
|
|
471
|
+
* type definitions and a refined callback interface to better signal errors to the requesting HomeKit device.
|
|
472
|
+
* It is advised to update to it.
|
|
473
|
+
*
|
|
474
|
+
* Full backwards compatibility is currently maintained. A legacy CameraSource will be wrapped into an Adapter.
|
|
475
|
+
* All legacy StreamControllers in the "streamControllers" property will be replaced by CameraRTPManagement instances.
|
|
476
|
+
* Any services in the "services" property which are one of the following are ignored:
|
|
477
|
+
* - CameraRTPStreamManagement
|
|
478
|
+
* - CameraOperatingMode
|
|
479
|
+
* - CameraEventRecordingManagement
|
|
480
|
+
*
|
|
481
|
+
* @param cameraSource - The instance of the legacy camera source
|
|
482
|
+
* @deprecated please refer to the new {@link CameraController} API and {@link configureController}
|
|
483
|
+
*/
|
|
484
|
+
configureCameraSource(cameraSource) {
|
|
485
|
+
if (cameraSource.streamControllers.length === 0) {
|
|
486
|
+
throw new Error("Malformed legacy CameraSource. Did not expose any StreamControllers!");
|
|
487
|
+
}
|
|
488
|
+
const options = cameraSource.streamControllers[0].options; // grab options from one of the StreamControllers
|
|
489
|
+
const cameraControllerOptions = {
|
|
490
|
+
cameraStreamCount: cameraSource.streamControllers.length,
|
|
491
|
+
streamingOptions: options,
|
|
492
|
+
delegate: new camera_1.LegacyCameraSourceAdapter(cameraSource),
|
|
493
|
+
};
|
|
494
|
+
const cameraController = new controller_1.CameraController(cameraControllerOptions, true); // create CameraController in legacy mode
|
|
495
|
+
this.configureController(cameraController);
|
|
496
|
+
// we try here to be as good as possibly of keeping current behaviour
|
|
497
|
+
cameraSource.services.forEach(service => {
|
|
498
|
+
if (service.UUID === Service_1.Service.CameraRTPStreamManagement.UUID || service.UUID === Service_1.Service.CameraOperatingMode.UUID
|
|
499
|
+
|| service.UUID === Service_1.Service.CameraRecordingManagement.UUID) {
|
|
500
|
+
return; // ignore those services, as they get replaced by the RTPStreamManagement
|
|
501
|
+
}
|
|
502
|
+
// all other services get added. We can't really control possibly linking to any of those ignored services
|
|
503
|
+
// so this is really only half-baked stuff.
|
|
504
|
+
this.addService(service);
|
|
505
|
+
});
|
|
506
|
+
// replace stream controllers; basically only to still support the "forceStop" call
|
|
507
|
+
// noinspection JSDeprecatedSymbols
|
|
508
|
+
cameraSource.streamControllers = cameraController.streamManagements;
|
|
509
|
+
return cameraController; // return the reference for the controller (maybe this could be useful?)
|
|
510
|
+
}
|
|
439
511
|
/**
|
|
440
512
|
* This method is used to set up a new Controller for this accessory. See {@link Controller} for a more detailed
|
|
441
513
|
* explanation what a Controller is and what it is capable of.
|
|
@@ -751,6 +823,19 @@ class Accessory extends events_1.EventEmitter {
|
|
|
751
823
|
if (this.bridged) {
|
|
752
824
|
throw new Error("Can't publish in accessory which is bridged by another accessory. Bridged by " + this.bridge?.displayName);
|
|
753
825
|
}
|
|
826
|
+
// noinspection JSDeprecatedSymbols
|
|
827
|
+
if (!info.advertiser && info.useLegacyAdvertiser != null) {
|
|
828
|
+
// noinspection JSDeprecatedSymbols
|
|
829
|
+
info.advertiser = info.useLegacyAdvertiser ? "bonjour-hap" /* MDNSAdvertiser.BONJOUR */ : "ciao" /* MDNSAdvertiser.CIAO */;
|
|
830
|
+
console.warn("DEPRECATED The PublishInfo.useLegacyAdvertiser option has been removed. " +
|
|
831
|
+
"Please use the PublishInfo.advertiser property to enable \"ciao\" (useLegacyAdvertiser=false) " +
|
|
832
|
+
"or \"bonjour-hap\" (useLegacyAdvertiser=true) mdns advertiser libraries!");
|
|
833
|
+
}
|
|
834
|
+
// noinspection JSDeprecatedSymbols
|
|
835
|
+
if (info.mdns && info.advertiser !== "bonjour-hap" /* MDNSAdvertiser.BONJOUR */) {
|
|
836
|
+
console.log("DEPRECATED user supplied a custom 'mdns' option. This option is deprecated and ignored. " +
|
|
837
|
+
"Please move to the new 'bind' option.");
|
|
838
|
+
}
|
|
754
839
|
let service = this.getService(Service_1.Service.ProtocolInformation);
|
|
755
840
|
if (!service) {
|
|
756
841
|
service = this.addService(Service_1.Service.ProtocolInformation); // add the protocol information service to the primary accessory
|
|
@@ -836,7 +921,8 @@ class Accessory extends events_1.EventEmitter {
|
|
|
836
921
|
});
|
|
837
922
|
break;
|
|
838
923
|
case "bonjour-hap" /* MDNSAdvertiser.BONJOUR */:
|
|
839
|
-
|
|
924
|
+
// noinspection JSDeprecatedSymbols
|
|
925
|
+
this._advertiser = new Advertiser_1.BonjourHAPAdvertiser(this._accessoryInfo, info.mdns, {
|
|
840
926
|
restrictedAddresses: parsed.serviceRestrictedAddress,
|
|
841
927
|
disabledIpv6: parsed.serviceDisableIpv6,
|
|
842
928
|
});
|
|
@@ -1351,6 +1437,9 @@ class Accessory extends events_1.EventEmitter {
|
|
|
1351
1437
|
callback({ httpCode: 404 /* HAPHTTPCode.NOT_FOUND */, status: -70409 /* HAPStatus.RESOURCE_DOES_NOT_EXIST */ });
|
|
1352
1438
|
}
|
|
1353
1439
|
handleHAPConnectionClosed(connection) {
|
|
1440
|
+
if (this.activeCameraController) {
|
|
1441
|
+
this.activeCameraController.handleCloseConnection(connection.sessionID);
|
|
1442
|
+
}
|
|
1354
1443
|
for (const event of connection.getRegisteredEvents()) {
|
|
1355
1444
|
const ids = event.split(".");
|
|
1356
1445
|
const aid = parseInt(ids[0], 10);
|