hap-nodejs 0.12.3-beta.27 → 0.12.3-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/BridgedCore.js +19 -18
- package/dist/BridgedCore.js.map +1 -1
- package/dist/Core.js +20 -17
- package/dist/Core.js.map +1 -1
- package/dist/accessories/AirConditioner_accessory.js +24 -24
- package/dist/accessories/AirConditioner_accessory.js.map +1 -1
- package/dist/accessories/AppleTVRemote_accessory.js +23 -23
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
- package/dist/accessories/Camera_accessory.js +373 -292
- package/dist/accessories/Camera_accessory.js.map +1 -1
- package/dist/accessories/Fan_accessory.js +21 -15
- package/dist/accessories/Fan_accessory.js.map +1 -1
- package/dist/accessories/GarageDoorOpener_accessory.js +12 -12
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +21 -31
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
- package/dist/accessories/Light_accessory.js +48 -45
- package/dist/accessories/Light_accessory.js.map +1 -1
- package/dist/accessories/Lock_accessory.js +11 -11
- package/dist/accessories/Lock_accessory.js.map +1 -1
- package/dist/accessories/MotionSensor_accessory.js +8 -8
- package/dist/accessories/MotionSensor_accessory.js.map +1 -1
- package/dist/accessories/Outlet_accessory.js +10 -10
- package/dist/accessories/Outlet_accessory.js.map +1 -1
- package/dist/accessories/SmartSpeaker_accessory.js +11 -11
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
- package/dist/accessories/Sprinkler_accessory.js +19 -19
- package/dist/accessories/Sprinkler_accessory.js.map +1 -1
- package/dist/accessories/TV_accessory.js +17 -17
- package/dist/accessories/TV_accessory.js.map +1 -1
- package/dist/accessories/TemperatureSensor_accessory.js +6 -6
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.js +3 -3
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.js +4 -4
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.js +47 -36
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
- package/dist/accessories/types.js +2 -2
- package/dist/accessories/types.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +1088 -780
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/AccessoryLoader.js +40 -40
- package/dist/lib/AccessoryLoader.js.map +1 -1
- package/dist/lib/Advertiser.js +524 -392
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.js +10 -6
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +539 -1510
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.js +265 -215
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +320 -519
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/Camera.js +14 -14
- package/dist/lib/camera/Camera.js.map +1 -1
- package/dist/lib/camera/RTPProxy.js +104 -112
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +257 -286
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.js +384 -319
- package/dist/lib/camera/RecordingManagement.js.map +1 -1
- package/dist/lib/camera/index.js +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +3 -19
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +218 -217
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.js +250 -191
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/DoorbellController.d.ts +1 -1
- package/dist/lib/controller/DoorbellController.js +40 -39
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.js +401 -343
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.js +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +57 -56
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +304 -259
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +269 -252
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.js +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +2858 -2089
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +1096 -864
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +679 -383
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +29 -29
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/definitions/index.js +1 -1
- package/dist/lib/model/AccessoryInfo.js +136 -101
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.js +89 -86
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.js +16 -15
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.js +49 -49
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +44 -40
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/clone.js +27 -5
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.js +12 -8
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +409 -301
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.js +32 -31
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.js +12 -9
- package/dist/lib/util/hapStatusError.js.map +1 -1
- package/dist/lib/util/net-utils.js +53 -32
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.js +8 -3
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.js +13 -8
- package/dist/lib/util/promise-utils.js.map +1 -1
- package/dist/lib/util/request-util.js +3 -2
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.js +5 -5
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.js +75 -57
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.js +19 -15
- package/dist/lib/util/uuid.js.map +1 -1
- package/package.json +13 -13
- package/dist/lib/util/checkName.d.ts +0 -8
- package/dist/lib/util/checkName.d.ts.map +0 -1
- package/dist/lib/util/checkName.js +0 -17
- package/dist/lib/util/checkName.js.map +0 -1
|
@@ -1,68 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ControllerStorage = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var util_1 = tslib_1.__importDefault(require("util"));
|
|
6
|
+
var debug_1 = tslib_1.__importDefault(require("debug"));
|
|
7
|
+
var HAPStorage_1 = require("./HAPStorage");
|
|
8
|
+
var debug = (0, debug_1.default)("HAP-NodeJS:ControllerStorage");
|
|
9
9
|
/**
|
|
10
10
|
* @group Model
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
trackedControllers = []; // used to track controllers before data was loaded from disk
|
|
21
|
-
controllerData = {};
|
|
22
|
-
restoredAccessories; // indexed by accessory UUID
|
|
23
|
-
parent;
|
|
24
|
-
linkedAccessories;
|
|
25
|
-
queuedSaveTimeout;
|
|
26
|
-
queuedSaveTime;
|
|
27
|
-
constructor(accessory) {
|
|
12
|
+
var ControllerStorage = /** @class */ (function () {
|
|
13
|
+
function ControllerStorage(accessory) {
|
|
14
|
+
this.initialized = false;
|
|
15
|
+
this.fileCreated = false;
|
|
16
|
+
this.purgeUnidentifiedAccessoryData = true;
|
|
17
|
+
// ---------------------------------------------------------
|
|
18
|
+
this.trackedControllers = []; // used to track controllers before data was loaded from disk
|
|
19
|
+
this.controllerData = {};
|
|
28
20
|
this.accessoryUUID = accessory.UUID;
|
|
29
21
|
}
|
|
30
|
-
enqueueSaveRequest
|
|
22
|
+
ControllerStorage.prototype.enqueueSaveRequest = function (timeout) {
|
|
23
|
+
var _this = this;
|
|
24
|
+
var _a;
|
|
25
|
+
if (timeout === void 0) { timeout = 0; }
|
|
31
26
|
if (this.parent) {
|
|
32
27
|
this.parent.enqueueSaveRequest(timeout);
|
|
33
28
|
return;
|
|
34
29
|
}
|
|
35
|
-
|
|
30
|
+
var plannedTime = Date.now() + timeout;
|
|
36
31
|
if (this.queuedSaveTimeout) {
|
|
37
|
-
if (plannedTime <= (this.queuedSaveTime
|
|
32
|
+
if (plannedTime <= ((_a = this.queuedSaveTime) !== null && _a !== void 0 ? _a : 0)) {
|
|
38
33
|
return;
|
|
39
34
|
}
|
|
40
35
|
clearTimeout(this.queuedSaveTimeout);
|
|
41
36
|
}
|
|
42
|
-
this.queuedSaveTimeout = setTimeout(()
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
this.queuedSaveTimeout = setTimeout(function () {
|
|
38
|
+
_this.queuedSaveTimeout = _this.queuedSaveTime = undefined;
|
|
39
|
+
_this.save();
|
|
45
40
|
}, timeout).unref();
|
|
46
41
|
this.queuedSaveTime = Date.now() + timeout;
|
|
47
|
-
}
|
|
42
|
+
};
|
|
48
43
|
/**
|
|
49
44
|
* Links a bridged accessory to the ControllerStorage of the bridge accessory.
|
|
50
45
|
*
|
|
51
46
|
* @param accessory
|
|
52
47
|
*/
|
|
53
|
-
linkAccessory(accessory) {
|
|
48
|
+
ControllerStorage.prototype.linkAccessory = function (accessory) {
|
|
54
49
|
if (!this.linkedAccessories) {
|
|
55
50
|
this.linkedAccessories = [];
|
|
56
51
|
}
|
|
57
|
-
|
|
52
|
+
var storage = accessory.controllerStorage;
|
|
58
53
|
this.linkedAccessories.push(storage);
|
|
59
54
|
storage.parent = this;
|
|
60
|
-
|
|
55
|
+
var saved = this.restoredAccessories && this.restoredAccessories[accessory.UUID];
|
|
61
56
|
if (this.initialized) {
|
|
62
57
|
storage.init(saved);
|
|
63
58
|
}
|
|
64
|
-
}
|
|
65
|
-
trackController(controller) {
|
|
59
|
+
};
|
|
60
|
+
ControllerStorage.prototype.trackController = function (controller) {
|
|
66
61
|
controller.setupStateChangeDelegate(this.handleStateChange.bind(this, controller)); // setup delegate
|
|
67
62
|
if (!this.initialized) { // track controller if data isn't loaded yet
|
|
68
63
|
this.trackedControllers.push(controller);
|
|
@@ -70,29 +65,29 @@ class ControllerStorage {
|
|
|
70
65
|
else {
|
|
71
66
|
this.restoreController(controller);
|
|
72
67
|
}
|
|
73
|
-
}
|
|
74
|
-
untrackController(controller) {
|
|
75
|
-
|
|
68
|
+
};
|
|
69
|
+
ControllerStorage.prototype.untrackController = function (controller) {
|
|
70
|
+
var index = this.trackedControllers.indexOf(controller);
|
|
76
71
|
if (index !== -1) { // remove from trackedControllers if storage wasn't initialized yet
|
|
77
72
|
this.trackedControllers.splice(index, 1);
|
|
78
73
|
}
|
|
79
74
|
controller.setupStateChangeDelegate(undefined); // remove association with this storage object
|
|
80
75
|
this.purgeControllerData(controller);
|
|
81
|
-
}
|
|
82
|
-
purgeControllerData(controller) {
|
|
76
|
+
};
|
|
77
|
+
ControllerStorage.prototype.purgeControllerData = function (controller) {
|
|
83
78
|
delete this.controllerData[controller.controllerId()];
|
|
84
79
|
if (this.initialized) {
|
|
85
80
|
this.enqueueSaveRequest(100);
|
|
86
81
|
}
|
|
87
|
-
}
|
|
88
|
-
handleStateChange(controller) {
|
|
89
|
-
|
|
90
|
-
|
|
82
|
+
};
|
|
83
|
+
ControllerStorage.prototype.handleStateChange = function (controller) {
|
|
84
|
+
var id = controller.controllerId();
|
|
85
|
+
var serialized = controller.serialize();
|
|
91
86
|
if (!serialized) { // can be undefined when controller wishes to delete data
|
|
92
87
|
delete this.controllerData[id];
|
|
93
88
|
}
|
|
94
89
|
else {
|
|
95
|
-
|
|
90
|
+
var controllerData = this.controllerData[id];
|
|
96
91
|
if (!controllerData) {
|
|
97
92
|
this.controllerData[id] = {
|
|
98
93
|
data: serialized,
|
|
@@ -107,46 +102,48 @@ class ControllerStorage {
|
|
|
107
102
|
// this should improve our response time
|
|
108
103
|
this.enqueueSaveRequest(100);
|
|
109
104
|
}
|
|
110
|
-
}
|
|
111
|
-
restoreController(controller) {
|
|
105
|
+
};
|
|
106
|
+
ControllerStorage.prototype.restoreController = function (controller) {
|
|
112
107
|
if (!this.initialized) {
|
|
113
108
|
throw new Error("Illegal state. Controller data wasn't loaded yet!");
|
|
114
109
|
}
|
|
115
|
-
|
|
110
|
+
var controllerData = this.controllerData[controller.controllerId()];
|
|
116
111
|
if (controllerData) {
|
|
117
112
|
try {
|
|
118
113
|
controller.deserialize(controllerData.data);
|
|
119
114
|
}
|
|
120
115
|
catch (error) {
|
|
121
|
-
console.warn(
|
|
116
|
+
console.warn("Could not initialize controller of type '".concat(controller.controllerId(), "' from data stored on disk. Resetting to default: ").concat(error.stack));
|
|
122
117
|
controller.handleFactoryReset();
|
|
123
118
|
}
|
|
124
119
|
controllerData.purgeOnNextLoad = undefined;
|
|
125
120
|
}
|
|
126
|
-
}
|
|
121
|
+
};
|
|
127
122
|
/**
|
|
128
123
|
* Called when this particular Storage object is feed with data loaded from disk.
|
|
129
124
|
* This method is only called once.
|
|
130
125
|
*
|
|
131
126
|
* @param data - array of {@link StoredControllerData}. undefined if nothing was stored on disk for this particular storage object
|
|
132
127
|
*/
|
|
133
|
-
init(data) {
|
|
128
|
+
ControllerStorage.prototype.init = function (data) {
|
|
129
|
+
var _this = this;
|
|
134
130
|
if (this.initialized) {
|
|
135
|
-
throw new Error(
|
|
131
|
+
throw new Error("ControllerStorage for accessory ".concat(this.accessoryUUID, " was already initialized!"));
|
|
136
132
|
}
|
|
137
133
|
this.initialized = true;
|
|
138
134
|
// storing data into our local controllerData Record
|
|
139
|
-
data && data.forEach(saved
|
|
140
|
-
|
|
141
|
-
this.trackedControllers.forEach(controller
|
|
142
|
-
|
|
135
|
+
data && data.forEach(function (saved) { return _this.controllerData[saved.type] = saved.controllerData; });
|
|
136
|
+
var restoredControllers = [];
|
|
137
|
+
this.trackedControllers.forEach(function (controller) {
|
|
138
|
+
_this.restoreController(controller);
|
|
143
139
|
restoredControllers.push(controller.controllerId());
|
|
144
140
|
});
|
|
145
141
|
this.trackedControllers.splice(0, this.trackedControllers.length); // clear tracking list
|
|
146
|
-
|
|
147
|
-
Object.entries(this.controllerData).forEach((
|
|
142
|
+
var purgedData = false;
|
|
143
|
+
Object.entries(this.controllerData).forEach(function (_a) {
|
|
144
|
+
var _b = tslib_1.__read(_a, 2), id = _b[0], data = _b[1];
|
|
148
145
|
if (data.purgeOnNextLoad) {
|
|
149
|
-
delete
|
|
146
|
+
delete _this.controllerData[id];
|
|
150
147
|
purgedData = true;
|
|
151
148
|
return;
|
|
152
149
|
}
|
|
@@ -157,15 +154,15 @@ class ControllerStorage {
|
|
|
157
154
|
if (purgedData) {
|
|
158
155
|
this.enqueueSaveRequest(500);
|
|
159
156
|
}
|
|
160
|
-
}
|
|
161
|
-
load(username) {
|
|
157
|
+
};
|
|
158
|
+
ControllerStorage.prototype.load = function (username) {
|
|
162
159
|
if (this.username) {
|
|
163
160
|
throw new Error("ControllerStorage was already loaded!");
|
|
164
161
|
}
|
|
165
162
|
this.username = username;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
var key = ControllerStorage.persistKey(username);
|
|
164
|
+
var saved = HAPStorage_1.HAPStorage.storage().getItem(key);
|
|
165
|
+
var ownData;
|
|
169
166
|
if (saved) {
|
|
170
167
|
this.fileCreated = true;
|
|
171
168
|
ownData = saved.accessories[this.accessoryUUID];
|
|
@@ -173,8 +170,8 @@ class ControllerStorage {
|
|
|
173
170
|
}
|
|
174
171
|
this.init(ownData);
|
|
175
172
|
if (this.linkedAccessories) {
|
|
176
|
-
this.linkedAccessories.forEach(linkedStorage
|
|
177
|
-
|
|
173
|
+
this.linkedAccessories.forEach(function (linkedStorage) {
|
|
174
|
+
var savedData = saved && saved.accessories[linkedStorage.accessoryUUID];
|
|
178
175
|
linkedStorage.init(savedData);
|
|
179
176
|
if (saved) {
|
|
180
177
|
delete saved.accessories[linkedStorage.accessoryUUID];
|
|
@@ -189,8 +186,9 @@ class ControllerStorage {
|
|
|
189
186
|
debug("Purging unidentified controller data for bridge %s", username);
|
|
190
187
|
}
|
|
191
188
|
}
|
|
192
|
-
}
|
|
193
|
-
save() {
|
|
189
|
+
};
|
|
190
|
+
ControllerStorage.prototype.save = function () {
|
|
191
|
+
var _a;
|
|
194
192
|
if (this.parent) {
|
|
195
193
|
this.parent.save();
|
|
196
194
|
return;
|
|
@@ -201,26 +199,30 @@ class ControllerStorage {
|
|
|
201
199
|
if (!this.username) {
|
|
202
200
|
throw new Error("Cannot save controllerData for a storage without a username!");
|
|
203
201
|
}
|
|
204
|
-
|
|
205
|
-
[this.accessoryUUID]
|
|
206
|
-
|
|
202
|
+
var accessories = (_a = {},
|
|
203
|
+
_a[this.accessoryUUID] = this.controllerData,
|
|
204
|
+
_a);
|
|
207
205
|
if (this.linkedAccessories) { // grab data from all linked storage objects
|
|
208
|
-
this.linkedAccessories.forEach(accessory
|
|
206
|
+
this.linkedAccessories.forEach(function (accessory) { return accessories[accessory.accessoryUUID] = accessory.controllerData; });
|
|
209
207
|
}
|
|
210
208
|
// TODO removed accessories won't ever be deleted?
|
|
211
|
-
|
|
212
|
-
Object.entries(accessories).forEach((
|
|
213
|
-
|
|
209
|
+
var accessoryData = this.restoredAccessories || {};
|
|
210
|
+
Object.entries(accessories).forEach(function (_a) {
|
|
211
|
+
var _b = tslib_1.__read(_a, 2), uuid = _b[0], controllerData = _b[1];
|
|
212
|
+
var entries = Object.entries(controllerData);
|
|
214
213
|
if (entries.length > 0) {
|
|
215
|
-
accessoryData[uuid] = entries.map((
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
214
|
+
accessoryData[uuid] = entries.map(function (_a) {
|
|
215
|
+
var _b = tslib_1.__read(_a, 2), id = _b[0], data = _b[1];
|
|
216
|
+
return ({
|
|
217
|
+
type: id,
|
|
218
|
+
controllerData: data,
|
|
219
|
+
});
|
|
220
|
+
});
|
|
219
221
|
}
|
|
220
222
|
});
|
|
221
|
-
|
|
223
|
+
var key = ControllerStorage.persistKey(this.username);
|
|
222
224
|
if (Object.keys(accessoryData).length > 0) {
|
|
223
|
-
|
|
225
|
+
var saved = {
|
|
224
226
|
accessories: accessoryData,
|
|
225
227
|
};
|
|
226
228
|
this.fileCreated = true;
|
|
@@ -230,14 +232,15 @@ class ControllerStorage {
|
|
|
230
232
|
this.fileCreated = false;
|
|
231
233
|
HAPStorage_1.HAPStorage.storage().removeItemSync(key);
|
|
232
234
|
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
+
};
|
|
236
|
+
ControllerStorage.persistKey = function (username) {
|
|
235
237
|
return util_1.default.format("ControllerStorage.%s.json", username.replace(/:/g, "").toUpperCase());
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
|
|
238
|
+
};
|
|
239
|
+
ControllerStorage.remove = function (username) {
|
|
240
|
+
var key = ControllerStorage.persistKey(username);
|
|
239
241
|
HAPStorage_1.HAPStorage.storage().removeItemSync(key);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
+
};
|
|
243
|
+
return ControllerStorage;
|
|
244
|
+
}());
|
|
242
245
|
exports.ControllerStorage = ControllerStorage;
|
|
243
246
|
//# sourceMappingURL=ControllerStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerStorage.js","sourceRoot":"","sources":["../../../src/lib/model/ControllerStorage.ts"],"names":[],"mappings":";;;;AACA,
|
|
1
|
+
{"version":3,"file":"ControllerStorage.js","sourceRoot":"","sources":["../../../src/lib/model/ControllerStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HAPStorage = void 0;
|
|
4
|
-
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
6
|
// @ts-ignore
|
|
7
|
-
|
|
7
|
+
var node_persist_1 = tslib_1.__importDefault(require("node-persist"));
|
|
8
8
|
/**
|
|
9
9
|
* @group Model
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
localStore;
|
|
14
|
-
customStoragePath;
|
|
15
|
-
static storage() {
|
|
16
|
-
return this.INSTANCE.storage();
|
|
11
|
+
var HAPStorage = /** @class */ (function () {
|
|
12
|
+
function HAPStorage() {
|
|
17
13
|
}
|
|
18
|
-
|
|
14
|
+
HAPStorage.storage = function () {
|
|
15
|
+
return this.INSTANCE.storage();
|
|
16
|
+
};
|
|
17
|
+
HAPStorage.setCustomStoragePath = function (path) {
|
|
19
18
|
this.INSTANCE.setCustomStoragePath(path);
|
|
20
|
-
}
|
|
21
|
-
storage() {
|
|
19
|
+
};
|
|
20
|
+
HAPStorage.prototype.storage = function () {
|
|
22
21
|
if (!this.localStore) {
|
|
23
22
|
this.localStore = node_persist_1.default.create();
|
|
24
23
|
if (this.customStoragePath) {
|
|
@@ -31,13 +30,15 @@ class HAPStorage {
|
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
return this.localStore;
|
|
34
|
-
}
|
|
35
|
-
setCustomStoragePath(path) {
|
|
33
|
+
};
|
|
34
|
+
HAPStorage.prototype.setCustomStoragePath = function (path) {
|
|
36
35
|
if (this.localStore) {
|
|
37
36
|
throw new Error("Cannot change storage path after it has already been initialized!");
|
|
38
37
|
}
|
|
39
38
|
this.customStoragePath = path;
|
|
40
|
-
}
|
|
41
|
-
|
|
39
|
+
};
|
|
40
|
+
HAPStorage.INSTANCE = new HAPStorage();
|
|
41
|
+
return HAPStorage;
|
|
42
|
+
}());
|
|
42
43
|
exports.HAPStorage = HAPStorage;
|
|
43
44
|
//# sourceMappingURL=HAPStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":";;;;AAAA,6DAA6D;AAC7D,aAAa;AACb,
|
|
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,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,sBAAO,CAAC,MAAM,EAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,yCAAoB,GAA3B,UAA4B,IAAY;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAnCuB,mBAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;IAqCtD,iBAAC;CAAA,AAvCD,IAuCC;AAvCY,gCAAU"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IdentifierCache = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
|
+
var util_1 = tslib_1.__importDefault(require("util"));
|
|
7
|
+
var HAPStorage_1 = require("./HAPStorage");
|
|
8
8
|
/**
|
|
9
9
|
* IdentifierCache is a model class that manages a system of associating HAP "Accessory IDs" and "Instance IDs"
|
|
10
10
|
* with other values that don't usually change. HomeKit Clients use Accessory/Instance IDs as a primary key of
|
|
@@ -14,88 +14,87 @@ const HAPStorage_1 = require("./HAPStorage");
|
|
|
14
14
|
* the scene will stop working.
|
|
15
15
|
* @group Model
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
username
|
|
19
|
-
_cache = {}; // cache[key:string] = id:number
|
|
20
|
-
_usedCache = null; // for usage tracking and expiring old keys
|
|
21
|
-
_savedCacheHash = ""; // for checking if new cache need to be saved
|
|
22
|
-
constructor(username) {
|
|
17
|
+
var IdentifierCache = /** @class */ (function () {
|
|
18
|
+
function IdentifierCache(username) {
|
|
23
19
|
this.username = username;
|
|
20
|
+
this._cache = {}; // cache[key:string] = id:number
|
|
21
|
+
this._usedCache = null; // for usage tracking and expiring old keys
|
|
22
|
+
this._savedCacheHash = ""; // for checking if new cache need to be saved
|
|
24
23
|
}
|
|
25
|
-
startTrackingUsage() {
|
|
24
|
+
IdentifierCache.prototype.startTrackingUsage = function () {
|
|
26
25
|
this._usedCache = {};
|
|
27
|
-
}
|
|
28
|
-
stopTrackingUsageAndExpireUnused() {
|
|
26
|
+
};
|
|
27
|
+
IdentifierCache.prototype.stopTrackingUsageAndExpireUnused = function () {
|
|
29
28
|
// simply rotate in the new cache that was built during our normal getXYZ() calls.
|
|
30
29
|
this._cache = this._usedCache || this._cache;
|
|
31
30
|
this._usedCache = null;
|
|
32
|
-
}
|
|
33
|
-
getCache(key) {
|
|
34
|
-
|
|
31
|
+
};
|
|
32
|
+
IdentifierCache.prototype.getCache = function (key) {
|
|
33
|
+
var value = this._cache[key];
|
|
35
34
|
// track this cache item if needed
|
|
36
35
|
if (this._usedCache && typeof value !== "undefined") {
|
|
37
36
|
this._usedCache[key] = value;
|
|
38
37
|
}
|
|
39
38
|
return value;
|
|
40
|
-
}
|
|
41
|
-
setCache(key, value) {
|
|
39
|
+
};
|
|
40
|
+
IdentifierCache.prototype.setCache = function (key, value) {
|
|
42
41
|
this._cache[key] = value;
|
|
43
42
|
// track this cache item if needed
|
|
44
43
|
if (this._usedCache) {
|
|
45
44
|
this._usedCache[key] = value;
|
|
46
45
|
}
|
|
47
46
|
return value;
|
|
48
|
-
}
|
|
49
|
-
getAID(accessoryUUID) {
|
|
50
|
-
|
|
47
|
+
};
|
|
48
|
+
IdentifierCache.prototype.getAID = function (accessoryUUID) {
|
|
49
|
+
var key = accessoryUUID;
|
|
51
50
|
// ensure that our "next AID" field is not expired
|
|
52
51
|
this.getCache("|nextAID");
|
|
53
52
|
return this.getCache(key) || this.setCache(key, this.getNextAID());
|
|
54
|
-
}
|
|
55
|
-
getIID(accessoryUUID, serviceUUID, serviceSubtype, characteristicUUID) {
|
|
56
|
-
|
|
53
|
+
};
|
|
54
|
+
IdentifierCache.prototype.getIID = function (accessoryUUID, serviceUUID, serviceSubtype, characteristicUUID) {
|
|
55
|
+
var key = accessoryUUID
|
|
57
56
|
+ "|" + serviceUUID
|
|
58
57
|
+ (serviceSubtype ? "|" + serviceSubtype : "")
|
|
59
58
|
+ (characteristicUUID ? "|" + characteristicUUID : "");
|
|
60
59
|
// ensure that our "next IID" field for this accessory is not expired
|
|
61
60
|
this.getCache(accessoryUUID + "|nextIID");
|
|
62
61
|
return this.getCache(key) || this.setCache(key, this.getNextIID(accessoryUUID));
|
|
63
|
-
}
|
|
64
|
-
getNextAID() {
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
};
|
|
63
|
+
IdentifierCache.prototype.getNextAID = function () {
|
|
64
|
+
var key = "|nextAID";
|
|
65
|
+
var nextAID = this.getCache(key) || 2; // start at 2 because the root Accessory or Bridge must be 1
|
|
67
66
|
this.setCache(key, nextAID + 1); // increment
|
|
68
67
|
return nextAID;
|
|
69
|
-
}
|
|
70
|
-
getNextIID(accessoryUUID) {
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
};
|
|
69
|
+
IdentifierCache.prototype.getNextIID = function (accessoryUUID) {
|
|
70
|
+
var key = accessoryUUID + "|nextIID";
|
|
71
|
+
var nextIID = this.getCache(key) || 2; // iid 1 is reserved for the Accessory Information service
|
|
73
72
|
this.setCache(key, nextIID + 1); // increment
|
|
74
73
|
return nextIID;
|
|
75
|
-
}
|
|
76
|
-
save() {
|
|
77
|
-
|
|
74
|
+
};
|
|
75
|
+
IdentifierCache.prototype.save = function () {
|
|
76
|
+
var newCacheHash = crypto_1.default.createHash("sha1").update(JSON.stringify(this._cache)).digest("hex"); //calculate hash of new cache
|
|
78
77
|
if (newCacheHash !== this._savedCacheHash) { //check if cache need to be saved and proceed accordingly
|
|
79
|
-
|
|
78
|
+
var saved = {
|
|
80
79
|
cache: this._cache,
|
|
81
80
|
};
|
|
82
|
-
|
|
81
|
+
var key = IdentifierCache.persistKey(this.username);
|
|
83
82
|
HAPStorage_1.HAPStorage.storage().setItemSync(key, saved);
|
|
84
83
|
this._savedCacheHash = newCacheHash; //update hash of saved cache for future use
|
|
85
84
|
}
|
|
86
|
-
}
|
|
85
|
+
};
|
|
87
86
|
/**
|
|
88
87
|
* Persisting to File System
|
|
89
88
|
*/
|
|
90
89
|
// Gets a key for storing this IdentifierCache in the filesystem, like "IdentifierCache.CC223DE3CEF3.json"
|
|
91
|
-
|
|
90
|
+
IdentifierCache.persistKey = function (username) {
|
|
92
91
|
return util_1.default.format("IdentifierCache.%s.json", username.replace(/:/g, "").toUpperCase());
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
};
|
|
93
|
+
IdentifierCache.load = function (username) {
|
|
94
|
+
var key = IdentifierCache.persistKey(username);
|
|
95
|
+
var saved = HAPStorage_1.HAPStorage.storage().getItem(key);
|
|
97
96
|
if (saved) {
|
|
98
|
-
|
|
97
|
+
var info = new IdentifierCache(username);
|
|
99
98
|
info._cache = saved.cache;
|
|
100
99
|
// calculate hash of the saved hash to decide in future if saving of new cache is needed
|
|
101
100
|
info._savedCacheHash = crypto_1.default.createHash("sha1").update(JSON.stringify(info._cache)).digest("hex");
|
|
@@ -104,11 +103,12 @@ class IdentifierCache {
|
|
|
104
103
|
else {
|
|
105
104
|
return null;
|
|
106
105
|
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
};
|
|
107
|
+
IdentifierCache.remove = function (username) {
|
|
108
|
+
var key = this.persistKey(username);
|
|
110
109
|
HAPStorage_1.HAPStorage.storage().removeItemSync(key);
|
|
111
|
-
}
|
|
112
|
-
|
|
110
|
+
};
|
|
111
|
+
return IdentifierCache;
|
|
112
|
+
}());
|
|
113
113
|
exports.IdentifierCache = IdentifierCache;
|
|
114
114
|
//# sourceMappingURL=IdentifierCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentifierCache.js","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"IdentifierCache.js","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"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"}
|