@thecloudseeker/homebridge-skoda 0.1.2 → 0.2.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +44 -22
  3. package/config.schema.json +25 -6
  4. package/dist/accessory/services/battery.d.ts +21 -0
  5. package/dist/accessory/services/battery.js +38 -1
  6. package/dist/accessory/services/battery.js.map +1 -1
  7. package/dist/accessory/services/body.d.ts +2 -2
  8. package/dist/accessory/services/body.js +1 -0
  9. package/dist/accessory/services/body.js.map +1 -1
  10. package/dist/accessory/services/charging.js +31 -13
  11. package/dist/accessory/services/charging.js.map +1 -1
  12. package/dist/accessory/services/climate.js +51 -23
  13. package/dist/accessory/services/climate.js.map +1 -1
  14. package/dist/accessory/services/common.d.ts +8 -5
  15. package/dist/accessory/services/common.js +13 -8
  16. package/dist/accessory/services/common.js.map +1 -1
  17. package/dist/accessory/vehicleAccessory.d.ts +5 -2
  18. package/dist/accessory/vehicleAccessory.js +32 -5
  19. package/dist/accessory/vehicleAccessory.js.map +1 -1
  20. package/dist/api/client.js +6 -4
  21. package/dist/api/client.js.map +1 -1
  22. package/dist/config.d.ts +8 -1
  23. package/dist/config.js +8 -3
  24. package/dist/config.js.map +1 -1
  25. package/dist/platform.js +12 -2
  26. package/dist/platform.js.map +1 -1
  27. package/dist/vehicle/mapping.d.ts +8 -0
  28. package/dist/vehicle/mapping.js +23 -0
  29. package/dist/vehicle/mapping.js.map +1 -1
  30. package/dist/vehicle/snapshot.js +21 -0
  31. package/dist/vehicle/snapshot.js.map +1 -1
  32. package/dist/vehicle/vehicleController.d.ts +31 -5
  33. package/dist/vehicle/vehicleController.js +80 -11
  34. package/dist/vehicle/vehicleController.js.map +1 -1
  35. package/package.json +5 -2
@@ -1,5 +1,5 @@
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 {
@@ -8,8 +8,22 @@ export interface VehicleControllerOptions {
8
8
  commandClient: SkodaApiClient;
9
9
  log: Logger;
10
10
  pollingIntervalMinutes: number;
11
+ /** 0 disables the follow-up refresh; the next scheduled poll confirms the command instead. */
11
12
  commandRefreshDelaySeconds: number;
12
13
  }
14
+ /** Parts that carry a `carCapturedTimestamp`, which tells when the vehicle last reported them. */
15
+ export type ReportedPart = "charging" | "airConditioning" | "auxiliaryHeating" | "activeVentilation";
16
+ export interface OptimisticPatch {
17
+ /** The part the command changes. */
18
+ part: ReportedPart;
19
+ apply: (vehicle: Vehicle) => void;
20
+ }
21
+ export interface CommandOptions {
22
+ /** Operations the command uses; `operation-not-supported` marks them as unsupported. */
23
+ operations?: readonly OperationName[];
24
+ /** Expected state, shown until the vehicle reports the part again. */
25
+ optimistic?: OptimisticPatch;
26
+ }
13
27
  type Listener = (snapshot: VehicleSnapshot | undefined) => void;
14
28
  /**
15
29
  * Owns the cached state of one vehicle. HomeKit only ever reads from this cache; the controller
@@ -27,6 +41,8 @@ export declare class VehicleController {
27
41
  private failures;
28
42
  private lastErrorKey;
29
43
  private readonly keyExpiryWarnedAt;
44
+ private pending;
45
+ private readonly rejectedOperations;
30
46
  private stopped;
31
47
  constructor(options: VehicleControllerOptions);
32
48
  get snapshot(): VehicleSnapshot | undefined;
@@ -36,17 +52,27 @@ export declare class VehicleController {
36
52
  start(): void;
37
53
  stop(): void;
38
54
  /**
39
- * Sends a command and schedules one follow-up refresh. On success the optional `optimistic`
40
- * patch is applied to the cache right away, so HomeKit shows the expected state until the
41
- * refresh confirms it. Errors are logged and rethrown for the caller to revert the UI.
55
+ * Sends a command. On success the optional optimistic patch is applied to the cache right away
56
+ * and re-applied after every poll until the vehicle reports the changed part again, because the
57
+ * vehicle reports new state with a delay. A follow-up refresh is only scheduled when
58
+ * `commandRefreshDelaySeconds` is set. Errors are logged and rethrown for the caller to revert
59
+ * the UI.
42
60
  */
43
- runCommand(label: string, send: (client: SkodaApiClient) => Promise<void>, optimistic?: (vehicle: Vehicle) => void): Promise<void>;
61
+ runCommand(label: string, send: (client: SkodaApiClient) => Promise<void>, options?: CommandOptions): Promise<void>;
44
62
  /** Warns ahead of the expiry announced in `X-API-Key-Expires-At`, at most once a day per key. */
45
63
  noteKeyExpiry(keyLabel: string, expiresAt: Date, now?: number): void;
46
64
  private schedule;
47
65
  private poll;
48
66
  private fetch;
49
67
  private handlePollError;
68
+ /**
69
+ * Re-applies optimistic patches the vehicle has not confirmed yet, and hides operations the
70
+ * vehicle rejected as unsupported.
71
+ */
72
+ private applyLocalState;
73
+ /** Remembered until restart: the vehicle lacks the capability, so retrying does not help. */
74
+ private rejectOperations;
75
+ private removeRejectedOperations;
50
76
  /** Exponential backoff starting at the polling interval, capped at 30 minutes (or the interval if longer). */
51
77
  private backoffMs;
52
78
  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.
@@ -25,6 +27,8 @@ export class VehicleController {
25
27
  failures = 0;
26
28
  lastErrorKey;
27
29
  keyExpiryWarnedAt = new Map();
30
+ pending = [];
31
+ rejectedOperations = new Set();
28
32
  stopped = true;
29
33
  constructor(options) {
30
34
  this.options = options;
@@ -53,26 +57,43 @@ export class VehicleController {
53
57
  clearTimeout(this.staleTimer);
54
58
  }
55
59
  /**
56
- * Sends a command and schedules one follow-up refresh. On success the optional `optimistic`
57
- * patch is applied to the cache right away, so HomeKit shows the expected state until the
58
- * refresh confirms it. Errors are logged and rethrown for the caller to revert the UI.
60
+ * Sends a command. On success the optional optimistic patch is applied to the cache right away
61
+ * and re-applied after every poll until the vehicle reports the changed part again, because the
62
+ * vehicle reports new state with a delay. A follow-up refresh is only scheduled when
63
+ * `commandRefreshDelaySeconds` is set. Errors are logged and rethrown for the caller to revert
64
+ * the UI.
59
65
  */
60
- async runCommand(label, send, optimistic) {
66
+ async runCommand(label, send, options = {}) {
67
+ const { operations = [], optimistic } = options;
61
68
  try {
62
69
  await send(this.options.commandClient);
63
70
  }
64
71
  catch (error) {
65
72
  this.options.log.warn(`${label} failed: ${describeCommandError(error)}`);
73
+ if (error instanceof SkodaApiError &&
74
+ error.problemType === "operation-not-supported" &&
75
+ operations.length > 0) {
76
+ this.rejectOperations(operations);
77
+ }
66
78
  throw error;
67
79
  }
68
80
  this.options.log.info(`${label}: accepted by the vehicle`);
69
- if (optimistic && this.current) {
70
- const patched = structuredClone(this.current);
71
- optimistic(patched.vehicle);
72
- this.current = patched;
73
- this.emit();
81
+ if (optimistic) {
82
+ this.pending.push({
83
+ ...optimistic,
84
+ sentAt: Date.now(),
85
+ capturedBefore: capturedAt(this.current?.vehicle, optimistic.part),
86
+ });
87
+ if (this.current) {
88
+ const patched = structuredClone(this.current);
89
+ optimistic.apply(patched.vehicle);
90
+ this.current = patched;
91
+ this.emit();
92
+ }
93
+ }
94
+ if (this.refreshDelayMs > 0) {
95
+ this.schedule(this.refreshDelayMs, "refresh");
74
96
  }
75
- this.schedule(this.refreshDelayMs, "refresh");
76
97
  }
77
98
  /** Warns ahead of the expiry announced in `X-API-Key-Expires-At`, at most once a day per key. */
78
99
  noteKeyExpiry(keyLabel, expiresAt, now = Date.now()) {
@@ -110,7 +131,7 @@ export class VehicleController {
110
131
  async fetch(kind) {
111
132
  try {
112
133
  const response = await this.options.pollClient.getVehicle(kind);
113
- this.current = mergeSnapshot(this.current, response, Date.now());
134
+ this.current = this.applyLocalState(mergeSnapshot(this.current, response, Date.now()));
114
135
  if (this.failures > 0 || this.lastErrorKey) {
115
136
  this.options.log.info("Connection to the MyŠkoda API restored");
116
137
  }
@@ -163,6 +184,42 @@ export class VehicleController {
163
184
  }
164
185
  this.schedule(this.backoffMs(), "poll");
165
186
  }
187
+ /**
188
+ * Re-applies optimistic patches the vehicle has not confirmed yet, and hides operations the
189
+ * vehicle rejected as unsupported.
190
+ */
191
+ applyLocalState(snapshot) {
192
+ const now = snapshot.fetchedAt;
193
+ this.pending = this.pending.filter((patch) => now - patch.sentAt < OPTIMISTIC_TTL_MS &&
194
+ !reportedSince(snapshot.vehicle, patch));
195
+ if (this.pending.length === 0 && this.rejectedOperations.size === 0) {
196
+ return snapshot;
197
+ }
198
+ const patched = structuredClone(snapshot);
199
+ for (const patch of this.pending) {
200
+ patch.apply(patched.vehicle);
201
+ }
202
+ this.removeRejectedOperations(patched.vehicle);
203
+ return patched;
204
+ }
205
+ /** Remembered until restart: the vehicle lacks the capability, so retrying does not help. */
206
+ rejectOperations(operations) {
207
+ for (const name of operations) {
208
+ this.rejectedOperations.add(name);
209
+ }
210
+ this.options.log.warn(`The vehicle does not support ${operations.join(", ")}; the control will be removed`);
211
+ if (this.current) {
212
+ const patched = structuredClone(this.current);
213
+ this.removeRejectedOperations(patched.vehicle);
214
+ this.current = patched;
215
+ this.emit();
216
+ }
217
+ }
218
+ removeRejectedOperations(vehicle) {
219
+ if (vehicle.operations && this.rejectedOperations.size > 0) {
220
+ vehicle.operations = vehicle.operations.filter((operation) => !this.rejectedOperations.has(operation.name));
221
+ }
222
+ }
166
223
  /** Exponential backoff starting at the polling interval, capped at 30 minutes (or the interval if longer). */
167
224
  backoffMs() {
168
225
  const exponential = this.intervalMs * 2 ** Math.max(0, this.failures - 1);
@@ -197,6 +254,18 @@ export class VehicleController {
197
254
  }
198
255
  }
199
256
  }
257
+ function capturedAt(vehicle, part) {
258
+ return vehicle?.[part]?.carCapturedTimestamp;
259
+ }
260
+ /** The vehicle has reported the part since the command: a new timestamp, captured after sending. */
261
+ function reportedSince(vehicle, patch) {
262
+ const captured = capturedAt(vehicle, patch.part);
263
+ if (captured === undefined || captured === patch.capturedBefore) {
264
+ return false;
265
+ }
266
+ const capturedMs = Date.parse(captured);
267
+ return Number.isFinite(capturedMs) && capturedMs > patch.sentAt;
268
+ }
200
269
  function describeConfigError(error) {
201
270
  switch (error.problemType) {
202
271
  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":"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"}
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@thecloudseeker/homebridge-skoda",
3
3
  "displayName": "Homebridge Škoda",
4
- "version": "0.1.2",
4
+ "version": "0.2.0",
5
5
  "description": "Homebridge plugin for Škoda vehicles using the official MyŠkoda Public API.",
6
- "author": "thecloudseeker",
6
+ "author": {
7
+ "name": "thecloudseeker",
8
+ "url": "https://eikedreier.com/"
9
+ },
7
10
  "license": "BSD-3-Clause",
8
11
  "homepage": "https://github.com/thecloudseeker/homebridge-skoda#readme",
9
12
  "repository": {