@thecloudseeker/homebridge-skoda 0.2.0 → 0.3.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.
@@ -19,6 +19,7 @@ export class VehicleAccessory {
19
19
  unsupportedUpdates = new Map();
20
20
  /** `fetchedAt` of the last snapshot, so optimistic updates and stale notices are not counted. */
21
21
  lastFetchedAt;
22
+ lastSupportSummary;
22
23
  constructor(ctx) {
23
24
  this.ctx = ctx;
24
25
  this.bindings = [
@@ -82,6 +83,27 @@ export class VehicleAccessory {
82
83
  if (changed) {
83
84
  this.ctx.onServicesChanged?.();
84
85
  }
86
+ if (snapshot && newUpdate) {
87
+ this.logSupport(snapshot);
88
+ }
89
+ }
90
+ /**
91
+ * Logs what the vehicle supports whenever that changes, so users can see which features exist
92
+ * for their vehicle without trying each one, and which of them are turned off in the config.
93
+ */
94
+ logSupport(snapshot) {
95
+ const supported = this.bindings.filter((binding) => featureSupport(snapshot, binding.feature) === true);
96
+ const { features } = this.ctx.settings;
97
+ const shown = supported.filter((binding) => features[binding.feature]);
98
+ const off = supported.filter((binding) => !features[binding.feature]);
99
+ let summary = `Supported by the vehicle: ${shown.map((b) => b.name).join(", ") || "none"}`;
100
+ if (off.length > 0) {
101
+ summary += `. Also supported, but turned off: ${off.map((b) => `${b.name} (features.${b.feature})`).join(", ")}`;
102
+ }
103
+ if (summary !== this.lastSupportSummary) {
104
+ this.lastSupportSummary = summary;
105
+ this.ctx.log.info(summary);
106
+ }
85
107
  }
86
108
  }
87
109
  //# sourceMappingURL=vehicleAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vehicleAccessory.js","sourceRoot":"","sources":["../../src/accessory/vehicleAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vehicleAccessory.js","sourceRoot":"","sources":["../../src/accessory/vehicleAccessory.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export declare const DEFAULT_BASE_URL = "https://public.api.connect.skoda-auto.c
4
4
  export interface SkodaApiClientOptions {
5
5
  token: string;
6
6
  vin: string;
7
- /** Shared by all clients of the same vehicle, because the rate limit applies per VIN. */
7
+ /** The vehicle's request budget; the rate limit applies per VIN. */
8
8
  budget: RateBudget;
9
9
  baseUrl?: string;
10
10
  timeoutMs?: number;
@@ -24,7 +24,7 @@ export declare class SkodaApiClient {
24
24
  private readonly fetchImpl;
25
25
  constructor(options: SkodaApiClientOptions);
26
26
  /** `GET /api/v1/vehicles/{vin}` with an explicit `include`, so unsupported parts are reported as errors. */
27
- getVehicle(kind?: "poll" | "refresh", parts?: readonly VehiclePart[]): Promise<VehicleResponse>;
27
+ getVehicle(parts?: readonly VehiclePart[]): Promise<VehicleResponse>;
28
28
  startCharging(): Promise<void>;
29
29
  stopCharging(): Promise<void>;
30
30
  setChargingLimit(targetStateOfChargeInPercent: number): Promise<void>;
@@ -17,9 +17,9 @@ export class SkodaApiClient {
17
17
  this.fetchImpl = options.fetch ?? fetch;
18
18
  }
19
19
  /** `GET /api/v1/vehicles/{vin}` with an explicit `include`, so unsupported parts are reported as errors. */
20
- async getVehicle(kind = "poll", parts = VEHICLE_PARTS) {
20
+ async getVehicle(parts = VEHICLE_PARTS) {
21
21
  const query = `?include=${parts.map(encodeURIComponent).join(",")}`;
22
- const response = await this.request("GET", "", kind, undefined, query);
22
+ const response = await this.request("GET", "", "poll", undefined, query);
23
23
  return (await response.json());
24
24
  }
25
25
  startCharging() {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,13 @@
7
7
  *
8
8
  * The budget keeps its own sliding window of sent requests and additionally trusts what the server
9
9
  * reports. It always uses the stricter of both. Regular polls must leave `reserve` slots free so
10
- * commands and their follow-up refresh still go through.
10
+ * commands still go through.
11
11
  */
12
12
  export declare const DEFAULT_RATE_LIMIT = 20;
13
13
  export declare const DEFAULT_COMMAND_RESERVE = 4;
14
14
  export declare const RATE_WINDOW_MS: number;
15
- /** `poll` must respect the command reserve; `command` and `refresh` may use it. */
16
- export type RequestKind = "poll" | "refresh" | "command";
15
+ /** `poll` must respect the command reserve; `command` may use it. */
16
+ export type RequestKind = "poll" | "command";
17
17
  export interface RateLimitHeaders {
18
18
  limit?: number;
19
19
  remaining?: number;
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * The budget keeps its own sliding window of sent requests and additionally trusts what the server
9
9
  * reports. It always uses the stricter of both. Regular polls must leave `reserve` slots free so
10
- * commands and their follow-up refresh still go through.
10
+ * commands still go through.
11
11
  */
12
12
  export const DEFAULT_RATE_LIMIT = 20;
13
13
  export const DEFAULT_COMMAND_RESERVE = 4;
package/dist/config.d.ts CHANGED
@@ -28,6 +28,10 @@ export interface FeatureToggles {
28
28
  lock: boolean;
29
29
  /** Contact sensor that is open while the lights are on. */
30
30
  lights: boolean;
31
+ /** Contact sensor that is open while the front or rear window heating is on. */
32
+ windowHeating: boolean;
33
+ /** Contact sensor that is closed while the charging cable is locked. */
34
+ plugLock: boolean;
31
35
  }
32
36
  export declare const DEFAULT_FEATURES: Readonly<FeatureToggles>;
33
37
  export interface HomeLocation {
@@ -39,8 +43,6 @@ export interface VehicleSettings {
39
43
  name: string;
40
44
  vin: string;
41
45
  token: string;
42
- /** Separate key for commands; falls back to `token`. */
43
- commandToken: string | undefined;
44
46
  spin: string | undefined;
45
47
  home: HomeLocation | undefined;
46
48
  pollingIntervalMinutes: number;
@@ -49,7 +51,6 @@ export interface VehicleSettings {
49
51
  climateTemperature: number;
50
52
  airConditioningWithoutExternalPower: boolean | undefined;
51
53
  auxiliaryHeatingDurationMinutes: number | undefined;
52
- commandRefreshDelaySeconds: number;
53
54
  features: FeatureToggles;
54
55
  }
55
56
  export declare const DEFAULT_POLLING_INTERVAL_MINUTES = 5;
@@ -62,8 +63,6 @@ export declare const DEFAULT_CLIMATE_TEMPERATURE = 21;
62
63
  export declare const CLIMATE_TEMPERATURE_MIN = 16;
63
64
  export declare const CLIMATE_TEMPERATURE_MAX = 29.5;
64
65
  export declare const CLIMATE_TEMPERATURE_STEP = 0.5;
65
- /** 0: no follow-up refresh; the next scheduled poll confirms a command. */
66
- export declare const DEFAULT_COMMAND_REFRESH_DELAY_SECONDS = 0;
67
66
  export type ConfigResult = {
68
67
  ok: true;
69
68
  settings: VehicleSettings;
package/dist/config.js CHANGED
@@ -18,6 +18,8 @@ export const DEFAULT_FEATURES = {
18
18
  sunroof: true,
19
19
  lock: true,
20
20
  lights: false,
21
+ windowHeating: false,
22
+ plugLock: false,
21
23
  };
22
24
  export const DEFAULT_POLLING_INTERVAL_MINUTES = 5;
23
25
  export const MIN_POLLING_INTERVAL_MINUTES = minimumPollingIntervalMinutes(DEFAULT_RATE_LIMIT, DEFAULT_COMMAND_RESERVE);
@@ -29,8 +31,9 @@ export const DEFAULT_CLIMATE_TEMPERATURE = 21;
29
31
  export const CLIMATE_TEMPERATURE_MIN = 16;
30
32
  export const CLIMATE_TEMPERATURE_MAX = 29.5;
31
33
  export const CLIMATE_TEMPERATURE_STEP = 0.5;
32
- /** 0: no follow-up refresh; the next scheduled poll confirms a command. */
33
- export const DEFAULT_COMMAND_REFRESH_DELAY_SECONDS = 0;
34
+ /** Options of earlier versions that are ignored now: a second key brings no extra requests, and
35
+ * the expected state after a command makes an extra refresh unnecessary. */
36
+ const REMOVED_OPTIONS = ["commandToken", "commandRefreshDelaySeconds"];
34
37
  const VIN_PATTERN = /^[A-HJ-NPR-Z0-9]{17}$/;
35
38
  const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
36
39
  function optionalString(value) {
@@ -95,9 +98,16 @@ export function parseVehicleConfig(raw, index) {
95
98
  pollingIntervalMinutes = Math.min(pollingIntervalMinutes, MAX_POLLING_INTERVAL_MINUTES);
96
99
  const climateTemperature = clampTemperature(optionalNumber(raw.climateTemperature) ?? DEFAULT_CLIMATE_TEMPERATURE);
97
100
  const lowBatteryThreshold = clamp(optionalNumber(raw.lowBatteryThreshold) ?? DEFAULT_LOW_BATTERY_THRESHOLD, 0, 100);
98
- const refreshDelay = optionalNumber(raw.commandRefreshDelaySeconds) ??
99
- DEFAULT_COMMAND_REFRESH_DELAY_SECONDS;
100
- const commandRefreshDelaySeconds = refreshDelay <= 0 ? 0 : clamp(refreshDelay, 15, 600);
101
+ if (raw.airConditioningWithoutExternalPower !== undefined &&
102
+ raw.airConditioningOnBattery === undefined) {
103
+ warnings.push(`${label}.airConditioningWithoutExternalPower is replaced by airConditioningOnBattery. ` +
104
+ 'Its value is still used; choose "Air conditioning when not plugged in" again in the settings to update the config');
105
+ }
106
+ for (const removed of REMOVED_OPTIONS) {
107
+ if (raw[removed] !== undefined) {
108
+ warnings.push(`${label}.${removed} is no longer used and can be removed from the config`);
109
+ }
110
+ }
101
111
  const auxiliaryHeatingDuration = optionalNumber(raw.auxiliaryHeatingDurationMinutes);
102
112
  if (errors.length > 0 || !vin || !token) {
103
113
  return { ok: false, errors };
@@ -109,19 +119,16 @@ export function parseVehicleConfig(raw, index) {
109
119
  name: optionalString(raw.name) ?? `Škoda ${vin.slice(-4)}`,
110
120
  vin,
111
121
  token,
112
- commandToken: optionalString(raw.commandToken),
113
122
  spin,
114
123
  home,
115
124
  pollingIntervalMinutes,
116
125
  lowBatteryThreshold,
117
126
  climateTemperature,
118
- airConditioningWithoutExternalPower: typeof raw.airConditioningWithoutExternalPower === "boolean"
119
- ? raw.airConditioningWithoutExternalPower
120
- : undefined,
127
+ airConditioningWithoutExternalPower: parseAllowance(raw.airConditioningOnBattery) ??
128
+ parseAllowance(raw.airConditioningWithoutExternalPower),
121
129
  auxiliaryHeatingDurationMinutes: auxiliaryHeatingDuration === undefined
122
130
  ? undefined
123
131
  : clamp(Math.round(auxiliaryHeatingDuration), 1, 60),
124
- commandRefreshDelaySeconds,
125
132
  features,
126
133
  },
127
134
  };
@@ -146,6 +153,20 @@ function parseHome(raw, label, errors) {
146
153
  const radiusMeters = Math.max(10, optionalNumber(raw.radiusMeters) ?? DEFAULT_HOME_RADIUS_METERS);
147
154
  return { latitude, longitude, radiusMeters };
148
155
  }
156
+ /**
157
+ * `"allow"` / `"deny"` from the Homebridge UI. Before 0.3.1 the option was the boolean
158
+ * `airConditioningWithoutExternalPower`, which the 0.3.0 settings form turned into `"true"` or
159
+ * `"false"`; both forms are still read.
160
+ */
161
+ function parseAllowance(value) {
162
+ if (value === true || value === "allow" || value === "true") {
163
+ return true;
164
+ }
165
+ if (value === false || value === "deny" || value === "false") {
166
+ return false;
167
+ }
168
+ return undefined;
169
+ }
149
170
  function clamp(value, min, max) {
150
171
  return Math.min(max, Math.max(min, value));
151
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -53,7 +53,6 @@ export class SkodaPlatform {
53
53
  activeUuids.add(uuid);
54
54
  const log = createVehicleLogger(this.log, settings.name, settings.vin, [
55
55
  settings.token,
56
- settings.commandToken,
57
56
  settings.spin,
58
57
  ]);
59
58
  for (const warning of result.warnings) {
@@ -73,34 +72,19 @@ export class SkodaPlatform {
73
72
  setUpVehicle(settings, uuid, log) {
74
73
  const cached = this.cachedAccessories.get(uuid);
75
74
  const accessory = cached ?? new this.api.platformAccessory(settings.name, uuid);
76
- // The rate limit applies per VIN, so both keys of a vehicle share one budget.
77
- const budget = new RateBudget();
78
- const userAgent = `homebridge-skoda/${PLUGIN_VERSION}`;
79
- const keyExpiry = (label) => (expiresAt) => {
80
- controller.noteKeyExpiry(label, expiresAt);
81
- };
82
- const pollClient = new SkodaApiClient({
75
+ const client = new SkodaApiClient({
83
76
  token: settings.token,
84
77
  vin: settings.vin,
85
- budget,
86
- userAgent,
87
- onKeyExpiry: keyExpiry(settings.commandToken ? "polling API key" : "API key"),
78
+ budget: new RateBudget(),
79
+ userAgent: `homebridge-skoda/${PLUGIN_VERSION}`,
80
+ onKeyExpiry: (expiresAt) => {
81
+ controller.noteKeyExpiry("API key", expiresAt);
82
+ },
88
83
  });
89
- const commandClient = settings.commandToken
90
- ? new SkodaApiClient({
91
- token: settings.commandToken,
92
- vin: settings.vin,
93
- budget,
94
- userAgent,
95
- onKeyExpiry: keyExpiry("command API key"),
96
- })
97
- : pollClient;
98
84
  const controller = new VehicleController({
99
- pollClient,
100
- commandClient,
85
+ client,
101
86
  log,
102
87
  pollingIntervalMinutes: settings.pollingIntervalMinutes,
103
- commandRefreshDelaySeconds: settings.commandRefreshDelaySeconds,
104
88
  });
105
89
  this.controllers.push(controller);
106
90
  // A new vehicle is saved with its services when it is registered below.
@@ -135,7 +119,7 @@ export class SkodaPlatform {
135
119
  }
136
120
  const pollsPerHour = Math.ceil(60 / settings.pollingIntervalMinutes);
137
121
  log.info(`Polling every ${settings.pollingIntervalMinutes} min (${pollsPerHour} of ${DEFAULT_RATE_LIMIT} requests per hour, ` +
138
- `${Math.max(0, DEFAULT_RATE_LIMIT - pollsPerHour)} left for commands)${settings.commandToken ? ", separate command key" : ""}`);
122
+ `${Math.max(0, DEFAULT_RATE_LIMIT - pollsPerHour)} left for commands)`);
139
123
  controller.start();
140
124
  }
141
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,10 @@ export interface ClimateValues {
31
31
  targetCelsius: number | undefined;
32
32
  }
33
33
  export declare function climateValues(vehicle: Vehicle): ClimateValues;
34
+ /** On while the front or rear window heating runs; unknown unless one of them reports ON or OFF. */
35
+ export declare function isWindowHeatingOn(vehicle: Vehicle): boolean | undefined;
36
+ /** Whether the charging cable plugs are locked; unknown when the vehicle reports no value. */
37
+ export declare function isPlugLocked(vehicle: Vehicle): boolean | undefined;
34
38
  export declare function isAuxiliaryHeatingOn(vehicle: Vehicle): boolean | undefined;
35
39
  export declare function isActiveVentilationOn(vehicle: Vehicle): boolean | undefined;
36
40
  /** "At home": parked within the radius. A vehicle in motion is not at home. */
@@ -115,6 +115,25 @@ function isRunning(state) {
115
115
  }
116
116
  return state !== undefined && RUNNING_STATES.has(state) ? true : undefined;
117
117
  }
118
+ /** On while the front or rear window heating runs; unknown unless one of them reports ON or OFF. */
119
+ export function isWindowHeatingOn(vehicle) {
120
+ const heating = vehicle.airConditioning?.windowHeating;
121
+ const states = [heating?.front, heating?.rear].map(onOff);
122
+ if (states.includes(true)) {
123
+ return true;
124
+ }
125
+ return states.includes(false) ? false : undefined;
126
+ }
127
+ /** Whether the charging cable plugs are locked; unknown when the vehicle reports no value. */
128
+ export function isPlugLocked(vehicle) {
129
+ switch (vehicle.charging?.status?.plugLockState) {
130
+ case "LOCKED":
131
+ return true;
132
+ case "UNLOCKED":
133
+ return false;
134
+ }
135
+ return undefined;
136
+ }
118
137
  export function isAuxiliaryHeatingOn(vehicle) {
119
138
  return isRunning(vehicle.auxiliaryHeating?.state);
120
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/vehicle/mapping.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,2FAA2F;AAC3F,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,eAAe;IACf,YAAY;IACZ,oBAAoB;IACpB,aAAa;IACb,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC;IAC5D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,MAAM,GAAG;QACb,OAAO,CAAC,UAAU,EAAE,kBAAkB;QACtC,OAAO,CAAC,UAAU,EAAE,oBAAoB;KACzC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAC5C,EAAE,mBAAmB,CAAC;IACvB,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;IAC9C,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;QAC1D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;IACxC,QAAQ,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,kGAAkG;IAClG,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,KAAK,UAAU;QACzB,CAAC,KAAK,KAAK,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,UAAU,EAAE,kBAAkB;QACtC,OAAO,CAAC,UAAU,EAAE,oBAAoB;KACzC,CAAC,IAAI,CACJ,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,EAAE,UAAU,KAAK,UAAU;QAChC,KAAK,EAAE,yBAAyB,KAAK,SAAS,CACjD,EAAE,yBAAyB,CAAC;IAC7B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,YAAoB;IAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO;QACL,KAAK;QACL,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY;KAC5D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,mBAA2B;IAE3B,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC;QAC7B,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,mBAAmB;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,WAA0C;IAE1C,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,KAAK,YAAY;QACtC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;AACxB,CAAC;AAUD,MAAM,aAAa,GAA+C;IAChE,GAAG,EAAE,UAAU;IACf,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE,SAAS;IAC5B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,OAAO;QACL,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU;QAC5D,IAAI;QACJ,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,iBAAiB,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY;IACZ,SAAS;IACT,mBAAmB;IACnB,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,KAA+B;IAChD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CACtB,OAAgB,EAChB,IAAkB;IAElB,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAYD,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;IACtC,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;QACjC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QACpC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;QAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAyB;IACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACxC,wFAAwF;IACxF,QAAQ,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,UAAU;YACb,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,QAAQ,OAAO,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QACd,KAAK,IAAI;YACP,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/vehicle/mapping.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,20 @@ function fuelLevelSupport(snapshot) {
64
64
  }
65
65
  return fuelLevel(snapshot.vehicle) === undefined ? undefined : true;
66
66
  }
67
+ function windowHeatingSupport(snapshot) {
68
+ const support = partSupport(snapshot, "airConditioning");
69
+ if (support !== true) {
70
+ return support;
71
+ }
72
+ const heating = snapshot.vehicle.airConditioning?.windowHeating;
73
+ const states = [heating?.front, heating?.rear];
74
+ if (states.every((state) => state === "UNSUPPORTED")) {
75
+ return false;
76
+ }
77
+ return states.some((state) => state === "ON" || state === "OFF")
78
+ ? true
79
+ : undefined;
80
+ }
67
81
  /**
68
82
  * Whether the vehicle supports a feature. `undefined` means "cannot tell right now"; callers keep
69
83
  * whatever they had, so a transient outage never removes services from HomeKit.
@@ -107,6 +121,18 @@ export function featureSupport(snapshot, feature) {
107
121
  return statusFieldSupport(snapshot, (v) => v.status?.detail.sunroof);
108
122
  case "lights":
109
123
  return statusFieldSupport(snapshot, (v) => v.status?.overall.lights);
124
+ case "windowHeating":
125
+ return windowHeatingSupport(snapshot);
126
+ case "plugLock": {
127
+ const support = partSupport(snapshot, "charging");
128
+ if (support !== true) {
129
+ return support;
130
+ }
131
+ // Omitted when the vehicle reports no usable value, which is not "unsupported".
132
+ return snapshot.vehicle.charging?.status?.plugLockState === undefined
133
+ ? undefined
134
+ : true;
135
+ }
110
136
  case "lock":
111
137
  return statusFieldSupport(snapshot, (v) => v.status?.overall.reliableLockStatus ?? v.status?.overall.locked);
112
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/vehicle/snapshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAqBzC,mEAAmE;AACnE,MAAM,YAAY,GAA4B;IAC5C,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAc,CAAC;AAEzD,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,IAAY,EAAE,EAAE,CACjE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAqC,EACrC,QAAyB,EACzB,GAAW;IAEX,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAY,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IACE,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;gBAC1B,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EACpD,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AAC7C,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,WAAW,CACzB,QAAyB,EACzB,GAAY;IAEZ,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;QAClE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,GAAG,KAAsB;IAEzB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAyB,EACzB,IAA8C;IAE9C,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa,CAAC;AACxD,CAAC;AAED,yFAAyF;AACzF,SAAS,gBAAgB,CAAC,QAAyB;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAyB,EACzB,OAA6B;IAE7B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,qBAAqB;YACxB,OAAO,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,+EAA+E;YAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/C,CAAC;YACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,iBAAiB;YACpB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACrE,KAAK,eAAe;YAClB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACxD,KAAK,SAAS;YACZ,OAAO,gBAAgB,CACrB,QAAQ,EACR,sBAAsB,EACtB,qBAAqB,CACtB,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CACrB,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,CACvB,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,gBAAgB,CACrB,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,CACxB,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAClD,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxE,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACvE,KAAK,MAAM;YACT,OAAO,kBAAkB,CACvB,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CACxE,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/vehicle/snapshot.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,9 @@ 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
- pollClient: SkodaApiClient;
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
- /** 0 disables the follow-up refresh; the next scheduled poll confirms the command instead. */
12
- commandRefreshDelaySeconds: number;
13
9
  }
14
10
  /** Parts that carry a `carCapturedTimestamp`, which tells when the vehicle last reported them. */
15
11
  export type ReportedPart = "charging" | "airConditioning" | "auxiliaryHeating" | "activeVentilation";
@@ -34,7 +30,6 @@ export declare class VehicleController {
34
30
  private current;
35
31
  private readonly listeners;
36
32
  private readonly intervalMs;
37
- private readonly refreshDelayMs;
38
33
  private pollTimer;
39
34
  private staleTimer;
40
35
  private inFlight;
@@ -54,9 +49,8 @@ export declare class VehicleController {
54
49
  /**
55
50
  * Sends a command. On success the optional optimistic patch is applied to the cache right away
56
51
  * 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.
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.
60
54
  */
61
55
  runCommand(label: string, send: (client: SkodaApiClient) => Promise<void>, options?: CommandOptions): Promise<void>;
62
56
  /** Warns ahead of the expiry announced in `X-API-Key-Expires-At`, at most once a day per key. */