tesla-fleet-api
Version:
A library for the [Tesla Fleet API](https://developer.tesla.com/docs/fleet-api), and the third parties services [Teslemetry](https://teslemetry.com/docs/getting-started/api) and [Tessie](https://developer.tessie.com/docs/tesla-api-comparison), which provi
287 lines (274 loc) • 8.36 kB
text/typescript
import { VehicleResponse } from "./vehicle.js";
export type VehicleDataResponse = VehicleResponse & {
charge_state: ChargeState;
climate_state: ClimateState;
drive_state: DriveState;
gui_settings: GUISettings;
vehicle_config: VehicleConfig;
vehicle_state: VehicleState;
};
export type ChargeState = {
battery_heater_on: boolean;
battery_level: number;
battery_range: number;
charge_amps: number;
charge_current_request: number;
charge_current_request_max: number;
charge_enable_request: boolean;
charge_energy_added: number;
charge_limit_soc: number;
charge_limit_soc_max: number;
charge_limit_soc_min: number;
charge_limit_soc_std: number;
charge_miles_added_ideal: number;
charge_miles_added_rated: number;
charge_port_cold_weather_mode: boolean;
charge_port_color: string;
charge_port_door_open: boolean;
charge_port_latch: string;
charge_rate: number;
charger_actual_current: number;
charger_phases: null;
charger_pilot_current: number;
charger_power: number;
charger_voltage: number;
charging_state: string;
conn_charge_cable: string;
est_battery_range: number;
fast_charger_brand: string;
fast_charger_present: boolean;
fast_charger_type: string;
ideal_battery_range: number;
max_range_charge_counter: number;
minutes_to_full_charge: number;
not_enough_power_to_heat: null;
off_peak_charging_enabled: boolean;
off_peak_charging_times: string;
off_peak_hours_end_time: number;
preconditioning_enabled: boolean;
preconditioning_times: string;
scheduled_charging_mode: string;
scheduled_charging_pending: boolean;
scheduled_charging_start_time: null;
scheduled_charging_start_time_app: number;
scheduled_departure_time: number;
scheduled_departure_time_minutes: number;
supercharger_session_trip_planner: boolean;
time_to_full_charge: number;
timestamp: number;
trip_charging: boolean;
usable_battery_level: number;
user_charge_enable_request: null;
};
export type ClimateState = {
allow_cabin_overheat_protection: boolean;
auto_seat_climate_left: boolean;
auto_seat_climate_right: boolean;
auto_steering_wheel_heat: boolean;
battery_heater: boolean;
battery_heater_no_power: null;
cabin_overheat_protection: string;
cabin_overheat_protection_actively_cooling: boolean;
climate_keeper_mode: string;
cop_activation_temperature: string;
defrost_mode: number;
driver_temp_setting: number;
fan_status: number;
hvac_auto_request: string;
inside_temp: number;
is_auto_conditioning_on: boolean;
is_climate_on: boolean;
is_front_defroster_on: boolean;
is_preconditioning: boolean;
is_rear_defroster_on: boolean;
left_temp_direction: number;
max_avail_temp: number;
min_avail_temp: number;
outside_temp: number;
passenger_temp_setting: number;
remote_heater_control_enabled: boolean;
right_temp_direction: number;
seat_heater_left: number;
seat_heater_rear_center: number;
seat_heater_rear_left: number;
seat_heater_rear_right: number;
seat_heater_right: number;
side_mirror_heaters: boolean;
steering_wheel_heat_level: number;
steering_wheel_heater: boolean;
supports_fan_only_cabin_overheat_protection: boolean;
timestamp: number;
wiper_blade_heater: boolean;
};
export type DriveState = {
active_route_latitude: number;
active_route_longitude: number;
active_route_miles_to_arrival: number;
active_route_minutes_to_arrival: number;
active_route_traffic_minutes_delay: number;
gps_as_of: number;
heading: number;
latitude: number;
longitude: number;
native_latitude: number;
native_location_supported: number;
native_longitude: number;
native_type: string;
power: number;
shift_state: null;
speed: null;
timestamp: number;
};
export type GranularAccess = {
hide_private: boolean;
};
export type GUISettings = {
gui_24_hour_time: boolean;
gui_charge_rate_units: string;
gui_distance_units: string;
gui_range_display: string;
gui_temperature_units: string;
gui_tirepressure_units: string;
show_range_units: boolean;
timestamp: number;
};
export type VehicleConfig = {
aux_park_lamps: string;
badge_version: number;
can_accept_navigation_requests: boolean;
can_actuate_trunks: boolean;
car_special_type: string;
car_type: string;
charge_port_type: string;
cop_user_set_temp_supported: boolean;
dashcam_clip_save_supported: boolean;
default_charge_to_max: boolean;
driver_assist: string;
ece_restrictions: boolean;
efficiency_package: string;
eu_vehicle: boolean;
exterior_color: string;
exterior_trim: string;
exterior_trim_override: string;
has_air_suspension: boolean;
has_ludicrous_mode: boolean;
has_seat_cooling: boolean;
headlamp_type: string;
interior_trim_type: string;
key_version: number;
motorized_charge_port: boolean;
paint_color_override: string;
performance_package: string;
plg: boolean;
pws: boolean;
rear_drive_unit: string;
rear_seat_heaters: number;
rear_seat_type: number;
rhd: boolean;
roof_color: string;
seat_type: null;
spoiler_type: string;
sun_roof_installed: null;
supports_qr_pairing: boolean;
third_row_seats: string;
timestamp: number;
trim_badging: string;
use_range_badging: boolean;
utc_offset: number;
webcam_selfie_supported: boolean;
webcam_supported: boolean;
wheel_type: string;
};
export type VehicleState = {
api_version: number;
autopark_state_v2: string;
calendar_supported: boolean;
car_version: string;
center_display_state: number;
dashcam_clip_save_available: boolean;
dashcam_state: string;
df: number;
dr: number;
fd_window: number;
feature_bitmask: string;
fp_window: number;
ft: number;
is_user_present: boolean;
locked: boolean;
media_info: MediaInfo;
media_state: MediaState;
notifications_supported: boolean;
odometer: number;
parsed_calendar_supported: boolean;
pf: number;
pr: number;
rd_window: number;
remote_start: boolean;
remote_start_enabled: boolean;
remote_start_supported: boolean;
rp_window: number;
rt: number;
santa_mode: number;
sentry_mode: boolean;
sentry_mode_available: boolean;
service_mode: boolean;
service_mode_plus: boolean;
software_update: SoftwareUpdate;
speed_limit_mode: SpeedLimitMode;
timestamp: number;
tpms_hard_warning_fl: boolean;
tpms_hard_warning_fr: boolean;
tpms_hard_warning_rl: boolean;
tpms_hard_warning_rr: boolean;
tpms_last_seen_pressure_time_fl: number;
tpms_last_seen_pressure_time_fr: number;
tpms_last_seen_pressure_time_rl: number;
tpms_last_seen_pressure_time_rr: number;
tpms_pressure_fl: number;
tpms_pressure_fr: number;
tpms_pressure_rl: number;
tpms_pressure_rr: number;
tpms_rcp_front_value: number;
tpms_rcp_rear_value: number;
tpms_soft_warning_fl: boolean;
tpms_soft_warning_fr: boolean;
tpms_soft_warning_rl: boolean;
tpms_soft_warning_rr: boolean;
valet_mode: boolean;
valet_pin_needed: boolean;
vehicle_name: string;
vehicle_self_test_progress: number;
vehicle_self_test_requested: boolean;
webcam_available: boolean;
};
export type MediaInfo = {
a2dp_source_name: string;
audio_volume: number;
audio_volume_increment: number;
audio_volume_max: number;
media_playback_status: string;
now_playing_album: string;
now_playing_artist: string;
now_playing_duration: number;
now_playing_elapsed: number;
now_playing_source: string;
now_playing_station: string;
now_playing_title: string;
};
export type MediaState = {
remote_control_enabled: boolean;
};
export type SoftwareUpdate = {
download_perc: number;
expected_duration_sec: number;
install_perc: number;
status: string;
version: string;
};
export type SpeedLimitMode = {
active: boolean;
current_limit_mph: number;
max_limit_mph: number;
min_limit_mph: number;
pin_code_set: boolean;
};