hap-nodejs 1.0.0-beta.2 → 1.0.0-beta.4
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/@types/bonjour-hap.d.ts +4 -3
- package/@types/simple-plist.d.ts +2 -1
- package/README.md +2 -1
- package/dist/BridgedCore.js +7 -5
- package/dist/BridgedCore.js.map +1 -1
- package/dist/Core.js +14 -8
- package/dist/Core.js.map +1 -1
- package/dist/accessories/AirConditioner_accessory.d.ts +2 -0
- package/dist/accessories/AirConditioner_accessory.d.ts.map +1 -0
- package/dist/accessories/AirConditioner_accessory.js +128 -0
- package/dist/accessories/AirConditioner_accessory.js.map +1 -0
- package/dist/accessories/AppleTVRemote_accessory.d.ts +2 -0
- package/dist/accessories/AppleTVRemote_accessory.d.ts.map +1 -0
- package/dist/accessories/AppleTVRemote_accessory.js +159 -0
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -0
- package/dist/accessories/Camera_accessory.d.ts +2 -0
- package/dist/accessories/Camera_accessory.d.ts.map +1 -0
- package/dist/accessories/Camera_accessory.js +630 -0
- package/dist/accessories/Camera_accessory.js.map +1 -0
- package/dist/accessories/Fan_accessory.d.ts +2 -0
- package/dist/accessories/Fan_accessory.d.ts.map +1 -0
- package/dist/accessories/Fan_accessory.js +80 -0
- package/dist/accessories/Fan_accessory.js.map +1 -0
- package/dist/accessories/GarageDoorOpener_accessory.d.ts +2 -0
- package/dist/accessories/GarageDoorOpener_accessory.d.ts.map +1 -0
- package/dist/accessories/GarageDoorOpener_accessory.js +78 -0
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.d.ts +2 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.d.ts.map +1 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +96 -0
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -0
- package/dist/accessories/Light_accessory.d.ts +2 -0
- package/dist/accessories/Light_accessory.d.ts.map +1 -0
- package/dist/accessories/Light_accessory.js +148 -0
- package/dist/accessories/Light_accessory.js.map +1 -0
- package/dist/accessories/Lock_accessory.d.ts +2 -0
- package/dist/accessories/Lock_accessory.d.ts.map +1 -0
- package/dist/accessories/Lock_accessory.js +76 -0
- package/dist/accessories/Lock_accessory.js.map +1 -0
- package/dist/accessories/MotionSensor_accessory.d.ts +2 -0
- package/dist/accessories/MotionSensor_accessory.d.ts.map +1 -0
- package/dist/accessories/MotionSensor_accessory.js +45 -0
- package/dist/accessories/MotionSensor_accessory.js.map +1 -0
- package/dist/accessories/Outlet_accessory.d.ts +2 -0
- package/dist/accessories/Outlet_accessory.d.ts.map +1 -0
- package/dist/accessories/Outlet_accessory.js +79 -0
- package/dist/accessories/Outlet_accessory.js.map +1 -0
- package/dist/accessories/SmartSpeaker_accessory.d.ts +2 -0
- package/dist/accessories/SmartSpeaker_accessory.d.ts.map +1 -0
- package/dist/accessories/SmartSpeaker_accessory.js +44 -0
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -0
- package/dist/accessories/Sprinkler_accessory.d.ts +2 -0
- package/dist/accessories/Sprinkler_accessory.d.ts.map +1 -0
- package/dist/accessories/Sprinkler_accessory.js +128 -0
- package/dist/accessories/Sprinkler_accessory.js.map +1 -0
- package/dist/accessories/TV_accessory.d.ts +2 -0
- package/dist/accessories/TV_accessory.d.ts.map +1 -0
- package/dist/accessories/TV_accessory.js +101 -0
- package/dist/accessories/TV_accessory.js.map +1 -0
- package/dist/accessories/TemperatureSensor_accessory.d.ts +2 -0
- package/dist/accessories/TemperatureSensor_accessory.d.ts.map +1 -0
- package/dist/accessories/TemperatureSensor_accessory.js +44 -0
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -0
- package/dist/accessories/Wi-FiRouter_accessory.d.ts +3 -0
- package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -0
- package/dist/accessories/Wi-FiRouter_accessory.js +17 -0
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -0
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts +3 -0
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -0
- package/dist/accessories/Wi-FiSatellite_accessory.js +19 -0
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -0
- package/dist/accessories/gstreamer-audioProducer.d.ts +25 -0
- package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -0
- package/dist/accessories/gstreamer-audioProducer.js +155 -0
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -0
- package/dist/accessories/types.d.ts +78 -0
- package/dist/accessories/types.d.ts.map +1 -0
- package/dist/accessories/types.js +88 -0
- package/dist/accessories/types.js.map +1 -0
- package/dist/index.d.ts +54 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -11
- package/dist/index.js.map +1 -1
- package/dist/internal-types.d.ts +65 -124
- package/dist/internal-types.d.ts.map +1 -1
- package/dist/internal-types.js +66 -5
- package/dist/internal-types.js.map +1 -1
- package/dist/lib/Accessory.d.ts +147 -60
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +566 -475
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/AccessoryLoader.d.ts +20 -8
- package/dist/lib/AccessoryLoader.d.ts.map +1 -1
- package/dist/lib/AccessoryLoader.js +115 -93
- package/dist/lib/AccessoryLoader.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +99 -5
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +564 -22
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.d.ts +3 -1
- package/dist/lib/Bridge.d.ts.map +1 -1
- package/dist/lib/Bridge.js +2 -0
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +918 -59
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +308 -257
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +114 -43
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +269 -405
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +339 -15
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +59 -50
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/Camera.d.ts +15 -6
- package/dist/lib/camera/Camera.d.ts.map +1 -1
- package/dist/lib/camera/Camera.js +6 -3
- package/dist/lib/camera/Camera.js.map +1 -1
- package/dist/lib/camera/RTPProxy.d.ts +24 -19
- package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
- package/dist/lib/camera/RTPProxy.js +230 -207
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +202 -43
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +303 -189
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.d.ts +326 -0
- package/dist/lib/camera/RecordingManagement.d.ts.map +1 -0
- package/dist/lib/camera/RecordingManagement.js +833 -0
- package/dist/lib/camera/RecordingManagement.js.map +1 -0
- package/dist/lib/camera/index.d.ts +4 -3
- package/dist/lib/camera/index.d.ts.map +1 -1
- package/dist/lib/camera/index.js +1 -0
- package/dist/lib/camera/index.js.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +37 -11
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +101 -86
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +290 -12
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +403 -47
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/Controller.d.ts +31 -10
- package/dist/lib/controller/Controller.d.ts.map +1 -1
- package/dist/lib/controller/Controller.js +7 -0
- package/dist/lib/controller/Controller.js.map +1 -1
- package/dist/lib/controller/DoorbellController.d.ts +47 -1
- package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
- package/dist/lib/controller/DoorbellController.js +65 -11
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +111 -42
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +228 -203
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.d.ts +4 -4
- package/dist/lib/datastream/DataStreamManagement.d.ts +25 -19
- package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +42 -35
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.d.ts +63 -24
- package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +133 -87
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +154 -50
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +242 -147
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.d.ts +3 -3
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts +181 -0
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +968 -499
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts +58 -0
- package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +173 -6
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.d.ts +1 -0
- package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +29 -21
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +62 -29
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/model/AccessoryInfo.d.ts +16 -13
- package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
- package/dist/lib/model/AccessoryInfo.js +88 -83
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.d.ts +3 -0
- package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
- package/dist/lib/model/ControllerStorage.js +7 -4
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.d.ts +3 -0
- package/dist/lib/model/HAPStorage.d.ts.map +1 -1
- package/dist/lib/model/HAPStorage.js +4 -0
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.d.ts +12 -11
- package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
- package/dist/lib/model/IdentifierCache.js +68 -65
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts +12 -1
- package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +13 -5
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/clone.d.ts +2 -1
- package/dist/lib/util/clone.d.ts.map +1 -1
- package/dist/lib/util/clone.js +2 -0
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.d.ts +4 -1
- package/dist/lib/util/color-utils.d.ts.map +1 -1
- package/dist/lib/util/color-utils.js +5 -2
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts +62 -22
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +245 -188
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts +35 -7
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +84 -78
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.d.ts +2 -0
- package/dist/lib/util/hapStatusError.d.ts.map +1 -1
- package/dist/lib/util/hapStatusError.js +5 -3
- package/dist/lib/util/hapStatusError.js.map +1 -1
- package/dist/lib/util/net-utils.d.ts +7 -0
- package/dist/lib/util/net-utils.d.ts.map +1 -1
- package/dist/lib/util/net-utils.js +14 -7
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.d.ts +6 -1
- package/dist/lib/util/once.d.ts.map +1 -1
- package/dist/lib/util/once.js +9 -3
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.d.ts +15 -0
- package/dist/lib/util/promise-utils.d.ts.map +1 -0
- package/dist/lib/util/promise-utils.js +36 -0
- package/dist/lib/util/promise-utils.js.map +1 -0
- package/dist/lib/util/request-util.d.ts +16 -0
- package/dist/lib/util/request-util.d.ts.map +1 -1
- package/dist/lib/util/request-util.js +43 -27
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.d.ts +7 -1
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +13 -7
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.d.ts +95 -5
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +96 -24
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.d.ts +2 -3
- package/dist/lib/util/uuid.d.ts.map +1 -1
- package/dist/lib/util/uuid.js +25 -19
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +271 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/package.json +30 -29
- package/dist/lib/util/setupcode.d.ts +0 -5
- package/dist/lib/util/setupcode.d.ts.map +0 -1
- package/dist/lib/util/setupcode.js +0 -49
- package/dist/lib/util/setupcode.js.map +0 -1
- package/dist/lib/util/setupid.d.ts +0 -5
- package/dist/lib/util/setupid.d.ts.map +0 -1
- package/dist/lib/util/setupid.js +0 -52
- package/dist/lib/util/setupid.js.map +0 -1
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { AccessoryJsonObject } from "../../
|
|
3
|
-
import { MacAddress } from "../../types";
|
|
2
|
+
import { AccessoryJsonObject, MacAddress } from "../../types";
|
|
4
3
|
import { Categories } from "../Accessory";
|
|
5
4
|
import { HAPConnection, HAPUsername } from "../util/eventedhttp";
|
|
5
|
+
/**
|
|
6
|
+
* @group Model
|
|
7
|
+
*/
|
|
6
8
|
export declare const enum PermissionTypes {
|
|
7
9
|
USER = 0,
|
|
8
10
|
ADMIN = 1
|
|
9
11
|
}
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @group Model
|
|
14
|
+
*/
|
|
15
|
+
export interface PairingInformation {
|
|
11
16
|
username: HAPUsername;
|
|
12
17
|
publicKey: Buffer;
|
|
13
18
|
permission: PermissionTypes;
|
|
14
|
-
}
|
|
19
|
+
}
|
|
15
20
|
/**
|
|
16
21
|
* AccessoryInfo is a model class containing a subset of Accessory data relevant to the internal HAP server,
|
|
17
22
|
* such as encryption keys and username. It is persisted to disk.
|
|
23
|
+
* @group Model
|
|
18
24
|
*/
|
|
19
25
|
export declare class AccessoryInfo {
|
|
20
26
|
static readonly deviceIdPattern: RegExp;
|
|
@@ -22,10 +28,7 @@ export declare class AccessoryInfo {
|
|
|
22
28
|
displayName: string;
|
|
23
29
|
model: string;
|
|
24
30
|
category: Categories;
|
|
25
|
-
pincode: string
|
|
26
|
-
salt: Buffer;
|
|
27
|
-
verifier: Buffer;
|
|
28
|
-
} | null;
|
|
31
|
+
pincode: string;
|
|
29
32
|
signSk: Buffer;
|
|
30
33
|
signPk: Buffer;
|
|
31
34
|
pairedClients: Record<HAPUsername, PairingInformation>;
|
|
@@ -70,11 +73,11 @@ export declare class AccessoryInfo {
|
|
|
70
73
|
checkForCurrentConfigurationNumberIncrement(configuration: AccessoryJsonObject[], checkFirmwareIncrement?: boolean): boolean;
|
|
71
74
|
getConfigVersion(): number;
|
|
72
75
|
private ensureConfigVersionBounds;
|
|
73
|
-
save
|
|
74
|
-
static persistKey
|
|
75
|
-
static create
|
|
76
|
-
static load
|
|
76
|
+
save(): void;
|
|
77
|
+
static persistKey(username: MacAddress): string;
|
|
78
|
+
static create(username: MacAddress): AccessoryInfo;
|
|
79
|
+
static load(username: MacAddress): AccessoryInfo | null;
|
|
77
80
|
static remove(username: MacAddress): void;
|
|
78
|
-
static assertValidUsername
|
|
81
|
+
static assertValidUsername(username: MacAddress): void;
|
|
79
82
|
}
|
|
80
83
|
//# sourceMappingURL=AccessoryInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryInfo.d.ts","sourceRoot":"","sources":["../../../src/lib/model/AccessoryInfo.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"AccessoryInfo.d.ts","sourceRoot":"","sources":["../../../src/lib/model/AccessoryInfo.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAqB,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUpF;;GAEG;AACH,0BAAkB,eAAe;IAE/B,IAAI,IAAO;IACX,KAAK,IAAO;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,aAAa;IAExB,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAA+C;IAEtF,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACvD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,mBAAmB,CAAM;IAEjC,OAAO;IAeP;;;;;OAKG;IACI,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAY5F,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAe1E,YAAY,IAAI,kBAAkB,EAAE;IAU3C;;;;OAIG;IACI,kBAAkB,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAUjF,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACI,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO;IAIxC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO;IASnD,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAUpE,MAAM,QAAO,OAAO,CAElB;IAEF;;;;;;;OAOG;IACI,2CAA2C,CAAC,aAAa,EAAE,mBAAmB,EAAE,EAAE,sBAAsB,CAAC,EAAE,OAAO,GAAG,OAAO;IAgC5H,gBAAgB,IAAI,MAAM;IAIjC,OAAO,CAAC,yBAAyB;IASjC,IAAI,IAAI,IAAI;IA+BZ,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,aAAa;IAelD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IA+CvD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAKzC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAQvD"}
|
|
@@ -8,7 +8,14 @@ var tweetnacl_1 = tslib_1.__importDefault(require("tweetnacl"));
|
|
|
8
8
|
var util_1 = tslib_1.__importDefault(require("util"));
|
|
9
9
|
var eventedhttp_1 = require("../util/eventedhttp");
|
|
10
10
|
var HAPStorage_1 = require("./HAPStorage");
|
|
11
|
-
|
|
11
|
+
function getVersion() {
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
|
+
var packageJson = require("../../../package.json");
|
|
14
|
+
return packageJson.version;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @group Model
|
|
18
|
+
*/
|
|
12
19
|
var PermissionTypes;
|
|
13
20
|
(function (PermissionTypes) {
|
|
14
21
|
// noinspection JSUnusedGlobalSymbols
|
|
@@ -18,6 +25,7 @@ var PermissionTypes;
|
|
|
18
25
|
/**
|
|
19
26
|
* AccessoryInfo is a model class containing a subset of Accessory data relevant to the internal HAP server,
|
|
20
27
|
* such as encryption keys and username. It is persisted to disk.
|
|
28
|
+
* @group Model
|
|
21
29
|
*/
|
|
22
30
|
var AccessoryInfo = /** @class */ (function () {
|
|
23
31
|
function AccessoryInfo(username) {
|
|
@@ -28,49 +36,10 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
28
36
|
this.paired = function () {
|
|
29
37
|
return Object.keys(_this.pairedClients).length > 0; // if we have any paired clients, we're paired.
|
|
30
38
|
};
|
|
31
|
-
this.save = function () {
|
|
32
|
-
var e_1, _a;
|
|
33
|
-
var saved = {
|
|
34
|
-
displayName: _this.displayName,
|
|
35
|
-
category: _this.category,
|
|
36
|
-
pincode: typeof _this.pincode === "object" && _this.pincode
|
|
37
|
-
? { salt: _this.pincode.salt.toString("hex"), verifier: _this.pincode.verifier.toString("hex") }
|
|
38
|
-
: _this.pincode,
|
|
39
|
-
signSk: _this.signSk.toString('hex'),
|
|
40
|
-
signPk: _this.signPk.toString('hex'),
|
|
41
|
-
pairedClients: {},
|
|
42
|
-
// moving permissions into an extra object, so there is nothing to migrate from old files.
|
|
43
|
-
// if the legacy node-persist storage should be upgraded some time, it would be reasonable to combine the storage
|
|
44
|
-
// of public keys (pairedClients object) and permissions.
|
|
45
|
-
pairedClientsPermission: {},
|
|
46
|
-
configVersion: _this.configVersion,
|
|
47
|
-
configHash: _this.configHash,
|
|
48
|
-
setupID: _this.setupID,
|
|
49
|
-
lastFirmwareVersion: _this.lastFirmwareVersion,
|
|
50
|
-
};
|
|
51
|
-
try {
|
|
52
|
-
for (var _b = tslib_1.__values(Object.entries(_this.pairedClients)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
53
|
-
var _d = tslib_1.__read(_c.value, 2), username = _d[0], pairingInformation = _d[1];
|
|
54
|
-
//@ts-ignore
|
|
55
|
-
saved.pairedClients[username] = pairingInformation.publicKey.toString("hex");
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
saved.pairedClientsPermission[username] = pairingInformation.permission;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
61
|
-
finally {
|
|
62
|
-
try {
|
|
63
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
64
|
-
}
|
|
65
|
-
finally { if (e_1) throw e_1.error; }
|
|
66
|
-
}
|
|
67
|
-
var key = AccessoryInfo.persistKey(_this.username);
|
|
68
|
-
HAPStorage_1.HAPStorage.storage().setItemSync(key, saved);
|
|
69
|
-
};
|
|
70
39
|
this.username = username;
|
|
71
40
|
this.displayName = "";
|
|
72
41
|
this.model = "";
|
|
73
|
-
this.category = 1 /* OTHER */;
|
|
42
|
+
this.category = 1 /* Categories.OTHER */;
|
|
74
43
|
this.pincode = "";
|
|
75
44
|
this.signSk = Buffer.alloc(0);
|
|
76
45
|
this.signPk = Buffer.alloc(0);
|
|
@@ -89,9 +58,9 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
89
58
|
this.pairedClients[username] = {
|
|
90
59
|
username: username,
|
|
91
60
|
publicKey: publicKey,
|
|
92
|
-
permission: permission
|
|
61
|
+
permission: permission,
|
|
93
62
|
};
|
|
94
|
-
if (permission === 1 /* ADMIN */) {
|
|
63
|
+
if (permission === 1 /* PermissionTypes.ADMIN */) {
|
|
95
64
|
this.pairedAdminClients++;
|
|
96
65
|
}
|
|
97
66
|
};
|
|
@@ -100,16 +69,16 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
100
69
|
if (pairingInformation) {
|
|
101
70
|
var oldPermission = pairingInformation.permission;
|
|
102
71
|
pairingInformation.permission = permission;
|
|
103
|
-
if (oldPermission === 1 /* ADMIN */ && permission !== 1 /* ADMIN */) {
|
|
72
|
+
if (oldPermission === 1 /* PermissionTypes.ADMIN */ && permission !== 1 /* PermissionTypes.ADMIN */) {
|
|
104
73
|
this.pairedAdminClients--;
|
|
105
74
|
}
|
|
106
|
-
else if (oldPermission !== 1 /* ADMIN */ && permission === 1 /* ADMIN */) {
|
|
75
|
+
else if (oldPermission !== 1 /* PermissionTypes.ADMIN */ && permission === 1 /* PermissionTypes.ADMIN */) {
|
|
107
76
|
this.pairedAdminClients++;
|
|
108
77
|
}
|
|
109
78
|
}
|
|
110
79
|
};
|
|
111
80
|
AccessoryInfo.prototype.listPairings = function () {
|
|
112
|
-
var
|
|
81
|
+
var e_1, _a;
|
|
113
82
|
var array = [];
|
|
114
83
|
try {
|
|
115
84
|
for (var _b = tslib_1.__values(Object.values(this.pairedClients)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
@@ -117,12 +86,12 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
117
86
|
array.push(pairingInformation);
|
|
118
87
|
}
|
|
119
88
|
}
|
|
120
|
-
catch (
|
|
89
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
121
90
|
finally {
|
|
122
91
|
try {
|
|
123
92
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
124
93
|
}
|
|
125
|
-
finally { if (
|
|
94
|
+
finally { if (e_1) throw e_1.error; }
|
|
126
95
|
}
|
|
127
96
|
return array;
|
|
128
97
|
};
|
|
@@ -132,7 +101,7 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
132
101
|
* @param {string} username
|
|
133
102
|
*/
|
|
134
103
|
AccessoryInfo.prototype.removePairedClient = function (connection, username) {
|
|
135
|
-
var
|
|
104
|
+
var e_2, _a;
|
|
136
105
|
this._removePairedClient0(connection, username);
|
|
137
106
|
if (this.pairedAdminClients === 0) { // if we don't have any admin clients left paired it is required to kill all normal clients
|
|
138
107
|
try {
|
|
@@ -141,18 +110,19 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
141
110
|
this._removePairedClient0(connection, username0);
|
|
142
111
|
}
|
|
143
112
|
}
|
|
144
|
-
catch (
|
|
113
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
145
114
|
finally {
|
|
146
115
|
try {
|
|
147
116
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
148
117
|
}
|
|
149
|
-
finally { if (
|
|
118
|
+
finally { if (e_2) throw e_2.error; }
|
|
150
119
|
}
|
|
151
120
|
}
|
|
152
121
|
};
|
|
153
122
|
AccessoryInfo.prototype._removePairedClient0 = function (connection, username) {
|
|
154
|
-
if (this.pairedClients[username] && this.pairedClients[username].permission === 1 /* ADMIN */)
|
|
123
|
+
if (this.pairedClients[username] && this.pairedClients[username].permission === 1 /* PermissionTypes.ADMIN */) {
|
|
155
124
|
this.pairedAdminClients--;
|
|
125
|
+
}
|
|
156
126
|
delete this.pairedClients[username];
|
|
157
127
|
eventedhttp_1.EventedHTTPServer.destroyExistingConnectionsAfterUnpair(connection, username);
|
|
158
128
|
};
|
|
@@ -164,10 +134,11 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
164
134
|
return !!this.pairedClients[username];
|
|
165
135
|
};
|
|
166
136
|
AccessoryInfo.prototype.hasAdminPermissions = function (username) {
|
|
167
|
-
if (!username)
|
|
137
|
+
if (!username) {
|
|
168
138
|
return false;
|
|
139
|
+
}
|
|
169
140
|
var pairingInformation = this.pairedClients[username];
|
|
170
|
-
return !!pairingInformation && pairingInformation.permission === 1 /* ADMIN */;
|
|
141
|
+
return !!pairingInformation && pairingInformation.permission === 1 /* PermissionTypes.ADMIN */;
|
|
171
142
|
};
|
|
172
143
|
// Gets the public key for a paired client as a Buffer, or falsy value if not paired.
|
|
173
144
|
AccessoryInfo.prototype.getClientPublicKey = function (username) {
|
|
@@ -188,9 +159,9 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
188
159
|
* @returns True if the current configuration number was incremented and thus a new TXT must be advertised.
|
|
189
160
|
*/
|
|
190
161
|
AccessoryInfo.prototype.checkForCurrentConfigurationNumberIncrement = function (configuration, checkFirmwareIncrement) {
|
|
191
|
-
var shasum = crypto_1.default.createHash(
|
|
162
|
+
var shasum = crypto_1.default.createHash("sha1");
|
|
192
163
|
shasum.update(JSON.stringify(configuration));
|
|
193
|
-
var configHash = shasum.digest(
|
|
164
|
+
var configHash = shasum.digest("hex");
|
|
194
165
|
var changed = false;
|
|
195
166
|
if (configHash !== this.configHash) {
|
|
196
167
|
this.configVersion++;
|
|
@@ -198,11 +169,14 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
198
169
|
this.ensureConfigVersionBounds();
|
|
199
170
|
changed = true;
|
|
200
171
|
}
|
|
201
|
-
if (
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
172
|
+
if (checkFirmwareIncrement) {
|
|
173
|
+
var version = getVersion();
|
|
174
|
+
if (this.lastFirmwareVersion !== version) {
|
|
175
|
+
// we only check if it is different and not only if it is incremented
|
|
176
|
+
// HomeKit spec prohibits firmware downgrades, but with hap-nodejs it's possible lol
|
|
177
|
+
this.lastFirmwareVersion = version;
|
|
178
|
+
changed = true;
|
|
179
|
+
}
|
|
206
180
|
}
|
|
207
181
|
if (changed) {
|
|
208
182
|
this.save();
|
|
@@ -219,11 +193,43 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
219
193
|
this.configVersion = 1;
|
|
220
194
|
}
|
|
221
195
|
};
|
|
222
|
-
AccessoryInfo.
|
|
223
|
-
var
|
|
224
|
-
|
|
196
|
+
AccessoryInfo.prototype.save = function () {
|
|
197
|
+
var e_3, _a;
|
|
198
|
+
var saved = {
|
|
199
|
+
displayName: this.displayName,
|
|
200
|
+
category: this.category,
|
|
201
|
+
pincode: this.pincode,
|
|
202
|
+
signSk: this.signSk.toString("hex"),
|
|
203
|
+
signPk: this.signPk.toString("hex"),
|
|
204
|
+
pairedClients: {},
|
|
205
|
+
// moving permissions into an extra object, so there is nothing to migrate from old files.
|
|
206
|
+
// if the legacy node-persist storage should be upgraded some time, it would be reasonable to combine the storage
|
|
207
|
+
// of public keys (pairedClients object) and permissions.
|
|
208
|
+
pairedClientsPermission: {},
|
|
209
|
+
configVersion: this.configVersion,
|
|
210
|
+
configHash: this.configHash,
|
|
211
|
+
setupID: this.setupID,
|
|
212
|
+
lastFirmwareVersion: this.lastFirmwareVersion,
|
|
213
|
+
};
|
|
214
|
+
try {
|
|
215
|
+
for (var _b = tslib_1.__values(Object.entries(this.pairedClients)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
216
|
+
var _d = tslib_1.__read(_c.value, 2), username = _d[0], pairingInformation = _d[1];
|
|
217
|
+
// @ts-expect-error: missing typing, object instead of Record
|
|
218
|
+
saved.pairedClients[username] = pairingInformation.publicKey.toString("hex");
|
|
219
|
+
// @ts-expect-error: missing typing, object instead of Record
|
|
220
|
+
saved.pairedClientsPermission[username] = pairingInformation.permission;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
224
|
+
finally {
|
|
225
|
+
try {
|
|
226
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
227
|
+
}
|
|
228
|
+
finally { if (e_3) throw e_3.error; }
|
|
229
|
+
}
|
|
230
|
+
var key = AccessoryInfo.persistKey(this.username);
|
|
231
|
+
HAPStorage_1.HAPStorage.storage().setItemSync(key, saved);
|
|
225
232
|
};
|
|
226
|
-
AccessoryInfo.deviceIdPattern = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
|
|
227
233
|
// Gets a key for storing this AccessoryInfo in the filesystem, like "AccessoryInfo.CC223DE3CEF3.json"
|
|
228
234
|
AccessoryInfo.persistKey = function (username) {
|
|
229
235
|
return util_1.default.format("AccessoryInfo.%s.json", username.replace(/:/g, "").toUpperCase());
|
|
@@ -231,7 +237,7 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
231
237
|
AccessoryInfo.create = function (username) {
|
|
232
238
|
AccessoryInfo.assertValidUsername(username);
|
|
233
239
|
var accessoryInfo = new AccessoryInfo(username);
|
|
234
|
-
accessoryInfo.lastFirmwareVersion =
|
|
240
|
+
accessoryInfo.lastFirmwareVersion = getVersion();
|
|
235
241
|
// Create a new unique key pair for this accessory.
|
|
236
242
|
var keyPair = tweetnacl_1.default.sign.keyPair();
|
|
237
243
|
accessoryInfo.signSk = Buffer.from(keyPair.secretKey);
|
|
@@ -247,32 +253,26 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
247
253
|
var info = new AccessoryInfo(username);
|
|
248
254
|
info.displayName = saved.displayName || "";
|
|
249
255
|
info.category = saved.category || "";
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
verifier: Buffer.from(saved.pincode.verifier, "hex")
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
info.pincode = saved.pincode;
|
|
258
|
-
}
|
|
259
|
-
info.signSk = Buffer.from(saved.signSk || '', 'hex');
|
|
260
|
-
info.signPk = Buffer.from(saved.signPk || '', 'hex');
|
|
256
|
+
info.pincode = saved.pincode || "";
|
|
257
|
+
info.signSk = Buffer.from(saved.signSk || "", "hex");
|
|
258
|
+
info.signPk = Buffer.from(saved.signPk || "", "hex");
|
|
261
259
|
info.pairedClients = {};
|
|
262
260
|
try {
|
|
263
261
|
for (var _b = tslib_1.__values(Object.keys(saved.pairedClients || {})), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
264
262
|
var username_1 = _c.value;
|
|
265
263
|
var publicKey = saved.pairedClients[username_1];
|
|
266
264
|
var permission = saved.pairedClientsPermission ? saved.pairedClientsPermission[username_1] : undefined;
|
|
267
|
-
if (permission === undefined)
|
|
268
|
-
permission = 1 /* ADMIN */;
|
|
265
|
+
if (permission === undefined) {
|
|
266
|
+
permission = 1 /* PermissionTypes.ADMIN */;
|
|
267
|
+
} // defaulting to admin permissions is the only suitable solution, there is no way to recover permissions
|
|
269
268
|
info.pairedClients[username_1] = {
|
|
270
269
|
username: username_1,
|
|
271
|
-
publicKey: Buffer.from(publicKey,
|
|
272
|
-
permission: permission
|
|
270
|
+
publicKey: Buffer.from(publicKey, "hex"),
|
|
271
|
+
permission: permission,
|
|
273
272
|
};
|
|
274
|
-
if (permission === 1 /* ADMIN */)
|
|
273
|
+
if (permission === 1 /* PermissionTypes.ADMIN */) {
|
|
275
274
|
info.pairedAdminClients++;
|
|
275
|
+
}
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
@@ -285,7 +285,7 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
285
285
|
info.configVersion = saved.configVersion || 1;
|
|
286
286
|
info.configHash = saved.configHash || "";
|
|
287
287
|
info.setupID = saved.setupID || "";
|
|
288
|
-
info.lastFirmwareVersion = saved.lastFirmwareVersion ||
|
|
288
|
+
info.lastFirmwareVersion = saved.lastFirmwareVersion || getVersion();
|
|
289
289
|
info.ensureConfigVersionBounds();
|
|
290
290
|
return info;
|
|
291
291
|
}
|
|
@@ -293,6 +293,10 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
293
293
|
return null;
|
|
294
294
|
}
|
|
295
295
|
};
|
|
296
|
+
AccessoryInfo.remove = function (username) {
|
|
297
|
+
var key = AccessoryInfo.persistKey(username);
|
|
298
|
+
HAPStorage_1.HAPStorage.storage().removeItemSync(key);
|
|
299
|
+
};
|
|
296
300
|
AccessoryInfo.assertValidUsername = function (username) {
|
|
297
301
|
assert_1.default.ok(AccessoryInfo.deviceIdPattern.test(username), "The supplied username (" + username + ") is not valid " +
|
|
298
302
|
"(expected a format like 'XX:XX:XX:XX:XX:XX' with XX being a valid hexadecimal string). " +
|
|
@@ -300,6 +304,7 @@ var AccessoryInfo = /** @class */ (function () {
|
|
|
300
304
|
"the accessory and reconfigure your services in the Home app. " +
|
|
301
305
|
"Using an invalid username will lead to unexpected behaviour.");
|
|
302
306
|
};
|
|
307
|
+
AccessoryInfo.deviceIdPattern = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
|
|
303
308
|
return AccessoryInfo;
|
|
304
309
|
}());
|
|
305
310
|
exports.AccessoryInfo = AccessoryInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryInfo.js","sourceRoot":"","sources":["../../../src/lib/model/AccessoryInfo.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAC5B,0DAA4B;AAC5B,gEAAkC;AAClC,sDAAwB;
|
|
1
|
+
{"version":3,"file":"AccessoryInfo.js","sourceRoot":"","sources":["../../../src/lib/model/AccessoryInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { MacAddress } from "../../types";
|
|
2
2
|
import { SerializableController } from "../controller";
|
|
3
3
|
import { Accessory } from "../Accessory";
|
|
4
|
+
/**
|
|
5
|
+
* @group Model
|
|
6
|
+
*/
|
|
4
7
|
export declare class ControllerStorage {
|
|
5
8
|
private readonly accessoryUUID;
|
|
6
9
|
private initialized;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerStorage.d.ts","sourceRoot":"","sources":["../../../src/lib/model/ControllerStorage.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ControllerStorage.d.ts","sourceRoot":"","sources":["../../../src/lib/model/ControllerStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAwB,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA0BzC;;GAEG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,8BAA8B,UAAQ;IAGtC,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,mBAAmB,CAAC,CAAyC;IAErE,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAEhD,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEb,SAAS,EAAE,SAAS;IAIvC,OAAO,CAAC,kBAAkB;IAuB1B;;;;OAIG;IACI,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAezC,eAAe,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAUzD,iBAAiB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAW3D,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAQpE,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,iBAAiB;IAiBzB;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAkCL,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAuChC,IAAI,IAAI,IAAI;IA+CnB,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAK1C"}
|
|
@@ -5,7 +5,10 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var util_1 = tslib_1.__importDefault(require("util"));
|
|
6
6
|
var debug_1 = tslib_1.__importDefault(require("debug"));
|
|
7
7
|
var HAPStorage_1 = require("./HAPStorage");
|
|
8
|
-
var debug = debug_1.default("HAP-NodeJS:ControllerStorage");
|
|
8
|
+
var debug = (0, debug_1.default)("HAP-NodeJS:ControllerStorage");
|
|
9
|
+
/**
|
|
10
|
+
* @group Model
|
|
11
|
+
*/
|
|
9
12
|
var ControllerStorage = /** @class */ (function () {
|
|
10
13
|
function ControllerStorage(accessory) {
|
|
11
14
|
this.initialized = false;
|
|
@@ -68,7 +71,7 @@ var ControllerStorage = /** @class */ (function () {
|
|
|
68
71
|
if (index !== -1) { // remove from trackedControllers if storage wasn't initialized yet
|
|
69
72
|
this.trackedControllers.splice(index, 1);
|
|
70
73
|
}
|
|
71
|
-
controller.setupStateChangeDelegate(undefined); // remove
|
|
74
|
+
controller.setupStateChangeDelegate(undefined); // remove association with this storage object
|
|
72
75
|
this.purgeControllerData(controller);
|
|
73
76
|
};
|
|
74
77
|
ControllerStorage.prototype.purgeControllerData = function (controller) {
|
|
@@ -110,7 +113,7 @@ var ControllerStorage = /** @class */ (function () {
|
|
|
110
113
|
controller.deserialize(controllerData.data);
|
|
111
114
|
}
|
|
112
115
|
catch (error) {
|
|
113
|
-
console.warn("Could not initialize controller of type '"
|
|
116
|
+
console.warn("Could not initialize controller of type '".concat(controller.controllerId(), "' from data stored on disk. Resetting to default: ").concat(error.stack));
|
|
114
117
|
controller.handleFactoryReset();
|
|
115
118
|
}
|
|
116
119
|
controllerData.purgeOnNextLoad = undefined;
|
|
@@ -125,7 +128,7 @@ var ControllerStorage = /** @class */ (function () {
|
|
|
125
128
|
ControllerStorage.prototype.init = function (data) {
|
|
126
129
|
var _this = this;
|
|
127
130
|
if (this.initialized) {
|
|
128
|
-
throw new Error("ControllerStorage for accessory "
|
|
131
|
+
throw new Error("ControllerStorage for accessory ".concat(this.accessoryUUID, " was already initialized!"));
|
|
129
132
|
}
|
|
130
133
|
this.initialized = true;
|
|
131
134
|
// storing data into our local controllerData Record
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerStorage.js","sourceRoot":"","sources":["../../../src/lib/model/ControllerStorage.ts"],"names":[],"mappings":";;;;AACA,sDAAwB;AACxB,wDAAgC;AAGhC,2CAA0C;AAG1C,IAAM,KAAK,GAAG,eAAW,
|
|
1
|
+
{"version":3,"file":"ControllerStorage.js","sourceRoot":"","sources":["../../../src/lib/model/ControllerStorage.ts"],"names":[],"mappings":";;;;AACA,sDAAwB;AACxB,wDAAgC;AAGhC,2CAA0C;AAG1C,IAAM,KAAK,GAAG,IAAA,eAAW,EAAC,8BAA8B,CAAC,CAAC;AAsB1D;;GAEG;AACH;IAqBE,2BAAmB,SAAoB;QAlB/B,gBAAW,GAAG,KAAK,CAAC;QAIpB,gBAAW,GAAG,KAAK,CAAC;QAC5B,mCAA8B,GAAG,IAAI,CAAC;QACtC,4DAA4D;QAEpD,uBAAkB,GAA6B,EAAE,CAAC,CAAC,6DAA6D;QAChH,mBAAc,GAAiD,EAAE,CAAC;QAUxE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACtC,CAAC;IAEO,8CAAkB,GAA1B,UAA2B,OAAW;QAAtC,iBAqBC;;QArB0B,wBAAA,EAAA,WAAW;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO;SACR;QAED,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;QAEzC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,WAAW,IAAI,CAAC,MAAA,IAAI,CAAC,cAAc,mCAAI,CAAC,CAAC,EAAE;gBAC7C,OAAO;aACR;YAED,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YAClC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YACzD,KAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACI,yCAAa,GAApB,UAAqB,SAAoB;QACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QAED,IAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAEtB,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC;IAEM,2CAAe,GAAtB,UAAuB,UAAkC;QACvD,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAErG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,4CAA4C;YACnE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;SACpC;IACH,CAAC;IAEM,6CAAiB,GAAxB,UAAyB,UAAkC;QACzD,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,EAAE,mEAAmE;YACrF,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1C;QAED,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,8CAA8C;QAE9F,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAEM,+CAAmB,GAA1B,UAA2B,UAAkC;QAC3D,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAC9B;IACH,CAAC;IAEO,6CAAiB,GAAzB,UAA0B,UAAkC;QAC1D,IAAM,EAAE,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QACrC,IAAM,UAAU,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QAE1C,IAAI,CAAC,UAAU,EAAE,EAAE,yDAAyD;YAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SAChC;aAAM;YACL,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAE/C,IAAI,CAAC,cAAc,EAAE;gBACnB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG;oBACxB,IAAI,EAAE,UAAU;iBACjB,CAAC;aACH;iBAAM;gBACL,cAAc,CAAC,IAAI,GAAG,UAAU,CAAC;aAClC;SACF;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,+BAA+B;YACrD,oGAAoG;YACpG,wCAAwC;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAC9B;IACH,CAAC;IAGO,6CAAiB,GAAzB,UAA0B,UAAkC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE;YAClB,IAAI;gBACF,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC7C;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,mDAA4C,UAAU,CAAC,YAAY,EAAE,+DAAqD,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;gBACtJ,UAAU,CAAC,kBAAkB,EAAE,CAAC;aACjC;YACD,cAAc,CAAC,eAAe,GAAG,SAAS,CAAC;SAC5C;IACH,CAAC;IAED;;;;;OAKG;IACK,gCAAI,GAAZ,UAAa,IAA6B;QAA1C,iBAgCC;QA/BC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,0CAAmC,IAAI,CAAC,aAAa,8BAA2B,CAAC,CAAC;SACnG;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,oDAAoD;QACpD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,cAAc,EAAtD,CAAsD,CAAC,CAAC;QAEtF,IAAM,mBAAmB,GAA2B,EAAE,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAA,UAAU;YACxC,KAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACnC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB;QAEzF,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAC,EAAU;gBAAV,KAAA,qBAAU,EAAT,EAAE,QAAA,EAAE,IAAI,QAAA;YACpD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC/B,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO;aACR;YAED,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAC9B;IACH,CAAC;IAEM,gCAAI,GAAX,UAAY,QAAoB;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAM,KAAK,GAA8B,uBAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3E,IAAI,OAAO,CAAC;QACZ,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAA,aAAa;gBAC1C,IAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC1E,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE9B,IAAI,KAAK,EAAE;oBACT,OAAO,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBACxC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,oDAAoD;aACnG;iBAAM;gBACL,KAAK,CAAC,oDAAoD,EAAE,QAAQ,CAAC,CAAC;aACvE;SACF;IACH,CAAC;IAEM,gCAAI,GAAX;;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QAED,IAAM,WAAW;YACf,GAAC,IAAI,CAAC,aAAa,IAAG,IAAI,CAAC,cAAc;eAC1C,CAAC;QACF,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,4CAA4C;YACxE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAA,SAAS,IAAI,OAAA,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,cAAc,EAA/D,CAA+D,CAAC,CAAC;SAC9G;QAED,kDAAkD;QAClD,IAAM,aAAa,GAA2C,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC7F,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAC,EAAsB;gBAAtB,KAAA,qBAAsB,EAArB,IAAI,QAAA,EAAE,cAAc,QAAA;YACxD,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,EAAU;wBAAV,KAAA,qBAAU,EAAT,EAAE,QAAA,EAAE,IAAI,QAAA;oBAAM,OAAA,CAAC;wBACjD,IAAI,EAAE,EAAE;wBACR,cAAc,EAAE,IAAI;qBACrB,CAAC;gBAHgD,CAGhD,CAAC,CAAC;aACL;QACH,CAAC,CAAC,CAAC;QAEH,IAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,IAAM,KAAK,GAAkB;gBAC3B,WAAW,EAAE,aAAa;aAC3B,CAAC;YAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,uBAAU,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC9C;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,uBAAU,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAC1C;IACH,CAAC;IAEM,4BAAU,GAAjB,UAAkB,QAAoB;QACpC,OAAO,cAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEM,wBAAM,GAAb,UAAc,QAAoB;QAChC,IAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,uBAAU,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAEH,wBAAC;AAAD,CAAC,AAnRD,IAmRC;AAnRY,8CAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HAPStorage.d.ts","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HAPStorage.d.ts","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,qBAAa,UAAU;IAErB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAEpD,OAAO,CAAC,UAAU,CAAC,CAAe;IAClC,OAAO,CAAC,iBAAiB,CAAC,CAAS;WAErB,OAAO,IAAI,YAAY;WAIvB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/C,OAAO,IAAI,YAAY;IAgBvB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAQhD"}
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HAPStorage = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5
6
|
// @ts-ignore
|
|
6
7
|
var node_persist_1 = tslib_1.__importDefault(require("node-persist"));
|
|
8
|
+
/**
|
|
9
|
+
* @group Model
|
|
10
|
+
*/
|
|
7
11
|
var HAPStorage = /** @class */ (function () {
|
|
8
12
|
function HAPStorage() {
|
|
9
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":";;;;AAAA,aAAa;AACb,sEAAqD;AAErD;IAAA;IAuCA,CAAC;IAhCe,kBAAO,GAArB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAEa,+BAAoB,GAAlC,UAAmC,IAAY;QAC7C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,4BAAO,GAAd;QACE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,sBAAO,CAAC,MAAM,EAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,
|
|
1
|
+
{"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":";;;;AAAA,6DAA6D;AAC7D,aAAa;AACb,sEAAqD;AAErD;;GAEG;AACH;IAAA;IAuCA,CAAC;IAhCe,kBAAO,GAArB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAEa,+BAAoB,GAAlC,UAAmC,IAAY;QAC7C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,4BAAO,GAAd;QACE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,sBAAO,CAAC,MAAM,EAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;aAC5B;SACF;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,yCAAoB,GAA3B,UAA4B,IAAY;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;SACtF;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAnCuB,mBAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;IAqCtD,iBAAC;CAAA,AAvCD,IAuCC;AAvCY,gCAAU"}
|
|
@@ -6,6 +6,7 @@ import { MacAddress } from "../../types";
|
|
|
6
6
|
* that sets your Alarm System's "Target Alarm State" Characteristic to "Arm Away", that Scene will store whatever
|
|
7
7
|
* "Instance ID" it was given for the "Target Alarm State" Characteristic. If the ID changes later on this server,
|
|
8
8
|
* the scene will stop working.
|
|
9
|
+
* @group Model
|
|
9
10
|
*/
|
|
10
11
|
export declare class IdentifierCache {
|
|
11
12
|
username: MacAddress;
|
|
@@ -13,20 +14,20 @@ export declare class IdentifierCache {
|
|
|
13
14
|
_usedCache: Record<string, number> | null;
|
|
14
15
|
_savedCacheHash: string;
|
|
15
16
|
constructor(username: MacAddress);
|
|
16
|
-
startTrackingUsage
|
|
17
|
-
stopTrackingUsageAndExpireUnused
|
|
18
|
-
getCache
|
|
19
|
-
setCache
|
|
20
|
-
getAID
|
|
21
|
-
getIID
|
|
22
|
-
getNextAID
|
|
23
|
-
getNextIID
|
|
24
|
-
save
|
|
17
|
+
startTrackingUsage(): void;
|
|
18
|
+
stopTrackingUsageAndExpireUnused(): void;
|
|
19
|
+
getCache(key: string): number;
|
|
20
|
+
setCache(key: string, value: number): number;
|
|
21
|
+
getAID(accessoryUUID: string): number;
|
|
22
|
+
getIID(accessoryUUID: string, serviceUUID: string, serviceSubtype?: string, characteristicUUID?: string): number;
|
|
23
|
+
getNextAID(): number;
|
|
24
|
+
getNextIID(accessoryUUID: string): number;
|
|
25
|
+
save(): void;
|
|
25
26
|
/**
|
|
26
27
|
* Persisting to File System
|
|
27
28
|
*/
|
|
28
|
-
static persistKey
|
|
29
|
-
static load
|
|
29
|
+
static persistKey(username: MacAddress): string;
|
|
30
|
+
static load(username: MacAddress): IdentifierCache | null;
|
|
30
31
|
static remove(username: MacAddress): void;
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=IdentifierCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentifierCache.d.ts","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC
|
|
1
|
+
{"version":3,"file":"IdentifierCache.d.ts","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKP,QAAQ,EAAE,UAAU;IAJvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAQ;IACjD,eAAe,SAAM;gBAEF,QAAQ,EAAE,UAAU;IAGvC,kBAAkB,IAAI,IAAI;IAI1B,gCAAgC,IAAI,IAAI;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS5C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOrC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM;IAUhH,UAAU,IAAI,MAAM;IAOpB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOzC,IAAI,IAAI,IAAI;IAYZ;;OAEG;IAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI;IAczD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAI1C"}
|