tesla-fleet-api 0.0.9 → 0.0.11

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 (46) hide show
  1. package/dist/helpers.d.ts +1 -1
  2. package/dist/teslafleetapi.d.ts +5 -3
  3. package/dist/teslafleetapi.js +2 -2
  4. package/dist/teslafleetapi.js.map +1 -1
  5. package/dist/teslemetry.d.ts +12 -2
  6. package/dist/teslemetry.js +3 -3
  7. package/dist/teslemetry.js.map +1 -1
  8. package/dist/tessie.d.ts +1 -1
  9. package/dist/types/index.d.ts +44 -0
  10. package/dist/types/index.js +11 -0
  11. package/dist/types/index.js.map +1 -0
  12. package/dist/types/live_status.d.ts +26 -0
  13. package/dist/types/live_status.js +2 -0
  14. package/dist/types/live_status.js.map +1 -0
  15. package/dist/types/products.d.ts +53 -0
  16. package/dist/types/products.js +2 -0
  17. package/dist/types/products.js.map +1 -0
  18. package/dist/types/types.d.ts +48 -0
  19. package/dist/types/types.js +11 -0
  20. package/dist/types/types.js.map +1 -0
  21. package/dist/types/vehicle.d.ts +22 -0
  22. package/dist/types/vehicle.js +2 -0
  23. package/dist/types/vehicle.js.map +1 -0
  24. package/dist/types/vehicle_data.d.ts +274 -0
  25. package/dist/types/vehicle_data.js +2 -0
  26. package/dist/types/vehicle_data.js.map +1 -0
  27. package/dist/types.js.map +1 -1
  28. package/dist/user.d.ts +1 -1
  29. package/dist/vehicle.d.ts +5 -3
  30. package/dist/vehicle.js +3 -3
  31. package/dist/vehicle.js.map +1 -1
  32. package/dist/vehiclespecific.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/src/helpers.ts +1 -1
  35. package/src/teslafleetapi.ts +6 -5
  36. package/src/teslemetry.ts +15 -5
  37. package/src/tessie.ts +1 -1
  38. package/src/{types.ts → types/index.ts} +1 -4
  39. package/src/types/live_status.ts +27 -0
  40. package/src/types/products.ts +59 -0
  41. package/src/types/site_info.ts +129 -0
  42. package/src/types/vehicle.ts +23 -0
  43. package/src/types/vehicle_data.ts +286 -0
  44. package/src/user.ts +1 -1
  45. package/src/vehicle.ts +7 -5
  46. package/src/vehiclespecific.ts +1 -1
package/dist/helpers.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { CommandResponse } from "./types.js";
1
+ import { CommandResponse } from "./types/index.js";
2
2
  export declare const validate: (body: CommandResponse) => Promise<void>;
@@ -3,8 +3,9 @@ import Energy from "./energy.js";
3
3
  import Partner from "./partner.js";
4
4
  import User from "./user.js";
5
5
  import Vehicle from "./vehicle.js";
6
- import { Method } from "./types.js";
7
- export type Region = "na" | "eu" | "cn";
6
+ import { ProductsResponse } from "./types/products.js";
7
+ type Region = "na" | "eu" | "cn";
8
+ type Method = "GET" | "POST" | "PUT" | "DELETE";
8
9
  export default class TeslaFleetApi {
9
10
  server: string | null;
10
11
  accessToken: string | null;
@@ -32,5 +33,6 @@ export default class TeslaFleetApi {
32
33
  * @returns
33
34
  */
34
35
  _request(method: Method, path: string, params?: Record<string, any> | null, json?: Record<string, any> | null): Promise<any>;
35
- products(): Promise<Record<string, any>>;
36
+ products(): Promise<ProductsResponse>;
36
37
  }
38
+ export {};
@@ -68,7 +68,7 @@ export default class TeslaFleetApi {
68
68
  "Content-Type": "application/json",
69
69
  "X-Library": `node tesla_fleet_api`,
70
70
  };
71
- const query = new URLSearchParams(params).toString();
71
+ const query = params ? "?" + new URLSearchParams(params).toString() : "";
72
72
  return fetch(`${this.server}/${path}${query}`, {
73
73
  method,
74
74
  headers,
@@ -85,7 +85,7 @@ export default class TeslaFleetApi {
85
85
  });
86
86
  }
87
87
  async products() {
88
- return this._request("GET", "api/1/products");
88
+ return this._request("GET", "api/1/products").then(({ data }) => data.response);
89
89
  }
90
90
  }
91
91
  //# sourceMappingURL=teslafleetapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teslafleetapi.js","sourceRoot":"","sources":["../src/teslafleetapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teslafleetapi.js","sourceRoot":"","sources":["../src/teslafleetapi.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,25 @@
1
1
  import TeslaFleetApi from "./teslafleetapi.js";
2
+ import { Scope } from "./types/index.js";
2
3
  type Region = "na" | "eu" | "api";
4
+ type Test = {
5
+ response: boolean;
6
+ };
7
+ type Metadata = {
8
+ uid: string;
9
+ region: "NA" | "EU";
10
+ scopes: Scope[];
11
+ vins: string[];
12
+ };
3
13
  export default class Telemetry extends TeslaFleetApi {
4
14
  constructor(accessToken: string, region?: Region);
5
15
  /**
6
16
  * Test the connection to Teslemetry
7
17
  */
8
- test(): Promise<any>;
18
+ test(): Promise<Test>;
9
19
  /**
10
20
  * Get details about your Teslemetry account
11
21
  * @param update_region Update the server URL based on the region in the metadata
12
22
  */
13
- metadata(update_region?: boolean): Promise<void>;
23
+ metadata(update_region?: boolean): Promise<Metadata>;
14
24
  }
15
25
  export {};
@@ -7,16 +7,16 @@ export default class Telemetry extends TeslaFleetApi {
7
7
  * Test the connection to Teslemetry
8
8
  */
9
9
  async test() {
10
- return this._request("GET", "/api/test");
10
+ return this._request("GET", "/api/test").then(({ response }) => response);
11
11
  }
12
12
  /**
13
13
  * Get details about your Teslemetry account
14
14
  * @param update_region Update the server URL based on the region in the metadata
15
15
  */
16
16
  async metadata(update_region = true) {
17
- this._request("GET", "/api/metadata").then((metadata) => {
17
+ return this._request("GET", "/api/metadata").then((metadata) => {
18
18
  if (update_region) {
19
- this.server = `https://${metadata.region}.teslemetry.com`;
19
+ this.server = `https://${metadata.region.toLowerCase()}.teslemetry.com`;
20
20
  }
21
21
  return metadata;
22
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"teslemetry.js","sourceRoot":"","sources":["../src/teslemetry.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,aAAa;IAChD,YAAY,WAAmB,EAAE,SAAiB,KAAK;QACnD,KAAK,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,MAAM,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI;QAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,WAAW,QAAQ,CAAC,MAAM,iBAAiB,CAAC;YAC9D,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"teslemetry.js","sourceRoot":"","sources":["../src/teslemetry.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAc/C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,aAAa;IAChD,YAAY,WAAmB,EAAE,SAAiB,KAAK;QACnD,KAAK,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,MAAM,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3D,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,WAAW,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;YAC5E,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
package/dist/tessie.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import TeslaFleetApi from "./teslafleetapi.js";
2
- import { Scope } from "./types.js";
2
+ import { Scope } from "./types/index.js";
3
3
  export default class Telemetry extends TeslaFleetApi {
4
4
  constructor(accessToken: string);
5
5
  /**
@@ -0,0 +1,44 @@
1
+ export interface CommandResponse {
2
+ response: {
3
+ result: boolean;
4
+ reason: string;
5
+ };
6
+ error: string;
7
+ }
8
+ export type Scope = "user_data" | "vehicle_device_data" | "vehicle_cmds" | "vehicle_charging_cmds" | "energy_device_data" | "energy_cmds" | "offline_access" | "openid";
9
+ export type Trunk = "front" | "rear";
10
+ export declare const Seats: {
11
+ FRONT_LEFT: number;
12
+ FRONT_RIGHT: number;
13
+ REAR_LEFT: number;
14
+ REAR_CENTER: number;
15
+ REAR_RIGHT: number;
16
+ THIRD_ROW_LEFT: number;
17
+ THIRD_ROW_RIGHT: number;
18
+ };
19
+ export type Seat = keyof typeof Seats;
20
+ export type Level = 0 | 1 | 2 | 3;
21
+ export declare const ClimateModes: {
22
+ Off: number;
23
+ Keep: number;
24
+ Dog: number;
25
+ Camp: number;
26
+ };
27
+ export type ClimateMode = keyof typeof ClimateModes;
28
+ export type VehicleDataEndpoint = "charge_state" | "climate_state" | "closures_state" | "drive_state" | "gui_settings" | "location_data" | "vehicle_config" | "vehicle_state" | "vehicle_data_combo";
29
+ export type AlertTypes = "customer" | "service";
30
+ export interface FleetTelemetryConfig {
31
+ vins: string[];
32
+ config: {
33
+ hostname: string;
34
+ ca: string;
35
+ fields: {
36
+ [key: string]: {
37
+ interval_seconds: number;
38
+ };
39
+ };
40
+ alert_types: AlertTypes[];
41
+ exp: number;
42
+ port: number;
43
+ };
44
+ }
@@ -0,0 +1,11 @@
1
+ export const Seats = {
2
+ FRONT_LEFT: 0,
3
+ FRONT_RIGHT: 1,
4
+ REAR_LEFT: 2,
5
+ REAR_CENTER: 4,
6
+ REAR_RIGHT: 5,
7
+ THIRD_ROW_LEFT: 6,
8
+ THIRD_ROW_RIGHT: 7,
9
+ };
10
+ export const ClimateModes = { Off: 0, Keep: 1, Dog: 2, Camp: 3 };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ export type LiveStatusResponse = {
2
+ solar_power?: number;
3
+ energy_left?: number;
4
+ total_pack_energy?: number;
5
+ percentage_charged?: number;
6
+ backup_capable?: boolean;
7
+ battery_power?: number;
8
+ load_power?: number;
9
+ grid_status?: string;
10
+ grid_services_active?: boolean;
11
+ grid_power?: number;
12
+ grid_services_power?: number;
13
+ generator_power?: number;
14
+ island_status?: string;
15
+ storm_mode_active?: boolean;
16
+ timestamp: Date;
17
+ wall_connectors?: WallConnector[];
18
+ };
19
+ export type WallConnector = {
20
+ din: string;
21
+ vin?: string;
22
+ wall_connector_state: number;
23
+ wall_connector_fault_state: number;
24
+ wall_connector_power: number;
25
+ ocpp_status: number;
26
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=live_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live_status.js","sourceRoot":"","sources":["../../src/types/live_status.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { VehicleResponse } from "./vehicle.js";
2
+ import { VehicleConfig } from "./vehicle_data.js";
3
+ export type ProductsResponse = {
4
+ response: (VehicleProduct | EnergyProduct)[];
5
+ count: number;
6
+ };
7
+ export type VehicleProduct = VehicleResponse & {
8
+ vehicle_config: VehicleConfig;
9
+ command_signing: string;
10
+ release_notes_supported: boolean;
11
+ };
12
+ export type EnergyProduct = {
13
+ energy_site_id: number;
14
+ resource_type: string;
15
+ site_name: string;
16
+ id: string;
17
+ gateway_id: string;
18
+ asset_site_id: string;
19
+ warp_site_number: string;
20
+ energy_left: number;
21
+ total_pack_energy: number;
22
+ percentage_charged: number;
23
+ battery_type: string;
24
+ backup_capable: boolean;
25
+ battery_power: number;
26
+ go_off_grid_test_banner_enabled: null | boolean;
27
+ storm_mode_enabled: boolean;
28
+ powerwall_onboarding_settings_set: boolean;
29
+ powerwall_tesla_electric_interested_in: null | boolean;
30
+ vpp_tour_enabled: null | boolean;
31
+ sync_grid_alert_enabled: boolean;
32
+ breaker_alert_enabled: boolean;
33
+ components: Components;
34
+ features: Features;
35
+ };
36
+ export type Components = {
37
+ battery: boolean;
38
+ battery_type: string;
39
+ solar: boolean;
40
+ solar_type: string;
41
+ grid: boolean;
42
+ load_meter: boolean;
43
+ market_type: string;
44
+ wall_connectors: WallConnector[];
45
+ };
46
+ export type WallConnector = {
47
+ device_id: string;
48
+ din: string;
49
+ is_active: boolean;
50
+ };
51
+ export type Features = {
52
+ rate_plan_manager_no_pricing_constraint: boolean;
53
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/types/products.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ export interface CommandResponse {
2
+ response: {
3
+ result: boolean;
4
+ reason: string;
5
+ };
6
+ error: string;
7
+ }
8
+ export type Scope = "user_data" | "vehicle_device_data" | "vehicle_cmds" | "vehicle_charging_cmds" | "energy_device_data" | "energy_cmds" | "offline_access" | "openid";
9
+ export type Method = "GET" | "POST" | "PUT" | "DELETE";
10
+ export interface RequestFunction {
11
+ (method: Method, endpoint: string, data?: Record<string, any>): Promise<Record<string, any>>;
12
+ }
13
+ export type Trunk = "front" | "rear";
14
+ export declare const Seats: {
15
+ FRONT_LEFT: number;
16
+ FRONT_RIGHT: number;
17
+ REAR_LEFT: number;
18
+ REAR_CENTER: number;
19
+ REAR_RIGHT: number;
20
+ THIRD_ROW_LEFT: number;
21
+ THIRD_ROW_RIGHT: number;
22
+ };
23
+ export type Seat = keyof typeof Seats;
24
+ export type Level = 0 | 1 | 2 | 3;
25
+ export declare const ClimateModes: {
26
+ Off: number;
27
+ Keep: number;
28
+ Dog: number;
29
+ Camp: number;
30
+ };
31
+ export type ClimateMode = keyof typeof ClimateModes;
32
+ export type VehicleDataEndpoint = "charge_state" | "climate_state" | "closures_state" | "drive_state" | "gui_settings" | "location_data" | "vehicle_config" | "vehicle_state" | "vehicle_data_combo";
33
+ export type AlertTypes = "customer" | "service";
34
+ export interface FleetTelemetryConfig {
35
+ vins: string[];
36
+ config: {
37
+ hostname: string;
38
+ ca: string;
39
+ fields: {
40
+ [key: string]: {
41
+ interval_seconds: number;
42
+ };
43
+ };
44
+ alert_types: AlertTypes[];
45
+ exp: number;
46
+ port: number;
47
+ };
48
+ }
@@ -0,0 +1,11 @@
1
+ export const Seats = {
2
+ FRONT_LEFT: 0,
3
+ FRONT_RIGHT: 1,
4
+ REAR_LEFT: 2,
5
+ REAR_CENTER: 4,
6
+ REAR_RIGHT: 5,
7
+ THIRD_ROW_LEFT: 6,
8
+ THIRD_ROW_RIGHT: 7,
9
+ };
10
+ export const ClimateModes = { Off: 0, Keep: 1, Dog: 2, Camp: 3 };
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type VehicleResponse = {
2
+ id: number;
3
+ vehicle_id: number;
4
+ vin: string;
5
+ color: null;
6
+ access_type: string;
7
+ display_name: string;
8
+ option_codes: null;
9
+ granular_access: GranularAccess;
10
+ tokens: string[];
11
+ state: string;
12
+ in_service: boolean;
13
+ id_s: string;
14
+ calendar_enabled: boolean;
15
+ api_version: number;
16
+ backseat_token: null;
17
+ backseat_token_updated_at: null;
18
+ ble_autopair_enrolled: boolean;
19
+ };
20
+ export type GranularAccess = {
21
+ hide_private: boolean;
22
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vehicle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vehicle.js","sourceRoot":"","sources":["../../src/types/vehicle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,274 @@
1
+ import { VehicleResponse } from "./vehicle.js";
2
+ export type VehicleDataResponse = VehicleResponse & {
3
+ charge_state: ChargeState;
4
+ climate_state: ClimateState;
5
+ drive_state: DriveState;
6
+ gui_settings: GUISettings;
7
+ vehicle_config: VehicleConfig;
8
+ vehicle_state: VehicleState;
9
+ };
10
+ export type ChargeState = {
11
+ battery_heater_on: boolean;
12
+ battery_level: number;
13
+ battery_range: number;
14
+ charge_amps: number;
15
+ charge_current_request: number;
16
+ charge_current_request_max: number;
17
+ charge_enable_request: boolean;
18
+ charge_energy_added: number;
19
+ charge_limit_soc: number;
20
+ charge_limit_soc_max: number;
21
+ charge_limit_soc_min: number;
22
+ charge_limit_soc_std: number;
23
+ charge_miles_added_ideal: number;
24
+ charge_miles_added_rated: number;
25
+ charge_port_cold_weather_mode: boolean;
26
+ charge_port_color: string;
27
+ charge_port_door_open: boolean;
28
+ charge_port_latch: string;
29
+ charge_rate: number;
30
+ charger_actual_current: number;
31
+ charger_phases: null;
32
+ charger_pilot_current: number;
33
+ charger_power: number;
34
+ charger_voltage: number;
35
+ charging_state: string;
36
+ conn_charge_cable: string;
37
+ est_battery_range: number;
38
+ fast_charger_brand: string;
39
+ fast_charger_present: boolean;
40
+ fast_charger_type: string;
41
+ ideal_battery_range: number;
42
+ max_range_charge_counter: number;
43
+ minutes_to_full_charge: number;
44
+ not_enough_power_to_heat: null;
45
+ off_peak_charging_enabled: boolean;
46
+ off_peak_charging_times: string;
47
+ off_peak_hours_end_time: number;
48
+ preconditioning_enabled: boolean;
49
+ preconditioning_times: string;
50
+ scheduled_charging_mode: string;
51
+ scheduled_charging_pending: boolean;
52
+ scheduled_charging_start_time: null;
53
+ scheduled_charging_start_time_app: number;
54
+ scheduled_departure_time: number;
55
+ scheduled_departure_time_minutes: number;
56
+ supercharger_session_trip_planner: boolean;
57
+ time_to_full_charge: number;
58
+ timestamp: number;
59
+ trip_charging: boolean;
60
+ usable_battery_level: number;
61
+ user_charge_enable_request: null;
62
+ };
63
+ export type ClimateState = {
64
+ allow_cabin_overheat_protection: boolean;
65
+ auto_seat_climate_left: boolean;
66
+ auto_seat_climate_right: boolean;
67
+ auto_steering_wheel_heat: boolean;
68
+ battery_heater: boolean;
69
+ battery_heater_no_power: null;
70
+ cabin_overheat_protection: string;
71
+ cabin_overheat_protection_actively_cooling: boolean;
72
+ climate_keeper_mode: string;
73
+ cop_activation_temperature: string;
74
+ defrost_mode: number;
75
+ driver_temp_setting: number;
76
+ fan_status: number;
77
+ hvac_auto_request: string;
78
+ inside_temp: number;
79
+ is_auto_conditioning_on: boolean;
80
+ is_climate_on: boolean;
81
+ is_front_defroster_on: boolean;
82
+ is_preconditioning: boolean;
83
+ is_rear_defroster_on: boolean;
84
+ left_temp_direction: number;
85
+ max_avail_temp: number;
86
+ min_avail_temp: number;
87
+ outside_temp: number;
88
+ passenger_temp_setting: number;
89
+ remote_heater_control_enabled: boolean;
90
+ right_temp_direction: number;
91
+ seat_heater_left: number;
92
+ seat_heater_rear_center: number;
93
+ seat_heater_rear_left: number;
94
+ seat_heater_rear_right: number;
95
+ seat_heater_right: number;
96
+ side_mirror_heaters: boolean;
97
+ steering_wheel_heat_level: number;
98
+ steering_wheel_heater: boolean;
99
+ supports_fan_only_cabin_overheat_protection: boolean;
100
+ timestamp: number;
101
+ wiper_blade_heater: boolean;
102
+ };
103
+ export type DriveState = {
104
+ active_route_latitude: number;
105
+ active_route_longitude: number;
106
+ active_route_miles_to_arrival: number;
107
+ active_route_minutes_to_arrival: number;
108
+ active_route_traffic_minutes_delay: number;
109
+ gps_as_of: number;
110
+ heading: number;
111
+ latitude: number;
112
+ longitude: number;
113
+ native_latitude: number;
114
+ native_location_supported: number;
115
+ native_longitude: number;
116
+ native_type: string;
117
+ power: number;
118
+ shift_state: null;
119
+ speed: null;
120
+ timestamp: number;
121
+ };
122
+ export type GranularAccess = {
123
+ hide_private: boolean;
124
+ };
125
+ export type GUISettings = {
126
+ gui_24_hour_time: boolean;
127
+ gui_charge_rate_units: string;
128
+ gui_distance_units: string;
129
+ gui_range_display: string;
130
+ gui_temperature_units: string;
131
+ gui_tirepressure_units: string;
132
+ show_range_units: boolean;
133
+ timestamp: number;
134
+ };
135
+ export type VehicleConfig = {
136
+ aux_park_lamps: string;
137
+ badge_version: number;
138
+ can_accept_navigation_requests: boolean;
139
+ can_actuate_trunks: boolean;
140
+ car_special_type: string;
141
+ car_type: string;
142
+ charge_port_type: string;
143
+ cop_user_set_temp_supported: boolean;
144
+ dashcam_clip_save_supported: boolean;
145
+ default_charge_to_max: boolean;
146
+ driver_assist: string;
147
+ ece_restrictions: boolean;
148
+ efficiency_package: string;
149
+ eu_vehicle: boolean;
150
+ exterior_color: string;
151
+ exterior_trim: string;
152
+ exterior_trim_override: string;
153
+ has_air_suspension: boolean;
154
+ has_ludicrous_mode: boolean;
155
+ has_seat_cooling: boolean;
156
+ headlamp_type: string;
157
+ interior_trim_type: string;
158
+ key_version: number;
159
+ motorized_charge_port: boolean;
160
+ paint_color_override: string;
161
+ performance_package: string;
162
+ plg: boolean;
163
+ pws: boolean;
164
+ rear_drive_unit: string;
165
+ rear_seat_heaters: number;
166
+ rear_seat_type: number;
167
+ rhd: boolean;
168
+ roof_color: string;
169
+ seat_type: null;
170
+ spoiler_type: string;
171
+ sun_roof_installed: null;
172
+ supports_qr_pairing: boolean;
173
+ third_row_seats: string;
174
+ timestamp: number;
175
+ trim_badging: string;
176
+ use_range_badging: boolean;
177
+ utc_offset: number;
178
+ webcam_selfie_supported: boolean;
179
+ webcam_supported: boolean;
180
+ wheel_type: string;
181
+ };
182
+ export type VehicleState = {
183
+ api_version: number;
184
+ autopark_state_v2: string;
185
+ calendar_supported: boolean;
186
+ car_version: string;
187
+ center_display_state: number;
188
+ dashcam_clip_save_available: boolean;
189
+ dashcam_state: string;
190
+ df: number;
191
+ dr: number;
192
+ fd_window: number;
193
+ feature_bitmask: string;
194
+ fp_window: number;
195
+ ft: number;
196
+ is_user_present: boolean;
197
+ locked: boolean;
198
+ media_info: MediaInfo;
199
+ media_state: MediaState;
200
+ notifications_supported: boolean;
201
+ odometer: number;
202
+ parsed_calendar_supported: boolean;
203
+ pf: number;
204
+ pr: number;
205
+ rd_window: number;
206
+ remote_start: boolean;
207
+ remote_start_enabled: boolean;
208
+ remote_start_supported: boolean;
209
+ rp_window: number;
210
+ rt: number;
211
+ santa_mode: number;
212
+ sentry_mode: boolean;
213
+ sentry_mode_available: boolean;
214
+ service_mode: boolean;
215
+ service_mode_plus: boolean;
216
+ software_update: SoftwareUpdate;
217
+ speed_limit_mode: SpeedLimitMode;
218
+ timestamp: number;
219
+ tpms_hard_warning_fl: boolean;
220
+ tpms_hard_warning_fr: boolean;
221
+ tpms_hard_warning_rl: boolean;
222
+ tpms_hard_warning_rr: boolean;
223
+ tpms_last_seen_pressure_time_fl: number;
224
+ tpms_last_seen_pressure_time_fr: number;
225
+ tpms_last_seen_pressure_time_rl: number;
226
+ tpms_last_seen_pressure_time_rr: number;
227
+ tpms_pressure_fl: number;
228
+ tpms_pressure_fr: number;
229
+ tpms_pressure_rl: number;
230
+ tpms_pressure_rr: number;
231
+ tpms_rcp_front_value: number;
232
+ tpms_rcp_rear_value: number;
233
+ tpms_soft_warning_fl: boolean;
234
+ tpms_soft_warning_fr: boolean;
235
+ tpms_soft_warning_rl: boolean;
236
+ tpms_soft_warning_rr: boolean;
237
+ valet_mode: boolean;
238
+ valet_pin_needed: boolean;
239
+ vehicle_name: string;
240
+ vehicle_self_test_progress: number;
241
+ vehicle_self_test_requested: boolean;
242
+ webcam_available: boolean;
243
+ };
244
+ export type MediaInfo = {
245
+ a2dp_source_name: string;
246
+ audio_volume: number;
247
+ audio_volume_increment: number;
248
+ audio_volume_max: number;
249
+ media_playback_status: string;
250
+ now_playing_album: string;
251
+ now_playing_artist: string;
252
+ now_playing_duration: number;
253
+ now_playing_elapsed: number;
254
+ now_playing_source: string;
255
+ now_playing_station: string;
256
+ now_playing_title: string;
257
+ };
258
+ export type MediaState = {
259
+ remote_control_enabled: boolean;
260
+ };
261
+ export type SoftwareUpdate = {
262
+ download_perc: number;
263
+ expected_duration_sec: number;
264
+ install_perc: number;
265
+ status: string;
266
+ version: string;
267
+ };
268
+ export type SpeedLimitMode = {
269
+ active: boolean;
270
+ current_limit_mph: number;
271
+ max_limit_mph: number;
272
+ min_limit_mph: number;
273
+ pin_code_set: boolean;
274
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vehicle_data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vehicle_data.js","sourceRoot":"","sources":["../../src/types/vehicle_data.ts"],"names":[],"mappings":""}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC"}