tesla-fleet-api 0.3.0 → 0.5.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.
Files changed (342) hide show
  1. package/README.md +284 -1
  2. package/dist/_virtual/_rolldown/runtime.cjs +32 -0
  3. package/dist/_virtual/_rolldown/runtime.mjs +12 -0
  4. package/dist/bluetooth/adapters/shared.cjs +38 -0
  5. package/dist/bluetooth/adapters/shared.mjs +36 -0
  6. package/dist/bluetooth/async.cjs +121 -0
  7. package/dist/bluetooth/async.d.cts +10 -0
  8. package/dist/bluetooth/async.d.mts +10 -0
  9. package/dist/bluetooth/async.mjs +116 -0
  10. package/dist/bluetooth/broadcast.cjs +153 -0
  11. package/dist/bluetooth/broadcast.d.cts +59 -0
  12. package/dist/bluetooth/broadcast.d.mts +59 -0
  13. package/dist/bluetooth/broadcast.mjs +151 -0
  14. package/dist/bluetooth/constants.cjs +99 -0
  15. package/dist/bluetooth/constants.d.cts +70 -0
  16. package/dist/bluetooth/constants.d.mts +70 -0
  17. package/dist/bluetooth/constants.mjs +72 -0
  18. package/dist/bluetooth/esphome.cjs +292 -0
  19. package/dist/bluetooth/esphome.d.cts +83 -0
  20. package/dist/bluetooth/esphome.d.mts +83 -0
  21. package/dist/bluetooth/esphome.mjs +291 -0
  22. package/dist/bluetooth/framing.cjs +125 -0
  23. package/dist/bluetooth/framing.d.cts +45 -0
  24. package/dist/bluetooth/framing.d.mts +45 -0
  25. package/dist/bluetooth/framing.mjs +122 -0
  26. package/dist/bluetooth/homey.cjs +155 -0
  27. package/dist/bluetooth/homey.d.cts +75 -0
  28. package/dist/bluetooth/homey.d.mts +75 -0
  29. package/dist/bluetooth/homey.mjs +150 -0
  30. package/dist/bluetooth/names.cjs +24 -0
  31. package/dist/bluetooth/names.d.cts +10 -0
  32. package/dist/bluetooth/names.d.mts +10 -0
  33. package/dist/bluetooth/names.mjs +20 -0
  34. package/dist/bluetooth/noble.cjs +178 -0
  35. package/dist/bluetooth/noble.d.cts +58 -0
  36. package/dist/bluetooth/noble.d.mts +58 -0
  37. package/dist/bluetooth/noble.mjs +177 -0
  38. package/dist/bluetooth/streamglue.cjs +157 -0
  39. package/dist/bluetooth/streamglue.d.cts +37 -0
  40. package/dist/bluetooth/streamglue.d.mts +37 -0
  41. package/dist/bluetooth/streamglue.mjs +154 -0
  42. package/dist/bluetooth/teslabluetooth.cjs +67 -0
  43. package/dist/bluetooth/teslabluetooth.d.cts +41 -0
  44. package/dist/bluetooth/teslabluetooth.d.mts +41 -0
  45. package/dist/bluetooth/teslabluetooth.mjs +66 -0
  46. package/dist/bluetooth/transport.cjs +10 -0
  47. package/dist/bluetooth/transport.d.cts +95 -0
  48. package/dist/bluetooth/transport.d.mts +95 -0
  49. package/dist/bluetooth/transport.mjs +10 -0
  50. package/dist/bluetooth/vehiclebluetooth.cjs +1272 -0
  51. package/dist/bluetooth/vehiclebluetooth.d.cts +495 -0
  52. package/dist/bluetooth/vehiclebluetooth.d.mts +495 -0
  53. package/dist/bluetooth/vehiclebluetooth.mjs +1270 -0
  54. package/dist/bluetooth/verify.cjs +93 -0
  55. package/dist/bluetooth/verify.d.cts +35 -0
  56. package/dist/bluetooth/verify.d.mts +35 -0
  57. package/dist/bluetooth/verify.mjs +91 -0
  58. package/dist/bluetooth.cjs +53 -0
  59. package/dist/bluetooth.d.cts +10 -0
  60. package/dist/bluetooth.d.mts +10 -0
  61. package/dist/bluetooth.mjs +9 -0
  62. package/dist/charging.cjs +53 -0
  63. package/dist/charging.d.cts +31 -0
  64. package/dist/charging.d.mts +30 -0
  65. package/dist/charging.mjs +53 -0
  66. package/dist/commands.cjs +1797 -0
  67. package/dist/commands.d.cts +881 -0
  68. package/dist/commands.d.mts +881 -0
  69. package/dist/commands.mjs +1791 -0
  70. package/dist/const.cjs +322 -0
  71. package/dist/const.d.cts +308 -0
  72. package/dist/const.d.mts +308 -0
  73. package/dist/const.mjs +282 -0
  74. package/dist/energy.cjs +142 -0
  75. package/dist/energy.d.cts +101 -0
  76. package/dist/energy.d.mts +100 -0
  77. package/dist/energy.mjs +142 -0
  78. package/dist/energyisland.cjs +38 -0
  79. package/dist/energyisland.mjs +37 -0
  80. package/dist/energyparsers.cjs +118 -0
  81. package/dist/energyparsers.d.cts +39 -0
  82. package/dist/energyparsers.d.mts +39 -0
  83. package/dist/energyparsers.mjs +116 -0
  84. package/dist/energyspecific.cjs +457 -0
  85. package/dist/energyspecific.d.cts +258 -0
  86. package/dist/energyspecific.d.mts +258 -0
  87. package/dist/energyspecific.mjs +451 -0
  88. package/dist/exceptions.cjs +1488 -0
  89. package/dist/exceptions.d.cts +1143 -0
  90. package/dist/exceptions.d.mts +1143 -0
  91. package/dist/exceptions.mjs +1325 -0
  92. package/dist/funnel.cjs +297 -0
  93. package/dist/funnel.d.cts +118 -0
  94. package/dist/funnel.d.mts +118 -0
  95. package/dist/funnel.mjs +292 -0
  96. package/dist/index.cjs +287 -0
  97. package/dist/index.d.cts +28 -0
  98. package/dist/index.d.mts +28 -0
  99. package/dist/index.mjs +27 -0
  100. package/dist/log.cjs +75 -0
  101. package/dist/log.d.cts +4 -0
  102. package/dist/log.d.mts +4 -0
  103. package/dist/log.mjs +71 -0
  104. package/dist/oauth.cjs +143 -0
  105. package/dist/oauth.d.cts +69 -0
  106. package/dist/oauth.d.mts +69 -0
  107. package/dist/oauth.mjs +143 -0
  108. package/dist/partner.cjs +32 -0
  109. package/dist/partner.d.cts +24 -0
  110. package/dist/partner.d.mts +23 -0
  111. package/dist/partner.mjs +32 -0
  112. package/dist/powerwall/client.cjs +818 -0
  113. package/dist/powerwall/client.d.cts +297 -0
  114. package/dist/powerwall/client.d.mts +297 -0
  115. package/dist/powerwall/client.mjs +807 -0
  116. package/dist/powerwall/components.cjs +188 -0
  117. package/dist/powerwall/components.d.cts +45 -0
  118. package/dist/powerwall/components.d.mts +45 -0
  119. package/dist/powerwall/components.mjs +182 -0
  120. package/dist/powerwall/energysite.cjs +216 -0
  121. package/dist/powerwall/energysite.d.cts +104 -0
  122. package/dist/powerwall/energysite.d.mts +104 -0
  123. package/dist/powerwall/energysite.mjs +214 -0
  124. package/dist/powerwall/exceptions.cjs +59 -0
  125. package/dist/powerwall/exceptions.d.cts +38 -0
  126. package/dist/powerwall/exceptions.d.mts +38 -0
  127. package/dist/powerwall/exceptions.mjs +51 -0
  128. package/dist/powerwall/gateway.cjs +102 -0
  129. package/dist/powerwall/gateway.d.cts +57 -0
  130. package/dist/powerwall/gateway.d.mts +57 -0
  131. package/dist/powerwall/gateway.mjs +101 -0
  132. package/dist/powerwall/merge.cjs +163 -0
  133. package/dist/powerwall/merge.d.cts +63 -0
  134. package/dist/powerwall/merge.d.mts +63 -0
  135. package/dist/powerwall/merge.mjs +159 -0
  136. package/dist/powerwall/models.d.cts +95 -0
  137. package/dist/powerwall/models.d.mts +95 -0
  138. package/dist/powerwall/queries.cjs +17 -0
  139. package/dist/powerwall/queries.mjs +10 -0
  140. package/dist/powerwall/transport.cjs +232 -0
  141. package/dist/powerwall/transport.mjs +227 -0
  142. package/dist/powerwall.cjs +47 -0
  143. package/dist/powerwall.d.cts +9 -0
  144. package/dist/powerwall.d.mts +9 -0
  145. package/dist/powerwall.mjs +8 -0
  146. package/dist/router/base.cjs +203 -0
  147. package/dist/router/base.d.cts +112 -0
  148. package/dist/router/base.d.mts +112 -0
  149. package/dist/router/base.mjs +200 -0
  150. package/dist/router/energysite.cjs +65 -0
  151. package/dist/router/energysite.d.cts +47 -0
  152. package/dist/router/energysite.d.mts +47 -0
  153. package/dist/router/energysite.mjs +60 -0
  154. package/dist/router.cjs +13 -0
  155. package/dist/router.d.cts +3 -0
  156. package/dist/router.d.mts +3 -0
  157. package/dist/router.mjs +3 -0
  158. package/dist/signing/crypto.cjs +59 -0
  159. package/dist/signing/crypto.mjs +52 -0
  160. package/dist/signing/energy.cjs +123 -0
  161. package/dist/signing/energy.d.cts +45 -0
  162. package/dist/signing/energy.d.mts +45 -0
  163. package/dist/signing/energy.mjs +120 -0
  164. package/dist/signing/jws.cjs +229 -0
  165. package/dist/signing/jws.d.cts +45 -0
  166. package/dist/signing/jws.d.mts +45 -0
  167. package/dist/signing/jws.mjs +211 -0
  168. package/dist/signing/keys.cjs +191 -0
  169. package/dist/signing/keys.d.cts +21 -0
  170. package/dist/signing/keys.d.mts +21 -0
  171. package/dist/signing/keys.mjs +182 -0
  172. package/dist/signing/session.cjs +186 -0
  173. package/dist/signing/session.d.cts +106 -0
  174. package/dist/signing/session.d.mts +106 -0
  175. package/dist/signing/session.mjs +184 -0
  176. package/dist/tariff.cjs +319 -0
  177. package/dist/tariff.d.cts +40 -0
  178. package/dist/tariff.d.mts +40 -0
  179. package/dist/tariff.mjs +317 -0
  180. package/dist/teslafleetapi.cjs +326 -0
  181. package/dist/teslafleetapi.d.cts +160 -0
  182. package/dist/teslafleetapi.d.mts +160 -0
  183. package/dist/teslafleetapi.mjs +326 -0
  184. package/dist/teslemetry.cjs +183 -0
  185. package/dist/teslemetry.d.cts +113 -0
  186. package/dist/teslemetry.d.mts +113 -0
  187. package/dist/teslemetry.mjs +181 -0
  188. package/dist/teslemetryenergy.cjs +287 -0
  189. package/dist/teslemetryenergy.d.cts +154 -0
  190. package/dist/teslemetryenergy.d.mts +154 -0
  191. package/dist/teslemetryenergy.mjs +282 -0
  192. package/dist/teslemetryvehicle.cjs +407 -0
  193. package/dist/teslemetryvehicle.d.cts +238 -0
  194. package/dist/teslemetryvehicle.d.mts +238 -0
  195. package/dist/teslemetryvehicle.mjs +405 -0
  196. package/dist/tessie.cjs +71 -0
  197. package/dist/tessie.d.cts +69 -0
  198. package/dist/tessie.d.mts +69 -0
  199. package/dist/tessie.mjs +71 -0
  200. package/dist/tessievehicle.cjs +514 -0
  201. package/dist/tessievehicle.d.cts +333 -0
  202. package/dist/tessievehicle.d.mts +333 -0
  203. package/dist/tessievehicle.mjs +513 -0
  204. package/dist/types/commands.d.cts +28 -0
  205. package/dist/types/commands.d.mts +28 -0
  206. package/dist/types/live_status.d.cts +30 -0
  207. package/dist/types/live_status.d.mts +30 -0
  208. package/dist/types/products.d.cts +58 -0
  209. package/dist/types/products.d.mts +58 -0
  210. package/dist/types/responses.d.cts +13 -0
  211. package/dist/types/responses.d.mts +13 -0
  212. package/dist/types/site_info.d.cts +154 -0
  213. package/dist/types/site_info.d.mts +154 -0
  214. package/dist/types/vehicle.d.cts +33 -0
  215. package/dist/types/vehicle.d.mts +33 -0
  216. package/dist/types/vehicle_data.d.cts +278 -0
  217. package/dist/types/vehicle_data.d.mts +278 -0
  218. package/dist/types.cjs +0 -0
  219. package/dist/types.d.cts +9 -0
  220. package/dist/types.d.mts +9 -0
  221. package/dist/types.mjs +1 -0
  222. package/dist/user.cjs +28 -0
  223. package/dist/user.d.cts +17 -0
  224. package/dist/user.d.mts +16 -0
  225. package/dist/user.mjs +28 -0
  226. package/dist/util.cjs +41 -0
  227. package/dist/util.d.cts +18 -0
  228. package/dist/util.d.mts +18 -0
  229. package/dist/util.mjs +40 -0
  230. package/dist/vehicle.cjs +847 -0
  231. package/dist/vehicle.d.cts +566 -0
  232. package/dist/vehicle.d.mts +565 -0
  233. package/dist/vehicle.mjs +847 -0
  234. package/dist/vehiclesigned.cjs +35 -0
  235. package/dist/vehiclesigned.d.cts +23 -0
  236. package/dist/vehiclesigned.d.mts +22 -0
  237. package/dist/vehiclesigned.mjs +35 -0
  238. package/dist/vehiclespecific.cjs +715 -0
  239. package/dist/vehiclespecific.d.cts +497 -0
  240. package/dist/vehiclespecific.d.mts +496 -0
  241. package/dist/vehiclespecific.mjs +715 -0
  242. package/package.json +178 -38
  243. package/dist/charging.d.ts +0 -30
  244. package/dist/charging.js +0 -51
  245. package/dist/charging.js.map +0 -1
  246. package/dist/commands.d.ts +0 -352
  247. package/dist/commands.js +0 -875
  248. package/dist/commands.js.map +0 -1
  249. package/dist/energy.d.ts +0 -94
  250. package/dist/energy.js +0 -125
  251. package/dist/energy.js.map +0 -1
  252. package/dist/energyspecific.d.ts +0 -77
  253. package/dist/energyspecific.js +0 -97
  254. package/dist/energyspecific.js.map +0 -1
  255. package/dist/helpers.d.ts +0 -2
  256. package/dist/helpers.js +0 -10
  257. package/dist/helpers.js.map +0 -1
  258. package/dist/index.d.ts +0 -15
  259. package/dist/index.js +0 -15
  260. package/dist/index.js.map +0 -1
  261. package/dist/partner.d.ts +0 -23
  262. package/dist/partner.js +0 -31
  263. package/dist/partner.js.map +0 -1
  264. package/dist/signing/crypto.d.ts +0 -10
  265. package/dist/signing/crypto.js +0 -26
  266. package/dist/signing/crypto.js.map +0 -1
  267. package/dist/signing/errors.d.ts +0 -29
  268. package/dist/signing/errors.js +0 -40
  269. package/dist/signing/errors.js.map +0 -1
  270. package/dist/signing/session.d.ts +0 -69
  271. package/dist/signing/session.js +0 -102
  272. package/dist/signing/session.js.map +0 -1
  273. package/dist/tariff.d.ts +0 -29
  274. package/dist/tariff.js +0 -302
  275. package/dist/tariff.js.map +0 -1
  276. package/dist/teslafleetapi.d.ts +0 -58
  277. package/dist/teslafleetapi.js +0 -120
  278. package/dist/teslafleetapi.js.map +0 -1
  279. package/dist/teslemetry.d.ts +0 -29
  280. package/dist/teslemetry.js +0 -39
  281. package/dist/teslemetry.js.map +0 -1
  282. package/dist/tessie.d.ts +0 -23
  283. package/dist/tessie.js +0 -28
  284. package/dist/tessie.js.map +0 -1
  285. package/dist/types/commands.d.ts +0 -44
  286. package/dist/types/commands.js +0 -11
  287. package/dist/types/commands.js.map +0 -1
  288. package/dist/types/live_status.d.ts +0 -26
  289. package/dist/types/live_status.js +0 -2
  290. package/dist/types/live_status.js.map +0 -1
  291. package/dist/types/products.d.ts +0 -54
  292. package/dist/types/products.js +0 -2
  293. package/dist/types/products.js.map +0 -1
  294. package/dist/types/responses.d.ts +0 -5
  295. package/dist/types/responses.js +0 -2
  296. package/dist/types/responses.js.map +0 -1
  297. package/dist/types/site_info.d.ts +0 -150
  298. package/dist/types/site_info.js +0 -2
  299. package/dist/types/site_info.js.map +0 -1
  300. package/dist/types/vehicle.d.ts +0 -23
  301. package/dist/types/vehicle.js +0 -10
  302. package/dist/types/vehicle.js.map +0 -1
  303. package/dist/types/vehicle_data.d.ts +0 -274
  304. package/dist/types/vehicle_data.js +0 -2
  305. package/dist/types/vehicle_data.js.map +0 -1
  306. package/dist/user.d.ts +0 -16
  307. package/dist/user.js +0 -26
  308. package/dist/user.js.map +0 -1
  309. package/dist/vehicle.d.ts +0 -548
  310. package/dist/vehicle.js +0 -774
  311. package/dist/vehicle.js.map +0 -1
  312. package/dist/vehiclesigned.d.ts +0 -13
  313. package/dist/vehiclesigned.js +0 -19
  314. package/dist/vehiclesigned.js.map +0 -1
  315. package/dist/vehiclespecific.d.ts +0 -432
  316. package/dist/vehiclespecific.js +0 -601
  317. package/dist/vehiclespecific.js.map +0 -1
  318. package/src/charging.ts +0 -66
  319. package/src/commands.ts +0 -1134
  320. package/src/energy.ts +0 -217
  321. package/src/energyspecific.ts +0 -116
  322. package/src/helpers.ts +0 -11
  323. package/src/index.ts +0 -21
  324. package/src/partner.ts +0 -37
  325. package/src/signing/crypto.ts +0 -29
  326. package/src/signing/errors.ts +0 -50
  327. package/src/signing/session.ts +0 -132
  328. package/src/tariff.ts +0 -375
  329. package/src/teslafleetapi.ts +0 -182
  330. package/src/teslemetry.ts +0 -54
  331. package/src/tessie.ts +0 -42
  332. package/src/types/commands.ts +0 -62
  333. package/src/types/live_status.ts +0 -27
  334. package/src/types/products.ts +0 -61
  335. package/src/types/responses.ts +0 -1
  336. package/src/types/site_info.ts +0 -159
  337. package/src/types/vehicle.ts +0 -33
  338. package/src/types/vehicle_data.ts +0 -286
  339. package/src/user.ts +0 -35
  340. package/src/vehicle.ts +0 -886
  341. package/src/vehiclesigned.ts +0 -20
  342. package/src/vehiclespecific.ts +0 -818
@@ -0,0 +1,565 @@
1
+ import TeslaFleetApi from "./teslafleetapi.mjs";
2
+ import { CommandResponse, FleetTelemetryConfig } from "./types/commands.mjs";
3
+ import { OptionsResponse, ResponseEnvelope } from "./types/responses.mjs";
4
+ import { VehicleResponse, WakeUpOptions } from "./types/vehicle.mjs";
5
+ import { AutoSeat, ClimateMode, Level, Seat, Trunk, VehicleDataEndpoint } from "./const.mjs";
6
+ import { VehicleDataResponse } from "./types/vehicle_data.mjs";
7
+ import VehicleSpecific from "./vehiclespecific.mjs";
8
+ import VehicleSigned from "./vehiclesigned.mjs";
9
+ export default class Vehicle {
10
+ #private;
11
+ /** Class `createFleet` instantiates; a subclass overrides it to supply its own vehicle type. */
12
+ static Fleet: new (parent: Vehicle, vin: string) => VehicleSpecific;
13
+ /** Class `createSigned` instantiates; a subclass overrides it to supply its own signed vehicle type. */
14
+ static Signed: new (parent: Vehicle, vin: string, private_key?: Buffer | false, public_key?: Buffer) => VehicleSigned;
15
+ parent: TeslaFleetApi;
16
+ /** Every vehicle created by this factory, keyed by VIN; the latest `create*` call for a VIN wins. */
17
+ byVin: Map<string, VehicleSpecific>;
18
+ constructor(parent: TeslaFleetApi);
19
+ /** Fallback private key for `createSigned()` when a call site doesn't pass one explicitly. */
20
+ get private_key(): Buffer | undefined;
21
+ set private_key(key: Buffer | undefined);
22
+ /**
23
+ * Creates a Fleet API vehicle that sends plaintext REST commands.
24
+ * @param vin
25
+ * @returns
26
+ */
27
+ createFleet(vin: string): VehicleSpecific;
28
+ /**
29
+ * Creates a Fleet API vehicle that signs commands with the Tesla Vehicle
30
+ * Command Protocol and dispatches them through the `/signed_command`
31
+ * endpoint, instead of the plaintext REST commands.
32
+ * @param vin
33
+ * @param private_key Raw 32-byte P-256 private key scalar. Falls back to `this.private_key`, then the client's `private_key`. `false` disables signing.
34
+ * @param public_key Uncompressed P-256 public key point. Derived from `private_key` if omitted.
35
+ */
36
+ createSigned(vin: string, private_key?: Buffer | false, public_key?: Buffer): VehicleSigned;
37
+ /** Legacy name for `createFleet`. */
38
+ specific(vin: string): VehicleSpecific;
39
+ /** Legacy name for `createSigned`. */
40
+ specificSigned(vin: string, private_key?: Buffer | false, public_key?: Buffer): VehicleSigned;
41
+ /**
42
+ * Return the vehicle model name
43
+ * @param vin
44
+ * @returns
45
+ */
46
+ model(vin: string): string;
47
+ /**
48
+ * Return if the vehicle was build before 2021 and cannot sleep without a break
49
+ * @param vin
50
+ * @returns
51
+ */
52
+ pre2021(vin: string): boolean;
53
+ /**
54
+ * Controls the front (which_trunk: "front") or rear (which_trunk: "rear") trunk.
55
+ * @param vehicle_tag VIN or id field of a vehicle
56
+ * @param which_trunk "front" or "rear"
57
+ */
58
+ actuate_trunk(vehicle_tag: string | number, which_trunk: Trunk): Promise<CommandResponse>;
59
+ /**
60
+ * Adjusts vehicle media playback volume.
61
+ * @param vehicle_tag VIN or id field of a vehicle
62
+ * @param volume A floating point number from 0.0 to 11.0.
63
+ */
64
+ adjust_volume(vehicle_tag: string | number, volume: number): Promise<CommandResponse>;
65
+ /**
66
+ * Starts climate preconditioning.
67
+ * @param vehicle_tag VIN or id field of a vehicle
68
+ */
69
+ auto_conditioning_start(vehicle_tag: string | number): Promise<CommandResponse>;
70
+ /**
71
+ * Stops climate preconditioning.
72
+ * @param vehicle_tag VIN or id field of a vehicle
73
+ */
74
+ auto_conditioning_stop(vehicle_tag: string | number): Promise<CommandResponse>;
75
+ /**
76
+ * Cancels the countdown to install the vehicle software update.
77
+ * @param vehicle_tag VIN or id field of a vehicle
78
+ */
79
+ cancel_software_update(vehicle_tag: string | number): Promise<CommandResponse>;
80
+ /**
81
+ * Charges in max range mode -- we recommend limiting the use of this mode to long trips.
82
+ * @param vehicle_tag VIN or id field of a vehicle
83
+ */
84
+ charge_max_range(vehicle_tag: string | number): Promise<CommandResponse>;
85
+ /**
86
+ * Closes the charge port door.
87
+ * @param vehicle_tag VIN or id field of a vehicle
88
+ */
89
+ charge_port_door_close(vehicle_tag: string | number): Promise<CommandResponse>;
90
+ /**
91
+ * Opens the charge port door.
92
+ * @param vehicle_tag VIN or id field of a vehicle
93
+ */
94
+ charge_port_door_open(vehicle_tag: string | number): Promise<CommandResponse>;
95
+ /**
96
+ * Charges in Standard mode.
97
+ * @param vehicle_tag VIN or id field of a vehicle
98
+ */
99
+ charge_standard(vehicle_tag: string | number): Promise<CommandResponse>;
100
+ /**
101
+ * Starts charging the vehicle.
102
+ * @param vehicle_tag VIN or id field of a vehicle
103
+ */
104
+ charge_start(vehicle_tag: string | number): Promise<CommandResponse>;
105
+ /**
106
+ * Stops charging the vehicle.
107
+ * @param vehicle_tag VIN or id field of a vehicle
108
+ */
109
+ charge_stop(vehicle_tag: string | number): Promise<CommandResponse>;
110
+ /**
111
+ * Deactivates PIN to Drive and resets the associated PIN for vehicles running firmware versions 2023.44+. This command is only accessible to fleet managers or owners.
112
+ * @param vehicle_tag VIN or id field of a vehicle
113
+ * @param pin Optional four-digit PIN
114
+ */
115
+ clear_pin_to_drive_admin(vehicle_tag: string | number, pin?: string | number): Promise<CommandResponse>;
116
+ /**
117
+ * Locks the vehicle.
118
+ * @param vehicle_tag VIN or id field of a vehicle
119
+ */
120
+ door_lock(vehicle_tag: string | number): Promise<CommandResponse>;
121
+ /**
122
+ * Unlocks the vehicle.
123
+ * @param vehicle_tag VIN or id field of a vehicle
124
+ */
125
+ door_unlock(vehicle_tag: string | number): Promise<CommandResponse>;
126
+ /**
127
+ * Erases user's data from the user interface. Requires the vehicle to be in park.
128
+ * @param vehicle_tag VIN or id field of a vehicle
129
+ */
130
+ erase_user_data(vehicle_tag: string | number): Promise<CommandResponse>;
131
+ /**
132
+ * Briefly flashes the vehicle headlights. Requires the vehicle to be in park.
133
+ * @param vehicle_tag VIN or id field of a vehicle
134
+ */
135
+ flash_lights(vehicle_tag: string | number): Promise<CommandResponse>;
136
+ /**
137
+ * Restricts certain vehicle UI functionality from guest users
138
+ * @param vehicle_tag VIN or id field of a vehicle
139
+ * @param enable `true` or `false`
140
+ */
141
+ guest_mode(vehicle_tag: string | number, enable: boolean): Promise<CommandResponse>;
142
+ /**
143
+ * Honks the vehicle horn. Requires the vehicle to be in park.
144
+ * @param vehicle_tag VIN or id field of a vehicle
145
+ */
146
+ honk_horn(vehicle_tag: string | number): Promise<CommandResponse>;
147
+ /**
148
+ * Advances media player to next favorite track.
149
+ * @param vehicle_tag VIN or id field of a vehicle
150
+ */
151
+ media_next_fav(vehicle_tag: string | number): Promise<CommandResponse>;
152
+ /**
153
+ * Advances media player to next track.
154
+ * @param vehicle_tag VIN or id field of a vehicle
155
+ */
156
+ media_next_track(vehicle_tag: string | number): Promise<CommandResponse>;
157
+ /**
158
+ * Advances media player to previous favorite track.
159
+ * @param vehicle_tag VIN or id field of a vehicle
160
+ */
161
+ media_prev_fav(vehicle_tag: string | number): Promise<CommandResponse>;
162
+ /**
163
+ * Advances media player to previous track.
164
+ * @param vehicle_tag VIN or id field of a vehicle
165
+ */
166
+ media_prev_track(vehicle_tag: string | number): Promise<CommandResponse>;
167
+ /**
168
+ * Toggles current play/pause state.
169
+ * @param vehicle_tag VIN or id field of a vehicle
170
+ */
171
+ media_toggle_playback(vehicle_tag: string | number): Promise<CommandResponse>;
172
+ /**
173
+ * Turns the volume down by one.
174
+ * @param vehicle_tag VIN or id field of a vehicle
175
+ */
176
+ media_volume_down(vehicle_tag: string | number): Promise<CommandResponse>;
177
+ /**
178
+ * Start navigation to given coordinates. Order can be used to specify order of multiple stops.
179
+ * @param vehicle_tag VIN or id field of a vehicle
180
+ * @param lat Latitude
181
+ * @param lon Longitude
182
+ * @param order Order of multiple stops
183
+ */
184
+ navigation_gps_request(vehicle_tag: string | number, lat: number, lon: number, order?: number): Promise<CommandResponse>;
185
+ /**
186
+ * Sends a location to the in-vehicle navigation system.
187
+ * @param vehicle_tag VIN or id field of a vehicle
188
+ * @param value Destination text
189
+ * @param type "share_ext_content_raw"
190
+ * @param locale ISO locale such as "en-US". Defaults to `DEFAULT_LOCALE`.
191
+ * @param timestamp_ms Defaults to now
192
+ */
193
+ navigation_request(vehicle_tag: string | number, value: string, type?: string, locale?: string | null, timestamp_ms?: number | null): Promise<CommandResponse>;
194
+ /**
195
+ * Start navigation to a supercharger.
196
+ * @param vehicle_tag VIN or id field of a vehicle
197
+ * @param id Supercharger ID
198
+ * @param order Order of multiple stops
199
+ * @returns
200
+ */
201
+ navigation_sc_request(vehicle_tag: string | number, id: number, order?: number): Promise<CommandResponse>;
202
+ /**
203
+ * Sets automatic seat heating and cooling.
204
+ * @param vehicle_tag VIN or id field of a vehicle
205
+ * @param auto_seat_position `AutoSeat` position (1-indexed: front left is 1, front right is 2)
206
+ * @param auto_climate_on `true` or `false`
207
+ */
208
+ remote_auto_seat_climate_request(vehicle_tag: string | number, auto_seat_position: keyof typeof AutoSeat | number, auto_climate_on: boolean): Promise<CommandResponse>;
209
+ /**
210
+ * Sets automatic steering wheel heating on/off.
211
+ * @param vehicle_tag VIN or id field of a vehicle
212
+ * @param on `true` or `false`
213
+ */
214
+ remote_auto_steering_wheel_heat_climate_request(vehicle_tag: string | number, on: boolean): Promise<CommandResponse>;
215
+ /**
216
+ * Plays a sound through the vehicle external speaker.
217
+ * @param vehicle_tag VIN or id field of a vehicle
218
+ * @param sound Fart is `0`, Locate ping is `2000`
219
+ */
220
+ remote_boombox(vehicle_tag: string | number, sound?: number): Promise<CommandResponse>;
221
+ /**
222
+ * Sets seat cooling.
223
+ * @param vehicle_tag VIN or id field of a vehicle
224
+ * @param seat_position Seat position
225
+ * @param seat_cooler_level Cooling level
226
+ */
227
+ remote_seat_cooler_request(vehicle_tag: string | number, seat_position: keyof typeof AutoSeat | number, seat_cooler_level: Level): Promise<CommandResponse>;
228
+ /**
229
+ * Sets seat heating.
230
+ * @param vehicle_tag VIN or id field of a vehicle
231
+ * @param seat_position Seat position
232
+ * @param seat_heater_level Heating level
233
+ */
234
+ remote_seat_heater_request(vehicle_tag: string | number, seat_position: Seat | number, seat_heater_level: Level): Promise<CommandResponse>;
235
+ /**
236
+ * Starts the vehicle remotely. Requires keyless driving to be enabled.
237
+ * @param vehicle_tag VIN or id field of a vehicle
238
+ */
239
+ remote_start_drive(vehicle_tag: string | number): Promise<CommandResponse>;
240
+ /**
241
+ * Sets steering wheel heat level.
242
+ * @param vehicle_tag VIN or id field of a vehicle
243
+ * @param level Heating level
244
+ */
245
+ remote_steering_wheel_heat_level_request(vehicle_tag: string | number, level: Level): Promise<CommandResponse>;
246
+ /**
247
+ * Sets steering wheel heating on/off. For vehicles that do not support auto steering wheel heat.
248
+ * @param vehicle_tag VIN or id field of a vehicle
249
+ * @param on `true` or `false`
250
+ */
251
+ remote_steering_wheel_heater_request(vehicle_tag: string | number, on: boolean): Promise<CommandResponse>;
252
+ /**
253
+ * Removes PIN to Drive. Requires the car to be in Pin to Drive mode and not in Valet mode. Note that this only works if PIN to Drive is not active. This command also requires the Tesla Vehicle Command Protocol - for more information, please see refer to the documentation here.
254
+ * @param vehicle_tag VIN or id field of a vehicle
255
+ */
256
+ reset_pin_to_drive_pin(vehicle_tag: string | number): Promise<CommandResponse>;
257
+ /**
258
+ * Removes PIN for Valet Mode.
259
+ * @param vehicle_tag VIN or id field of a vehicle
260
+ */
261
+ reset_valet_pin(vehicle_tag: string | number): Promise<CommandResponse>;
262
+ /**
263
+ * Schedules a vehicle software update (over the air "OTA") to be installed in the future.
264
+ * @param vehicle_tag VIN or id field of a vehicle
265
+ * @param offset_sec Offset in seconds
266
+ */
267
+ schedule_software_update(vehicle_tag: string | number, offset_sec: number): Promise<CommandResponse>;
268
+ /**
269
+ * Turns Bioweapon Defense Mode on and off.
270
+ * @param vehicle_tag VIN or id field of a vehicle
271
+ * @param on `true` or `false`
272
+ * @param manual_override `true` or `false`
273
+ */
274
+ set_bioweapon_mode(vehicle_tag: string | number, on: boolean, manual_override: boolean): Promise<CommandResponse>;
275
+ /**
276
+ * Sets the vehicle overheat protection.
277
+ * @param vehicle_tag VIN or id field of a vehicle
278
+ * @param on `true` or `false`
279
+ * @param fan_only `true` or `false`
280
+ */
281
+ set_cabin_overheat_protection(vehicle_tag: string | number, on: boolean, fan_only: boolean): Promise<CommandResponse>;
282
+ /**
283
+ * Sets the vehicle's charge limit to a custom percentage.
284
+ * @param vehicle_tag VIN or id field of a vehicle
285
+ * @param percent Charge limit percentage typically between 50-100
286
+ */
287
+ set_charge_limit(vehicle_tag: string | number, percent: number): Promise<CommandResponse>;
288
+ /**
289
+ * Sets the charge limit to the standard setting.
290
+ * @param vehicle_tag VIN or id field of a vehicle
291
+ * @param percent Current limit in Amps typically between 5-32
292
+ */
293
+ set_charging_amps(vehicle_tag: string | number, charging_amps: number): Promise<CommandResponse>;
294
+ /**
295
+ * Enables climate keeper mode.
296
+ * @param vehicle_tag VIN or id field of a vehicle
297
+ * @param climate_keeper_mode `0` is Off, `1` is Keep, `2` is Dog, `3` is Camp
298
+ */
299
+ set_climate_keeper_mode(vehicle_tag: string | number, climate_keeper_mode: number | ClimateMode): Promise<CommandResponse>;
300
+ /**
301
+ * Adjusts the Cabin Overheat Protection temperature (COP).
302
+ * @param vehicle_tag VIN or id field of a vehicle
303
+ * @param cop_temp Integer representing Low (0/30C/90F), Medium (1/35C/95F), or High (2/40C/100F)
304
+ */
305
+ set_cop_temp(vehicle_tag: string | number, cop_temp: 0 | 1 | 2 | 30 | 35 | 40 | 90 | 95 | 100): Promise<CommandResponse>;
306
+ /**
307
+ * Sets a four-digit passcode for PIN to Drive. This PIN must then be entered before the vehicle can be driven.
308
+ * @param vehicle_tag VIN or id field of a vehicle
309
+ * @param on `true` or `false`
310
+ * @param password Four-digit passcode
311
+ */
312
+ set_pin_to_drive(vehicle_tag: string | number, on: boolean, password: string | number): Promise<CommandResponse>;
313
+ /**
314
+ * Sets an override for preconditioning — it should default to empty if no override is used.
315
+ * Also known as "Defrost Mode"
316
+ * @param vehicle_tag VIN or id field of a vehicle
317
+ * @param on `true` or `false`
318
+ * @param manual_override `true` or `false`
319
+ */
320
+ set_preconditioning_max(vehicle_tag: string | number, on: boolean, manual_override: boolean): Promise<CommandResponse>;
321
+ /**
322
+ * Sets a time at which charging should be completed. The time parameter is minutes after midnight (e.g: time=120 schedules charging for 2:00am vehicle local time).
323
+ * @param vehicle_tag VIN or id field of a vehicle
324
+ * @param enable `true` or `false`
325
+ * @param time Minutes after midnight
326
+ */
327
+ set_scheduled_charging(vehicle_tag: string | number, enable: boolean, time: number): Promise<CommandResponse>;
328
+ /**
329
+ * Sets a time at which departure should be completed. The time parameter is minutes after midnight (e.g: time=120 schedules departure for 2:00am vehicle local time).
330
+ * @param vehicle_tag VIN or id field of a vehicle
331
+ * @param enable `true` or `false`
332
+ * @param preconditioning_enabled `true` or `false`
333
+ * @param preconditioning_weekdays_only `true` or `false`
334
+ * @param departure_time Minutes after midnight
335
+ * @param off_peak_charging_enabled `true` or `false`
336
+ * @param off_peak_charging_weekdays_only `true` or `false`
337
+ * @param end_off_peak_time Minutes after midnight
338
+ */
339
+ set_scheduled_departure(vehicle_tag: string | number, enable?: boolean, preconditioning_enabled?: boolean, preconditioning_weekdays_only?: boolean, departure_time?: number, off_peak_charging_enabled?: boolean, off_peak_charging_weekdays_only?: boolean, end_off_peak_time?: number): Promise<CommandResponse>;
340
+ /**
341
+ * Enables and disables Sentry Mode. Sentry Mode allows customers to watch the vehicle cameras live from the mobile app, as well as record sentry events.
342
+ * @param vehicle_tag VIN or id field of a vehicle
343
+ * @param on `true` or `false`
344
+ */
345
+ set_sentry_mode(vehicle_tag: string | number, on: boolean): Promise<CommandResponse>;
346
+ /**
347
+ * Sets the driver and/or passenger-side cabin temperature (and other zones if sync is enabled).
348
+ * @param vehicle_tag VIN or id field of a vehicle
349
+ * @param driver_temp Driver temperature
350
+ * @param passenger_temp Passenger temperature
351
+ */
352
+ set_temps(vehicle_tag: string | number, driver_temp: number, passenger_temp: number): Promise<CommandResponse>;
353
+ /**
354
+ * Turns on Valet Mode and sets a four-digit passcode that must then be entered to disable Valet Mode.
355
+ * @param vehicle_tag VIN or id field of a vehicle
356
+ * @param on `true` or `false`
357
+ * @param password Four-digit passcode
358
+ */
359
+ set_valet_mode(vehicle_tag: string | number, on: boolean, password?: string | number): Promise<CommandResponse>;
360
+ /**
361
+ * Changes the name of a vehicle. This command also requires the Tesla Vehicle Command Protocol - for more information, please see refer to the documentation here.
362
+ * @param vehicle_tag VIN or id field of a vehicle
363
+ * @param vehicle_name New name
364
+ */
365
+ set_vehicle_name(vehicle_tag: string | number, vehicle_name: string): Promise<CommandResponse>;
366
+ /**
367
+ * Activates Speed Limit Mode with a four-digit PIN.
368
+ * @param vehicle_tag VIN or id field of a vehicle
369
+ * @param pin Four-digit PIN
370
+ */
371
+ speed_limit_activate(vehicle_tag: string | number, pin: string | number): Promise<CommandResponse>;
372
+ /**
373
+ * Deactivates Speed Limit Mode and resets the associated PIN.
374
+ * @param vehicle_tag VIN or id field of a vehicle
375
+ * @param pin Four-digit PIN
376
+ */
377
+ speed_limit_clear_pin(vehicle_tag: string | number, pin: string | number): Promise<CommandResponse>;
378
+ /**
379
+ * Deactivates Speed Limit Mode and resets the associated PIN for vehicles running firmware versions 2023.38+. This command is only accessible to fleet managers or owners.
380
+ * @param vehicle_tag VIN or id field of a vehicle
381
+ */
382
+ speed_limit_clear_pin_admin(vehicle_tag: string | number): Promise<CommandResponse>;
383
+ /**
384
+ * Deactivates Speed Limit Mode.
385
+ * @param vehicle_tag VIN or id field of a vehicle
386
+ * @param pin Four-digit PIN
387
+ */
388
+ speed_limit_deactivate(vehicle_tag: string | number, pin: string | number): Promise<CommandResponse>;
389
+ /**
390
+ * Sets the maximum speed allowed when Speed Limit Mode is active.
391
+ * @param vehicle_tag VIN or id field of a vehicle
392
+ * @param limit_mph Maximum speed in MPH
393
+ */
394
+ speed_limit_set_limit(vehicle_tag: string | number, limit_mph: number): Promise<CommandResponse>;
395
+ /**
396
+ * Controls the panoramic sunroof on the Model S.
397
+ * @param vehicle_tag VIN or id field of a vehicle
398
+ * @param state "stop", "close" or "vent"
399
+ */
400
+ sun_roof_control(vehicle_tag: string | number, state: "stop" | "close" | "vent"): Promise<CommandResponse>;
401
+ /**
402
+ * Records a drive note. The note parameter is truncated to 80 characters in length.
403
+ * @param vehicle_tag VIN or id field of a vehicle
404
+ * @param note Drive note
405
+ */
406
+ take_drivenote(vehicle_tag: string | number, note: string): Promise<CommandResponse>;
407
+ /**
408
+ * Turns on HomeLink (used to open and close garage doors).
409
+ * @param vehicle_tag VIN or id field of a vehicle
410
+ * @param token
411
+ * @param lat Latitude
412
+ * @param lon Longitude
413
+ */
414
+ trigger_homelink(vehicle_tag: string | number, token?: string, lat?: number, lon?: number): Promise<CommandResponse>;
415
+ /**
416
+ * Upcoming calendar entries stored on the vehicle.
417
+ * @param vehicle_tag VIN or id field of a vehicle
418
+ * @param calendar_data Calendar data
419
+ */
420
+ upcoming_calendar_entries(vehicle_tag: string | number, calendar_data: string): Promise<CommandResponse>;
421
+ /**
422
+ * Control the windows of a parked vehicle. Supported commands: vent and close. When closing, specify lat and lon of user to ensure they are within range of vehicle (unless this is an M3 platform vehicle).
423
+ * @param vehicle_tag VIN or id field of a vehicle
424
+ * @param command "vent" or "close"
425
+ * @param lat Latitude
426
+ * @param lon Longitude
427
+ */
428
+ window_control(vehicle_tag: string | number, command: "vent" | "close", lat?: number, lon?: number): Promise<CommandResponse>;
429
+ /**
430
+ * Returns all allowed drivers for a vehicle. This endpoint is only available for the vehicle owner.
431
+ * @param vehicle_tag VIN or id field of a vehicle
432
+ */
433
+ drivers(vehicle_tag: string | number): Promise<ResponseEnvelope<Record<string, any>[]>>;
434
+ /**
435
+ * Removes driver access from a vehicle. Share users can only remove their own access. Owners can remove share access or their own.
436
+ * @param vehicle_tag VIN or id field of a vehicle
437
+ * @param share_user_id
438
+ */
439
+ drivers_remove(vehicle_tag: string | number, share_user_id?: string | number): Promise<Record<string, any>>;
440
+ /**
441
+ * Returns eligible vehicle subscriptions.
442
+ * @param vin Vehicle Identification Number
443
+ */
444
+ eligible_subscriptions(vin: string): Promise<Record<string, any>>;
445
+ /**
446
+ * Returns eligibile vehicle upgrades.
447
+ * @param vin Vehicle Identification Number
448
+ */
449
+ eligible_upgrades(vin: string): Promise<Record<string, any>>;
450
+ /**
451
+ * Checks whether vehicles can accept Tesla commands protocol for the partner's public key
452
+ * @param vins list of Vehicle Identification Number
453
+ * @returns
454
+ */
455
+ fleet_status(vins: Array<string>): Promise<Record<string, any>>;
456
+ /**
457
+ * Configures vehicles to connect to self-hosted fleet-telemetry server. This endpoint has concurrency 1 (status 429 will be returned if many calls are made at the same time). Multiple vehicles can be configured with a single call.
458
+ * @param config A dictionary description the fleet telemetry configuration
459
+ * @returns
460
+ */
461
+ fleet_telemetry_config_create(config: FleetTelemetryConfig): Promise<Record<string, any>>;
462
+ /**
463
+ * Disconnects vehicles to stream telemetry data to self hosted fleet-telemetry server.
464
+ * @param vehicle_tag VIN or id field of a vehicle
465
+ * @returns
466
+ */
467
+ fleet_telemetry_config_delete(vehicle_tag: string | number): Promise<Record<string, any>>;
468
+ /**
469
+ * Fetches a vehicle's fleet telemetry config. synced set to true means the vehicle has adopted the target config. synced set to false means the vehicle will attempt to adopt the target config when it next establishes a backend connection.
470
+ * @param vehicle_tag VIN or id field of a vehicle
471
+ * @returns
472
+ */
473
+ fleet_telemetry_config_get(vehicle_tag: string | number): Promise<Record<string, any>>;
474
+ /**
475
+ * Returns vehicles belonging to the account.
476
+ * @param page Page number
477
+ * @param per_page Number of items per page
478
+ */
479
+ list(page?: number, per_page?: number): Promise<Record<string, any>>;
480
+ /**
481
+ * Returns whether or not mobile access is enabled for the vehicle.
482
+ * @param vehicle_tag VIN or id field of a vehicle
483
+ */
484
+ mobile_enabled(vehicle_tag: string | number): Promise<Record<string, any>>;
485
+ /**
486
+ * Returns the charging sites near the current location of the vehicle.
487
+ * @param vehicle_tag VIN or id field of a vehicle
488
+ * @param count
489
+ * @param radius
490
+ * @param detail
491
+ */
492
+ nearby_charging_sites(vehicle_tag: string | number, count?: number, radius?: number, detail?: boolean): Promise<Record<string, any>>;
493
+ /**
494
+ * Returns vehicle option details.
495
+ * @param vin Vehicle Identification Number
496
+ */
497
+ options(vin: string): Promise<OptionsResponse>;
498
+ /**
499
+ * List of recent alerts
500
+ * @param vehicle_tag VIN or id field of a vehicle
501
+ */
502
+ recent_alerts(vehicle_tag: string | number): Promise<Record<string, any>>;
503
+ /**
504
+ * Returns firmware release notes.
505
+ * @param vehicle_tag VIN or id field of a vehicle
506
+ * @param staged
507
+ * @param language
508
+ */
509
+ release_notes(vehicle_tag: string | number, staged?: boolean, language?: string): Promise<Record<string, any>>;
510
+ /**
511
+ * Returns service data.
512
+ * @param vehicle_tag VIN or id field of a vehicle
513
+ */
514
+ service_data(vehicle_tag: string | number): Promise<Record<string, any>>;
515
+ /**
516
+ * Returns the share invites for a vehicle.
517
+ * @param vehicle_tag VIN or id field of a vehicle
518
+ */
519
+ share_invites(vehicle_tag: string | number): Promise<Record<string, any>>;
520
+ /**
521
+ * Creates a share invite for a vehicle.
522
+ * @param vehicle_tag VIN or id field of a vehicle
523
+ */
524
+ share_invites_create(vehicle_tag: string | number): Promise<Record<string, any>>;
525
+ /**
526
+ * Redeems a share invite.
527
+ * @param code
528
+ */
529
+ share_invites_redeem(code: string): Promise<Record<string, any>>;
530
+ /**
531
+ * Revokes a share invite.
532
+ * @param vehicle_tag VIN or id field of a vehicle
533
+ * @param id
534
+ */
535
+ share_invites_revoke(vehicle_tag: string | number, id: string): Promise<Record<string, any>>;
536
+ /**
537
+ * Signed Commands is a generic endpoint replacing legacy commands.
538
+ * @param vehicle_tag VIN or id field of a vehicle
539
+ * @param routable_message
540
+ */
541
+ signed_command(vehicle_tag: string | number, routable_message: string): Promise<Record<string, any>>;
542
+ /**
543
+ * Returns information about a vehicle.
544
+ * @param vehicle_tag VIN or id field of a vehicle
545
+ */
546
+ vehicle(vehicle_tag: string | number): Promise<ResponseEnvelope<VehicleResponse>>;
547
+ /**
548
+ * Makes a live call to the vehicle. This may return cached data if the vehicle is offline. For vehicles running firmware versions 2023.38+, location_data is required to fetch vehicle location. This will result in a location sharing icon to show on the vehicle UI.
549
+ * @param vehicle_tag VIN or id field of a vehicle
550
+ * @param endpoints
551
+ */
552
+ vehicle_data(vehicle_tag: string | number, endpoints?: VehicleDataEndpoint[] | string): Promise<ResponseEnvelope<VehicleDataResponse>>;
553
+ /**
554
+ * Wakes the vehicle from sleep, which is a state to minimize idle energy consumption.
555
+ * @param vehicle_tag VIN or id field of a vehicle
556
+ * @param options.wait Poll `vehicle()` until the vehicle reports `online`, raising `VehicleOffline` at the deadline
557
+ * @param options.timeoutMs Deadline for `wait`, in milliseconds (default 60000)
558
+ */
559
+ wake_up(vehicle_tag: string | number, { wait, timeoutMs }?: WakeUpOptions): Promise<ResponseEnvelope<VehicleResponse>>;
560
+ /**
561
+ * Returns warranty details.
562
+ * @param vin
563
+ */
564
+ warranty_details(vin: string): Promise<Record<string, any>>;
565
+ }