hap-nodejs 0.10.0-beta.2 → 0.10.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/BridgedCore.js +1 -1
- package/dist/BridgedCore.js.map +1 -1
- package/dist/Core.js +1 -1
- package/dist/Core.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/Accessory.d.ts +25 -4
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +55 -17
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +19 -2
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +106 -11
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +2 -2
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +8 -7
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +13 -0
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/promise-utils.d.ts +2 -0
- package/dist/lib/util/promise-utils.d.ts.map +1 -0
- package/dist/lib/util/promise-utils.js +10 -0
- package/dist/lib/util/promise-utils.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<a href="https://www.npmjs.com/package/hap-nodejs"><img title="npm version" src="https://badgen.net/npm/v/hap-nodejs" ></a>
|
|
6
6
|
<a href="https://www.npmjs.com/package/hap-nodejs/v/beta"><img title="npm version beta" src="https://badgen.net/npm/v/hap-nodejs/beta" ></a>
|
|
7
7
|
<a href="https://www.npmjs.com/package/hap-nodejs"><img title="npm downloads" src="https://badgen.net/npm/dt/hap-nodejs" ></a>
|
|
8
|
-
<a href="https://github.com/
|
|
8
|
+
<a href="https://github.com/homebridge/HAP-NodeJS/actions/workflows/build.yml"><img title="Node Build" src="https://github.com/homebridge/HAP-NodeJS/actions/workflows/build.yml/badge.svg" ></a>
|
|
9
9
|
|
|
10
10
|
</span>
|
|
11
11
|
|
package/dist/BridgedCore.js
CHANGED
|
@@ -4,7 +4,7 @@ var tslib_1 = require("tslib");
|
|
|
4
4
|
var path_1 = (0, tslib_1.__importDefault)(require("path"));
|
|
5
5
|
var node_persist_1 = (0, tslib_1.__importDefault)(require("node-persist"));
|
|
6
6
|
var _1 = require("./");
|
|
7
|
-
console.log("HAP-NodeJS starting...");
|
|
7
|
+
console.log("HAP-NodeJS v" + (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. " +
|
|
9
9
|
"For more information and some guidance on how to migrate, have a look at https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore");
|
|
10
10
|
// Initialize our storage system
|
package/dist/BridgedCore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgedCore.js","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":";;;AAAA,2DAAwB;AAExB,2EAAmC;AAEnC,
|
|
1
|
+
{"version":3,"file":"BridgedCore.js","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":";;;AAAA,2DAAwB;AAExB,2EAAmC;AAEnC,uBAAgI;AAEhI,OAAO,CAAC,GAAG,CAAC,iBAAe,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,4BAA+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,gBAAmB;CAC5B,CAAC,CAAC;AAEH,IAAM,OAAO,GAAG,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAA2B,CAAC;AACvE,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;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/Core.js
CHANGED
|
@@ -4,7 +4,7 @@ var tslib_1 = require("tslib");
|
|
|
4
4
|
var path_1 = (0, tslib_1.__importDefault)(require("path"));
|
|
5
5
|
var node_persist_1 = (0, tslib_1.__importDefault)(require("node-persist"));
|
|
6
6
|
var _1 = require("./");
|
|
7
|
-
console.log("HAP-NodeJS starting...");
|
|
7
|
+
console.log("HAP-NodeJS v" + (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. " +
|
|
9
9
|
"For more information and some guidance on how to migrate, have a look at https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore");
|
|
10
10
|
// Initialize our storage system
|
package/dist/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;AAAA,2DAAwB;AAExB,2EAAmC;AAEnC,
|
|
1
|
+
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;AAAA,2DAAwB;AAExB,2EAAmC;AAEnC,uBAAwD;AAExD,OAAO,CAAC,GAAG,CAAC,iBAAe,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,aAAa;IACb,IAAI,CAAC,SAAS,CAAC,QAAQ;QACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,SAAS,CAAC,WAAW;YAC3D,6EAA6E,CAAC,CAAC;IAEjG,aAAa;IACb,IAAI,CAAC,SAAS,CAAC,OAAO;QACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,SAAS,CAAC,WAAW;YAC1D,qEAAqE,CAAC,CAAC;IAEzF,8CAA8C;IAC9C,SAAS,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,UAAU,EAAE;QAClB,aAAa;QACb,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,aAAa;QACb,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,aAAa;QACb,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAM,OAAO,GAAG,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAA2B,CAAC;AACvE,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;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,11 @@ export * from './lib/util/color-utils';
|
|
|
24
24
|
export * from './lib/util/time';
|
|
25
25
|
export * from './types';
|
|
26
26
|
export declare const LegacyTypes: typeof legacyTypes;
|
|
27
|
+
/**
|
|
28
|
+
* This method can be used to retrieve the current running library version of the HAP-NodeJS framework.
|
|
29
|
+
* @returns The SemVer version string.
|
|
30
|
+
*/
|
|
31
|
+
export declare function HAPLibraryVersion(): string;
|
|
27
32
|
/**
|
|
28
33
|
*
|
|
29
34
|
* @param {string} storagePath
|
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;AAC3B,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AAInD,eAAO,MAAM,eAAe,wBAAkB,CAAC;AAC/C,eAAO,MAAM,IAAI,sBAAgB,CAAC;AAElC,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;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,SAAS,CAAC;AACxB,eAAO,MAAM,WAAW,oBAAc,CAAC;AAIvC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAOD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,QAOxC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.init = exports.LegacyTypes = exports.uuid = exports.AccessoryLoader = void 0;
|
|
3
|
+
exports.init = exports.HAPLibraryVersion = exports.LegacyTypes = exports.uuid = exports.AccessoryLoader = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
require("source-map-support/register"); // registering node-source-map-support for typescript stack traces
|
|
6
6
|
require("./lib/definitions"); // must be loaded before Characteristic and Service class
|
|
@@ -8,6 +8,7 @@ var accessoryLoader = (0, tslib_1.__importStar)(require("./lib/AccessoryLoader")
|
|
|
8
8
|
var uuidFunctions = (0, tslib_1.__importStar)(require("./lib/util/uuid"));
|
|
9
9
|
var legacyTypes = (0, tslib_1.__importStar)(require("./accessories/types"));
|
|
10
10
|
var HAPStorage_1 = require("./lib/model/HAPStorage");
|
|
11
|
+
var debug_1 = (0, tslib_1.__importDefault)(require("debug"));
|
|
11
12
|
exports.AccessoryLoader = accessoryLoader;
|
|
12
13
|
exports.uuid = uuidFunctions;
|
|
13
14
|
(0, tslib_1.__exportStar)(require("./lib/model/HAPStorage"), exports);
|
|
@@ -29,9 +30,18 @@ exports.uuid = uuidFunctions;
|
|
|
29
30
|
(0, tslib_1.__exportStar)(require("./lib/util/time"), exports);
|
|
30
31
|
(0, tslib_1.__exportStar)(require("./types"), exports);
|
|
31
32
|
exports.LegacyTypes = legacyTypes;
|
|
32
|
-
|
|
33
|
+
var debug = (0, debug_1.default)('HAP-NodeJS:Advertiser');
|
|
34
|
+
/**
|
|
35
|
+
* This method can be used to retrieve the current running library version of the HAP-NodeJS framework.
|
|
36
|
+
* @returns The SemVer version string.
|
|
37
|
+
*/
|
|
38
|
+
function HAPLibraryVersion() {
|
|
33
39
|
var packageJson = require("../package.json");
|
|
34
|
-
|
|
40
|
+
return packageJson.version;
|
|
41
|
+
}
|
|
42
|
+
exports.HAPLibraryVersion = HAPLibraryVersion;
|
|
43
|
+
function printInit() {
|
|
44
|
+
debug("Initializing HAP-NodeJS v%s ...", HAPLibraryVersion());
|
|
35
45
|
}
|
|
36
46
|
printInit();
|
|
37
47
|
/**
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,uCAAqC,CAAC,kEAAkE;AACxG,6BAA2B,CAAC,yDAAyD;AACrF,kFAAyD;AACzD,0EAAiD;AACjD,4EAAmD;AACnD,qDAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,uCAAqC,CAAC,kEAAkE;AACxG,6BAA2B,CAAC,yDAAyD;AACrF,kFAAyD;AACzD,0EAAiD;AACjD,4EAAmD;AACnD,qDAAoD;AACpD,6DAAgC;AAEnB,QAAA,eAAe,GAAG,eAAe,CAAC;AAClC,QAAA,IAAI,GAAG,aAAa,CAAC;AAElC,sEAAuC;AACvC,+DAAgC;AAChC,4DAA6B;AAC7B,6DAA8B;AAC9B,oEAAqC;AACrC,qEAAsC;AACtC,4DAA6B;AAC7B,gFAAiD;AACjD,+DAAgC;AAChC,gEAAiC;AACjC,gEAAiC;AAEjC,gEAAiC;AACjC,+DAAgC;AAChC,8DAA+B;AAC/B,yEAA0C;AAC1C,sEAAuC;AACvC,+DAAgC;AAEhC,uDAAwB;AACX,QAAA,WAAW,GAAG,WAAW,CAAC;AAEvC,IAAM,KAAK,GAAG,IAAA,eAAW,EAAC,uBAAuB,CAAC,CAAC;AAEnD;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,IAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAHD,8CAGC;AAED,SAAS,SAAS;IAChB,KAAK,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAChE,CAAC;AACD,SAAS,EAAE,CAAA;AAEX;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,WAAoB;IACvC,OAAO,CAAC,GAAG,CAAC,4FAA4F;QACtG,0GAA0G;QAC1G,uDAAuD,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE;QACf,uBAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;KAC9C;AACH,CAAC;AAPD,oBAOC"}
|
package/dist/lib/Accessory.d.ts
CHANGED
|
@@ -194,7 +194,11 @@ export declare const enum MDNSAdvertiser {
|
|
|
194
194
|
/**
|
|
195
195
|
* Use the `bonjour-hap` module as advertiser.
|
|
196
196
|
*/
|
|
197
|
-
BONJOUR = "bonjour-hap"
|
|
197
|
+
BONJOUR = "bonjour-hap",
|
|
198
|
+
/**
|
|
199
|
+
* Use Avahi/D-Bus as advertiser.
|
|
200
|
+
*/
|
|
201
|
+
AVAHI = "avahi"
|
|
198
202
|
}
|
|
199
203
|
export declare type AccessoryCharacteristicChange = ServiceCharacteristicChange & {
|
|
200
204
|
service: Service;
|
|
@@ -216,7 +220,16 @@ export declare const enum AccessoryEventTypes {
|
|
|
216
220
|
* You must call the callback for identification to be successful.
|
|
217
221
|
*/
|
|
218
222
|
IDENTIFY = "identify",
|
|
223
|
+
/**
|
|
224
|
+
* This event is emitted once the HAP TCP socket is bound.
|
|
225
|
+
* At this point the mdns advertisement isn't yet available. Use the {@link ADVERTISED} if you require the accessory to be discoverable.
|
|
226
|
+
*/
|
|
219
227
|
LISTENING = "listening",
|
|
228
|
+
/**
|
|
229
|
+
* This event is emitted once the mDNS suite has fully advertised the presence of the accessory.
|
|
230
|
+
* This event is guaranteed to be called after {@link LISTENING}.
|
|
231
|
+
*/
|
|
232
|
+
ADVERTISED = "advertised",
|
|
220
233
|
SERVICE_CONFIGURATION_CHANGE = "service-configurationChange",
|
|
221
234
|
/**
|
|
222
235
|
* Emitted after a change in the value of one of the provided Service's Characteristics.
|
|
@@ -229,6 +242,7 @@ export declare const enum AccessoryEventTypes {
|
|
|
229
242
|
export declare interface Accessory {
|
|
230
243
|
on(event: "identify", listener: (paired: boolean, callback: VoidCallback) => void): this;
|
|
231
244
|
on(event: "listening", listener: (port: number, address: string) => void): this;
|
|
245
|
+
on(event: "advertised", listener: () => void): this;
|
|
232
246
|
on(event: "service-configurationChange", listener: (change: ServiceConfigurationChange) => void): this;
|
|
233
247
|
on(event: "service-characteristic-change", listener: (change: AccessoryCharacteristicChange) => void): this;
|
|
234
248
|
on(event: "paired", listener: () => void): this;
|
|
@@ -236,6 +250,7 @@ export declare interface Accessory {
|
|
|
236
250
|
on(event: "characteristic-warning", listener: (warning: CharacteristicWarning) => void): this;
|
|
237
251
|
emit(event: "identify", paired: boolean, callback: VoidCallback): boolean;
|
|
238
252
|
emit(event: "listening", port: number, address: string): boolean;
|
|
253
|
+
emit(event: "advertised"): boolean;
|
|
239
254
|
emit(event: "service-configurationChange", change: ServiceConfigurationChange): boolean;
|
|
240
255
|
emit(event: "service-characteristic-change", change: AccessoryCharacteristicChange): boolean;
|
|
241
256
|
emit(event: "paired"): boolean;
|
|
@@ -269,6 +284,12 @@ export declare class Accessory extends EventEmitter {
|
|
|
269
284
|
services: Service[];
|
|
270
285
|
private primaryService?;
|
|
271
286
|
shouldPurgeUnusedIDs: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Captures if initialization steps inside {@link publish} have been called.
|
|
289
|
+
* This is important when calling {@link publish} multiple times (e.g. after calling {@link unpublish}).
|
|
290
|
+
* @private Private API
|
|
291
|
+
*/
|
|
292
|
+
private initialized;
|
|
272
293
|
private controllers;
|
|
273
294
|
private serializedControllers?;
|
|
274
295
|
private activeCameraController?;
|
|
@@ -281,7 +302,7 @@ export declare class Accessory extends EventEmitter {
|
|
|
281
302
|
_setupURI?: string;
|
|
282
303
|
private configurationChangeDebounceTimeout?;
|
|
283
304
|
/**
|
|
284
|
-
* This property captures the time when we last
|
|
305
|
+
* This property captures the time when we last served a /accessories request.
|
|
285
306
|
* For multiple bursts of /accessories request we don't want to always contact GET handlers
|
|
286
307
|
*/
|
|
287
308
|
private lastAccessoriesRequest;
|
|
@@ -410,8 +431,8 @@ export declare class Accessory extends EventEmitter {
|
|
|
410
431
|
* Accessory object will no longer valid after invoking this method
|
|
411
432
|
* Trying to invoke publish() on the object will result undefined behavior
|
|
412
433
|
*/
|
|
413
|
-
destroy(): void
|
|
414
|
-
unpublish(): void
|
|
434
|
+
destroy(): Promise<void>;
|
|
435
|
+
unpublish(): Promise<void>;
|
|
415
436
|
private enqueueConfigurationUpdate;
|
|
416
437
|
private onListening;
|
|
417
438
|
private handleInitialPairSetupFinished;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accessory.d.ts","sourceRoot":"","sources":["../../src/lib/Accessory.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAiBtC,OAAO,EAEL,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,
|
|
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
|
@@ -87,6 +87,10 @@ var MDNSAdvertiser;
|
|
|
87
87
|
* Use the `bonjour-hap` module as advertiser.
|
|
88
88
|
*/
|
|
89
89
|
MDNSAdvertiser["BONJOUR"] = "bonjour-hap";
|
|
90
|
+
/**
|
|
91
|
+
* Use Avahi/D-Bus as advertiser.
|
|
92
|
+
*/
|
|
93
|
+
MDNSAdvertiser["AVAHI"] = "avahi";
|
|
90
94
|
})(MDNSAdvertiser = exports.MDNSAdvertiser || (exports.MDNSAdvertiser = {}));
|
|
91
95
|
var WriteRequestState;
|
|
92
96
|
(function (WriteRequestState) {
|
|
@@ -105,7 +109,16 @@ var AccessoryEventTypes;
|
|
|
105
109
|
* You must call the callback for identification to be successful.
|
|
106
110
|
*/
|
|
107
111
|
AccessoryEventTypes["IDENTIFY"] = "identify";
|
|
112
|
+
/**
|
|
113
|
+
* This event is emitted once the HAP TCP socket is bound.
|
|
114
|
+
* At this point the mdns advertisement isn't yet available. Use the {@link ADVERTISED} if you require the accessory to be discoverable.
|
|
115
|
+
*/
|
|
108
116
|
AccessoryEventTypes["LISTENING"] = "listening";
|
|
117
|
+
/**
|
|
118
|
+
* This event is emitted once the mDNS suite has fully advertised the presence of the accessory.
|
|
119
|
+
* This event is guaranteed to be called after {@link LISTENING}.
|
|
120
|
+
*/
|
|
121
|
+
AccessoryEventTypes["ADVERTISED"] = "advertised";
|
|
109
122
|
AccessoryEventTypes["SERVICE_CONFIGURATION_CHANGE"] = "service-configurationChange";
|
|
110
123
|
/**
|
|
111
124
|
* Emitted after a change in the value of one of the provided Service's Characteristics.
|
|
@@ -139,11 +152,17 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
139
152
|
_this.category = 1 /* OTHER */;
|
|
140
153
|
_this.services = [];
|
|
141
154
|
_this.shouldPurgeUnusedIDs = true; // Purge unused ids by default
|
|
155
|
+
/**
|
|
156
|
+
* Captures if initialization steps inside {@link publish} have been called.
|
|
157
|
+
* This is important when calling {@link publish} multiple times (e.g. after calling {@link unpublish}).
|
|
158
|
+
* @private Private API
|
|
159
|
+
*/
|
|
160
|
+
_this.initialized = false;
|
|
142
161
|
_this.controllers = {};
|
|
143
162
|
_this._setupID = null;
|
|
144
163
|
_this.controllerStorage = new ControllerStorage_1.ControllerStorage(_this);
|
|
145
164
|
/**
|
|
146
|
-
* This property captures the time when we last
|
|
165
|
+
* This property captures the time when we last served a /accessories request.
|
|
147
166
|
* For multiple bursts of /accessories request we don't want to always contact GET handlers
|
|
148
167
|
*/
|
|
149
168
|
_this.lastAccessoriesRequest = 0;
|
|
@@ -915,8 +934,8 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
915
934
|
if (this.lastKnownUsername && this.lastKnownUsername !== info.username) { // username changed since last publish
|
|
916
935
|
Accessory.cleanupAccessoryData(this.lastKnownUsername); // delete old Accessory data
|
|
917
936
|
}
|
|
918
|
-
if ((_a = info.addIdentifyingMaterial) !== null && _a !== void 0 ? _a : true) {
|
|
919
|
-
// adding some identifying material to our displayName
|
|
937
|
+
if (!this.initialized && ((_a = info.addIdentifyingMaterial) !== null && _a !== void 0 ? _a : true)) {
|
|
938
|
+
// adding some identifying material to our displayName if its our first publish() call
|
|
920
939
|
this.displayName = this.displayName + " " + crypto_1.default.createHash('sha512')
|
|
921
940
|
.update(info.username, 'utf8')
|
|
922
941
|
.digest('hex').slice(0, 4).toUpperCase();
|
|
@@ -960,7 +979,9 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
960
979
|
this.disableUnusedIDPurge();
|
|
961
980
|
this.controllerStorage.purgeUnidentifiedAccessoryData = false;
|
|
962
981
|
}
|
|
963
|
-
this.
|
|
982
|
+
if (!this.initialized) { // controller storage is only loaded from disk the first time we publish!
|
|
983
|
+
this.controllerStorage.load(info.username); // initializing controller data
|
|
984
|
+
}
|
|
964
985
|
// assign aid/iid
|
|
965
986
|
this._assignIDs(this._identifierCache);
|
|
966
987
|
// get our accessory information in HAP format and determine if our configuration (that is, our
|
|
@@ -989,6 +1010,9 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
989
1010
|
disabledIpv6: parsed.serviceDisableIpv6,
|
|
990
1011
|
});
|
|
991
1012
|
break;
|
|
1013
|
+
case "avahi" /* AVAHI */:
|
|
1014
|
+
this._advertiser = new Advertiser_1.AvahiAdvertiser(this._accessoryInfo);
|
|
1015
|
+
break;
|
|
992
1016
|
default:
|
|
993
1017
|
throw new Error("Unsupported advertiser setting: '" + info.advertiser + "'");
|
|
994
1018
|
}
|
|
@@ -1017,6 +1041,7 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
1017
1041
|
this._server.on("connection-closed" /* CONNECTION_CLOSED */, this.handleHAPConnectionClosed.bind(this));
|
|
1018
1042
|
this._server.on("request-resource" /* REQUEST_RESOURCE */, this.handleResource.bind(this));
|
|
1019
1043
|
this._server.listen(info.port, parsed.serverAddress);
|
|
1044
|
+
this.initialized = true;
|
|
1020
1045
|
};
|
|
1021
1046
|
/**
|
|
1022
1047
|
* Removes this Accessory from the local network
|
|
@@ -1024,7 +1049,7 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
1024
1049
|
* Trying to invoke publish() on the object will result undefined behavior
|
|
1025
1050
|
*/
|
|
1026
1051
|
Accessory.prototype.destroy = function () {
|
|
1027
|
-
this.unpublish();
|
|
1052
|
+
var promise = this.unpublish();
|
|
1028
1053
|
if (this._accessoryInfo) {
|
|
1029
1054
|
Accessory.cleanupAccessoryData(this._accessoryInfo.username);
|
|
1030
1055
|
this._accessoryInfo = undefined;
|
|
@@ -1032,17 +1057,29 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
1032
1057
|
this.controllerStorage = new ControllerStorage_1.ControllerStorage(this);
|
|
1033
1058
|
}
|
|
1034
1059
|
this.removeAllListeners();
|
|
1060
|
+
return promise;
|
|
1035
1061
|
};
|
|
1036
1062
|
Accessory.prototype.unpublish = function () {
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1063
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
1064
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
1065
|
+
switch (_a.label) {
|
|
1066
|
+
case 0:
|
|
1067
|
+
if (this._server) {
|
|
1068
|
+
this._server.destroy();
|
|
1069
|
+
this._server = undefined;
|
|
1070
|
+
}
|
|
1071
|
+
if (!this._advertiser) return [3 /*break*/, 2];
|
|
1072
|
+
// noinspection JSIgnoredPromiseFromCall
|
|
1073
|
+
return [4 /*yield*/, this._advertiser.destroy()];
|
|
1074
|
+
case 1:
|
|
1075
|
+
// noinspection JSIgnoredPromiseFromCall
|
|
1076
|
+
_a.sent();
|
|
1077
|
+
this._advertiser = undefined;
|
|
1078
|
+
_a.label = 2;
|
|
1079
|
+
case 2: return [2 /*return*/];
|
|
1080
|
+
}
|
|
1081
|
+
});
|
|
1082
|
+
});
|
|
1046
1083
|
};
|
|
1047
1084
|
Accessory.prototype.enqueueConfigurationUpdate = function () {
|
|
1048
1085
|
var _this = this;
|
|
@@ -1068,11 +1105,12 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
1068
1105
|
// not responding or new accessories/services not yet shown
|
|
1069
1106
|
};
|
|
1070
1107
|
Accessory.prototype.onListening = function (port, hostname) {
|
|
1108
|
+
var _this = this;
|
|
1071
1109
|
(0, assert_1.default)(this._advertiser, "Advertiser wasn't created at onListening!");
|
|
1072
1110
|
// the HAP server is listening, so we can now start advertising our presence.
|
|
1073
1111
|
this._advertiser.initPort(port);
|
|
1074
|
-
|
|
1075
|
-
|
|
1112
|
+
this._advertiser.startAdvertising()
|
|
1113
|
+
.then(function () { return _this.emit("advertised" /* ADVERTISED */); });
|
|
1076
1114
|
this.emit("listening" /* LISTENING */, port, hostname);
|
|
1077
1115
|
};
|
|
1078
1116
|
Accessory.prototype.handleInitialPairSetupFinished = function (username, publicKey, callback) {
|
|
@@ -1522,7 +1560,7 @@ var Accessory = /** @class */ (function (_super) {
|
|
|
1522
1560
|
allowWrite = characteristic.additionalAuthorizationHandler(data.authData);
|
|
1523
1561
|
}
|
|
1524
1562
|
catch (error) {
|
|
1525
|
-
console.
|
|
1563
|
+
console.warn("[" + this.displayName + "] Additional authorization handler has thrown an error when checking authData: " + error.stack);
|
|
1526
1564
|
allowWrite = false;
|
|
1527
1565
|
}
|
|
1528
1566
|
if (!allowWrite) {
|