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 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/KhaosT/HAP-NodeJS/actions?query=workflow%3A%22Node-CI%22"><img title="node ci" src="https://github.com/homebridge/HAP-NodeJS/workflows/Node-CI/badge.svg" ></a>
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
 
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"BridgedCore.js","sourceRoot":"","sources":["../src/BridgedCore.ts"],"names":[],"mappings":";;;AAAA,2DAAwB;AAExB,2EAAmC;AAEnC,uBAA6G;AAE7G,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,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"}
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,uBAAqC;AAErC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEtC,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"}
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
@@ -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;AAGnD,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;AAQvC;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,QAOxC"}
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
- function printInit() {
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
- console.log("Initializing HAP-NodeJS v" + packageJson.version + "...");
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;AAEvC,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,SAAS,SAAS;IAChB,IAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AACzE,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"}
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"}
@@ -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 server a /accessories request.
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":"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"}
1
+ {"version":3,"file":"Accessory.d.ts","sourceRoot":"","sources":["../../src/lib/Accessory.ts"],"names":[],"mappings":"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"}
@@ -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 server a /accessories request.
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.controllerStorage.load(info.username); // initializing controller data
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
- if (this._server) {
1038
- this._server.destroy();
1039
- this._server = undefined;
1040
- }
1041
- if (this._advertiser) {
1042
- // noinspection JSIgnoredPromiseFromCall
1043
- this._advertiser.destroy();
1044
- this._advertiser = undefined;
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
- // noinspection JSIgnoredPromiseFromCall
1075
- this._advertiser.startAdvertising();
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.log("[" + this.displayName + "] Additional authorization handler has thrown an error when checking authData: " + error.stack);
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) {