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
@@ -0,0 +1,286 @@
1
+ import { VehicleResponse } from "./vehicle.js";
2
+
3
+ export type VehicleDataResponse = VehicleResponse & {
4
+ charge_state: ChargeState;
5
+ climate_state: ClimateState;
6
+ drive_state: DriveState;
7
+ gui_settings: GUISettings;
8
+ vehicle_config: VehicleConfig;
9
+ vehicle_state: VehicleState;
10
+ };
11
+
12
+ export type ChargeState = {
13
+ battery_heater_on: boolean;
14
+ battery_level: number;
15
+ battery_range: number;
16
+ charge_amps: number;
17
+ charge_current_request: number;
18
+ charge_current_request_max: number;
19
+ charge_enable_request: boolean;
20
+ charge_energy_added: number;
21
+ charge_limit_soc: number;
22
+ charge_limit_soc_max: number;
23
+ charge_limit_soc_min: number;
24
+ charge_limit_soc_std: number;
25
+ charge_miles_added_ideal: number;
26
+ charge_miles_added_rated: number;
27
+ charge_port_cold_weather_mode: boolean;
28
+ charge_port_color: string;
29
+ charge_port_door_open: boolean;
30
+ charge_port_latch: string;
31
+ charge_rate: number;
32
+ charger_actual_current: number;
33
+ charger_phases: null;
34
+ charger_pilot_current: number;
35
+ charger_power: number;
36
+ charger_voltage: number;
37
+ charging_state: string;
38
+ conn_charge_cable: string;
39
+ est_battery_range: number;
40
+ fast_charger_brand: string;
41
+ fast_charger_present: boolean;
42
+ fast_charger_type: string;
43
+ ideal_battery_range: number;
44
+ max_range_charge_counter: number;
45
+ minutes_to_full_charge: number;
46
+ not_enough_power_to_heat: null;
47
+ off_peak_charging_enabled: boolean;
48
+ off_peak_charging_times: string;
49
+ off_peak_hours_end_time: number;
50
+ preconditioning_enabled: boolean;
51
+ preconditioning_times: string;
52
+ scheduled_charging_mode: string;
53
+ scheduled_charging_pending: boolean;
54
+ scheduled_charging_start_time: null;
55
+ scheduled_charging_start_time_app: number;
56
+ scheduled_departure_time: number;
57
+ scheduled_departure_time_minutes: number;
58
+ supercharger_session_trip_planner: boolean;
59
+ time_to_full_charge: number;
60
+ timestamp: number;
61
+ trip_charging: boolean;
62
+ usable_battery_level: number;
63
+ user_charge_enable_request: null;
64
+ };
65
+
66
+ export type ClimateState = {
67
+ allow_cabin_overheat_protection: boolean;
68
+ auto_seat_climate_left: boolean;
69
+ auto_seat_climate_right: boolean;
70
+ auto_steering_wheel_heat: boolean;
71
+ battery_heater: boolean;
72
+ battery_heater_no_power: null;
73
+ cabin_overheat_protection: string;
74
+ cabin_overheat_protection_actively_cooling: boolean;
75
+ climate_keeper_mode: string;
76
+ cop_activation_temperature: string;
77
+ defrost_mode: number;
78
+ driver_temp_setting: number;
79
+ fan_status: number;
80
+ hvac_auto_request: string;
81
+ inside_temp: number;
82
+ is_auto_conditioning_on: boolean;
83
+ is_climate_on: boolean;
84
+ is_front_defroster_on: boolean;
85
+ is_preconditioning: boolean;
86
+ is_rear_defroster_on: boolean;
87
+ left_temp_direction: number;
88
+ max_avail_temp: number;
89
+ min_avail_temp: number;
90
+ outside_temp: number;
91
+ passenger_temp_setting: number;
92
+ remote_heater_control_enabled: boolean;
93
+ right_temp_direction: number;
94
+ seat_heater_left: number;
95
+ seat_heater_rear_center: number;
96
+ seat_heater_rear_left: number;
97
+ seat_heater_rear_right: number;
98
+ seat_heater_right: number;
99
+ side_mirror_heaters: boolean;
100
+ steering_wheel_heat_level: number;
101
+ steering_wheel_heater: boolean;
102
+ supports_fan_only_cabin_overheat_protection: boolean;
103
+ timestamp: number;
104
+ wiper_blade_heater: boolean;
105
+ };
106
+
107
+ export type DriveState = {
108
+ active_route_latitude: number;
109
+ active_route_longitude: number;
110
+ active_route_miles_to_arrival: number;
111
+ active_route_minutes_to_arrival: number;
112
+ active_route_traffic_minutes_delay: number;
113
+ gps_as_of: number;
114
+ heading: number;
115
+ latitude: number;
116
+ longitude: number;
117
+ native_latitude: number;
118
+ native_location_supported: number;
119
+ native_longitude: number;
120
+ native_type: string;
121
+ power: number;
122
+ shift_state: null;
123
+ speed: null;
124
+ timestamp: number;
125
+ };
126
+
127
+ export type GranularAccess = {
128
+ hide_private: boolean;
129
+ };
130
+
131
+ export type GUISettings = {
132
+ gui_24_hour_time: boolean;
133
+ gui_charge_rate_units: string;
134
+ gui_distance_units: string;
135
+ gui_range_display: string;
136
+ gui_temperature_units: string;
137
+ gui_tirepressure_units: string;
138
+ show_range_units: boolean;
139
+ timestamp: number;
140
+ };
141
+
142
+ export type VehicleConfig = {
143
+ aux_park_lamps: string;
144
+ badge_version: number;
145
+ can_accept_navigation_requests: boolean;
146
+ can_actuate_trunks: boolean;
147
+ car_special_type: string;
148
+ car_type: string;
149
+ charge_port_type: string;
150
+ cop_user_set_temp_supported: boolean;
151
+ dashcam_clip_save_supported: boolean;
152
+ default_charge_to_max: boolean;
153
+ driver_assist: string;
154
+ ece_restrictions: boolean;
155
+ efficiency_package: string;
156
+ eu_vehicle: boolean;
157
+ exterior_color: string;
158
+ exterior_trim: string;
159
+ exterior_trim_override: string;
160
+ has_air_suspension: boolean;
161
+ has_ludicrous_mode: boolean;
162
+ has_seat_cooling: boolean;
163
+ headlamp_type: string;
164
+ interior_trim_type: string;
165
+ key_version: number;
166
+ motorized_charge_port: boolean;
167
+ paint_color_override: string;
168
+ performance_package: string;
169
+ plg: boolean;
170
+ pws: boolean;
171
+ rear_drive_unit: string;
172
+ rear_seat_heaters: number;
173
+ rear_seat_type: number;
174
+ rhd: boolean;
175
+ roof_color: string;
176
+ seat_type: null;
177
+ spoiler_type: string;
178
+ sun_roof_installed: null;
179
+ supports_qr_pairing: boolean;
180
+ third_row_seats: string;
181
+ timestamp: number;
182
+ trim_badging: string;
183
+ use_range_badging: boolean;
184
+ utc_offset: number;
185
+ webcam_selfie_supported: boolean;
186
+ webcam_supported: boolean;
187
+ wheel_type: string;
188
+ };
189
+
190
+ export type VehicleState = {
191
+ api_version: number;
192
+ autopark_state_v2: string;
193
+ calendar_supported: boolean;
194
+ car_version: string;
195
+ center_display_state: number;
196
+ dashcam_clip_save_available: boolean;
197
+ dashcam_state: string;
198
+ df: number;
199
+ dr: number;
200
+ fd_window: number;
201
+ feature_bitmask: string;
202
+ fp_window: number;
203
+ ft: number;
204
+ is_user_present: boolean;
205
+ locked: boolean;
206
+ media_info: MediaInfo;
207
+ media_state: MediaState;
208
+ notifications_supported: boolean;
209
+ odometer: number;
210
+ parsed_calendar_supported: boolean;
211
+ pf: number;
212
+ pr: number;
213
+ rd_window: number;
214
+ remote_start: boolean;
215
+ remote_start_enabled: boolean;
216
+ remote_start_supported: boolean;
217
+ rp_window: number;
218
+ rt: number;
219
+ santa_mode: number;
220
+ sentry_mode: boolean;
221
+ sentry_mode_available: boolean;
222
+ service_mode: boolean;
223
+ service_mode_plus: boolean;
224
+ software_update: SoftwareUpdate;
225
+ speed_limit_mode: SpeedLimitMode;
226
+ timestamp: number;
227
+ tpms_hard_warning_fl: boolean;
228
+ tpms_hard_warning_fr: boolean;
229
+ tpms_hard_warning_rl: boolean;
230
+ tpms_hard_warning_rr: boolean;
231
+ tpms_last_seen_pressure_time_fl: number;
232
+ tpms_last_seen_pressure_time_fr: number;
233
+ tpms_last_seen_pressure_time_rl: number;
234
+ tpms_last_seen_pressure_time_rr: number;
235
+ tpms_pressure_fl: number;
236
+ tpms_pressure_fr: number;
237
+ tpms_pressure_rl: number;
238
+ tpms_pressure_rr: number;
239
+ tpms_rcp_front_value: number;
240
+ tpms_rcp_rear_value: number;
241
+ tpms_soft_warning_fl: boolean;
242
+ tpms_soft_warning_fr: boolean;
243
+ tpms_soft_warning_rl: boolean;
244
+ tpms_soft_warning_rr: boolean;
245
+ valet_mode: boolean;
246
+ valet_pin_needed: boolean;
247
+ vehicle_name: string;
248
+ vehicle_self_test_progress: number;
249
+ vehicle_self_test_requested: boolean;
250
+ webcam_available: boolean;
251
+ };
252
+
253
+ export type MediaInfo = {
254
+ a2dp_source_name: string;
255
+ audio_volume: number;
256
+ audio_volume_increment: number;
257
+ audio_volume_max: number;
258
+ media_playback_status: string;
259
+ now_playing_album: string;
260
+ now_playing_artist: string;
261
+ now_playing_duration: number;
262
+ now_playing_elapsed: number;
263
+ now_playing_source: string;
264
+ now_playing_station: string;
265
+ now_playing_title: string;
266
+ };
267
+
268
+ export type MediaState = {
269
+ remote_control_enabled: boolean;
270
+ };
271
+
272
+ export type SoftwareUpdate = {
273
+ download_perc: number;
274
+ expected_duration_sec: number;
275
+ install_perc: number;
276
+ status: string;
277
+ version: string;
278
+ };
279
+
280
+ export type SpeedLimitMode = {
281
+ active: boolean;
282
+ current_limit_mph: number;
283
+ max_limit_mph: number;
284
+ min_limit_mph: number;
285
+ pin_code_set: boolean;
286
+ };
package/src/user.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import TeslaFleetApi from "./teslafleetapi.js";
2
- import { CommandResponse } from "./types.js";
2
+ import { CommandResponse } from "./types/index.js";
3
3
 
4
4
  export default class User {
5
5
  parent: TeslaFleetApi;
package/src/vehicle.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import TeslaFleetApi from "./teslafleetapi.js";
2
- import { ClimateMode, ClimateModes, CommandResponse, FleetTelemetryConfig, Level, Seat, Seats, Trunk, VehicleDataEndpoint } from "./types.js";
2
+ import { ClimateMode, ClimateModes, CommandResponse, FleetTelemetryConfig, Level, Seat, Seats, Trunk, VehicleDataEndpoint } from "./types/index.js";
3
+ import { VehicleResponse } from "./types/vehicle.js";
4
+ import { VehicleDataResponse } from "./types/vehicle_data.js";
3
5
  import VehicleSpecific from "./vehiclespecific.js";
4
6
 
5
7
  const Models: Record<string, string> = {
@@ -845,8 +847,8 @@ export default class Vehicle {
845
847
  * Returns information about a vehicle.
846
848
  * @param vehicle_tag VIN or id field of a vehicle
847
849
  */
848
- async vehicle(vehicle_tag: string | number): Promise<Record<string, any>> {
849
- return this.parent._request("GET", `api/1/vehicles/${vehicle_tag}`);
850
+ async vehicle(vehicle_tag: string | number): Promise<VehicleResponse> {
851
+ return this.parent._request("GET", `api/1/vehicles/${vehicle_tag}`).then(({ data }) => data.response);
850
852
  }
851
853
 
852
854
  /**
@@ -854,9 +856,9 @@ export default class Vehicle {
854
856
  * @param vehicle_tag VIN or id field of a vehicle
855
857
  * @param endpoints
856
858
  */
857
- async vehicle_data(vehicle_tag: string | number, endpoints?: VehicleDataEndpoint[] | string): Promise<Record<string, any>> {
859
+ async vehicle_data(vehicle_tag: string | number, endpoints?: VehicleDataEndpoint[] | string): Promise<VehicleDataResponse> {
858
860
  if (typeof endpoints === "object") endpoints = endpoints.join(";");
859
- return this.parent._request("GET", `api/1/vehicles/${vehicle_tag}/vehicle_data`, { endpoints });
861
+ return this.parent._request("GET", `api/1/vehicles/${vehicle_tag}/vehicle_data`, { endpoints }).then(({ data }) => data.response);
860
862
  }
861
863
 
862
864
  /**
@@ -1,4 +1,4 @@
1
- import { AlertTypes, ClimateMode, ClimateModes, CommandResponse, Level, Seat, Seats, Trunk, VehicleDataEndpoint } from "./types.js";
1
+ import { AlertTypes, ClimateMode, ClimateModes, CommandResponse, Level, Seat, Seats, Trunk, VehicleDataEndpoint } from "./types/index.js";
2
2
  import Vehicle from "./vehicle.js";
3
3
 
4
4
  interface FleetTelemetryConfig {