@thecloudseeker/homebridge-skoda 0.1.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +42 -26
- package/config.schema.json +148 -69
- package/dist/accessory/services/battery.d.ts +21 -0
- package/dist/accessory/services/battery.js +38 -1
- package/dist/accessory/services/battery.js.map +1 -1
- package/dist/accessory/services/body.d.ts +5 -6
- package/dist/accessory/services/body.js +45 -8
- package/dist/accessory/services/body.js.map +1 -1
- package/dist/accessory/services/charging.js +31 -13
- package/dist/accessory/services/charging.js.map +1 -1
- package/dist/accessory/services/climate.js +51 -23
- package/dist/accessory/services/climate.js.map +1 -1
- package/dist/accessory/services/common.d.ts +10 -5
- package/dist/accessory/services/common.js +17 -8
- package/dist/accessory/services/common.js.map +1 -1
- package/dist/accessory/vehicleAccessory.d.ts +11 -2
- package/dist/accessory/vehicleAccessory.js +54 -5
- package/dist/accessory/vehicleAccessory.js.map +1 -1
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.js +8 -6
- package/dist/api/client.js.map +1 -1
- package/dist/api/rateBudget.d.ts +3 -3
- package/dist/api/rateBudget.js +1 -1
- package/dist/config.d.ts +10 -4
- package/dist/config.js +24 -8
- package/dist/config.js.map +1 -1
- package/dist/platform.js +19 -25
- package/dist/platform.js.map +1 -1
- package/dist/vehicle/mapping.d.ts +12 -0
- package/dist/vehicle/mapping.js +42 -0
- package/dist/vehicle/mapping.js.map +1 -1
- package/dist/vehicle/snapshot.js +47 -0
- package/dist/vehicle/snapshot.js.map +1 -1
- package/dist/vehicle/vehicleController.d.ts +30 -10
- package/dist/vehicle/vehicleController.js +92 -30
- package/dist/vehicle/vehicleController.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import type { SkodaApiClient } from "../api/client.js";
|
|
2
|
-
import type { Vehicle } from "../api/types.js";
|
|
2
|
+
import type { OperationName, Vehicle } from "../api/types.js";
|
|
3
3
|
import type { Logger } from "../util/logger.js";
|
|
4
4
|
import { type VehicleSnapshot } from "./snapshot.js";
|
|
5
5
|
export interface VehicleControllerOptions {
|
|
6
|
-
|
|
7
|
-
/** May be the same client as `pollClient` when no separate command key is configured. */
|
|
8
|
-
commandClient: SkodaApiClient;
|
|
6
|
+
client: SkodaApiClient;
|
|
9
7
|
log: Logger;
|
|
10
8
|
pollingIntervalMinutes: number;
|
|
11
|
-
|
|
9
|
+
}
|
|
10
|
+
/** Parts that carry a `carCapturedTimestamp`, which tells when the vehicle last reported them. */
|
|
11
|
+
export type ReportedPart = "charging" | "airConditioning" | "auxiliaryHeating" | "activeVentilation";
|
|
12
|
+
export interface OptimisticPatch {
|
|
13
|
+
/** The part the command changes. */
|
|
14
|
+
part: ReportedPart;
|
|
15
|
+
apply: (vehicle: Vehicle) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface CommandOptions {
|
|
18
|
+
/** Operations the command uses; `operation-not-supported` marks them as unsupported. */
|
|
19
|
+
operations?: readonly OperationName[];
|
|
20
|
+
/** Expected state, shown until the vehicle reports the part again. */
|
|
21
|
+
optimistic?: OptimisticPatch;
|
|
12
22
|
}
|
|
13
23
|
type Listener = (snapshot: VehicleSnapshot | undefined) => void;
|
|
14
24
|
/**
|
|
@@ -20,13 +30,14 @@ export declare class VehicleController {
|
|
|
20
30
|
private current;
|
|
21
31
|
private readonly listeners;
|
|
22
32
|
private readonly intervalMs;
|
|
23
|
-
private readonly refreshDelayMs;
|
|
24
33
|
private pollTimer;
|
|
25
34
|
private staleTimer;
|
|
26
35
|
private inFlight;
|
|
27
36
|
private failures;
|
|
28
37
|
private lastErrorKey;
|
|
29
38
|
private readonly keyExpiryWarnedAt;
|
|
39
|
+
private pending;
|
|
40
|
+
private readonly rejectedOperations;
|
|
30
41
|
private stopped;
|
|
31
42
|
constructor(options: VehicleControllerOptions);
|
|
32
43
|
get snapshot(): VehicleSnapshot | undefined;
|
|
@@ -36,17 +47,26 @@ export declare class VehicleController {
|
|
|
36
47
|
start(): void;
|
|
37
48
|
stop(): void;
|
|
38
49
|
/**
|
|
39
|
-
* Sends a command
|
|
40
|
-
*
|
|
41
|
-
*
|
|
50
|
+
* Sends a command. On success the optional optimistic patch is applied to the cache right away
|
|
51
|
+
* and re-applied after every poll until the vehicle reports the changed part again, because the
|
|
52
|
+
* vehicle reports new state with a delay, so no extra request is spent on confirming it. Errors
|
|
53
|
+
* are logged and rethrown for the caller to revert the UI.
|
|
42
54
|
*/
|
|
43
|
-
runCommand(label: string, send: (client: SkodaApiClient) => Promise<void>,
|
|
55
|
+
runCommand(label: string, send: (client: SkodaApiClient) => Promise<void>, options?: CommandOptions): Promise<void>;
|
|
44
56
|
/** Warns ahead of the expiry announced in `X-API-Key-Expires-At`, at most once a day per key. */
|
|
45
57
|
noteKeyExpiry(keyLabel: string, expiresAt: Date, now?: number): void;
|
|
46
58
|
private schedule;
|
|
47
59
|
private poll;
|
|
48
60
|
private fetch;
|
|
49
61
|
private handlePollError;
|
|
62
|
+
/**
|
|
63
|
+
* Re-applies optimistic patches the vehicle has not confirmed yet, and hides operations the
|
|
64
|
+
* vehicle rejected as unsupported.
|
|
65
|
+
*/
|
|
66
|
+
private applyLocalState;
|
|
67
|
+
/** Remembered until restart: the vehicle lacks the capability, so retrying does not help. */
|
|
68
|
+
private rejectOperations;
|
|
69
|
+
private removeRejectedOperations;
|
|
50
70
|
/** Exponential backoff starting at the polling interval, capped at 30 minutes (or the interval if longer). */
|
|
51
71
|
private backoffMs;
|
|
52
72
|
private logOnce;
|
|
@@ -9,6 +9,8 @@ const CONFIG_ERROR_RETRY_MS = HOUR;
|
|
|
9
9
|
const STALE_AFTER_INTERVALS = 3;
|
|
10
10
|
const KEY_EXPIRY_WARNING_MS = 7 * 24 * HOUR;
|
|
11
11
|
const KEY_EXPIRY_WARNING_REPEAT_MS = 24 * HOUR;
|
|
12
|
+
/** An optimistic state is dropped after this long, even if the vehicle never reports back. */
|
|
13
|
+
const OPTIMISTIC_TTL_MS = 15 * MINUTE;
|
|
12
14
|
/**
|
|
13
15
|
* Owns the cached state of one vehicle. HomeKit only ever reads from this cache; the controller
|
|
14
16
|
* alone decides when to talk to the API, so the rate budget is never exceeded.
|
|
@@ -18,18 +20,18 @@ export class VehicleController {
|
|
|
18
20
|
current;
|
|
19
21
|
listeners = new Set();
|
|
20
22
|
intervalMs;
|
|
21
|
-
refreshDelayMs;
|
|
22
23
|
pollTimer;
|
|
23
24
|
staleTimer;
|
|
24
25
|
inFlight;
|
|
25
26
|
failures = 0;
|
|
26
27
|
lastErrorKey;
|
|
27
28
|
keyExpiryWarnedAt = new Map();
|
|
29
|
+
pending = [];
|
|
30
|
+
rejectedOperations = new Set();
|
|
28
31
|
stopped = true;
|
|
29
32
|
constructor(options) {
|
|
30
33
|
this.options = options;
|
|
31
34
|
this.intervalMs = options.pollingIntervalMinutes * MINUTE;
|
|
32
|
-
this.refreshDelayMs = options.commandRefreshDelaySeconds * 1000;
|
|
33
35
|
}
|
|
34
36
|
get snapshot() {
|
|
35
37
|
return this.current;
|
|
@@ -45,7 +47,7 @@ export class VehicleController {
|
|
|
45
47
|
}
|
|
46
48
|
start() {
|
|
47
49
|
this.stopped = false;
|
|
48
|
-
this.schedule(0
|
|
50
|
+
this.schedule(0);
|
|
49
51
|
}
|
|
50
52
|
stop() {
|
|
51
53
|
this.stopped = true;
|
|
@@ -53,26 +55,39 @@ export class VehicleController {
|
|
|
53
55
|
clearTimeout(this.staleTimer);
|
|
54
56
|
}
|
|
55
57
|
/**
|
|
56
|
-
* Sends a command
|
|
57
|
-
*
|
|
58
|
-
*
|
|
58
|
+
* Sends a command. On success the optional optimistic patch is applied to the cache right away
|
|
59
|
+
* and re-applied after every poll until the vehicle reports the changed part again, because the
|
|
60
|
+
* vehicle reports new state with a delay, so no extra request is spent on confirming it. Errors
|
|
61
|
+
* are logged and rethrown for the caller to revert the UI.
|
|
59
62
|
*/
|
|
60
|
-
async runCommand(label, send,
|
|
63
|
+
async runCommand(label, send, options = {}) {
|
|
64
|
+
const { operations = [], optimistic } = options;
|
|
61
65
|
try {
|
|
62
|
-
await send(this.options.
|
|
66
|
+
await send(this.options.client);
|
|
63
67
|
}
|
|
64
68
|
catch (error) {
|
|
65
69
|
this.options.log.warn(`${label} failed: ${describeCommandError(error)}`);
|
|
70
|
+
if (error instanceof SkodaApiError &&
|
|
71
|
+
error.problemType === "operation-not-supported" &&
|
|
72
|
+
operations.length > 0) {
|
|
73
|
+
this.rejectOperations(operations);
|
|
74
|
+
}
|
|
66
75
|
throw error;
|
|
67
76
|
}
|
|
68
77
|
this.options.log.info(`${label}: accepted by the vehicle`);
|
|
69
|
-
if (optimistic
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
78
|
+
if (optimistic) {
|
|
79
|
+
this.pending.push({
|
|
80
|
+
...optimistic,
|
|
81
|
+
sentAt: Date.now(),
|
|
82
|
+
capturedBefore: capturedAt(this.current?.vehicle, optimistic.part),
|
|
83
|
+
});
|
|
84
|
+
if (this.current) {
|
|
85
|
+
const patched = structuredClone(this.current);
|
|
86
|
+
optimistic.apply(patched.vehicle);
|
|
87
|
+
this.current = patched;
|
|
88
|
+
this.emit();
|
|
89
|
+
}
|
|
74
90
|
}
|
|
75
|
-
this.schedule(this.refreshDelayMs, "refresh");
|
|
76
91
|
}
|
|
77
92
|
/** Warns ahead of the expiry announced in `X-API-Key-Expires-At`, at most once a day per key. */
|
|
78
93
|
noteKeyExpiry(keyLabel, expiresAt, now = Date.now()) {
|
|
@@ -90,47 +105,46 @@ export class VehicleController {
|
|
|
90
105
|
this.options.log.warn(`The ${keyLabel} expires on ${expiresAt.toISOString()} (in ${days} day(s)). ` +
|
|
91
106
|
"Renew it in the MyŠkoda app under Profile > Smart Home (https://go.skoda.eu/api-keys).");
|
|
92
107
|
}
|
|
93
|
-
schedule(delayMs
|
|
108
|
+
schedule(delayMs) {
|
|
94
109
|
if (this.stopped) {
|
|
95
110
|
return;
|
|
96
111
|
}
|
|
97
112
|
clearTimeout(this.pollTimer);
|
|
98
113
|
this.pollTimer = setTimeout(() => {
|
|
99
|
-
void this.poll(
|
|
114
|
+
void this.poll();
|
|
100
115
|
}, Math.max(0, delayMs));
|
|
101
116
|
this.pollTimer.unref();
|
|
102
117
|
}
|
|
103
|
-
poll(
|
|
104
|
-
|
|
105
|
-
this.inFlight ??= this.fetch(kind).finally(() => {
|
|
118
|
+
poll() {
|
|
119
|
+
this.inFlight ??= this.fetch().finally(() => {
|
|
106
120
|
this.inFlight = undefined;
|
|
107
121
|
});
|
|
108
122
|
return this.inFlight;
|
|
109
123
|
}
|
|
110
|
-
async fetch(
|
|
124
|
+
async fetch() {
|
|
111
125
|
try {
|
|
112
|
-
const response = await this.options.
|
|
113
|
-
this.current = mergeSnapshot(this.current, response, Date.now());
|
|
126
|
+
const response = await this.options.client.getVehicle();
|
|
127
|
+
this.current = this.applyLocalState(mergeSnapshot(this.current, response, Date.now()));
|
|
114
128
|
if (this.failures > 0 || this.lastErrorKey) {
|
|
115
129
|
this.options.log.info("Connection to the MyŠkoda API restored");
|
|
116
130
|
}
|
|
117
131
|
this.failures = 0;
|
|
118
132
|
this.lastErrorKey = undefined;
|
|
119
133
|
this.options.log.debug(`Vehicle data updated (${response.errors?.length ?? 0} partial-data notice(s))`);
|
|
120
|
-
this.schedule(this.intervalMs
|
|
134
|
+
this.schedule(this.intervalMs);
|
|
121
135
|
}
|
|
122
136
|
catch (error) {
|
|
123
|
-
this.handlePollError(error
|
|
137
|
+
this.handlePollError(error);
|
|
124
138
|
}
|
|
125
139
|
this.armStaleTimer();
|
|
126
140
|
this.emit();
|
|
127
141
|
}
|
|
128
|
-
handlePollError(error
|
|
142
|
+
handlePollError(error) {
|
|
129
143
|
const { log } = this.options;
|
|
130
144
|
const now = Date.now();
|
|
131
145
|
if (error instanceof BudgetExhaustedError) {
|
|
132
|
-
log.debug(`Request budget exhausted, next
|
|
133
|
-
this.schedule(error.availableAt - now + 1000
|
|
146
|
+
log.debug(`Request budget exhausted, next update at ${new Date(error.availableAt).toISOString()}`);
|
|
147
|
+
this.schedule(error.availableAt - now + 1000);
|
|
134
148
|
return;
|
|
135
149
|
}
|
|
136
150
|
this.failures++;
|
|
@@ -139,13 +153,13 @@ export class VehicleController {
|
|
|
139
153
|
this.logOnce(`${error.status}:${error.problemType ?? ""}`, () => {
|
|
140
154
|
log.error(`${describeConfigError(error)} Retrying every hour.`);
|
|
141
155
|
});
|
|
142
|
-
this.schedule(CONFIG_ERROR_RETRY_MS
|
|
156
|
+
this.schedule(CONFIG_ERROR_RETRY_MS);
|
|
143
157
|
return;
|
|
144
158
|
}
|
|
145
159
|
if (error.status === 429 || error.status === 503) {
|
|
146
160
|
const retryMs = (error.retryAfterSeconds ?? 0) * 1000;
|
|
147
161
|
log.warn(`Vehicle update deferred (${error.message}); retrying in ${formatDelay(Math.max(retryMs, this.backoffMs()))}`);
|
|
148
|
-
this.schedule(Math.max(retryMs, this.backoffMs())
|
|
162
|
+
this.schedule(Math.max(retryMs, this.backoffMs()));
|
|
149
163
|
return;
|
|
150
164
|
}
|
|
151
165
|
if (error.status === 400) {
|
|
@@ -161,7 +175,43 @@ export class VehicleController {
|
|
|
161
175
|
else {
|
|
162
176
|
log.error(`Unexpected error while updating the vehicle: ${error instanceof Error ? error.message : String(error)}`);
|
|
163
177
|
}
|
|
164
|
-
this.schedule(this.backoffMs()
|
|
178
|
+
this.schedule(this.backoffMs());
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Re-applies optimistic patches the vehicle has not confirmed yet, and hides operations the
|
|
182
|
+
* vehicle rejected as unsupported.
|
|
183
|
+
*/
|
|
184
|
+
applyLocalState(snapshot) {
|
|
185
|
+
const now = snapshot.fetchedAt;
|
|
186
|
+
this.pending = this.pending.filter((patch) => now - patch.sentAt < OPTIMISTIC_TTL_MS &&
|
|
187
|
+
!reportedSince(snapshot.vehicle, patch));
|
|
188
|
+
if (this.pending.length === 0 && this.rejectedOperations.size === 0) {
|
|
189
|
+
return snapshot;
|
|
190
|
+
}
|
|
191
|
+
const patched = structuredClone(snapshot);
|
|
192
|
+
for (const patch of this.pending) {
|
|
193
|
+
patch.apply(patched.vehicle);
|
|
194
|
+
}
|
|
195
|
+
this.removeRejectedOperations(patched.vehicle);
|
|
196
|
+
return patched;
|
|
197
|
+
}
|
|
198
|
+
/** Remembered until restart: the vehicle lacks the capability, so retrying does not help. */
|
|
199
|
+
rejectOperations(operations) {
|
|
200
|
+
for (const name of operations) {
|
|
201
|
+
this.rejectedOperations.add(name);
|
|
202
|
+
}
|
|
203
|
+
this.options.log.warn(`The vehicle does not support ${operations.join(", ")}; the control will be removed`);
|
|
204
|
+
if (this.current) {
|
|
205
|
+
const patched = structuredClone(this.current);
|
|
206
|
+
this.removeRejectedOperations(patched.vehicle);
|
|
207
|
+
this.current = patched;
|
|
208
|
+
this.emit();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
removeRejectedOperations(vehicle) {
|
|
212
|
+
if (vehicle.operations && this.rejectedOperations.size > 0) {
|
|
213
|
+
vehicle.operations = vehicle.operations.filter((operation) => !this.rejectedOperations.has(operation.name));
|
|
214
|
+
}
|
|
165
215
|
}
|
|
166
216
|
/** Exponential backoff starting at the polling interval, capped at 30 minutes (or the interval if longer). */
|
|
167
217
|
backoffMs() {
|
|
@@ -197,6 +247,18 @@ export class VehicleController {
|
|
|
197
247
|
}
|
|
198
248
|
}
|
|
199
249
|
}
|
|
250
|
+
function capturedAt(vehicle, part) {
|
|
251
|
+
return vehicle?.[part]?.carCapturedTimestamp;
|
|
252
|
+
}
|
|
253
|
+
/** The vehicle has reported the part since the command: a new timestamp, captured after sending. */
|
|
254
|
+
function reportedSince(vehicle, patch) {
|
|
255
|
+
const captured = capturedAt(vehicle, patch.part);
|
|
256
|
+
if (captured === undefined || captured === patch.capturedBefore) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
const capturedMs = Date.parse(captured);
|
|
260
|
+
return Number.isFinite(capturedMs) && capturedMs > patch.sentAt;
|
|
261
|
+
}
|
|
200
262
|
function describeConfigError(error) {
|
|
201
263
|
switch (error.problemType) {
|
|
202
264
|
case "api-key-expired":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vehicleController.js","sourceRoot":"","sources":["../../src/vehicle/vehicleController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vehicleController.js","sourceRoot":"","sources":["../../src/vehicle/vehicleController.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEpE,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AACzB,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AACnC,gGAAgG;AAChG,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,qEAAqE;AACrE,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5C,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/C,8FAA8F;AAC9F,MAAM,iBAAiB,GAAG,EAAE,GAAG,MAAM,CAAC;AAiCtC;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAcC;IAbrB,OAAO,CAA8B;IAC5B,SAAS,GAAG,IAAI,GAAG,EAAY,CAAC;IAChC,UAAU,CAAS;IAC5B,SAAS,CAA6B;IACtC,UAAU,CAA6B;IACvC,QAAQ,CAA4B;IACpC,QAAQ,GAAG,CAAC,CAAC;IACb,YAAY,CAAqB;IACxB,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvD,OAAO,GAAmB,EAAE,CAAC;IACpB,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACvD,OAAO,GAAG,IAAI,CAAC;IAEvB,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAC5D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC;IAC5D,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,iGAAiG;IACjG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACtB,OAAO,CACL,CAAC,IAAI,CAAC,OAAO;YACb,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC,UAAU,CACvE,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,QAAkB;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,KAAa,EACb,IAA+C,EAC/C,UAA0B,EAAE;QAE5B,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,YAAY,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,IACE,KAAK,YAAY,aAAa;gBAC9B,KAAK,CAAC,WAAW,KAAK,yBAAyB;gBAC/C,UAAU,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;QAC3D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,GAAG,UAAU;gBACb,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE;gBAClB,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;aACnE,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9C,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,aAAa,CAAC,QAAgB,EAAE,SAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;QAC9C,IAAI,WAAW,GAAG,qBAAqB,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IACE,UAAU,KAAK,SAAS;YACxB,GAAG,GAAG,UAAU,GAAG,4BAA4B,EAC/C,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACnB,OAAO,QAAQ,eAAe,SAAS,CAAC,WAAW,EAAE,QAAQ,IAAI,YAAY;YAC3E,wFAAwF,CAC3F,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,OAAe;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,UAAU,CACzB,GAAG,EAAE;YACH,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CACrB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CACjC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAClD,CAAC;YACF,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CACpB,yBAAyB,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,0BAA0B,CAChF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC1C,GAAG,CAAC,KAAK,CACP,4CAA4C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CACxF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE;oBAC9D,GAAG,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;gBACtD,GAAG,CAAC,IAAI,CACN,4BAA4B,KAAK,CAAC,OAAO,kBAAkB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAC9G,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,CACP,4CAA4C,KAAK,CAAC,OAAO,iCAAiC,CAC3F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CACN,0BAA0B,KAAK,CAAC,OAAO,kBAAkB,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CACzF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CACN,0BAA0B,KAAK,CAAC,OAAO,iBAAiB,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CACxF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CACP,gDAAgD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,QAAyB;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CACR,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,iBAAiB;YACtC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAC1C,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6FAA6F;IACrF,gBAAgB,CAAC,UAAoC;QAC3D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACnB,gCAAgC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CACrF,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,OAAgB;QAC/C,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8GAA8G;IACtG,SAAS;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,OAAO,CAAC,GAAW,EAAE,KAAiB;QAC5C,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,aAAa;QACnB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEO,IAAI;QACV,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CACpB,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CACjB,OAA4B,EAC5B,IAAkB;IAElB,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;AAC/C,CAAC;AAED,oGAAoG;AACpG,SAAS,aAAa,CAAC,OAAgB,EAAE,KAAmB;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,CAAC,cAAc,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAoB;IAC/C,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;QAC1B,KAAK,iBAAiB;YACpB,OAAO,kGAAkG,CAAC;QAC5G,KAAK,wBAAwB;YAC3B,OAAO,uGAAuG,CAAC;QACjH,KAAK,0BAA0B;YAC7B,OAAO,sEAAsE,CAAC;IAClF,CAAC;IACD,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,GAAG;YACN,yFAAyF;YACzF,OAAO,wHAAwH,CAAC;QAClI,KAAK,GAAG;YACN,OAAO,0CAA0C,CAAC;IACtD,CAAC;IACD,OAAO,kBAAkB,KAAK,CAAC,OAAO,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;QAC1C,OAAO,qCAAqC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1B,KAAK,yBAAyB;gBAC5B,OAAO,6CAA6C,CAAC;YACvD,KAAK,oBAAoB;gBACvB,OAAO,qDAAqD,CAAC;YAC/D,KAAK,gCAAgC;gBACnC,OAAO,mDAAmD,CAAC;YAC7D,KAAK,qBAAqB;gBACxB,OAAO,qBAAqB,CAAC;YAC/B,KAAK,iBAAiB,CAAC;YACvB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,0BAA0B;gBAC7B,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAC9C,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,EAAE,IAAI,MAAM;QACjB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM;QAClC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thecloudseeker/homebridge-skoda",
|
|
3
3
|
"displayName": "Homebridge Škoda",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"description": "Homebridge plugin for Škoda vehicles using the official MyŠkoda Public API.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "thecloudseeker",
|