hap-nodejs 0.10.0-beta.6 → 0.10.0

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 (191) hide show
  1. package/@types/bonjour-hap.d.ts +4 -3
  2. package/@types/simple-plist.d.ts +2 -1
  3. package/dist/BridgedCore.js +5 -4
  4. package/dist/BridgedCore.js.map +1 -1
  5. package/dist/Core.js +12 -10
  6. package/dist/Core.js.map +1 -1
  7. package/dist/accessories/AirConditioner_accessory.js +9 -9
  8. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  9. package/dist/accessories/AppleTVRemote_accessory.js +9 -8
  10. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  11. package/dist/accessories/Camera_accessory.js +414 -35
  12. package/dist/accessories/Camera_accessory.js.map +1 -1
  13. package/dist/accessories/Fan_accessory.js +6 -11
  14. package/dist/accessories/Fan_accessory.js.map +1 -1
  15. package/dist/accessories/GarageDoorOpener_accessory.js +7 -8
  16. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  17. package/dist/accessories/Light-AdaptiveLighting_accessory.js +3 -4
  18. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  19. package/dist/accessories/Light_accessory.js +23 -14
  20. package/dist/accessories/Light_accessory.js.map +1 -1
  21. package/dist/accessories/Lock_accessory.js +7 -8
  22. package/dist/accessories/Lock_accessory.js.map +1 -1
  23. package/dist/accessories/MotionSensor_accessory.js +5 -6
  24. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  25. package/dist/accessories/Outlet_accessory.js +5 -6
  26. package/dist/accessories/Outlet_accessory.js.map +1 -1
  27. package/dist/accessories/SmartSpeaker_accessory.js +6 -6
  28. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  29. package/dist/accessories/Sprinkler_accessory.js +12 -13
  30. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  31. package/dist/accessories/TV_accessory.js +4 -5
  32. package/dist/accessories/TV_accessory.js.map +1 -1
  33. package/dist/accessories/TemperatureSensor_accessory.js +5 -6
  34. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  35. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  36. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  37. package/dist/accessories/Wi-FiRouter_accessory.js +7 -8
  38. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  39. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  40. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  41. package/dist/accessories/Wi-FiSatellite_accessory.js +6 -7
  42. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  43. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  44. package/dist/accessories/gstreamer-audioProducer.js +14 -15
  45. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  46. package/dist/index.d.ts +22 -22
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/internal-types.d.ts +2 -0
  51. package/dist/internal-types.d.ts.map +1 -1
  52. package/dist/internal-types.js.map +1 -1
  53. package/dist/lib/Accessory.d.ts +13 -13
  54. package/dist/lib/Accessory.d.ts.map +1 -1
  55. package/dist/lib/Accessory.js +242 -206
  56. package/dist/lib/Accessory.js.map +1 -1
  57. package/dist/lib/AccessoryLoader.d.ts +10 -10
  58. package/dist/lib/AccessoryLoader.d.ts.map +1 -1
  59. package/dist/lib/AccessoryLoader.js +105 -95
  60. package/dist/lib/AccessoryLoader.js.map +1 -1
  61. package/dist/lib/Advertiser.d.ts +11 -8
  62. package/dist/lib/Advertiser.d.ts.map +1 -1
  63. package/dist/lib/Advertiser.js +151 -33
  64. package/dist/lib/Advertiser.js.map +1 -1
  65. package/dist/lib/Bridge.d.ts +1 -1
  66. package/dist/lib/Bridge.d.ts.map +1 -1
  67. package/dist/lib/Bridge.js.map +1 -1
  68. package/dist/lib/Characteristic.d.ts +23 -22
  69. package/dist/lib/Characteristic.d.ts.map +1 -1
  70. package/dist/lib/Characteristic.js +101 -98
  71. package/dist/lib/Characteristic.js.map +1 -1
  72. package/dist/lib/HAPServer.d.ts +2 -2
  73. package/dist/lib/HAPServer.d.ts.map +1 -1
  74. package/dist/lib/HAPServer.js +18 -14
  75. package/dist/lib/HAPServer.js.map +1 -1
  76. package/dist/lib/Service.d.ts +3 -3
  77. package/dist/lib/Service.d.ts.map +1 -1
  78. package/dist/lib/Service.js +26 -26
  79. package/dist/lib/Service.js.map +1 -1
  80. package/dist/lib/camera/Camera.d.ts +2 -2
  81. package/dist/lib/camera/Camera.d.ts.map +1 -1
  82. package/dist/lib/camera/Camera.js +3 -3
  83. package/dist/lib/camera/Camera.js.map +1 -1
  84. package/dist/lib/camera/RTPProxy.d.ts +19 -19
  85. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  86. package/dist/lib/camera/RTPProxy.js +229 -207
  87. package/dist/lib/camera/RTPProxy.js.map +1 -1
  88. package/dist/lib/camera/RTPStreamManagement.d.ts +44 -8
  89. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  90. package/dist/lib/camera/RTPStreamManagement.js +111 -37
  91. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  92. package/dist/lib/camera/RecordingManagement.d.ts +267 -0
  93. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -0
  94. package/dist/lib/camera/RecordingManagement.js +781 -0
  95. package/dist/lib/camera/RecordingManagement.js.map +1 -0
  96. package/dist/lib/camera/index.d.ts +4 -3
  97. package/dist/lib/camera/index.d.ts.map +1 -1
  98. package/dist/lib/camera/index.js +1 -0
  99. package/dist/lib/camera/index.js.map +1 -1
  100. package/dist/lib/controller/AdaptiveLightingController.d.ts +9 -9
  101. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  102. package/dist/lib/controller/AdaptiveLightingController.js +25 -19
  103. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  104. package/dist/lib/controller/CameraController.d.ts +254 -7
  105. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  106. package/dist/lib/controller/CameraController.js +378 -31
  107. package/dist/lib/controller/CameraController.js.map +1 -1
  108. package/dist/lib/controller/Controller.d.ts +3 -3
  109. package/dist/lib/controller/Controller.d.ts.map +1 -1
  110. package/dist/lib/controller/Controller.js.map +1 -1
  111. package/dist/lib/controller/DoorbellController.d.ts +43 -1
  112. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  113. package/dist/lib/controller/DoorbellController.js +63 -11
  114. package/dist/lib/controller/DoorbellController.js.map +1 -1
  115. package/dist/lib/controller/RemoteController.d.ts +4 -4
  116. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  117. package/dist/lib/controller/RemoteController.js +62 -52
  118. package/dist/lib/controller/RemoteController.js.map +1 -1
  119. package/dist/lib/controller/index.d.ts +4 -4
  120. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  121. package/dist/lib/datastream/DataStreamManagement.js +10 -9
  122. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  123. package/dist/lib/datastream/DataStreamParser.d.ts +24 -24
  124. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  125. package/dist/lib/datastream/DataStreamParser.js +16 -7
  126. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  127. package/dist/lib/datastream/DataStreamServer.d.ts +34 -5
  128. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  129. package/dist/lib/datastream/DataStreamServer.js +123 -63
  130. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  131. package/dist/lib/datastream/index.d.ts +3 -3
  132. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  133. package/dist/lib/definitions/generate-definitions.js +18 -14
  134. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  135. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  136. package/dist/lib/definitions/generator-configuration.js +32 -14
  137. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  138. package/dist/lib/model/AccessoryInfo.d.ts +6 -6
  139. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  140. package/dist/lib/model/AccessoryInfo.js +79 -69
  141. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  142. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  143. package/dist/lib/model/ControllerStorage.js +3 -3
  144. package/dist/lib/model/ControllerStorage.js.map +1 -1
  145. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  146. package/dist/lib/model/HAPStorage.js +1 -0
  147. package/dist/lib/model/HAPStorage.js.map +1 -1
  148. package/dist/lib/model/IdentifierCache.d.ts +11 -11
  149. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  150. package/dist/lib/model/IdentifierCache.js +67 -65
  151. package/dist/lib/model/IdentifierCache.js.map +1 -1
  152. package/dist/lib/tv/AccessControlManagement.d.ts +1 -1
  153. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  154. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  155. package/dist/lib/util/clone.js +1 -0
  156. package/dist/lib/util/clone.js.map +1 -1
  157. package/dist/lib/util/color-utils.d.ts.map +1 -1
  158. package/dist/lib/util/color-utils.js +1 -1
  159. package/dist/lib/util/color-utils.js.map +1 -1
  160. package/dist/lib/util/eventedhttp.d.ts +8 -8
  161. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  162. package/dist/lib/util/eventedhttp.js +72 -56
  163. package/dist/lib/util/eventedhttp.js.map +1 -1
  164. package/dist/lib/util/hapCrypto.d.ts +5 -5
  165. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  166. package/dist/lib/util/hapCrypto.js +57 -86
  167. package/dist/lib/util/hapCrypto.js.map +1 -1
  168. package/dist/lib/util/hapStatusError.js +1 -1
  169. package/dist/lib/util/net-utils.d.ts.map +1 -1
  170. package/dist/lib/util/net-utils.js +0 -2
  171. package/dist/lib/util/net-utils.js.map +1 -1
  172. package/dist/lib/util/once.d.ts +1 -1
  173. package/dist/lib/util/once.d.ts.map +1 -1
  174. package/dist/lib/util/once.js +1 -0
  175. package/dist/lib/util/once.js.map +1 -1
  176. package/dist/lib/util/request-util.d.ts.map +1 -1
  177. package/dist/lib/util/request-util.js +1 -0
  178. package/dist/lib/util/request-util.js.map +1 -1
  179. package/dist/lib/util/time.d.ts +1 -1
  180. package/dist/lib/util/time.d.ts.map +1 -1
  181. package/dist/lib/util/time.js +5 -5
  182. package/dist/lib/util/time.js.map +1 -1
  183. package/dist/lib/util/tlv.d.ts.map +1 -1
  184. package/dist/lib/util/tlv.js +9 -6
  185. package/dist/lib/util/tlv.js.map +1 -1
  186. package/dist/lib/util/uuid.d.ts.map +1 -1
  187. package/dist/lib/util/uuid.js +25 -19
  188. package/dist/lib/util/uuid.js.map +1 -1
  189. package/dist/types.d.ts +0 -1
  190. package/dist/types.d.ts.map +1 -1
  191. package/package.json +15 -12
@@ -4,7 +4,7 @@ import { MDNSServerOptions, ServiceTxt } from "@homebridge/ciao";
4
4
  import { InterfaceName, IPAddress } from "@homebridge/ciao/lib/NetworkManager";
5
5
  import { MulticastOptions } from "bonjour-hap";
6
6
  import { EventEmitter } from "events";
7
- import { AccessoryInfo } from './model/AccessoryInfo';
7
+ import { AccessoryInfo } from "./model/AccessoryInfo";
8
8
  /**
9
9
  * This enum lists all bitmasks for all known status flags.
10
10
  * When the bit for the given bitmask is set, it represents the state described by the name.
@@ -34,9 +34,9 @@ export interface ServiceNetworkOptions {
34
34
  * If defined it restricts the service to be advertised on the specified
35
35
  * ip addresses or interface names.
36
36
  *
37
- * If a interface name is specified, ANY address on that given interface will be advertised
38
- * (if a IP address of the given interface is also given in the array, it will be overridden).
39
- * If a IP address is specified, the service will only be advertised for the given addresses.
37
+ * If an interface name is specified, ANY address on that given interface will be advertised
38
+ * (if an IP address of the given interface is also given in the array, it will be overridden).
39
+ * If an IP address is specified, the service will only be advertised for the given addresses.
40
40
  *
41
41
  * Interface names and addresses can be mixed in the array.
42
42
  * If an ip address is given, the ip address must be valid at the time of service creation.
@@ -101,20 +101,23 @@ export declare class BonjourHAPAdvertiser extends EventEmitter implements Advert
101
101
  destroy(): void;
102
102
  }
103
103
  /**
104
- * Advertiser based on the Avahi D-Bus library. For (very crappy) docs on the interface, see the XML files at: https://github.com/lathiat/avahi/tree/master/avahi-daemon
104
+ * Advertiser based on the Avahi D-Bus library.
105
+ * For (very crappy) docs on the interface, see the XML files at: https://github.com/lathiat/avahi/tree/master/avahi-daemon.
105
106
  */
106
107
  export declare class AvahiAdvertiser extends EventEmitter implements Advertiser {
107
108
  private readonly accessoryInfo;
108
109
  private readonly setupHash;
109
110
  private port?;
110
- private bus;
111
- private path;
111
+ private bus?;
112
+ private path?;
112
113
  constructor(accessoryInfo: AccessoryInfo);
113
- private avahiInvoke;
114
114
  private createTxt;
115
115
  initPort(port: number): void;
116
116
  startAdvertising(): Promise<void>;
117
117
  updateAdvertisement(silent?: boolean): Promise<void>;
118
118
  destroy(): Promise<void>;
119
+ static isAvailable(): Promise<boolean>;
120
+ private static messageBusConnectionResult;
121
+ private static avahiInvoke;
119
122
  }
120
123
  //# sourceMappingURL=Advertiser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Advertiser.d.ts","sourceRoot":"","sources":["../../src/lib/Advertiser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Advertiser.d.ts","sourceRoot":"","sources":["../../src/lib/Advertiser.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AvahiAdvertiser = exports.BonjourHAPAdvertiser = exports.CiaoAdvertiser = exports.AdvertiserEvent = exports.PairingFeatureFlag = exports.StatusFlag = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
5
6
  /// <reference path="../../@types/bonjour-hap.d.ts" />
6
7
  var ciao_1 = (0, tslib_1.__importDefault)(require("@homebridge/ciao"));
7
8
  var assert_1 = (0, tslib_1.__importDefault)(require("assert"));
@@ -11,7 +12,7 @@ var debug_1 = (0, tslib_1.__importDefault)(require("debug"));
11
12
  var dbus_native_1 = (0, tslib_1.__importDefault)(require("@homebridge/dbus-native"));
12
13
  var events_1 = require("events");
13
14
  var promise_utils_1 = require("./util/promise-utils");
14
- var debug = (0, debug_1.default)('HAP-NodeJS:Advertiser');
15
+ var debug = (0, debug_1.default)("HAP-NodeJS:Advertiser");
15
16
  /**
16
17
  * This enum lists all bitmasks for all known status flags.
17
18
  * When the bit for the given bitmask is set, it represents the state described by the name.
@@ -52,14 +53,14 @@ var CiaoAdvertiser = /** @class */ (function (_super) {
52
53
  _this.responder = ciao_1.default.getResponder((0, tslib_1.__assign)({}, responderOptions));
53
54
  _this.advertisedService = _this.responder.createService((0, tslib_1.__assign)({ name: _this.accessoryInfo.displayName, type: "hap" /* HAP */, txt: CiaoAdvertiser.createTxt(accessoryInfo, _this.setupHash) }, serviceOptions));
54
55
  _this.advertisedService.on("name-change" /* NAME_CHANGED */, _this.emit.bind(_this, "updated-name" /* UPDATED_NAME */));
55
- debug("Preparing Advertiser for '" + _this.accessoryInfo.displayName + "' using ciao backend!");
56
+ debug("Preparing Advertiser for '".concat(_this.accessoryInfo.displayName, "' using ciao backend!"));
56
57
  return _this;
57
58
  }
58
59
  CiaoAdvertiser.prototype.initPort = function (port) {
59
60
  this.advertisedService.updatePort(port);
60
61
  };
61
62
  CiaoAdvertiser.prototype.startAdvertising = function () {
62
- debug("Starting to advertise '" + this.accessoryInfo.displayName + "' using ciao backend!");
63
+ debug("Starting to advertise '".concat(this.accessoryInfo.displayName, "' using ciao backend!"));
63
64
  return this.advertisedService.advertise();
64
65
  };
65
66
  CiaoAdvertiser.prototype.updateAdvertisement = function (silent) {
@@ -101,9 +102,9 @@ var CiaoAdvertiser = /** @class */ (function (_super) {
101
102
  };
102
103
  };
103
104
  CiaoAdvertiser.computeSetupHash = function (accessoryInfo) {
104
- var hash = crypto_1.default.createHash('sha512');
105
+ var hash = crypto_1.default.createHash("sha512");
105
106
  hash.update(accessoryInfo.setupID + accessoryInfo.username.toUpperCase());
106
- return hash.digest().slice(0, 4).toString('base64');
107
+ return hash.digest().slice(0, 4).toString("base64");
107
108
  };
108
109
  CiaoAdvertiser.ff = function () {
109
110
  var flags = [];
@@ -140,7 +141,7 @@ var BonjourHAPAdvertiser = /** @class */ (function (_super) {
140
141
  _this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
141
142
  _this.serviceOptions = serviceOptions;
142
143
  _this.bonjour = (0, bonjour_hap_1.default)(responderOptions);
143
- debug("Preparing Advertiser for '" + _this.accessoryInfo.displayName + "' using bonjour-hap backend!");
144
+ debug("Preparing Advertiser for '".concat(_this.accessoryInfo.displayName, "' using bonjour-hap backend!"));
144
145
  return _this;
145
146
  }
146
147
  BonjourHAPAdvertiser.prototype.initPort = function (port) {
@@ -148,14 +149,14 @@ var BonjourHAPAdvertiser = /** @class */ (function (_super) {
148
149
  };
149
150
  BonjourHAPAdvertiser.prototype.startAdvertising = function () {
150
151
  (0, assert_1.default)(!this.destroyed, "Can't advertise on a destroyed bonjour instance!");
151
- if (this.port == undefined) {
152
+ if (this.port == null) {
152
153
  throw new Error("Tried starting bonjour-hap advertisement without initializing port!");
153
154
  }
154
- debug("Starting to advertise '" + this.accessoryInfo.displayName + "' using bonjour-hap backend!");
155
+ debug("Starting to advertise '".concat(this.accessoryInfo.displayName, "' using bonjour-hap backend!"));
155
156
  if (this.advertisement) {
156
157
  this.destroy();
157
158
  }
158
- var hostname = this.accessoryInfo.username.replace(/:/ig, "_") + '.local';
159
+ var hostname = this.accessoryInfo.username.replace(/:/ig, "_") + ".local";
159
160
  this.advertisement = this.bonjour.publish((0, tslib_1.__assign)({ name: this.accessoryInfo.displayName, type: "hap", port: this.port, txt: CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), host: hostname, addUnsafeServiceEnumerationRecord: true }, this.serviceOptions));
160
161
  return (0, promise_utils_1.PromiseTimeout)(1);
161
162
  };
@@ -183,28 +184,23 @@ var BonjourHAPAdvertiser = /** @class */ (function (_super) {
183
184
  }(events_1.EventEmitter));
184
185
  exports.BonjourHAPAdvertiser = BonjourHAPAdvertiser;
185
186
  /**
186
- * Advertiser based on the Avahi D-Bus library. For (very crappy) docs on the interface, see the XML files at: https://github.com/lathiat/avahi/tree/master/avahi-daemon
187
+ * Advertiser based on the Avahi D-Bus library.
188
+ * For (very crappy) docs on the interface, see the XML files at: https://github.com/lathiat/avahi/tree/master/avahi-daemon.
187
189
  */
188
190
  var AvahiAdvertiser = /** @class */ (function (_super) {
189
191
  (0, tslib_1.__extends)(AvahiAdvertiser, _super);
190
192
  function AvahiAdvertiser(accessoryInfo) {
191
193
  var _this = _super.call(this) || this;
192
- _this.path = '';
193
194
  _this.accessoryInfo = accessoryInfo;
194
195
  _this.setupHash = CiaoAdvertiser.computeSetupHash(accessoryInfo);
195
196
  _this.bus = dbus_native_1.default.systemBus();
196
- console.log("Preparing Advertiser for '" + _this.accessoryInfo.displayName + "' using Avahi backend!");
197
+ debug("Preparing Advertiser for '".concat(_this.accessoryInfo.displayName, "' using Avahi backend!"));
197
198
  return _this;
198
199
  }
199
- AvahiAdvertiser.prototype.avahiInvoke = function (path, dbusInterface, member, others) {
200
- var _this = this;
201
- return new Promise(function (resolve, reject) {
202
- var command = (0, tslib_1.__assign)({ destination: 'org.freedesktop.Avahi', path: path, interface: 'org.freedesktop.Avahi.' + dbusInterface, member: member }, (others || {}));
203
- _this.bus.invoke(command, function (err, result) { return err ? reject(err) : resolve(result); });
204
- });
205
- };
206
200
  AvahiAdvertiser.prototype.createTxt = function () {
207
- return Object.entries(CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash)).map(function (el) { return Buffer.from(el[0] + '=' + el[1]); });
201
+ return Object
202
+ .entries(CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash))
203
+ .map(function (el) { return Buffer.from(el[0] + "=" + el[1]); });
208
204
  };
209
205
  AvahiAdvertiser.prototype.initPort = function (port) {
210
206
  this.port = port;
@@ -215,18 +211,34 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
215
211
  return (0, tslib_1.__generator)(this, function (_b) {
216
212
  switch (_b.label) {
217
213
  case 0:
218
- if (this.port == undefined) {
214
+ if (this.port == null) {
219
215
  throw new Error("Tried starting Avahi advertisement without initializing port!");
220
216
  }
221
- console.log("Starting to advertise '" + this.accessoryInfo.displayName + "' using Avahi backend!");
217
+ if (!this.bus) {
218
+ throw new Error("Tried to start Avahi advertisement on a destroyed advertiser!");
219
+ }
220
+ debug("Starting to advertise '".concat(this.accessoryInfo.displayName, "' using Avahi backend!"));
222
221
  _a = this;
223
- return [4 /*yield*/, this.avahiInvoke('/', 'Server', 'EntryGroupNew')];
222
+ return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, "/", "Server", "EntryGroupNew")];
224
223
  case 1:
225
224
  _a.path = (_b.sent());
226
- return [4 /*yield*/, this.avahiInvoke(this.path, 'EntryGroup', 'AddService', { body: [-1, -1, 0, this.accessoryInfo.displayName, '_hap._tcp', '', '', this.port, this.createTxt()], signature: 'iiussssqaay' })];
225
+ return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "AddService", {
226
+ body: [
227
+ -1,
228
+ -1,
229
+ 0,
230
+ this.accessoryInfo.displayName,
231
+ "_hap._tcp",
232
+ "",
233
+ "",
234
+ this.port,
235
+ this.createTxt(), // txt
236
+ ],
237
+ signature: "iiussssqaay",
238
+ })];
227
239
  case 2:
228
240
  _b.sent();
229
- return [4 /*yield*/, this.avahiInvoke(this.path, 'EntryGroup', 'Commit')];
241
+ return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "Commit")];
230
242
  case 3:
231
243
  _b.sent();
232
244
  return [2 /*return*/];
@@ -236,31 +248,137 @@ var AvahiAdvertiser = /** @class */ (function (_super) {
236
248
  };
237
249
  AvahiAdvertiser.prototype.updateAdvertisement = function (silent) {
238
250
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
251
+ var error_1;
239
252
  return (0, tslib_1.__generator)(this, function (_a) {
240
253
  switch (_a.label) {
241
254
  case 0:
242
- if (!this.path) return [3 /*break*/, 2];
243
- return [4 /*yield*/, this.avahiInvoke(this.path, 'EntryGroup', 'UpdateServiceTxt', { body: [-1, -1, 0, this.accessoryInfo.displayName, '_hap._tcp', '', this.createTxt()], signature: 'iiusssaay' })];
255
+ if (!this.bus) {
256
+ throw new Error("Tried to update Avahi advertisement on a destroyed advertiser!");
257
+ }
258
+ if (!this.path) {
259
+ debug("Tried to update advertisement without a valid `path`!");
260
+ return [2 /*return*/];
261
+ }
262
+ debug("Updating txt record (txt: %o, silent: %d)", CiaoAdvertiser.createTxt(this.accessoryInfo, this.setupHash), silent);
263
+ _a.label = 1;
244
264
  case 1:
265
+ _a.trys.push([1, 3, , 4]);
266
+ return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "UpdateServiceTxt", {
267
+ body: [-1, -1, 0, this.accessoryInfo.displayName, "_hap._tcp", "", this.createTxt()],
268
+ signature: "iiusssaay",
269
+ })];
270
+ case 2:
245
271
  _a.sent();
246
- _a.label = 2;
247
- case 2: return [2 /*return*/];
272
+ return [3 /*break*/, 4];
273
+ case 3:
274
+ error_1 = _a.sent();
275
+ console.error("Failed to update avahi advertisement: " + error_1);
276
+ return [3 /*break*/, 4];
277
+ case 4: return [2 /*return*/];
248
278
  }
249
279
  });
250
280
  });
251
281
  };
252
282
  AvahiAdvertiser.prototype.destroy = function () {
253
283
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
284
+ var error_2;
254
285
  return (0, tslib_1.__generator)(this, function (_a) {
255
286
  switch (_a.label) {
256
287
  case 0:
257
- if (!this.path) return [3 /*break*/, 2];
258
- return [4 /*yield*/, this.avahiInvoke(this.path, 'EntryGroup', 'Free')];
288
+ if (!this.bus) {
289
+ throw new Error("Tried to destroy Avahi advertisement on a destroyed advertiser!");
290
+ }
291
+ if (!this.path) return [3 /*break*/, 5];
292
+ _a.label = 1;
259
293
  case 1:
294
+ _a.trys.push([1, 3, , 4]);
295
+ return [4 /*yield*/, AvahiAdvertiser.avahiInvoke(this.bus, this.path, "EntryGroup", "Free")];
296
+ case 2:
260
297
  _a.sent();
261
- this.path = '';
298
+ return [3 /*break*/, 4];
299
+ case 3:
300
+ error_2 = _a.sent();
301
+ // Typically, this fails if e.g. avahi service was stopped in the meantime.
302
+ debug("Destroying Avahi advertisement failed: " + error_2);
303
+ return [3 /*break*/, 4];
304
+ case 4:
305
+ this.path = undefined;
306
+ _a.label = 5;
307
+ case 5:
308
+ this.bus.connection.stream.destroy();
309
+ this.bus = undefined;
310
+ return [2 /*return*/];
311
+ }
312
+ });
313
+ });
314
+ };
315
+ AvahiAdvertiser.isAvailable = function () {
316
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
317
+ var bus, error_3, version, error_4;
318
+ return (0, tslib_1.__generator)(this, function (_a) {
319
+ switch (_a.label) {
320
+ case 0:
321
+ bus = dbus_native_1.default.systemBus();
322
+ _a.label = 1;
323
+ case 1:
324
+ _a.trys.push([1, , 9, 10]);
262
325
  _a.label = 2;
263
- case 2: return [2 /*return*/];
326
+ case 2:
327
+ _a.trys.push([2, 4, , 5]);
328
+ return [4 /*yield*/, this.messageBusConnectionResult(bus)];
329
+ case 3:
330
+ _a.sent();
331
+ return [3 /*break*/, 5];
332
+ case 4:
333
+ error_3 = _a.sent();
334
+ debug("Avahi/DBus classified unavailable due to missing dbus interface!");
335
+ return [2 /*return*/, false];
336
+ case 5:
337
+ _a.trys.push([5, 7, , 8]);
338
+ return [4 /*yield*/, this.avahiInvoke(bus, "/", "Server", "GetVersionString")];
339
+ case 6:
340
+ version = _a.sent();
341
+ debug("Detected Avahi over DBus interface running version '%s'.", version);
342
+ return [3 /*break*/, 8];
343
+ case 7:
344
+ error_4 = _a.sent();
345
+ debug("Avahi/DBus classified unavailable due to missing avahi interface!");
346
+ return [2 /*return*/, false];
347
+ case 8: return [2 /*return*/, true];
348
+ case 9:
349
+ bus.connection.stream.destroy();
350
+ return [7 /*endfinally*/];
351
+ case 10: return [2 /*return*/];
352
+ }
353
+ });
354
+ });
355
+ };
356
+ AvahiAdvertiser.messageBusConnectionResult = function (bus) {
357
+ return new Promise(function (resolve, reject) {
358
+ var errorHandler = function (error) {
359
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
360
+ bus.connection.removeListener("connect", connectHandler);
361
+ reject(error);
362
+ };
363
+ var connectHandler = function () {
364
+ bus.connection.removeListener("error", errorHandler);
365
+ resolve();
366
+ };
367
+ bus.connection.once("connect", connectHandler);
368
+ bus.connection.once("error", errorHandler);
369
+ });
370
+ };
371
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
372
+ AvahiAdvertiser.avahiInvoke = function (bus, path, dbusInterface, member, others) {
373
+ return new Promise(function (resolve, reject) {
374
+ var command = (0, tslib_1.__assign)({ destination: "org.freedesktop.Avahi", path: path, interface: "org.freedesktop.Avahi." + dbusInterface, member: member }, (others || {}));
375
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
376
+ bus.invoke(command, function (err, result) {
377
+ if (err) {
378
+ reject(new Error("avahiInvoke error: ".concat(JSON.stringify(err))));
379
+ }
380
+ else {
381
+ resolve(result);
264
382
  }
265
383
  });
266
384
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Advertiser.js","sourceRoot":"","sources":["../../src/lib/Advertiser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Advertiser.js","sourceRoot":"","sources":["../../src/lib/Advertiser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Accessory } from './Accessory';
1
+ import { Accessory } from "./Accessory";
2
2
  /**
3
3
  * Bridge is a special type of HomeKit Accessory that hosts other Accessories "behind" it. This way you
4
4
  * can simply publish() the Bridge (with a single HAPServer on a single port) and all bridged Accessories
@@ -1 +1 @@
1
- {"version":3,"file":"Bridge.d.ts","sourceRoot":"","sources":["../../src/lib/Bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,SAAS;gBACrB,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAIhD"}
1
+ {"version":3,"file":"Bridge.d.ts","sourceRoot":"","sources":["../../src/lib/Bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,SAAS;gBACvB,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAI9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../src/lib/Bridge.ts"],"names":[],"mappings":";;;;AAAA,yCAAwC;AAExC;;;;GAIG;AACH;IAA4B,uCAAS;IACjC,gBAAY,WAAmB,EAAE,IAAY;QAA7C,YACI,kBAAM,WAAW,EAAE,IAAI,CAAC,SAE3B;QADG,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;IAC1B,CAAC;IACL,aAAC;AAAD,CAAC,AALD,CAA4B,qBAAS,GAKpC;AALY,wBAAM"}
1
+ {"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../src/lib/Bridge.ts"],"names":[],"mappings":";;;;AAAA,yCAAwC;AAExC;;;;GAIG;AACH;IAA4B,uCAAS;IACnC,gBAAY,WAAmB,EAAE,IAAY;QAA7C,YACE,kBAAM,WAAW,EAAE,IAAI,CAAC,SAEzB;QADC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;IACxB,CAAC;IACH,aAAC;AAAD,CAAC,AALD,CAA4B,qBAAS,GAKpC;AALY,wBAAM"}
@@ -1,13 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from "events";
3
3
  import { CharacteristicJsonObject } from "../internal-types";
4
- import { CharacteristicValue, Nullable, VoidCallback } from '../types';
4
+ import { CharacteristicValue, Nullable, VoidCallback } from "../types";
5
5
  import { CharacteristicWarningType } from "./Accessory";
6
6
  import { AccessCodeControlPoint, AccessCodeSupportedConfiguration, AccessControlLevel, AccessoryFlags, AccessoryIdentifier, Active, ActiveIdentifier, ActivityInterval, AdministratorOnlyAccess, AirParticulateDensity, AirParticulateSize, AirPlayEnable, AirQuality, AppMatchingIdentifier, AssetUpdateReadiness, AudioFeedback, BatteryLevel, Brightness, ButtonEvent, CameraOperatingModeIndicator, CarbonDioxideDetected, CarbonDioxideLevel, CarbonDioxidePeakLevel, CarbonMonoxideDetected, CarbonMonoxideLevel, CarbonMonoxidePeakLevel, Category, CCAEnergyDetectThreshold, CCASignalDetectThreshold, CharacteristicValueActiveTransitionCount, CharacteristicValueTransitionControl, ChargingState, ClosedCaptions, ColorTemperature, ConfigurationState, ConfigureBridgedAccessory, ConfigureBridgedAccessoryStatus, ConfiguredName, ContactSensorState, CoolingThresholdTemperature, CurrentAirPurifierState, CurrentAmbientLightLevel, CurrentDoorState, CurrentFanState, CurrentHeaterCoolerState, CurrentHeatingCoolingState, CurrentHorizontalTiltAngle, CurrentHumidifierDehumidifierState, CurrentMediaState, CurrentPosition, CurrentRelativeHumidity, CurrentSlatState, CurrentTemperature, CurrentTiltAngle, CurrentTime, CurrentTransport, CurrentVerticalTiltAngle, CurrentVisibilityState, DataStreamHAPTransport, DataStreamHAPTransportInterrupt, DayoftheWeek, DiagonalFieldOfView, DigitalZoom, DiscoverBridgedAccessories, DiscoveredBridgedAccessories, DisplayOrder, EventRetransmissionMaximum, EventSnapshotsActive, EventTransmissionCounters, FilterChangeIndication, FilterLifeLevel, FirmwareRevision, FirmwareUpdateReadiness, FirmwareUpdateStatus, HardwareFinish, HardwareRevision, HeartBeat, HeatingThresholdTemperature, HoldPosition, HomeKitCameraActive, Hue, Identifier, Identify, ImageMirroring, ImageRotation, InputDeviceType, InputSourceType, InUse, IsConfigured, LeakDetected, LinkQuality, ListPairings, LockControlPoint, LockCurrentState, LockLastKnownAction, LockManagementAutoSecurityTimeout, LockPhysicalControls, LockTargetState, Logs, MACRetransmissionMaximum, MACTransmissionCounters, ManagedNetworkEnable, ManuallyDisabled, Manufacturer, MaximumTransmitPower, Model, MotionDetected, MultifunctionButton, Mute, Name, NetworkAccessViolationControl, NetworkClientProfileControl, NetworkClientStatusControl, NFCAccessControlPoint, NFCAccessSupportedConfiguration, NightVision, NitrogenDioxideDensity, ObstructionDetected, OccupancyDetected, On, OperatingStateResponse, OpticalZoom, OutletInUse, OzoneDensity, PairingFeatures, PairSetup, PairVerify, PasswordSetting, PeriodicSnapshotsActive, PictureMode, Ping, PM10Density, PM2_5Density, PositionState, PowerModeSelection, ProductData, ProgrammableSwitchEvent, ProgrammableSwitchOutputState, ProgramMode, Reachable, ReceivedSignalStrengthIndication, ReceiverSensitivity, RecordingAudioActive, RelativeHumidityDehumidifierThreshold, RelativeHumidityHumidifierThreshold, RelayControlPoint, RelayEnabled, RelayState, RemainingDuration, RemoteKey, ResetFilterIndication, RotationDirection, RotationSpeed, RouterStatus, Saturation, SecuritySystemAlarmType, SecuritySystemCurrentState, SecuritySystemTargetState, SelectedAudioStreamConfiguration, SelectedCameraRecordingConfiguration, SelectedDiagnosticsModes, SelectedRTPStreamConfiguration, SerialNumber, ServiceLabelIndex, ServiceLabelNamespace, SetDuration, SetupDataStreamTransport, SetupEndpoints, SetupTransferTransport, SignalToNoiseRatio, SiriEnable, SiriEndpointSessionStatus, SiriEngineVersion, SiriInputType, SiriLightOnUse, SiriListening, SiriTouchToUse, SlatType, SleepDiscoveryMode, SleepInterval, SmokeDetected, SoftwareRevision, StagedFirmwareVersion, StatusActive, StatusFault, StatusJammed, StatusLowBattery, StatusTampered, StreamingStatus, SulphurDioxideDensity, SupportedAssetTypes, SupportedAudioRecordingConfiguration, SupportedAudioStreamConfiguration, SupportedCameraRecordingConfiguration, SupportedCharacteristicValueTransitionConfiguration, SupportedDataStreamTransportConfiguration, SupportedDiagnosticsModes, SupportedDiagnosticsSnapshot, SupportedFirmwareUpdateConfiguration, SupportedRouterConfiguration, SupportedRTPConfiguration, SupportedTransferTransportConfiguration, SupportedVideoRecordingConfiguration, SupportedVideoStreamConfiguration, SwingMode, TargetAirPurifierState, TargetAirQuality, TargetControlList, TargetControlSupportedConfiguration, TargetDoorState, TargetFanState, TargetHeaterCoolerState, TargetHeatingCoolingState, TargetHorizontalTiltAngle, TargetHumidifierDehumidifierState, TargetMediaState, TargetPosition, TargetRelativeHumidity, TargetSlatState, TargetTemperature, TargetTiltAngle, TargetVerticalTiltAngle, TargetVisibilityState, TemperatureDisplayUnits, ThirdPartyCameraActive, ThreadControlPoint, ThreadNodeCapabilities, ThreadOpenThreadVersion, ThreadStatus, TimeUpdate, TransmitPower, TunnelConnectionTimeout, TunneledAccessoryAdvertising, TunneledAccessoryConnected, TunneledAccessoryStateNumber, ValveType, Version, VideoAnalysisActive, VOCDensity, Volume, VolumeControlType, VolumeSelector, WakeConfiguration, WANConfigurationList, WANStatusList, WaterLevel, WiFiCapabilities, WiFiConfigurationControl, WiFiSatelliteStatus } from "./definitions";
7
7
  import { HAPStatus } from "./HAPServer";
8
- import { IdentifierCache } from './model/IdentifierCache';
8
+ import { IdentifierCache } from "./model/IdentifierCache";
9
9
  import { HAPConnection } from "./util/eventedhttp";
10
- import { HapStatusError } from './util/hapStatusError';
10
+ import { HapStatusError } from "./util/hapStatusError";
11
11
  export declare const enum Formats {
12
12
  BOOL = "bool",
13
13
  /**
@@ -130,7 +130,7 @@ export declare type CharacteristicChange = {
130
130
  newValue: Nullable<CharacteristicValue>;
131
131
  oldValue: Nullable<CharacteristicValue>;
132
132
  reason: ChangeReason;
133
- context?: any;
133
+ context?: CharacteristicContext;
134
134
  };
135
135
  export declare const enum ChangeReason {
136
136
  /**
@@ -207,14 +207,15 @@ export declare const enum CharacteristicEventTypes {
207
207
  */
208
208
  CHARACTERISTIC_WARNING = "characteristic-warning"
209
209
  }
210
+ export declare type CharacteristicContext = any;
210
211
  export declare type CharacteristicGetCallback = (status?: HAPStatus | null | Error, value?: Nullable<CharacteristicValue>) => void;
211
212
  export declare type CharacteristicSetCallback = (error?: HAPStatus | null | Error, writeResponse?: Nullable<CharacteristicValue>) => void;
212
- export declare type CharacteristicGetHandler = (context: any, connection?: HAPConnection) => Promise<Nullable<CharacteristicValue>> | Nullable<CharacteristicValue>;
213
- export declare type CharacteristicSetHandler = (value: CharacteristicValue, context: any, connection?: HAPConnection) => Promise<Nullable<CharacteristicValue> | void> | Nullable<CharacteristicValue> | void;
213
+ export declare type CharacteristicGetHandler = (context: CharacteristicContext, connection?: HAPConnection) => Promise<Nullable<CharacteristicValue>> | Nullable<CharacteristicValue>;
214
+ export declare type CharacteristicSetHandler = (value: CharacteristicValue, context: CharacteristicContext, connection?: HAPConnection) => Promise<Nullable<CharacteristicValue> | void> | Nullable<CharacteristicValue> | void;
214
215
  export declare type AdditionalAuthorizationHandler = (additionalAuthorizationData: string | undefined) => boolean;
215
216
  export declare interface Characteristic {
216
- on(event: "get", listener: (callback: CharacteristicGetCallback, context: any, connection?: HAPConnection) => void): this;
217
- on(event: "set", listener: (value: CharacteristicValue, callback: CharacteristicSetCallback, context: any, connection?: HAPConnection) => void): this;
217
+ on(event: "get", listener: (callback: CharacteristicGetCallback, context: CharacteristicContext, connection?: HAPConnection) => void): this;
218
+ on(event: "set", listener: (value: CharacteristicValue, callback: CharacteristicSetCallback, context: CharacteristicContext, connection?: HAPConnection) => void): this;
218
219
  on(event: "change", listener: (change: CharacteristicChange) => void): this;
219
220
  /**
220
221
  * @private
@@ -231,11 +232,11 @@ export declare interface Characteristic {
231
232
  /**
232
233
  * @private
233
234
  */
234
- emit(event: "get", callback: CharacteristicGetCallback, context: any, connection?: HAPConnection): boolean;
235
+ emit(event: "get", callback: CharacteristicGetCallback, context: CharacteristicContext, connection?: HAPConnection): boolean;
235
236
  /**
236
237
  * @private
237
238
  */
238
- emit(event: "set", value: CharacteristicValue, callback: CharacteristicSetCallback, context: any, connection?: HAPConnection): boolean;
239
+ emit(event: "set", value: CharacteristicValue, callback: CharacteristicSetCallback, context: CharacteristicContext, connection?: HAPConnection): boolean;
239
240
  /**
240
241
  * @private
241
242
  */
@@ -265,15 +266,15 @@ export declare interface Characteristic {
265
266
  */
266
267
  export declare class Characteristic extends EventEmitter {
267
268
  /**
268
- * @deprecated Please use the Formats const enum above. Scheduled to be removed in 2021-06.
269
+ * @deprecated Please use the Formats const enum above.
269
270
  */
270
271
  static Formats: typeof Formats;
271
272
  /**
272
- * @deprecated Please use the Units const enum above. Scheduled to be removed in 2021-06.
273
+ * @deprecated Please use the Units const enum above.
273
274
  */
274
275
  static Units: typeof Units;
275
276
  /**
276
- * @deprecated Please use the Perms const enum above. Scheduled to be removed in 2021-06.
277
+ * @deprecated Please use the Perms const enum above.
277
278
  */
278
279
  static Perms: typeof Perms;
279
280
  static AccessCodeControlPoint: typeof AccessCodeControlPoint;
@@ -689,7 +690,7 @@ export declare class Characteristic extends EventEmitter {
689
690
  *
690
691
  * @deprecated
691
692
  */
692
- getValue(callback?: CharacteristicGetCallback, context?: any): void;
693
+ getValue(callback?: CharacteristicGetCallback, context?: CharacteristicContext): void;
693
694
  /**
694
695
  * This updates the value by calling the {@link CharacteristicEventTypes.SET} event handler associated with the characteristic.
695
696
  * This acts the same way as when a HomeKit controller sends a /characteristics request to update the characteristic.
@@ -729,7 +730,7 @@ export declare class Characteristic extends EventEmitter {
729
730
  * @param context - Passed to the {@link CharacteristicEventTypes.SET} and {@link CharacteristicEventTypes.CHANGE} event handler.
730
731
  * @deprecated Parameter callback is deprecated.
731
732
  */
732
- setValue(value: CharacteristicValue, callback?: CharacteristicSetCallback, context?: any): Characteristic;
733
+ setValue(value: CharacteristicValue, callback?: CharacteristicSetCallback, context?: CharacteristicContext): Characteristic;
733
734
  /**
734
735
  * This updates the value by calling the {@link CharacteristicEventTypes.SET} event handler associated with the characteristic.
735
736
  * This acts the same way as when a HomeKit controller sends a /characteristics request to update the characteristic.
@@ -742,7 +743,7 @@ export declare class Characteristic extends EventEmitter {
742
743
  * @param value - The new value.
743
744
  * @param context - Passed to the {@link CharacteristicEventTypes.SET} and {@link CharacteristicEventTypes.CHANGE} event handler.
744
745
  */
745
- setValue(value: CharacteristicValue, context?: any): Characteristic;
746
+ setValue(value: CharacteristicValue, context?: CharacteristicContext): Characteristic;
746
747
  /**
747
748
  * This updates the value of the characteristic. If the value changed, a event notification will be sent to all connected
748
749
  * HomeKit controllers which are registered to receive event notifications for this characteristic.
@@ -771,7 +772,7 @@ export declare class Characteristic extends EventEmitter {
771
772
  * @param context - Passed to the {@link CharacteristicEventTypes.CHANGE} event handler.
772
773
  * @deprecated Parameter callback is deprecated.
773
774
  */
774
- updateValue(value: Nullable<CharacteristicValue>, callback?: () => void, context?: any): Characteristic;
775
+ updateValue(value: Nullable<CharacteristicValue>, callback?: () => void, context?: CharacteristicContext): Characteristic;
775
776
  /**
776
777
  * This updates the value of the characteristic. If the value changed, a event notification will be sent to all connected
777
778
  * HomeKit controllers which are registered to receive event notifications for this characteristic.
@@ -779,17 +780,17 @@ export declare class Characteristic extends EventEmitter {
779
780
  * @param value - The new value.
780
781
  * @param context - Passed to the {@link CharacteristicEventTypes.CHANGE} event handler.
781
782
  */
782
- updateValue(value: Nullable<CharacteristicValue>, context?: any): Characteristic;
783
+ updateValue(value: Nullable<CharacteristicValue>, context?: CharacteristicContext): Characteristic;
783
784
  /**
784
785
  * This method acts similarly to {@link updateValue} by setting the current value of the characteristic
785
786
  * without calling any {@link CharacteristicEventTypes.SET} or {@link onSet} handlers.
786
- * The difference is that this method forces a event notification sent (updateValue only sends one if the value changed).
787
+ * The difference is that this method forces an event notification sent (updateValue only sends one if the value changed).
787
788
  * This is especially useful for characteristics like {@link Characteristic.ButtonEvent} or {@link Characteristic.ProgrammableSwitchEvent}.
788
789
  *
789
790
  * @param value - The new value.
790
791
  * @param context - Passed to the {@link CharacteristicEventTypes.CHANGE} event handler.
791
792
  */
792
- sendEventNotification(value: CharacteristicValue, context?: any): Characteristic;
793
+ sendEventNotification(value: CharacteristicValue, context?: CharacteristicContext): Characteristic;
793
794
  /**
794
795
  * Called when a HAP requests wants to know the current value of the characteristic.
795
796
  *
@@ -797,7 +798,7 @@ export declare class Characteristic extends EventEmitter {
797
798
  * @param context - Deprecated parameter. There for backwards compatibility.
798
799
  * @private Used by the Accessory to load the characteristic value
799
800
  */
800
- handleGetRequest(connection?: HAPConnection, context?: any): Promise<Nullable<CharacteristicValue>>;
801
+ handleGetRequest(connection?: HAPConnection, context?: CharacteristicContext): Promise<Nullable<CharacteristicValue>>;
801
802
  /**
802
803
  * Called when a HAP requests update the current value of the characteristic.
803
804
  *
@@ -809,7 +810,7 @@ export declare class Characteristic extends EventEmitter {
809
810
  * write response value is resolved.
810
811
  * @private
811
812
  */
812
- handleSetRequest(value: CharacteristicValue, connection?: HAPConnection, context?: any): Promise<CharacteristicValue | void>;
813
+ handleSetRequest(value: CharacteristicValue, connection?: HAPConnection, context?: CharacteristicContext): Promise<CharacteristicValue | void>;
813
814
  /**
814
815
  * Called once a HomeKit controller subscribes to events of this characteristics.
815
816
  * @private