@thecloudseeker/homebridge-skoda 0.2.0 → 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 +9 -0
- package/README.md +17 -23
- package/config.schema.json +135 -75
- package/dist/accessory/services/body.d.ts +5 -6
- package/dist/accessory/services/body.js +45 -9
- package/dist/accessory/services/body.js.map +1 -1
- package/dist/accessory/services/common.d.ts +2 -0
- package/dist/accessory/services/common.js +4 -0
- package/dist/accessory/services/common.js.map +1 -1
- package/dist/accessory/vehicleAccessory.d.ts +6 -0
- package/dist/accessory/vehicleAccessory.js +22 -0
- package/dist/accessory/vehicleAccessory.js.map +1 -1
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.js +2 -2
- 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 +4 -5
- package/dist/config.js +21 -10
- package/dist/config.js.map +1 -1
- package/dist/platform.js +8 -24
- package/dist/platform.js.map +1 -1
- package/dist/vehicle/mapping.d.ts +4 -0
- package/dist/vehicle/mapping.js +19 -0
- package/dist/vehicle/mapping.js.map +1 -1
- package/dist/vehicle/snapshot.js +26 -0
- package/dist/vehicle/snapshot.js.map +1 -1
- package/dist/vehicle/vehicleController.d.ts +3 -9
- package/dist/vehicle/vehicleController.js +18 -25
- package/dist/vehicle/vehicleController.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAwB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,+GAA+G;AAC/G,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"vehicleAccessory.js","sourceRoot":"","sources":["../../src/accessory/vehicleAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
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(
|
|
27
|
+
getVehicle(parts?: readonly VehiclePart[]): Promise<VehicleResponse>;
|
|
28
28
|
startCharging(): Promise<void>;
|
|
29
29
|
stopCharging(): Promise<void>;
|
|
30
30
|
setChargingLimit(targetStateOfChargeInPercent: number): Promise<void>;
|
package/dist/api/client.js
CHANGED
|
@@ -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(
|
|
20
|
+
async getVehicle(parts = VEHICLE_PARTS) {
|
|
21
21
|
const query = `?include=${parts.map(encodeURIComponent).join(",")}`;
|
|
22
|
-
const response = await this.request("GET", "",
|
|
22
|
+
const response = await this.request("GET", "", "poll", undefined, query);
|
|
23
23
|
return (await response.json());
|
|
24
24
|
}
|
|
25
25
|
startCharging() {
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,aAAa,GAMd,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAelC;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAII;IAHZ,OAAO,CAAS;IAChB,SAAS,CAAe;IAEzC,YAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QACzD,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IAC1C,CAAC;IAED,4GAA4G;IAC5G,KAAK,CAAC,UAAU,CACd,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/rateBudget.d.ts
CHANGED
|
@@ -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
|
|
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`
|
|
16
|
-
export type RequestKind = "poll" | "
|
|
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;
|
package/dist/api/rateBudget.js
CHANGED
|
@@ -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
|
|
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
|
-
/**
|
|
33
|
-
|
|
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,11 @@ 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
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
for (const removed of REMOVED_OPTIONS) {
|
|
102
|
+
if (raw[removed] !== undefined) {
|
|
103
|
+
warnings.push(`${label}.${removed} is no longer used and can be removed from the config`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
101
106
|
const auxiliaryHeatingDuration = optionalNumber(raw.auxiliaryHeatingDurationMinutes);
|
|
102
107
|
if (errors.length > 0 || !vin || !token) {
|
|
103
108
|
return { ok: false, errors };
|
|
@@ -109,19 +114,15 @@ export function parseVehicleConfig(raw, index) {
|
|
|
109
114
|
name: optionalString(raw.name) ?? `Škoda ${vin.slice(-4)}`,
|
|
110
115
|
vin,
|
|
111
116
|
token,
|
|
112
|
-
commandToken: optionalString(raw.commandToken),
|
|
113
117
|
spin,
|
|
114
118
|
home,
|
|
115
119
|
pollingIntervalMinutes,
|
|
116
120
|
lowBatteryThreshold,
|
|
117
121
|
climateTemperature,
|
|
118
|
-
airConditioningWithoutExternalPower:
|
|
119
|
-
? raw.airConditioningWithoutExternalPower
|
|
120
|
-
: undefined,
|
|
122
|
+
airConditioningWithoutExternalPower: parseAllowance(raw.airConditioningWithoutExternalPower),
|
|
121
123
|
auxiliaryHeatingDurationMinutes: auxiliaryHeatingDuration === undefined
|
|
122
124
|
? undefined
|
|
123
125
|
: clamp(Math.round(auxiliaryHeatingDuration), 1, 60),
|
|
124
|
-
commandRefreshDelaySeconds,
|
|
125
126
|
features,
|
|
126
127
|
},
|
|
127
128
|
};
|
|
@@ -146,6 +147,16 @@ function parseHome(raw, label, errors) {
|
|
|
146
147
|
const radiusMeters = Math.max(10, optionalNumber(raw.radiusMeters) ?? DEFAULT_HOME_RADIUS_METERS);
|
|
147
148
|
return { latitude, longitude, radiusMeters };
|
|
148
149
|
}
|
|
150
|
+
/** `"allow"` / `"deny"` from the Homebridge UI, or a boolean from configs written before 0.3.0. */
|
|
151
|
+
function parseAllowance(value) {
|
|
152
|
+
if (typeof value === "boolean") {
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
if (value === "allow") {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
return value === "deny" ? false : undefined;
|
|
159
|
+
}
|
|
149
160
|
function clamp(value, min, max) {
|
|
150
161
|
return Math.min(max, Math.max(min, value));
|
|
151
162
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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)
|
|
122
|
+
`${Math.max(0, DEFAULT_RATE_LIMIT - pollsPerHour)} left for commands)`);
|
|
139
123
|
controller.start();
|
|
140
124
|
}
|
|
141
125
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -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. */
|
package/dist/vehicle/mapping.js
CHANGED
|
@@ -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":"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"}
|
|
1
|
+
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/vehicle/mapping.ts"],"names":[],"mappings":"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"}
|
package/dist/vehicle/snapshot.js
CHANGED
|
@@ -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":"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"}
|
|
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
|
-
|
|
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
|
|
58
|
-
*
|
|
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. */
|