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.
Files changed (79) hide show
  1. package/dist/BridgedCore.d.ts +2 -0
  2. package/dist/BridgedCore.d.ts.map +1 -0
  3. package/dist/BridgedCore.js +42 -0
  4. package/dist/BridgedCore.js.map +1 -0
  5. package/dist/Core.d.ts +2 -0
  6. package/dist/Core.d.ts.map +1 -0
  7. package/dist/Core.js +49 -0
  8. package/dist/Core.js.map +1 -0
  9. package/dist/index.d.ts +14 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +24 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/Accessory.d.ts +58 -1
  14. package/dist/lib/Accessory.d.ts.map +1 -1
  15. package/dist/lib/Accessory.js +92 -3
  16. package/dist/lib/Accessory.js.map +1 -1
  17. package/dist/lib/AccessoryLoader.d.ts +28 -0
  18. package/dist/lib/AccessoryLoader.d.ts.map +1 -0
  19. package/dist/lib/AccessoryLoader.js +166 -0
  20. package/dist/lib/AccessoryLoader.js.map +1 -0
  21. package/dist/lib/Advertiser.d.ts +2 -1
  22. package/dist/lib/Advertiser.d.ts.map +1 -1
  23. package/dist/lib/Advertiser.js +2 -2
  24. package/dist/lib/Advertiser.js.map +1 -1
  25. package/dist/lib/Characteristic.d.ts +133 -2
  26. package/dist/lib/Characteristic.d.ts.map +1 -1
  27. package/dist/lib/Characteristic.js +169 -0
  28. package/dist/lib/Characteristic.js.map +1 -1
  29. package/dist/lib/HAPServer.d.ts +10 -0
  30. package/dist/lib/HAPServer.d.ts.map +1 -1
  31. package/dist/lib/HAPServer.js +15 -1
  32. package/dist/lib/HAPServer.js.map +1 -1
  33. package/dist/lib/Service.d.ts +51 -1
  34. package/dist/lib/Service.d.ts.map +1 -1
  35. package/dist/lib/Service.js +45 -0
  36. package/dist/lib/Service.js.map +1 -1
  37. package/dist/lib/camera/Camera.d.ts +43 -0
  38. package/dist/lib/camera/Camera.d.ts.map +1 -0
  39. package/dist/lib/camera/Camera.js +36 -0
  40. package/dist/lib/camera/Camera.js.map +1 -0
  41. package/dist/lib/camera/RTPStreamManagement.d.ts +65 -0
  42. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  43. package/dist/lib/camera/RTPStreamManagement.js +51 -1
  44. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  45. package/dist/lib/camera/index.d.ts +1 -0
  46. package/dist/lib/camera/index.d.ts.map +1 -1
  47. package/dist/lib/camera/index.js +1 -0
  48. package/dist/lib/camera/index.js.map +1 -1
  49. package/dist/lib/controller/CameraController.d.ts +4 -0
  50. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  51. package/dist/lib/controller/CameraController.js +8 -0
  52. package/dist/lib/controller/CameraController.js.map +1 -1
  53. package/dist/lib/controller/RemoteController.d.ts +14 -0
  54. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  55. package/dist/lib/controller/RemoteController.js +18 -1
  56. package/dist/lib/controller/RemoteController.js.map +1 -1
  57. package/dist/lib/datastream/DataStreamServer.d.ts +5 -0
  58. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  59. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  60. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +106 -1
  61. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  62. package/dist/lib/definitions/CharacteristicDefinitions.js +232 -6
  63. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  64. package/dist/lib/definitions/ServiceDefinitions.d.ts +32 -0
  65. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  66. package/dist/lib/definitions/ServiceDefinitions.js +97 -2
  67. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  68. package/dist/lib/util/tlv.d.ts +27 -0
  69. package/dist/lib/util/tlv.d.ts.map +1 -1
  70. package/dist/lib/util/tlv.js +46 -22
  71. package/dist/lib/util/tlv.js.map +1 -1
  72. package/dist/lib/util/uuid.d.ts +9 -0
  73. package/dist/lib/util/uuid.d.ts.map +1 -1
  74. package/dist/lib/util/uuid.js +14 -0
  75. package/dist/lib/util/uuid.js.map +1 -1
  76. package/dist/types.d.ts +35 -0
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/types.js.map +1 -1
  79. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BridgedCore.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Core.d.ts.map
@@ -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
@@ -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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,mBAAmB,CAAC;AAG3B;;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,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,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"}
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":";;;AA0CA,8CAIC;;AA9CD,uCAAqC,CAAC,kEAAkE;AACxG,6BAA2B,CAAC,yDAAyD;AACrF,0DAAgC;AAEhC;;GAEG;AACH,gEAAwC;AACxC,iEAAuC;AACvC,0DAAgC;AAChC,uDAA6B;AAC7B,wDAA8B;AAC9B,+DAAqC;AACrC,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"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"Accessory.d.ts","sourceRoot":"","sources":["../../src/lib/Accessory.ts"],"names":[],"mappings":"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"}
@@ -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
- // Timeout in milliseconds until a characteristic warning is issue
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
- // Timeout in milliseconds after `TIMEOUT_WARNING` until the operation on the characteristic is considered timed out.
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
- this._advertiser = new Advertiser_1.BonjourHAPAdvertiser(this._accessoryInfo, {
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);