@mp-consulting/homebridge-daikin-cloud 1.5.2 → 1.6.1
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 +40 -27
- package/config.schema.json +66 -12
- package/dist/src/accessories/air-conditioning-accessory.js +1 -1
- package/dist/src/accessories/air-conditioning-accessory.js.map +1 -1
- package/dist/src/accessories/altherma-accessory.js +1 -1
- package/dist/src/accessories/altherma-accessory.js.map +1 -1
- package/dist/src/accessories/base-accessory.d.ts +5 -4
- package/dist/src/accessories/base-accessory.d.ts.map +1 -1
- package/dist/src/accessories/base-accessory.js +9 -10
- package/dist/src/accessories/base-accessory.js.map +1 -1
- package/dist/src/api/daikin-api.d.ts +22 -6
- package/dist/src/api/daikin-api.d.ts.map +1 -1
- package/dist/src/api/daikin-api.js +49 -23
- package/dist/src/api/daikin-api.js.map +1 -1
- package/dist/src/api/daikin-controller.d.ts +4 -48
- package/dist/src/api/daikin-controller.d.ts.map +1 -1
- package/dist/src/api/daikin-controller.js +14 -84
- package/dist/src/api/daikin-controller.js.map +1 -1
- package/dist/src/api/daikin-mobile-oauth.d.ts +11 -40
- package/dist/src/api/daikin-mobile-oauth.d.ts.map +1 -1
- package/dist/src/api/daikin-mobile-oauth.js +36 -160
- package/dist/src/api/daikin-mobile-oauth.js.map +1 -1
- package/dist/src/api/daikin-oauth.d.ts +10 -37
- package/dist/src/api/daikin-oauth.d.ts.map +1 -1
- package/dist/src/api/daikin-oauth.js +36 -166
- package/dist/src/api/daikin-oauth.js.map +1 -1
- package/dist/src/api/daikin-schemas.d.ts +20 -22
- package/dist/src/api/daikin-schemas.d.ts.map +1 -1
- package/dist/src/api/daikin-schemas.js +17 -49
- package/dist/src/api/daikin-schemas.js.map +1 -1
- package/dist/src/api/daikin-types.d.ts +11 -23
- package/dist/src/api/daikin-types.d.ts.map +1 -1
- package/dist/src/api/daikin-types.js.map +1 -1
- package/dist/src/api/daikin-websocket.d.ts +4 -5
- package/dist/src/api/daikin-websocket.d.ts.map +1 -1
- package/dist/src/api/daikin-websocket.js +62 -34
- package/dist/src/api/daikin-websocket.js.map +1 -1
- package/dist/src/api/http-defaults.d.ts +3 -2
- package/dist/src/api/http-defaults.d.ts.map +1 -1
- package/dist/src/api/http-defaults.js.map +1 -1
- package/dist/src/api/http-transport.d.ts +14 -2
- package/dist/src/api/http-transport.d.ts.map +1 -1
- package/dist/src/api/http-transport.js +32 -9
- package/dist/src/api/http-transport.js.map +1 -1
- package/dist/src/api/token-client.d.ts +82 -0
- package/dist/src/api/token-client.d.ts.map +1 -0
- package/dist/src/api/token-client.js +188 -0
- package/dist/src/api/token-client.js.map +1 -0
- package/dist/src/api/token-storage.d.ts +6 -0
- package/dist/src/api/token-storage.d.ts.map +1 -1
- package/dist/src/api/token-storage.js +27 -1
- package/dist/src/api/token-storage.js.map +1 -1
- package/dist/src/config/config-manager.d.ts +69 -125
- package/dist/src/config/config-manager.d.ts.map +1 -1
- package/dist/src/config/config-manager.js +288 -225
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/constants/api.constants.d.ts +6 -0
- package/dist/src/constants/api.constants.d.ts.map +1 -1
- package/dist/src/constants/api.constants.js +7 -1
- package/dist/src/constants/api.constants.js.map +1 -1
- package/dist/src/constants/auth.constants.d.ts +11 -0
- package/dist/src/constants/auth.constants.d.ts.map +1 -1
- package/dist/src/constants/auth.constants.js +12 -1
- package/dist/src/constants/auth.constants.js.map +1 -1
- package/dist/src/constants/device.constants.d.ts +1 -7
- package/dist/src/constants/device.constants.d.ts.map +1 -1
- package/dist/src/constants/device.constants.js +2 -11
- package/dist/src/constants/device.constants.js.map +1 -1
- package/dist/src/constants/time.constants.d.ts +0 -2
- package/dist/src/constants/time.constants.d.ts.map +1 -1
- package/dist/src/constants/time.constants.js +1 -3
- package/dist/src/constants/time.constants.js.map +1 -1
- package/dist/src/device/accessory-factory.d.ts +0 -5
- package/dist/src/device/accessory-factory.d.ts.map +1 -1
- package/dist/src/device/accessory-factory.js +0 -7
- package/dist/src/device/accessory-factory.js.map +1 -1
- package/dist/src/device/capability-detector.d.ts +9 -1
- package/dist/src/device/capability-detector.d.ts.map +1 -1
- package/dist/src/device/capability-detector.js +32 -28
- package/dist/src/device/capability-detector.js.map +1 -1
- package/dist/src/device/capability-docs.d.ts.map +1 -1
- package/dist/src/device/capability-docs.js +3 -0
- package/dist/src/device/capability-docs.js.map +1 -1
- package/dist/src/device/data-paths.d.ts +18 -0
- package/dist/src/device/data-paths.d.ts.map +1 -0
- package/dist/src/device/data-paths.js +20 -0
- package/dist/src/device/data-paths.js.map +1 -0
- package/dist/src/device/profiles/device-profile.d.ts +0 -5
- package/dist/src/device/profiles/device-profile.d.ts.map +1 -1
- package/dist/src/device/profiles/device-profile.js +0 -21
- package/dist/src/device/profiles/device-profile.js.map +1 -1
- package/dist/src/features/base-feature.d.ts +53 -9
- package/dist/src/features/base-feature.d.ts.map +1 -1
- package/dist/src/features/base-feature.js +93 -40
- package/dist/src/features/base-feature.js.map +1 -1
- package/dist/src/features/feature-manager.d.ts +27 -15
- package/dist/src/features/feature-manager.d.ts.map +1 -1
- package/dist/src/features/feature-manager.js +27 -24
- package/dist/src/features/feature-manager.js.map +1 -1
- package/dist/src/features/index.d.ts +1 -0
- package/dist/src/features/index.d.ts.map +1 -1
- package/dist/src/features/index.js +1 -0
- package/dist/src/features/index.js.map +1 -1
- package/dist/src/features/modes/auto-fan-mode.feature.d.ts +16 -10
- package/dist/src/features/modes/auto-fan-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/auto-fan-mode.feature.js +16 -40
- package/dist/src/features/modes/auto-fan-mode.feature.js.map +1 -1
- package/dist/src/features/modes/dry-operation-mode.feature.d.ts +12 -9
- package/dist/src/features/modes/dry-operation-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/dry-operation-mode.feature.js +11 -30
- package/dist/src/features/modes/dry-operation-mode.feature.js.map +1 -1
- package/dist/src/features/modes/econo-mode.feature.d.ts +12 -9
- package/dist/src/features/modes/econo-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/econo-mode.feature.js +11 -31
- package/dist/src/features/modes/econo-mode.feature.js.map +1 -1
- package/dist/src/features/modes/fan-only-operation-mode.feature.d.ts +12 -9
- package/dist/src/features/modes/fan-only-operation-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/fan-only-operation-mode.feature.js +11 -30
- package/dist/src/features/modes/fan-only-operation-mode.feature.js.map +1 -1
- package/dist/src/features/modes/firmware-update.feature.d.ts +7 -6
- package/dist/src/features/modes/firmware-update.feature.d.ts.map +1 -1
- package/dist/src/features/modes/firmware-update.feature.js +15 -22
- package/dist/src/features/modes/firmware-update.feature.js.map +1 -1
- package/dist/src/features/modes/holiday-mode.feature.d.ts +2 -1
- package/dist/src/features/modes/holiday-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/holiday-mode.feature.js +5 -15
- package/dist/src/features/modes/holiday-mode.feature.js.map +1 -1
- package/dist/src/features/modes/indoor-silent-mode.feature.d.ts +15 -12
- package/dist/src/features/modes/indoor-silent-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/indoor-silent-mode.feature.js +15 -39
- package/dist/src/features/modes/indoor-silent-mode.feature.js.map +1 -1
- package/dist/src/features/modes/oscillation-mode.feature.d.ts +5 -6
- package/dist/src/features/modes/oscillation-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/oscillation-mode.feature.js +14 -36
- package/dist/src/features/modes/oscillation-mode.feature.js.map +1 -1
- package/dist/src/features/modes/outdoor-silent-mode.feature.d.ts +12 -9
- package/dist/src/features/modes/outdoor-silent-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/outdoor-silent-mode.feature.js +11 -31
- package/dist/src/features/modes/outdoor-silent-mode.feature.js.map +1 -1
- package/dist/src/features/modes/powerful-mode.feature.d.ts +14 -10
- package/dist/src/features/modes/powerful-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/powerful-mode.feature.js +13 -32
- package/dist/src/features/modes/powerful-mode.feature.js.map +1 -1
- package/dist/src/features/modes/streamer-mode.feature.d.ts +12 -9
- package/dist/src/features/modes/streamer-mode.feature.d.ts.map +1 -1
- package/dist/src/features/modes/streamer-mode.feature.js +11 -31
- package/dist/src/features/modes/streamer-mode.feature.js.map +1 -1
- package/dist/src/features/on-off-data-point-feature.d.ts +43 -0
- package/dist/src/features/on-off-data-point-feature.d.ts.map +1 -0
- package/dist/src/features/on-off-data-point-feature.js +49 -0
- package/dist/src/features/on-off-data-point-feature.js.map +1 -0
- package/dist/src/platform.d.ts +56 -9
- package/dist/src/platform.d.ts.map +1 -1
- package/dist/src/platform.js +248 -128
- package/dist/src/platform.js.map +1 -1
- package/dist/src/services/climate-control/fan-speed.d.ts +45 -0
- package/dist/src/services/climate-control/fan-speed.d.ts.map +1 -0
- package/dist/src/services/climate-control/fan-speed.js +104 -0
- package/dist/src/services/climate-control/fan-speed.js.map +1 -0
- package/dist/src/services/climate-control/separate-fan.service.d.ts +45 -0
- package/dist/src/services/climate-control/separate-fan.service.d.ts.map +1 -0
- package/dist/src/services/climate-control/separate-fan.service.js +82 -0
- package/dist/src/services/climate-control/separate-fan.service.js.map +1 -0
- package/dist/src/services/climate-control/setpoint-resolver.d.ts +68 -0
- package/dist/src/services/climate-control/setpoint-resolver.d.ts.map +1 -0
- package/dist/src/services/climate-control/setpoint-resolver.js +170 -0
- package/dist/src/services/climate-control/setpoint-resolver.js.map +1 -0
- package/dist/src/services/climate-control/swing-controller.d.ts +28 -0
- package/dist/src/services/climate-control/swing-controller.d.ts.map +1 -0
- package/dist/src/services/climate-control/swing-controller.js +65 -0
- package/dist/src/services/climate-control/swing-controller.js.map +1 -0
- package/dist/src/services/climate-control.service.d.ts +39 -48
- package/dist/src/services/climate-control.service.d.ts.map +1 -1
- package/dist/src/services/climate-control.service.js +223 -554
- package/dist/src/services/climate-control.service.js.map +1 -1
- package/dist/src/services/hot-water-tank.service.d.ts +17 -8
- package/dist/src/services/hot-water-tank.service.d.ts.map +1 -1
- package/dist/src/services/hot-water-tank.service.js +102 -157
- package/dist/src/services/hot-water-tank.service.js.map +1 -1
- package/dist/src/types/daikin-enums.d.ts +0 -5
- package/dist/src/types/daikin-enums.d.ts.map +1 -1
- package/dist/src/types/daikin-enums.js +1 -7
- package/dist/src/types/daikin-enums.js.map +1 -1
- package/dist/src/types/device-capabilities.d.ts +1 -0
- package/dist/src/types/device-capabilities.d.ts.map +1 -1
- package/dist/src/utils/errors.d.ts +9 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/errors.js +25 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/hap-write.d.ts +22 -0
- package/dist/src/utils/hap-write.d.ts.map +1 -0
- package/dist/src/utils/hap-write.js +33 -0
- package/dist/src/utils/hap-write.js.map +1 -0
- package/dist/src/utils/sleep.d.ts +5 -0
- package/dist/src/utils/sleep.d.ts.map +1 -0
- package/dist/src/utils/sleep.js +10 -0
- package/dist/src/utils/sleep.js.map +1 -0
- package/homebridge-ui/README.md +25 -2
- package/homebridge-ui/public/index.html +19 -17
- package/homebridge-ui/public/script.js +95 -32
- package/homebridge-ui/public/styles.css +109 -0
- package/homebridge-ui/server.js +687 -453
- package/package.json +3 -3
- package/dist/src/utils/log-context.d.ts +0 -105
- package/dist/src/utils/log-context.d.ts.map +0 -1
- package/dist/src/utils/log-context.js +0 -206
- package/dist/src/utils/log-context.js.map +0 -1
- package/dist/src/utils/update-mapper.d.ts +0 -59
- package/dist/src/utils/update-mapper.d.ts.map +0 -1
- package/dist/src/utils/update-mapper.js +0 -192
- package/dist/src/utils/update-mapper.js.map +0 -1
|
@@ -11,6 +11,7 @@ const daikin_types_1 = require("./daikin-types");
|
|
|
11
11
|
const daikin_schemas_1 = require("./daikin-schemas");
|
|
12
12
|
const http_transport_1 = require("./http-transport");
|
|
13
13
|
const constants_1 = require("../constants");
|
|
14
|
+
const sleep_1 = require("../utils/sleep");
|
|
14
15
|
class RateLimitedError extends Error {
|
|
15
16
|
retryAfter;
|
|
16
17
|
constructor(message, retryAfter) {
|
|
@@ -39,6 +40,9 @@ class DaikinApi {
|
|
|
39
40
|
// Per-device write queues: serializes PATCH requests for each device independently,
|
|
40
41
|
// so multiple devices can write in parallel while each device's writes are ordered.
|
|
41
42
|
writeQueues = new Map();
|
|
43
|
+
// Writes queued but not yet sent, keyed by device/management point/data point/path.
|
|
44
|
+
// A newer write for the same key replaces the queued value (last write wins).
|
|
45
|
+
pendingWrites = new Map();
|
|
42
46
|
constructor(oauth, onRateLimitStatus) {
|
|
43
47
|
this.oauth = oauth;
|
|
44
48
|
this.onRateLimitStatus = onRateLimitStatus;
|
|
@@ -94,10 +98,14 @@ class DaikinApi {
|
|
|
94
98
|
// Instance methods
|
|
95
99
|
// =========================================================================
|
|
96
100
|
/**
|
|
97
|
-
* Get all gateway devices with runtime validation
|
|
101
|
+
* Get all gateway devices with runtime validation.
|
|
102
|
+
*
|
|
103
|
+
* Gateway errors (5xx) are not retried by default: for periodic polling the
|
|
104
|
+
* next poll is the retry. Pass `retryGatewayErrors: true` for one-off reads
|
|
105
|
+
* (e.g. initial discovery) where a transient failure would be costly.
|
|
98
106
|
*/
|
|
99
|
-
async getDevices() {
|
|
100
|
-
const rawDevices = await this.request('/v1/gateway-devices');
|
|
107
|
+
async getDevices(options = {}) {
|
|
108
|
+
const rawDevices = await this.request('/v1/gateway-devices', 'GET', undefined, 0, options);
|
|
101
109
|
return zod_1.z.array(daikin_schemas_1.GatewayDeviceSchema).parse(rawDevices);
|
|
102
110
|
}
|
|
103
111
|
/**
|
|
@@ -110,9 +118,24 @@ class DaikinApi {
|
|
|
110
118
|
* @param dataPath - Optional path within the data point (e.g., '/operationModes/heating/setpoints/roomTemperature')
|
|
111
119
|
*/
|
|
112
120
|
async updateDevice(deviceId, embeddedId, dataPoint, value, dataPath) {
|
|
113
|
-
const urlPath =
|
|
121
|
+
const urlPath = `${this.managementPointPath(deviceId, embeddedId)}/characteristics/${encodeURIComponent(dataPoint)}`;
|
|
114
122
|
const body = dataPath ? { value, path: dataPath } : { value };
|
|
115
|
-
|
|
123
|
+
const key = `${deviceId}|${embeddedId}|${dataPoint}|${dataPath ?? ''}`;
|
|
124
|
+
// Coalesce: a queued-but-unsent write to the same target just takes the new value,
|
|
125
|
+
// and both callers share the outcome of the single request that is sent.
|
|
126
|
+
const pending = this.pendingWrites.get(key);
|
|
127
|
+
if (pending?.promise) {
|
|
128
|
+
pending.body = body;
|
|
129
|
+
return pending.promise;
|
|
130
|
+
}
|
|
131
|
+
const entry = { body };
|
|
132
|
+
this.pendingWrites.set(key, entry);
|
|
133
|
+
entry.promise = this.enqueueWriteForDevice(deviceId, () => {
|
|
134
|
+
// Once the request starts, later writes must queue behind it instead of merging.
|
|
135
|
+
this.pendingWrites.delete(key);
|
|
136
|
+
return this.request(urlPath, 'PATCH', entry.body);
|
|
137
|
+
});
|
|
138
|
+
return entry.promise;
|
|
116
139
|
}
|
|
117
140
|
/**
|
|
118
141
|
* Enable or disable holiday (away) mode on a management point.
|
|
@@ -127,7 +150,7 @@ class DaikinApi {
|
|
|
127
150
|
* @param body - The holiday mode payload
|
|
128
151
|
*/
|
|
129
152
|
async setHolidayMode(deviceId, embeddedId, body) {
|
|
130
|
-
const urlPath =
|
|
153
|
+
const urlPath = `${this.managementPointPath(deviceId, embeddedId)}/holiday-mode`;
|
|
131
154
|
await this.enqueueWriteForDevice(deviceId, () => this.request(urlPath, 'POST', body));
|
|
132
155
|
}
|
|
133
156
|
/**
|
|
@@ -143,9 +166,16 @@ class DaikinApi {
|
|
|
143
166
|
* @param firmwareId - The staged update's id from firmwareUpdate.value.id
|
|
144
167
|
*/
|
|
145
168
|
async triggerFirmwareUpdate(deviceId, embeddedId, firmwareId) {
|
|
146
|
-
const urlPath =
|
|
169
|
+
const urlPath = `${this.managementPointPath(deviceId, embeddedId)}/firmware/${encodeURIComponent(firmwareId)}`;
|
|
147
170
|
await this.enqueueWriteForDevice(deviceId, () => this.request(urlPath, 'PUT'));
|
|
148
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Base path of a management point. IDs come from cloud responses and are
|
|
174
|
+
* encoded so a '/' or '?' in them cannot change which endpoint is hit.
|
|
175
|
+
*/
|
|
176
|
+
managementPointPath(deviceId, embeddedId) {
|
|
177
|
+
return `/v1/gateway-devices/${encodeURIComponent(deviceId)}/management-points/${encodeURIComponent(embeddedId)}`;
|
|
178
|
+
}
|
|
149
179
|
/**
|
|
150
180
|
* Serializes write requests per device through a queue with a fixed inter-request delay.
|
|
151
181
|
* Each device has its own queue so writes for different devices run in parallel,
|
|
@@ -157,10 +187,10 @@ class DaikinApi {
|
|
|
157
187
|
.catch(() => { })
|
|
158
188
|
.then(() => fn())
|
|
159
189
|
.then(async (val) => {
|
|
160
|
-
await
|
|
190
|
+
await (0, sleep_1.sleep)(constants_1.WRITE_INTER_REQUEST_DELAY_MS);
|
|
161
191
|
return val;
|
|
162
192
|
}, async (err) => {
|
|
163
|
-
await
|
|
193
|
+
await (0, sleep_1.sleep)(constants_1.WRITE_INTER_REQUEST_DELAY_MS);
|
|
164
194
|
throw err;
|
|
165
195
|
});
|
|
166
196
|
this.writeQueues.set(deviceId, queued.catch(() => { }));
|
|
@@ -186,12 +216,6 @@ class DaikinApi {
|
|
|
186
216
|
const jitter = Math.random() * constants_1.RETRY_BASE_DELAY_MS;
|
|
187
217
|
return Math.min(exponentialDelay + jitter, constants_1.RETRY_MAX_DELAY_MS);
|
|
188
218
|
}
|
|
189
|
-
/**
|
|
190
|
-
* Sleep for a specified duration
|
|
191
|
-
*/
|
|
192
|
-
sleep(ms) {
|
|
193
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
194
|
-
}
|
|
195
219
|
/**
|
|
196
220
|
* Get human-readable name for gateway error status codes
|
|
197
221
|
*/
|
|
@@ -228,7 +252,7 @@ class DaikinApi {
|
|
|
228
252
|
/**
|
|
229
253
|
* Make an authenticated API request
|
|
230
254
|
*/
|
|
231
|
-
async request(path, method = 'GET', body, retryCount = 0) {
|
|
255
|
+
async request(path, method = 'GET', body, retryCount = 0, options = {}) {
|
|
232
256
|
// Check rate limit
|
|
233
257
|
if (this.isRateLimited()) {
|
|
234
258
|
const retryAfter = this.getRateLimitRetryAfter();
|
|
@@ -244,7 +268,8 @@ class DaikinApi {
|
|
|
244
268
|
limitDay: this.parseHeader(response.headers['x-ratelimit-limit-day']),
|
|
245
269
|
remainingDay: this.parseHeader(response.headers['x-ratelimit-remaining-day']),
|
|
246
270
|
};
|
|
247
|
-
|
|
271
|
+
// Only report when the response actually carried rate-limit headers
|
|
272
|
+
if (this.onRateLimitStatus && Object.values(rateLimit).some(v => v !== undefined)) {
|
|
248
273
|
this.onRateLimitStatus(rateLimit);
|
|
249
274
|
}
|
|
250
275
|
// Handle response codes
|
|
@@ -272,8 +297,8 @@ class DaikinApi {
|
|
|
272
297
|
await this.refreshPromise;
|
|
273
298
|
// Apply exponential backoff delay before retry
|
|
274
299
|
const delay = this.getRetryDelay(retryCount);
|
|
275
|
-
await
|
|
276
|
-
return this.request(path, method, body, retryCount + 1);
|
|
300
|
+
await (0, sleep_1.sleep)(delay);
|
|
301
|
+
return this.request(path, method, body, retryCount + 1, options);
|
|
277
302
|
}
|
|
278
303
|
catch {
|
|
279
304
|
throw new Error(`Unauthorized (${constants_1.HTTP_STATUS.UNAUTHORIZED}): Token refresh failed. Please re-authenticate.`);
|
|
@@ -294,14 +319,15 @@ class DaikinApi {
|
|
|
294
319
|
case constants_1.HTTP_STATUS.SERVICE_UNAVAILABLE:
|
|
295
320
|
case constants_1.HTTP_STATUS.GATEWAY_TIMEOUT: {
|
|
296
321
|
const errorName = this.getGatewayErrorName(response.statusCode);
|
|
297
|
-
|
|
298
|
-
|
|
322
|
+
const retryGatewayErrors = options.retryGatewayErrors ?? method !== 'GET';
|
|
323
|
+
// If retries are disabled or exhausted, throw ApiTimeoutError
|
|
324
|
+
if (!retryGatewayErrors || retryCount >= constants_1.MAX_RETRY_ATTEMPTS) {
|
|
299
325
|
throw new ApiTimeoutError(`${errorName} (${response.statusCode}): The Daikin API is temporarily unavailable after ${retryCount + 1} attempts.`, response.statusCode, retryCount + 1);
|
|
300
326
|
}
|
|
301
327
|
// Retry with exponential backoff
|
|
302
328
|
const delay = this.getRetryDelay(retryCount);
|
|
303
|
-
await
|
|
304
|
-
return this.request(path, method, body, retryCount + 1);
|
|
329
|
+
await (0, sleep_1.sleep)(delay);
|
|
330
|
+
return this.request(path, method, body, retryCount + 1, options);
|
|
305
331
|
}
|
|
306
332
|
default:
|
|
307
333
|
throw new Error(`Unexpected API error (${response.statusCode}): ${response.body}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daikin-api.js","sourceRoot":"","sources":["../../../src/api/daikin-api.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6BAAwB;AAExB,iDAAoD;AACpD,qDAAuD;AACvD,qDAA+C;AAC/C,4CASsB;AAEtB,MAAa,gBAAiB,SAAQ,KAAK;IAGnB;IAFtB,YACE,OAAe,EACK,UAAkB;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFK,eAAU,GAAV,UAAU,CAAQ;QAGtC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AARD,4CAQC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAGlB;IACA;IAHtB,YACE,OAAe,EACK,UAAkB,EAClB,YAAoB;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHK,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAGxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AATD,0CASC;AAED,MAAa,SAAS;IAQG;IACA;IARf,YAAY,GAAG,CAAC,CAAC;IACjB,cAAc,GAAyB,IAAI,CAAC;IACpD,oFAAoF;IACpF,oFAAoF;IAC5E,WAAW,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE/D,YACuB,KAAoB,EACpB,iBAAqD;QADrD,UAAK,GAAL,KAAK,CAAe;QACpB,sBAAiB,GAAjB,iBAAiB,CAAoC;IACzE,CAAC;IAEJ,4EAA4E;IAC5E,oDAAoD;IACpD,4EAA4E;IAE5E;;SAEK;IACL,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,IAAY,EACZ,WAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,iCAAkB,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAErE,MAAM,SAAS,GAAoB;YACjC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YACtF,eAAe,EAAE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC9F,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAChF,YAAY,EAAE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;SACzF,CAAC;QAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,uBAAW,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,KAAK,uBAAW,CAAC,iBAAiB,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACtD,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS;SACV,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,KAAoC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,GAAW,EACX,WAAmB;QAEnB,OAAO,IAAA,4BAAW,EAAC,GAAG,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,WAAW,EAAE;gBACxC,QAAQ,EAAE,kBAAkB;aAC7B;SACF,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;SAEK;IACL,KAAK,CAAC,UAAU;QACd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAY,qBAAqB,CAAC,CAAC;QACxE,OAAO,OAAC,CAAC,KAAK,CAAC,oCAAmB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAoB,CAAC;IAC3E,CAAC;IAED;;;;;;;;SAQK;IACL,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,KAAc,EACd,QAAiB;QAEjB,MAAM,OAAO,GAAG,uBAAuB,QAAQ,sBAAsB,UAAU,oBAAoB,SAAS,EAAE,CAAC;QAC/G,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9D,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;SAWK;IACL,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,UAAkB,EAClB,IAAgE;QAEhE,MAAM,OAAO,GAAG,uBAAuB,QAAQ,sBAAsB,UAAU,eAAe,CAAC;QAC/F,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;;;;SAWK;IACL,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,UAAkB,EAAE,UAAkB;QAClF,MAAM,OAAO,GAAG,uBAAuB,QAAQ,sBAAsB,UAAU,aAAa,UAAU,EAAE,CAAC;QACzG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAI,QAAgB,EAAE,EAAoB;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,OAAO;aACnB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;aAChB,IAAI,CACH,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,CAAC,KAAK,CAAC,wCAA4B,CAAC,CAAC;YAC/C,OAAO,GAAG,CAAC;QACb,CAAC,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,CAAC,KAAK,CAAC,wCAA4B,CAAC,CAAC;YAC/C,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;SAEK;IACL,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED;;SAEK;IACL,sBAAsB;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,yBAAa,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;SAEK;IACG,aAAa,CAAC,OAAe;QACnC,MAAM,gBAAgB,GAAG,+BAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,+BAAmB,CAAC;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,EAAE,8BAAkB,CAAC,CAAC;IACjE,CAAC;IAED;;SAEK;IACG,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;SAEK;IACG,mBAAmB,CAAC,UAAkB;QAC5C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,uBAAW,CAAC,WAAW;gBAC1B,OAAO,aAAa,CAAC;YACvB,KAAK,uBAAW,CAAC,mBAAmB;gBAClC,OAAO,qBAAqB,CAAC;YAC/B,KAAK,uBAAW,CAAC,eAAe;gBAC9B,OAAO,iBAAiB,CAAC;YAC3B;gBACE,OAAO,eAAe,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;SAEK;IACG,kBAAkB,CAAC,IAAY;QACrC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,gFAAgF;kBACnF,wFAAwF,CAAC;QAC/F,CAAC;QACD,OAAO,gBAAgB,uBAAW,CAAC,WAAW,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;IACnF,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,0BAA0B,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;SAEK;IACG,KAAK,CAAC,OAAO,CACnB,IAAY,EACZ,SAAsD,KAAK,EAC3D,IAAc,EACd,UAAU,GAAG,CAAC;QAEd,mBAAmB;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,MAAM,IAAI,gBAAgB,CACxB,sDAAsD,UAAU,WAAW,EAC3E,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,iCAAkB,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAExE,2BAA2B;QAC3B,MAAM,SAAS,GAAoB;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAC3E,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACnF,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACrE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;SAC9E,CAAC;QAEF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,wBAAwB;QACxB,QAAQ,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5B,KAAK,uBAAW,CAAC,EAAE,CAAC;YACpB,KAAK,uBAAW,CAAC,UAAU;gBACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAoB,CAAC;YAE1E,KAAK,uBAAW,CAAC,WAAW;gBAC1B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAE1D,KAAK,uBAAW,CAAC,YAAY;gBAC3B,sCAAsC;gBACtC,IAAI,UAAU,IAAI,8BAAkB,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,iBAAiB,uBAAW,CAAC,YAAY,6BAA6B,CAAC,CAAC;gBAC1F,CAAC;gBACD,iEAAiE;gBACjE,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;wBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAClD,GAAG,EAAE;4BACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC7B,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;4BACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC3B,MAAM,GAAG,CAAC;wBACZ,CAAC,CACF,CAAC;oBACJ,CAAC;oBACD,MAAM,IAAI,CAAC,cAAc,CAAC;oBAC1B,+CAA+C;oBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,uBAAW,CAAC,YAAY,kDAAkD,CAAC,CAAC;gBAC/G,CAAC;YAEH,KAAK,uBAAW,CAAC,SAAS;gBACxB,MAAM,IAAI,KAAK,CAAC,cAAc,uBAAW,CAAC,SAAS,MAAM,QAAQ,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC,CAAC;YAEpG,KAAK,uBAAW,CAAC,QAAQ;gBACvB,MAAM,IAAI,KAAK,CAAC,aAAa,uBAAW,CAAC,QAAQ,MAAM,QAAQ,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC,CAAC;YAEhG,KAAK,uBAAW,CAAC,oBAAoB;gBACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,uBAAW,CAAC,oBAAoB,MAAM,QAAQ,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC,CAAC;YAEvH,KAAK,uBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,uCAA2B,CAAC;gBACpG,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,wCAA4B,CAAC,CAAC;gBACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,yBAAa,CAAC;gBAC5D,MAAM,IAAI,gBAAgB,CACxB,6BAA6B,UAAU,WAAW,EAClD,UAAU,CACX,CAAC;YACJ,CAAC;YAED,KAAK,uBAAW,CAAC,WAAW,CAAC;YAC7B,KAAK,uBAAW,CAAC,mBAAmB,CAAC;YACrC,KAAK,uBAAW,CAAC,eAAe,CAAC,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChE,oDAAoD;gBACpD,IAAI,UAAU,IAAI,8BAAkB,EAAE,CAAC;oBACrC,MAAM,IAAI,eAAe,CACvB,GAAG,SAAS,KAAK,QAAQ,CAAC,UAAU,sDAAsD,UAAU,GAAG,CAAC,YAAY,EACpH,QAAQ,CAAC,UAAU,EACnB,UAAU,GAAG,CAAC,CACf,CAAC;gBACJ,CAAC;gBACD,iCAAiC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,UAAU,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAoC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,GAAW,EACX,MAAc,EACd,WAAmB,EACnB,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,OAAO,IAAA,4BAAW,EAAC,GAAG,EAAE;YACtB,MAAM;YACN,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,WAAW,EAAE;gBACxC,QAAQ,EAAE,kBAAkB;gBAC5B,GAAG,CAAC,OAAO,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;aACvD;SACF,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;CACF;AAnXD,8BAmXC"}
|
|
1
|
+
{"version":3,"file":"daikin-api.js","sourceRoot":"","sources":["../../../src/api/daikin-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,21 +7,14 @@
|
|
|
7
7
|
import { EventEmitter } from 'node:events';
|
|
8
8
|
import type { DaikinClientConfig, DaikinControllerConfig, TokenSet } from './daikin-types';
|
|
9
9
|
import { DaikinCloudDevice } from './daikin-device';
|
|
10
|
-
import type { WebSocketState } from './daikin-websocket';
|
|
11
10
|
export declare class DaikinCloudController extends EventEmitter {
|
|
12
11
|
private readonly oauth;
|
|
13
12
|
private readonly mobileOAuth?;
|
|
14
|
-
private readonly devPortalOAuth?;
|
|
15
13
|
private readonly api;
|
|
16
14
|
private readonly websocket;
|
|
17
15
|
private readonly authMode;
|
|
18
16
|
private devices;
|
|
19
|
-
private websocketEnabled;
|
|
20
17
|
constructor(config: DaikinControllerConfig | DaikinClientConfig);
|
|
21
|
-
/**
|
|
22
|
-
* Get the authentication mode
|
|
23
|
-
*/
|
|
24
|
-
getAuthMode(): 'developer_portal' | 'mobile_app';
|
|
25
18
|
/**
|
|
26
19
|
* Authenticate with mobile app credentials (only for mobile_app mode)
|
|
27
20
|
* Must be called before using the API when using mobile_app mode without existing tokens.
|
|
@@ -40,44 +33,15 @@ export declare class DaikinCloudController extends EventEmitter {
|
|
|
40
33
|
*/
|
|
41
34
|
isAuthenticated(): boolean;
|
|
42
35
|
/**
|
|
43
|
-
* Get
|
|
44
|
-
*/
|
|
45
|
-
getTokenExpiration(): Date | null;
|
|
46
|
-
/**
|
|
47
|
-
* Get current token set
|
|
48
|
-
*/
|
|
49
|
-
getTokenSet(): TokenSet | null;
|
|
50
|
-
/**
|
|
51
|
-
* Build authorization URL (Developer Portal mode only)
|
|
52
|
-
*/
|
|
53
|
-
buildAuthUrl(state?: string): {
|
|
54
|
-
url: string;
|
|
55
|
-
state: string;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Exchange authorization code for tokens (Developer Portal mode only)
|
|
59
|
-
*/
|
|
60
|
-
exchangeCode(code: string): Promise<TokenSet>;
|
|
61
|
-
/**
|
|
62
|
-
* Revoke authentication
|
|
63
|
-
*/
|
|
64
|
-
revokeAuth(): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Get all cloud devices
|
|
36
|
+
* Get all cloud devices (initial discovery: transient gateway errors are retried)
|
|
67
37
|
*/
|
|
68
38
|
getCloudDevices(): Promise<DaikinCloudDevice[]>;
|
|
69
39
|
/**
|
|
70
|
-
* Update all device data from the cloud
|
|
40
|
+
* Update all device data from the cloud (periodic polling: no gateway-error
|
|
41
|
+
* retries, the next poll is the retry)
|
|
71
42
|
*/
|
|
72
43
|
updateAllDeviceData(): Promise<void>;
|
|
73
|
-
|
|
74
|
-
* Check if rate limited
|
|
75
|
-
*/
|
|
76
|
-
isRateLimited(): boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Get rate limit retry time
|
|
79
|
-
*/
|
|
80
|
-
getRateLimitRetryAfter(): number;
|
|
44
|
+
private fetchDevices;
|
|
81
45
|
/**
|
|
82
46
|
* Enable and connect WebSocket for real-time updates
|
|
83
47
|
*/
|
|
@@ -86,17 +50,9 @@ export declare class DaikinCloudController extends EventEmitter {
|
|
|
86
50
|
* Disable and disconnect WebSocket
|
|
87
51
|
*/
|
|
88
52
|
disableWebSocket(): void;
|
|
89
|
-
/**
|
|
90
|
-
* Check if WebSocket is enabled
|
|
91
|
-
*/
|
|
92
|
-
isWebSocketEnabled(): boolean;
|
|
93
53
|
/**
|
|
94
54
|
* Check if WebSocket is connected
|
|
95
55
|
*/
|
|
96
56
|
isWebSocketConnected(): boolean;
|
|
97
|
-
/**
|
|
98
|
-
* Get WebSocket connection state
|
|
99
|
-
*/
|
|
100
|
-
getWebSocketState(): WebSocketState;
|
|
101
57
|
}
|
|
102
58
|
//# sourceMappingURL=daikin-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daikin-controller.d.ts","sourceRoot":"","sources":["../../../src/api/daikin-controller.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAGtB,QAAQ,EAET,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"daikin-controller.d.ts","sourceRoot":"","sources":["../../../src/api/daikin-controller.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAGtB,QAAQ,EAET,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,OAAO,CAA2B;gBAE9B,MAAM,EAAE,sBAAsB,GAAG,kBAAkB;IAkD/D;;;SAGK;IACC,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAO7C;;SAEK;IACL,OAAO,CAAC,sBAAsB;IAkB9B;;SAEK;IACL,OAAO,CAAC,2BAA2B;IAYnC;;SAEK;IACL,eAAe,IAAI,OAAO;IAI1B;;SAEK;IACC,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIrD;;;SAGK;IACC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAI5B,YAAY;IAwB1B;;SAEK;IACC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC;;SAEK;IACL,gBAAgB,IAAI,IAAI;IAIxB;;SAEK;IACL,oBAAoB,IAAI,OAAO;CAIhC"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.DaikinCloudController = void 0;
|
|
10
10
|
const node_events_1 = require("node:events");
|
|
11
|
+
const constants_1 = require("../constants");
|
|
11
12
|
const daikin_oauth_1 = require("./daikin-oauth");
|
|
12
13
|
const daikin_mobile_oauth_1 = require("./daikin-mobile-oauth");
|
|
13
14
|
const daikin_api_1 = require("./daikin-api");
|
|
@@ -16,12 +17,10 @@ const daikin_websocket_1 = require("./daikin-websocket");
|
|
|
16
17
|
class DaikinCloudController extends node_events_1.EventEmitter {
|
|
17
18
|
oauth;
|
|
18
19
|
mobileOAuth;
|
|
19
|
-
devPortalOAuth;
|
|
20
20
|
api;
|
|
21
21
|
websocket;
|
|
22
22
|
authMode;
|
|
23
23
|
devices = [];
|
|
24
|
-
websocketEnabled = false;
|
|
25
24
|
constructor(config) {
|
|
26
25
|
super();
|
|
27
26
|
// Determine auth mode (default to developer_portal for backwards compatibility)
|
|
@@ -42,23 +41,17 @@ class DaikinCloudController extends node_events_1.EventEmitter {
|
|
|
42
41
|
clientId: config.clientId,
|
|
43
42
|
clientSecret: config.clientSecret,
|
|
44
43
|
callbackServerExternalAddress: config.callbackServerExternalAddress,
|
|
45
|
-
callbackServerPort: config.callbackServerPort ||
|
|
44
|
+
callbackServerPort: config.callbackServerPort || constants_1.DEFAULT_CALLBACK_PORT,
|
|
46
45
|
oidcCallbackServerBindAddr: config.oidcCallbackServerBindAddr,
|
|
47
46
|
tokenFilePath: config.tokenFilePath,
|
|
48
47
|
};
|
|
49
|
-
this.
|
|
50
|
-
this.oauth = this.devPortalOAuth;
|
|
48
|
+
this.oauth = new daikin_oauth_1.DaikinOAuth(devConfig, (tokenSet) => this.emit('token_update', tokenSet), (error) => this.emit('error', error.message));
|
|
51
49
|
}
|
|
52
50
|
this.api = new daikin_api_1.DaikinApi(this.oauth, (status) => this.emit('rate_limit_status', status));
|
|
53
|
-
|
|
51
|
+
// Errors are forwarded once, via the 'error' listener in setupWebSocketHandlers
|
|
52
|
+
this.websocket = new daikin_websocket_1.DaikinWebSocket(this.oauth);
|
|
54
53
|
this.setupWebSocketHandlers();
|
|
55
54
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Get the authentication mode
|
|
58
|
-
*/
|
|
59
|
-
getAuthMode() {
|
|
60
|
-
return this.authMode;
|
|
61
|
-
}
|
|
62
55
|
/**
|
|
63
56
|
* Authenticate with mobile app credentials (only for mobile_app mode)
|
|
64
57
|
* Must be called before using the API when using mobile_app mode without existing tokens.
|
|
@@ -106,54 +99,23 @@ class DaikinCloudController extends node_events_1.EventEmitter {
|
|
|
106
99
|
return this.oauth.isAuthenticated();
|
|
107
100
|
}
|
|
108
101
|
/**
|
|
109
|
-
* Get
|
|
110
|
-
*/
|
|
111
|
-
getTokenExpiration() {
|
|
112
|
-
return this.oauth.getTokenExpiration();
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get current token set
|
|
102
|
+
* Get all cloud devices (initial discovery: transient gateway errors are retried)
|
|
116
103
|
*/
|
|
117
|
-
|
|
118
|
-
return this.
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Build authorization URL (Developer Portal mode only)
|
|
122
|
-
*/
|
|
123
|
-
buildAuthUrl(state) {
|
|
124
|
-
if (!this.devPortalOAuth) {
|
|
125
|
-
throw new Error('buildAuthUrl is only available in developer_portal mode');
|
|
126
|
-
}
|
|
127
|
-
return this.devPortalOAuth.buildAuthUrl(state);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Exchange authorization code for tokens (Developer Portal mode only)
|
|
131
|
-
*/
|
|
132
|
-
async exchangeCode(code) {
|
|
133
|
-
if (!this.devPortalOAuth) {
|
|
134
|
-
throw new Error('exchangeCode is only available in developer_portal mode');
|
|
135
|
-
}
|
|
136
|
-
return this.devPortalOAuth.exchangeCode(code);
|
|
104
|
+
async getCloudDevices() {
|
|
105
|
+
return this.fetchDevices(true);
|
|
137
106
|
}
|
|
138
107
|
/**
|
|
139
|
-
*
|
|
108
|
+
* Update all device data from the cloud (periodic polling: no gateway-error
|
|
109
|
+
* retries, the next poll is the retry)
|
|
140
110
|
*/
|
|
141
|
-
async
|
|
142
|
-
|
|
143
|
-
return this.devPortalOAuth.revokeToken();
|
|
144
|
-
}
|
|
145
|
-
else if (this.mobileOAuth) {
|
|
146
|
-
this.mobileOAuth.clearTokens();
|
|
147
|
-
}
|
|
111
|
+
async updateAllDeviceData() {
|
|
112
|
+
await this.fetchDevices(false);
|
|
148
113
|
}
|
|
149
|
-
|
|
150
|
-
* Get all cloud devices
|
|
151
|
-
*/
|
|
152
|
-
async getCloudDevices() {
|
|
114
|
+
async fetchDevices(retryGatewayErrors) {
|
|
153
115
|
if (!this.oauth.isAuthenticated()) {
|
|
154
116
|
throw new Error('Not authenticated. Please authenticate first.');
|
|
155
117
|
}
|
|
156
|
-
const rawDevices = await this.api.getDevices();
|
|
118
|
+
const rawDevices = await this.api.getDevices({ retryGatewayErrors });
|
|
157
119
|
// Create or update DaikinCloudDevice instances
|
|
158
120
|
this.devices = rawDevices.map(rawDevice => {
|
|
159
121
|
const existingDevice = this.devices.find(d => d.getId() === rawDevice.id);
|
|
@@ -165,24 +127,6 @@ class DaikinCloudController extends node_events_1.EventEmitter {
|
|
|
165
127
|
});
|
|
166
128
|
return this.devices;
|
|
167
129
|
}
|
|
168
|
-
/**
|
|
169
|
-
* Update all device data from the cloud
|
|
170
|
-
*/
|
|
171
|
-
async updateAllDeviceData() {
|
|
172
|
-
await this.getCloudDevices();
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Check if rate limited
|
|
176
|
-
*/
|
|
177
|
-
isRateLimited() {
|
|
178
|
-
return this.api.isRateLimited();
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Get rate limit retry time
|
|
182
|
-
*/
|
|
183
|
-
getRateLimitRetryAfter() {
|
|
184
|
-
return this.api.getRateLimitRetryAfter();
|
|
185
|
-
}
|
|
186
130
|
// =========================================================================
|
|
187
131
|
// WebSocket methods
|
|
188
132
|
// =========================================================================
|
|
@@ -193,34 +137,20 @@ class DaikinCloudController extends node_events_1.EventEmitter {
|
|
|
193
137
|
if (!this.oauth.isAuthenticated()) {
|
|
194
138
|
throw new Error('Cannot enable WebSocket: not authenticated');
|
|
195
139
|
}
|
|
196
|
-
this.websocketEnabled = true;
|
|
197
140
|
await this.websocket.connect();
|
|
198
141
|
}
|
|
199
142
|
/**
|
|
200
143
|
* Disable and disconnect WebSocket
|
|
201
144
|
*/
|
|
202
145
|
disableWebSocket() {
|
|
203
|
-
this.websocketEnabled = false;
|
|
204
146
|
this.websocket.disconnect();
|
|
205
147
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Check if WebSocket is enabled
|
|
208
|
-
*/
|
|
209
|
-
isWebSocketEnabled() {
|
|
210
|
-
return this.websocketEnabled;
|
|
211
|
-
}
|
|
212
148
|
/**
|
|
213
149
|
* Check if WebSocket is connected
|
|
214
150
|
*/
|
|
215
151
|
isWebSocketConnected() {
|
|
216
152
|
return this.websocket.isConnected();
|
|
217
153
|
}
|
|
218
|
-
/**
|
|
219
|
-
* Get WebSocket connection state
|
|
220
|
-
*/
|
|
221
|
-
getWebSocketState() {
|
|
222
|
-
return this.websocket.getState();
|
|
223
|
-
}
|
|
224
154
|
}
|
|
225
155
|
exports.DaikinCloudController = DaikinCloudController;
|
|
226
156
|
//# sourceMappingURL=daikin-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daikin-controller.js","sourceRoot":"","sources":["../../../src/api/daikin-controller.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6CAA2C;AAS3C,iDAA6C;AAC7C,+DAA0D;AAC1D,6CAAyC;AACzC,mDAAoD;
|
|
1
|
+
{"version":3,"file":"daikin-controller.js","sourceRoot":"","sources":["../../../src/api/daikin-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,45 +8,18 @@
|
|
|
8
8
|
* - Automatic token refresh
|
|
9
9
|
*/
|
|
10
10
|
import type { TokenSet, MobileClientConfig } from './daikin-types';
|
|
11
|
-
|
|
11
|
+
import { TokenClient } from './token-client';
|
|
12
|
+
export declare class DaikinMobileOAuth extends TokenClient {
|
|
12
13
|
private readonly config;
|
|
13
|
-
private readonly onTokenUpdate?;
|
|
14
|
-
private readonly onError?;
|
|
15
14
|
private readonly onLog?;
|
|
16
|
-
private tokenSet;
|
|
17
|
-
private refreshPromise;
|
|
18
15
|
private cookies;
|
|
19
|
-
constructor(config: MobileClientConfig, onTokenUpdate?: (
|
|
16
|
+
constructor(config: MobileClientConfig, onTokenUpdate?: (tokenSet: TokenSet) => void, onError?: (error: Error) => void, onLog?: ((message: string) => void) | undefined);
|
|
20
17
|
/**
|
|
21
18
|
* Authenticate with email and password using mobile app flow.
|
|
22
19
|
* Returns tokens with WebSocket access and 5000/day rate limit.
|
|
23
20
|
*/
|
|
24
21
|
authenticate(): Promise<TokenSet>;
|
|
25
|
-
|
|
26
|
-
* Refresh the access token
|
|
27
|
-
*/
|
|
28
|
-
refreshToken(): Promise<TokenSet>;
|
|
29
|
-
private performRefresh;
|
|
30
|
-
/**
|
|
31
|
-
* Get a valid access token, refreshing if necessary
|
|
32
|
-
*/
|
|
33
|
-
getAccessToken(): Promise<string>;
|
|
34
|
-
/**
|
|
35
|
-
* Check if we have a valid token
|
|
36
|
-
*/
|
|
37
|
-
isAuthenticated(): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Get token expiration date
|
|
40
|
-
*/
|
|
41
|
-
getTokenExpiration(): Date | null;
|
|
42
|
-
/**
|
|
43
|
-
* Get current token set (for status display)
|
|
44
|
-
*/
|
|
45
|
-
getTokenSet(): TokenSet | null;
|
|
46
|
-
/**
|
|
47
|
-
* Clear stored tokens
|
|
48
|
-
*/
|
|
49
|
-
clearTokens(): void;
|
|
22
|
+
protected requestTokenRefresh(refreshToken: string): Promise<TokenSet>;
|
|
50
23
|
private get gigyaPostHeaders();
|
|
51
24
|
private get gigyaSdkParams();
|
|
52
25
|
private extractLoginToken;
|
|
@@ -58,10 +31,10 @@ export declare class DaikinMobileOAuth {
|
|
|
58
31
|
private completePendingRegistration;
|
|
59
32
|
private authorizeWithToken;
|
|
60
33
|
private exchangeCodeForTokens;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
private
|
|
34
|
+
/**
|
|
35
|
+
* POST a grant to the IDP token endpoint (client authenticates with HTTP Basic)
|
|
36
|
+
*/
|
|
37
|
+
private requestIdpToken;
|
|
65
38
|
/**
|
|
66
39
|
* Network-level failures where no HTTP response was ever received. These are
|
|
67
40
|
* worth retrying: a silently dropped packet, a host that is still booting its
|
|
@@ -69,18 +42,16 @@ export declare class DaikinMobileOAuth {
|
|
|
69
42
|
*/
|
|
70
43
|
private static readonly RETRYABLE_ERROR_CODES;
|
|
71
44
|
/**
|
|
72
|
-
* Parse a
|
|
73
|
-
*
|
|
74
|
-
* with nothing at all.
|
|
45
|
+
* Parse and validate a Gigya response. Non-JSON bodies (proxy/WAF pages)
|
|
46
|
+
* and unexpected shapes become readable errors instead of a SyntaxError.
|
|
75
47
|
*/
|
|
76
|
-
private
|
|
48
|
+
private parseGigyaResponse;
|
|
77
49
|
private isRetryableNetworkError;
|
|
78
50
|
/**
|
|
79
51
|
* Turn a bare socket error into something a user can act on. The generic
|
|
80
52
|
* "timed out after 30000ms" gave no hint about which host was unreachable.
|
|
81
53
|
*/
|
|
82
54
|
private describeNetworkError;
|
|
83
|
-
private sleep;
|
|
84
55
|
/**
|
|
85
56
|
* Perform a request, retrying transient network failures with exponential backoff.
|
|
86
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daikin-mobile-oauth.d.ts","sourceRoot":"","sources":["../../../src/api/daikin-mobile-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"daikin-mobile-oauth.d.ts","sourceRoot":"","sources":["../../../src/api/daikin-mobile-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AASnE,OAAO,EAAE,WAAW,EAAqC,MAAM,gBAAgB,CAAC;AAUhF,qBAAa,iBAAkB,SAAQ,WAAW;IAI1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAN7B,OAAO,CAAC,OAAO,CAAM;gBAGE,MAAM,EAAE,kBAAkB,EAC3C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EACf,KAAK,CAAC,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,aAAA;IAKxD;;;SAGK;IACC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;cAqBvB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY5E,OAAO,KAAK,gBAAgB,GAO3B;IAED,OAAO,KAAK,cAAc,GAYzB;IAED,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,YAAY;YAMN,cAAc;YA2Bd,YAAY;IAwC1B,OAAO,CAAC,mBAAmB;YAqBb,UAAU;YAiCV,2BAA2B;YA0D3B,kBAAkB;YAmClB,qBAAqB;IAUnC;;SAEK;YACS,eAAe;IAwB7B;;;;SAIK;IACL,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAU1C;IAEH;;;SAGK;IACL,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,uBAAuB;IAI/B;;;SAGK;IACL,OAAO,CAAC,oBAAoB;IAgB5B;;SAEK;YACS,YAAY;IAuB1B,OAAO,CAAC,mBAAmB;CAO5B"}
|