homebridge-tsvesync 1.0.30 → 1.0.32
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/CHANGELOG.md +6 -4
- package/dist/accessories/air-purifier.accessory.d.ts.map +1 -1
- package/dist/accessories/air-purifier.accessory.js +5 -4
- package/dist/accessories/air-purifier.accessory.js.map +1 -1
- package/dist/accessories/base.accessory.d.ts +11 -13
- package/dist/accessories/base.accessory.d.ts.map +1 -1
- package/dist/accessories/base.accessory.js +62 -92
- package/dist/accessories/base.accessory.js.map +1 -1
- package/dist/platform.d.ts +5 -4
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +96 -69
- package/dist/platform.js.map +1 -1
- package/dist/types/polling.types.d.ts +0 -1
- package/dist/types/polling.types.d.ts.map +1 -1
- package/dist/types/polling.types.js +5 -43
- package/dist/types/polling.types.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +8 -5
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/polling-manager.d.ts +6 -7
- package/dist/utils/polling-manager.d.ts.map +1 -1
- package/dist/utils/polling-manager.js +14 -17
- package/dist/utils/polling-manager.js.map +1 -1
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +16 -2
- package/dist/utils/retry.js.map +1 -1
- package/package.json +2 -2
- package/src/accessories/air-purifier.accessory.ts +3 -2
- package/src/accessories/base.accessory.ts +75 -112
- package/src/platform.ts +108 -70
- package/src/types/polling.types.ts +6 -45
- package/src/utils/logger.ts +7 -9
- package/src/utils/polling-manager.ts +14 -20
- package/src/utils/retry.ts +19 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Change Log
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# 1.0.32 (2025-01-04)
|
|
4
|
+
### Fixed
|
|
5
|
+
- Fixed issue where devices were not being refreshed and polling too frequently
|
|
4
6
|
|
|
7
|
+
# 1.0.30 (2025-01-04)
|
|
5
8
|
### Fixed
|
|
6
9
|
- Fixed issue where login token was not being refreshed
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
# 1.0.27 (2025-01-02)
|
|
10
12
|
### Fixed
|
|
11
13
|
- Fixed invalid speed setting issues for air purifiers, fans, and humidifiers
|
|
12
14
|
- Speed 0 now properly turns off the device instead of attempting to set an invalid speed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"air-purifier.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAG3C,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,iBAAiB;IAO3B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAmF9B;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAcrD;;OAEG;cACa,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"air-purifier.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAG3C,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,iBAAiB;IAO3B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAmF9B;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAcrD;;OAEG;cACa,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCvE;;OAEG;YACW,eAAe;IAc7B;;OAEG;YACW,oBAAoB;IAYlC;;OAEG;YACW,sBAAsB;IA8BpC;;OAEG;YACW,kBAAkB;YAYlB,SAAS;YAIT,SAAS;YAeT,0BAA0B;YAI1B,yBAAyB;YAIzB,yBAAyB;YAezB,aAAa;YAMb,cAAc;IAe5B;;OAEG;YACW,gBAAgB;YAiBhB,uBAAuB;YAIvB,uBAAuB;YAmBvB,yBAAyB;YAIzB,kBAAkB;cAIhB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKlE"}
|
|
@@ -61,18 +61,19 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
61
61
|
* Update device states based on the latest details
|
|
62
62
|
*/
|
|
63
63
|
async updateDeviceSpecificStates(details) {
|
|
64
|
-
var _a, _b;
|
|
64
|
+
var _a, _b, _c, _d;
|
|
65
65
|
// Update power state
|
|
66
66
|
const isOn = details.enabled;
|
|
67
67
|
this.service.updateCharacteristic(this.platform.Characteristic.Active, isOn ? 1 : 0);
|
|
68
68
|
this.service.updateCharacteristic(this.platform.Characteristic.CurrentAirPurifierState, isOn ? 2 : 0);
|
|
69
69
|
// Update rotation speed
|
|
70
|
-
const speed = details.speed;
|
|
71
|
-
const
|
|
70
|
+
const speed = (_a = details.speed) !== null && _a !== void 0 ? _a : 0;
|
|
71
|
+
const maxSpeed = (_b = this.device.maxSpeed) !== null && _b !== void 0 ? _b : 5; // Default to 5 if maxSpeed is not defined
|
|
72
|
+
const rotationSpeed = Math.round((speed / maxSpeed) * 100);
|
|
72
73
|
this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, rotationSpeed);
|
|
73
74
|
// Update air quality if available
|
|
74
75
|
if (this.capabilities.hasAirQuality) {
|
|
75
|
-
const pm25 = (
|
|
76
|
+
const pm25 = (_d = (_c = details.airQuality) === null || _c === void 0 ? void 0 : _c.pm25) !== null && _d !== void 0 ? _d : 0;
|
|
76
77
|
const airQuality = this.convertAirQualityToHomeKit(pm25);
|
|
77
78
|
this.service.updateCharacteristic(this.platform.Characteristic.AirQuality, airQuality);
|
|
78
79
|
this.service.updateCharacteristic(this.platform.Characteristic.PM2_5Density, pm25);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"air-purifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"air-purifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export declare abstract class BaseAccessory {
|
|
|
14
14
|
private initializationPromise;
|
|
15
15
|
private initializationResolver;
|
|
16
16
|
private isInitializing;
|
|
17
|
+
private initializationAttempts;
|
|
18
|
+
private readonly maxInitializationAttempts;
|
|
17
19
|
constructor(platform: TSVESyncPlatform, accessory: PlatformAccessory, device: VeSyncDeviceWithPower);
|
|
18
20
|
/**
|
|
19
21
|
* Get base context for logging
|
|
@@ -31,6 +33,10 @@ export declare abstract class BaseAccessory {
|
|
|
31
33
|
* Update device-specific states
|
|
32
34
|
*/
|
|
33
35
|
protected abstract updateDeviceSpecificStates(details: any): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Update device states from platform
|
|
38
|
+
*/
|
|
39
|
+
updateFromPlatform(details: any): Promise<void>;
|
|
34
40
|
/**
|
|
35
41
|
* Get device capabilities
|
|
36
42
|
*/
|
|
@@ -51,22 +57,10 @@ export declare abstract class BaseAccessory {
|
|
|
51
57
|
* Set up the accessory services and start polling
|
|
52
58
|
*/
|
|
53
59
|
private setupAccessory;
|
|
54
|
-
/**
|
|
55
|
-
* Start polling for device updates
|
|
56
|
-
*/
|
|
57
|
-
protected startPolling(): void;
|
|
58
|
-
/**
|
|
59
|
-
* Stop polling for device updates
|
|
60
|
-
*/
|
|
61
|
-
protected stopPolling(): void;
|
|
62
|
-
/**
|
|
63
|
-
* Update the polling manager with the device's active state
|
|
64
|
-
*/
|
|
65
|
-
protected updatePollingState(isActive: boolean): void;
|
|
66
60
|
/**
|
|
67
61
|
* Sync the device state with VeSync
|
|
68
62
|
*/
|
|
69
|
-
syncDeviceState(): Promise<
|
|
63
|
+
syncDeviceState(): Promise<boolean>;
|
|
70
64
|
/**
|
|
71
65
|
* Helper method to convert air quality values to HomeKit format
|
|
72
66
|
*/
|
|
@@ -87,5 +81,9 @@ export declare abstract class BaseAccessory {
|
|
|
87
81
|
* Handle device errors with appropriate recovery actions
|
|
88
82
|
*/
|
|
89
83
|
protected handleDeviceError(message: string, error: Error | any): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Update polling state based on device activity
|
|
86
|
+
*/
|
|
87
|
+
protected updatePollingState(isActive: boolean): void;
|
|
90
88
|
}
|
|
91
89
|
//# sourceMappingURL=base.accessory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAKlF,8BAAsB,aAAa;IACjC,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAS;
|
|
1
|
+
{"version":3,"file":"base.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ class BaseAccessory {
|
|
|
9
9
|
this.needsRetry = false;
|
|
10
10
|
this.isInitialized = false;
|
|
11
11
|
this.isInitializing = false;
|
|
12
|
+
this.initializationAttempts = 0;
|
|
13
|
+
this.maxInitializationAttempts = 5;
|
|
12
14
|
this.platform = platform;
|
|
13
15
|
this.accessory = accessory;
|
|
14
16
|
this.device = device;
|
|
@@ -18,7 +20,7 @@ class BaseAccessory {
|
|
|
18
20
|
});
|
|
19
21
|
// Initialize managers
|
|
20
22
|
this.logger = new logger_1.PluginLogger(this.platform.log, this.platform.config.debug);
|
|
21
|
-
this.pollingManager = new polling_manager_1.PollingManager(this.
|
|
23
|
+
this.pollingManager = new polling_manager_1.PollingManager(this.platform.log, this.platform.config.polling);
|
|
22
24
|
this.retryManager = new retry_1.RetryManager(this.platform.log, this.platform.config.retry);
|
|
23
25
|
// Set up the accessory
|
|
24
26
|
this.setupAccessory();
|
|
@@ -41,24 +43,23 @@ class BaseAccessory {
|
|
|
41
43
|
*/
|
|
42
44
|
async withRetry(operation, operationName) {
|
|
43
45
|
const context = this.getLogContext(operationName);
|
|
44
|
-
this.logger.operationStart(context);
|
|
45
46
|
try {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
deviceName: this.device.deviceName,
|
|
50
|
-
operation: operationName,
|
|
51
|
-
});
|
|
47
|
+
return await this.retryManager.execute(operation, {
|
|
48
|
+
deviceName: this.device.deviceName,
|
|
49
|
+
operation: operationName,
|
|
52
50
|
});
|
|
53
|
-
this.logger.operationEnd(context);
|
|
54
|
-
return result;
|
|
55
51
|
}
|
|
56
52
|
catch (error) {
|
|
57
|
-
|
|
58
|
-
await this.handleDeviceError(`Failed to ${operationName}`, error instanceof Error ? error : new Error(String(error)));
|
|
53
|
+
// Don't log here - let the error propagate up to be logged at a higher level
|
|
59
54
|
throw error;
|
|
60
55
|
}
|
|
61
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Update device states from platform
|
|
59
|
+
*/
|
|
60
|
+
async updateFromPlatform(details) {
|
|
61
|
+
await this.updateDeviceSpecificStates(details);
|
|
62
|
+
}
|
|
62
63
|
/**
|
|
63
64
|
* Get the device type for polling configuration
|
|
64
65
|
*/
|
|
@@ -90,18 +91,26 @@ class BaseAccessory {
|
|
|
90
91
|
}
|
|
91
92
|
this.isInitializing = true;
|
|
92
93
|
try {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
while (this.initializationAttempts < this.maxInitializationAttempts) {
|
|
95
|
+
try {
|
|
96
|
+
await this.initializeDeviceState();
|
|
97
|
+
this.isInitialized = true;
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
this.initializationAttempts++;
|
|
102
|
+
if (this.initializationAttempts >= this.maxInitializationAttempts) {
|
|
103
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
104
|
+
this.logger.error(`=== INIT: Failed to initialize accessory after ${this.maxInitializationAttempts} attempts ===`, this.getLogContext(), err);
|
|
105
|
+
throw err;
|
|
106
|
+
}
|
|
107
|
+
const delay = Math.min(5000 * Math.pow(2, this.initializationAttempts - 1), 40000);
|
|
108
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
101
111
|
}
|
|
102
112
|
finally {
|
|
103
113
|
this.isInitializing = false;
|
|
104
|
-
// Signal initialization completion regardless of success
|
|
105
114
|
this.initializationResolver();
|
|
106
115
|
}
|
|
107
116
|
}
|
|
@@ -109,18 +118,14 @@ class BaseAccessory {
|
|
|
109
118
|
* Initialize the device state
|
|
110
119
|
*/
|
|
111
120
|
async initializeDeviceState() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
await this.platform.isReady();
|
|
116
|
-
}
|
|
117
|
-
// Attempt to get initial device state
|
|
118
|
-
await this.syncDeviceState();
|
|
121
|
+
// Wait for platform to be ready
|
|
122
|
+
if (typeof this.platform.isReady === 'function') {
|
|
123
|
+
await this.platform.isReady();
|
|
119
124
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
throw
|
|
125
|
+
// Attempt to get initial device state
|
|
126
|
+
const success = await this.syncDeviceState();
|
|
127
|
+
if (!success) {
|
|
128
|
+
throw new Error('Failed to get initial device state - got null details');
|
|
124
129
|
}
|
|
125
130
|
}
|
|
126
131
|
/**
|
|
@@ -137,73 +142,32 @@ class BaseAccessory {
|
|
|
137
142
|
}
|
|
138
143
|
// Set up device-specific service
|
|
139
144
|
this.setupService();
|
|
140
|
-
//
|
|
141
|
-
this.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
* Start polling for device updates
|
|
145
|
-
*/
|
|
146
|
-
startPolling() {
|
|
147
|
-
this.pollingManager.startPolling(async () => {
|
|
148
|
-
try {
|
|
149
|
-
// Wait for initialization before starting polling
|
|
150
|
-
await this.initializationPromise;
|
|
151
|
-
// Wait for platform to be ready
|
|
152
|
-
if (typeof this.platform.isReady === 'function') {
|
|
153
|
-
await this.platform.isReady();
|
|
154
|
-
}
|
|
155
|
-
if (!this.isInitialized) {
|
|
156
|
-
// If not initialized, try to initialize first
|
|
157
|
-
await this.initializeDeviceState();
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
await this.syncDeviceState();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
catch (error) {
|
|
164
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
165
|
-
this.logger.error('Failed during polling', this.getLogContext(), err);
|
|
145
|
+
// Initialize the accessory
|
|
146
|
+
this.initializationPromise.then(() => {
|
|
147
|
+
if (!this.isInitialized) {
|
|
148
|
+
this.logger.warn('=== INIT: Device failed to initialize ===', this.getLogContext());
|
|
166
149
|
}
|
|
167
150
|
});
|
|
168
151
|
}
|
|
169
|
-
/**
|
|
170
|
-
* Stop polling for device updates
|
|
171
|
-
*/
|
|
172
|
-
stopPolling() {
|
|
173
|
-
this.pollingManager.stopPolling();
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Update the polling manager with the device's active state
|
|
177
|
-
*/
|
|
178
|
-
updatePollingState(isActive) {
|
|
179
|
-
this.pollingManager.updateDeviceState(isActive);
|
|
180
|
-
}
|
|
181
152
|
/**
|
|
182
153
|
* Sync the device state with VeSync
|
|
183
154
|
*/
|
|
184
155
|
async syncDeviceState() {
|
|
185
156
|
try {
|
|
186
|
-
|
|
187
|
-
this.
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const details = await this.device.getDetails();
|
|
192
|
-
if (!details) {
|
|
193
|
-
throw new Error('Failed to get device details');
|
|
157
|
+
const details = await this.withRetry(async () => {
|
|
158
|
+
await this.device.getDetails();
|
|
159
|
+
// After getDetails(), the device object should have updated internal state
|
|
160
|
+
if (!this.device.deviceStatus) {
|
|
161
|
+
return null;
|
|
194
162
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
// Clear retry flag on success
|
|
198
|
-
this.needsRetry = false;
|
|
163
|
+
await this.updateDeviceSpecificStates(this.device);
|
|
164
|
+
return this.device;
|
|
199
165
|
}, 'sync device state');
|
|
166
|
+
return details !== null;
|
|
200
167
|
}
|
|
201
168
|
catch (error) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
this.logger.warn('Device not initialized, will retry initialization', this.getLogContext());
|
|
205
|
-
}
|
|
206
|
-
await this.handleDeviceError('Failed to sync device state', error instanceof Error ? error : new Error(String(error)));
|
|
169
|
+
this.isInitialized = false;
|
|
170
|
+
throw error;
|
|
207
171
|
}
|
|
208
172
|
}
|
|
209
173
|
/**
|
|
@@ -228,14 +192,14 @@ class BaseAccessory {
|
|
|
228
192
|
const char = targetService.getCharacteristic(characteristic);
|
|
229
193
|
if (onGet) {
|
|
230
194
|
char.onGet(async () => {
|
|
231
|
-
const context = this.getLogContext('get characteristic', characteristic.name);
|
|
232
195
|
try {
|
|
233
|
-
|
|
234
|
-
this.
|
|
235
|
-
|
|
196
|
+
// Get fresh data from API first
|
|
197
|
+
await this.platform.updateDeviceStatesFromAPI(true);
|
|
198
|
+
// Now get the value using the updated state
|
|
199
|
+
return await this.withRetry(onGet, `get ${characteristic.name}`);
|
|
236
200
|
}
|
|
237
201
|
catch (error) {
|
|
238
|
-
this.logger.error('Failed to get characteristic value',
|
|
202
|
+
this.logger.error('Failed to get characteristic value', this.getLogContext(), error);
|
|
239
203
|
throw error;
|
|
240
204
|
}
|
|
241
205
|
});
|
|
@@ -315,6 +279,12 @@ class BaseAccessory {
|
|
|
315
279
|
this.logger.error(message, context, wrappedError);
|
|
316
280
|
this.needsRetry = true;
|
|
317
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* Update polling state based on device activity
|
|
284
|
+
*/
|
|
285
|
+
updatePollingState(isActive) {
|
|
286
|
+
this.pollingManager.updateDeviceStates(isActive);
|
|
287
|
+
}
|
|
318
288
|
}
|
|
319
289
|
exports.BaseAccessory = BaseAccessory;
|
|
320
290
|
//# sourceMappingURL=base.accessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.accessory.js","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":";;;AAGA,8DAA0D;AAC1D,0CAA8C;AAC9C,4CAA2D;AAE3D,MAAsB,aAAa;
|
|
1
|
+
{"version":3,"file":"base.accessory.js","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -22,11 +22,16 @@ export declare class TSVESyncPlatform implements DynamicPlatformPlugin {
|
|
|
22
22
|
private initializationPromise;
|
|
23
23
|
private initializationResolver;
|
|
24
24
|
private isInitialized;
|
|
25
|
+
private pollingManager;
|
|
25
26
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
26
27
|
/**
|
|
27
28
|
* Check if platform is ready
|
|
28
29
|
*/
|
|
29
30
|
isReady(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Initialize all accessories
|
|
33
|
+
*/
|
|
34
|
+
private initializeAccessories;
|
|
30
35
|
/**
|
|
31
36
|
* Initialize the platform
|
|
32
37
|
*/
|
|
@@ -47,10 +52,6 @@ export declare class TSVESyncPlatform implements DynamicPlatformPlugin {
|
|
|
47
52
|
* Ensure client is logged in
|
|
48
53
|
*/
|
|
49
54
|
private ensureLogin;
|
|
50
|
-
/**
|
|
51
|
-
* Handle operation retry with token refresh
|
|
52
|
-
*/
|
|
53
|
-
withTokenRefresh<T>(operation: () => Promise<T>): Promise<T>;
|
|
54
55
|
/**
|
|
55
56
|
* Update device states from the API
|
|
56
57
|
*/
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5H;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,qBAAqB;aAqB1C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAtB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAE3E,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAkB;gBAGtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IAkE1B;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;OAEG;YACW,qBAAqB;IAyBnC;;OAEG;YACW,kBAAkB;IAiChC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAK/C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;YACW,WAAW;IAuCzB;;OAEG;IACU,yBAAyB,CAAC,cAAc,UAAQ;IA+E7D;;OAEG;YACW,kBAAkB;IAShC;;OAEG;IACG,eAAe;IA0ErB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
|