tesla_api 1.3.0 → 1.4.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/apiary.apib +0 -710
  3. data/docs/SUMMARY.md +9 -5
  4. data/docs/api-basics/vehicles.md +2 -0
  5. data/docs/miscellaneous/README.md +9 -0
  6. data/docs/miscellaneous/endpoints.md +407 -0
  7. data/docs/vehicle/commands/README.md +45 -4
  8. data/docs/vehicle/commands/alerts.md +24 -0
  9. data/docs/vehicle/commands/charging.md +97 -0
  10. data/docs/vehicle/commands/climate.md +46 -0
  11. data/docs/vehicle/commands/doors.md +24 -0
  12. data/docs/vehicle/commands/media.md +92 -0
  13. data/docs/vehicle/commands/navigation.md +33 -0
  14. data/docs/vehicle/commands/remotestart.md +17 -0
  15. data/docs/vehicle/commands/softwareupdate.md +30 -0
  16. data/docs/vehicle/commands/speedlimit.md +74 -0
  17. data/docs/vehicle/commands/sunroof.md +19 -0
  18. data/docs/vehicle/commands/trunk.md +17 -0
  19. data/docs/vehicle/commands/valet.md +35 -0
  20. data/docs/vehicle/commands/wake.md +26 -0
  21. data/docs/vehicle/optioncodes.md +4 -0
  22. data/docs/vehicle/state/README.md +5 -1
  23. data/docs/vehicle/state/chargestate.md +35 -36
  24. data/docs/vehicle/state/climatestate.md +19 -20
  25. data/docs/vehicle/state/data.md +122 -108
  26. data/docs/vehicle/state/drivestate.md +7 -8
  27. data/docs/vehicle/state/guisettings.md +4 -5
  28. data/docs/vehicle/state/nearbychargingsites.md +12 -0
  29. data/docs/vehicle/state/vehiclestate.md +10 -7
  30. data/lib/tesla_api/vehicle.rb +25 -0
  31. data/lib/tesla_api/version.rb +1 -1
  32. data/spec/cassettes/vehicle-cancel_software_update.yml +100 -0
  33. data/spec/cassettes/vehicle-charge_port_door_close.yml +100 -0
  34. data/spec/cassettes/vehicle-data.yml +103 -0
  35. data/spec/cassettes/vehicle-navigation_request.yml +100 -0
  36. data/spec/cassettes/vehicle-nearby_charging_sites.yml +95 -0
  37. data/spec/cassettes/vehicle-schedule_software_update.yml +100 -0
  38. data/spec/lib/tesla_api/vehicle_spec.rb +47 -22
  39. metadata +18 -13
  40. data/spec/cassettes/vehicle-sun_roof_control-comfort.yml +0 -130
  41. data/spec/cassettes/vehicle-sun_roof_control-open.yml +0 -130
  42. data/spec/cassettes/vehicle-sun_roof_move-0.yml +0 -130
  43. data/spec/cassettes/vehicle-sun_roof_move-100.yml +0 -130
  44. data/spec/cassettes/vehicle-sun_roof_move-50.yml +0 -130
@@ -9,19 +9,18 @@ Returns the driving and position state of the vehicle.
9
9
  ```json
10
10
  {
11
11
  "response": {
12
- "shift_state": null,
13
- "speed": null,
14
- "power": 0,
12
+ "gps_as_of": 1543187664,
13
+ "heading": 8,
15
14
  "latitude": 33.111111,
16
15
  "longitude": -88.111111,
17
- "heading": 5,
18
- "gps_as_of": 1538365363,
19
- "native_location_supported": 1,
20
16
  "native_latitude": 33.111111,
17
+ "native_location_supported": 1,
21
18
  "native_longitude": -88.111111,
22
19
  "native_type": "wgs",
23
- "timestamp": 1538365436098
20
+ "power": 0,
21
+ "shift_state": null,
22
+ "speed": null,
23
+ "timestamp": 1543187666472
24
24
  }
25
25
  }
26
26
  ```
27
-
@@ -9,13 +9,12 @@ Returns various information about the GUI settings of the car, such as unit form
9
9
  ```json
10
10
  {
11
11
  "response": {
12
- "gui_distance_units": "mi/hr",
13
- "gui_temperature_units": "F",
14
- "gui_charge_rate_units": "mi/hr",
15
12
  "gui_24_hour_time": false,
13
+ "gui_charge_rate_units": "mi/hr",
14
+ "gui_distance_units": "mi/hr",
16
15
  "gui_range_display": "Rated",
17
- "timestamp": 1538365490671
16
+ "gui_temperature_units": "F",
17
+ "timestamp": 1543187561462
18
18
  }
19
19
  }
20
20
  ```
21
-
@@ -0,0 +1,12 @@
1
+ # Nearby Charging Sites
2
+
3
+ ## GET `/api/1/vehicles/{id}/nearby_charging_sites`
4
+
5
+ Returns a list of nearby Tesla-operated charging stations. (Requires car software version 2018.48 or higher.)
6
+
7
+ ### Response
8
+
9
+ ```json
10
+ // TBD
11
+ ```
12
+
@@ -9,39 +9,42 @@ Returns the vehicle's physical state, such as which doors are open.
9
9
  ```json
10
10
  {
11
11
  "response": {
12
- "api_version": 3,
13
- "autopark_state_v2": "standby",
12
+ "api_version": 4,
13
+ "autopark_state_v2": "ready",
14
14
  "autopark_style": "standard",
15
15
  "calendar_supported": true,
16
- "car_version": "2018.34.1 3dd3072",
16
+ "car_version": "2018.42.2 19e7e44",
17
17
  "center_display_state": 0,
18
18
  "df": 0,
19
19
  "dr": 0,
20
20
  "ft": 0,
21
21
  "homelink_nearby": true,
22
+ "is_user_present": false,
22
23
  "last_autopark_error": "no_error",
23
24
  "locked": true,
25
+ "media_state": { "remote_control_enabled": true },
24
26
  "notifications_supported": true,
25
- "odometer": 33561.422505,
27
+ "odometer": 36051.517239,
26
28
  "parsed_calendar_supported": true,
27
29
  "pf": 0,
28
30
  "pr": 0,
29
31
  "remote_start": false,
30
32
  "remote_start_supported": true,
31
33
  "rt": 0,
34
+ "software_update": { "expected_duration_sec": 2700, "status": "" },
32
35
  "speed_limit_mode": {
33
36
  "active": false,
34
- "current_limit_mph": 75.0,
37
+ "current_limit_mph": 50.0,
35
38
  "max_limit_mph": 90,
36
39
  "min_limit_mph": 50,
37
40
  "pin_code_set": false
38
41
  },
39
42
  "sun_roof_percent_open": 0,
40
43
  "sun_roof_state": "unknown",
41
- "timestamp": 1538365559247,
44
+ "timestamp": 1543187581934,
42
45
  "valet_mode": false,
46
+ "valet_pin_needed": true,
43
47
  "vehicle_name": "Nikola 2.0"
44
48
  }
45
49
  }
46
50
  ```
47
-
@@ -34,6 +34,10 @@ module TeslaApi
34
34
  api.get("/vehicles/#{id}/mobile_enabled")['response']
35
35
  end
36
36
 
37
+ def nearby_charging_sites
38
+ api.get("/vehicles/#{id}/nearby_charging_sites")['response']
39
+ end
40
+
37
41
  def gui_settings
38
42
  data_request('gui_settings')['response']
39
43
  end
@@ -72,6 +76,10 @@ module TeslaApi
72
76
  command('charge_port_door_open')['response']
73
77
  end
74
78
 
79
+ def charge_port_door_close
80
+ command('charge_port_door_close')['response']
81
+ end
82
+
75
83
  def charge_standard
76
84
  command('charge_standard')['response']
77
85
  end
@@ -156,6 +164,23 @@ module TeslaApi
156
164
  command('speed_limit_clear_pin', body: {pin: pin})['response']
157
165
  end
158
166
 
167
+ def navigation_request(address)
168
+ command('navigation_request', body: {
169
+ type: 'share_ext_content_raw',
170
+ locale: 'en-US',
171
+ timestamp_ms: Time.now.to_i,
172
+ value: {'android.intent.extra.TEXT' => address}
173
+ })['response']
174
+ end
175
+
176
+ def schedule_software_update(offset_sec = 0)
177
+ command('schedule_software_update', body: {offset_sec: offset_sec})['response']
178
+ end
179
+
180
+ def cancel_software_update
181
+ command('cancel_software_update')['response']
182
+ end
183
+
159
184
  private
160
185
 
161
186
  def data_request(name)
@@ -1,3 +1,3 @@
1
1
  module TeslaApi
2
- VERSION = '1.3.0'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -0,0 +1,100 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://owner-api.teslamotors.com/api/1/vehicles
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - github.com/timdorr/tesla-api v:1.3.0
12
+ Authorization:
13
+ - Bearer <TESLA_API_TOKEN>
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - nginx
21
+ Date:
22
+ - Tue, 11 Dec 2018 03:59:06 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '659'
27
+ Connection:
28
+ - keep-alive
29
+ X-Frame-Options:
30
+ - SAMEORIGIN
31
+ - SAMEORIGIN
32
+ X-Xss-Protection:
33
+ - 1; mode=block
34
+ X-Content-Type-Options:
35
+ - nosniff
36
+ X-Txid:
37
+ - 27955654740d1c78c3a1443113ad7fb3
38
+ Etag:
39
+ - W/"0d85a34aa9e150f718d20dc8c7a68fb1"
40
+ Cache-Control:
41
+ - max-age=0, private, must-revalidate
42
+ X-Request-Id:
43
+ - 96720096-cff6-4af3-bacb-f9731e8db0b5
44
+ X-Runtime:
45
+ - '0.042320'
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"response":[{"id":19298251174317440,"vehicle_id":1817902171,"vin":"5YJSA1E41GF167745","display_name":"Nikola
49
+ 2.0","option_codes":"MDLS,RENA,AF02,APF1,APH2,APPB,AU01,BC0R,BP00,BR00,BS00,CDM0,CH05,PBCW,CW00,DCF0,DRLH,DSH7,DV4W,FG02,FR04,HP00,IDBA,IX01,LP01,ME02,MI01,PF01,PI01,PK00,PS01,PX00,PX4D,QTVB,RFP2,SC01,SP00,SR01,SU01,TM00,TP03,TR00,UTAB,WTAS,X001,X003,X007,X011,X013,X021,X024,X027,X028,X031,X037,X040,X044,YFFC,COUS","color":null,"tokens":["08f5098517a10231","8d219a2e09242e02"],"state":"online","in_service":false,"id_s":"19298251174317440","calendar_enabled":true,"api_version":4,"backseat_token":null,"backseat_token_updated_at":null}],"count":1}'
50
+ http_version:
51
+ recorded_at: Tue, 11 Dec 2018 03:59:06 GMT
52
+ - request:
53
+ method: post
54
+ uri: https://owner-api.teslamotors.com/api/1/vehicles/19298251174317440/command/cancel_software_update
55
+ body:
56
+ encoding: UTF-8
57
+ string: ''
58
+ headers:
59
+ User-Agent:
60
+ - github.com/timdorr/tesla-api v:1.3.0
61
+ Authorization:
62
+ - Bearer <TESLA_API_TOKEN>
63
+ response:
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ headers:
68
+ Server:
69
+ - nginx
70
+ Date:
71
+ - Tue, 11 Dec 2018 03:59:07 GMT
72
+ Content-Type:
73
+ - application/json; charset=utf-8
74
+ Content-Length:
75
+ - '40'
76
+ Connection:
77
+ - keep-alive
78
+ X-Frame-Options:
79
+ - SAMEORIGIN
80
+ - SAMEORIGIN
81
+ X-Xss-Protection:
82
+ - 1; mode=block
83
+ X-Content-Type-Options:
84
+ - nosniff
85
+ X-Txid:
86
+ - 637d5862f7a5bd11bfdd7521fde3d607
87
+ Etag:
88
+ - W/"f67eec105dd6522783a1f1bacc52723a"
89
+ Cache-Control:
90
+ - max-age=0, private, must-revalidate
91
+ X-Request-Id:
92
+ - 628f2e19-3def-4bda-afd4-beb8859a734f
93
+ X-Runtime:
94
+ - '0.394726'
95
+ body:
96
+ encoding: UTF-8
97
+ string: '{"response":{"reason":"","result":true}}'
98
+ http_version:
99
+ recorded_at: Tue, 11 Dec 2018 03:59:07 GMT
100
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,100 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://owner-api.teslamotors.com/api/1/vehicles
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - github.com/timdorr/tesla-api v:1.3.0
12
+ Authorization:
13
+ - Bearer <TESLA_API_TOKEN>
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - nginx
21
+ Date:
22
+ - Tue, 11 Dec 2018 03:44:57 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '659'
27
+ Connection:
28
+ - keep-alive
29
+ X-Frame-Options:
30
+ - SAMEORIGIN
31
+ - SAMEORIGIN
32
+ X-Xss-Protection:
33
+ - 1; mode=block
34
+ X-Content-Type-Options:
35
+ - nosniff
36
+ X-Txid:
37
+ - 15cb55dec7d2d1dc78cd67598aa706f6
38
+ Etag:
39
+ - W/"b26b5170c82c57684330e746935a0a44"
40
+ Cache-Control:
41
+ - max-age=0, private, must-revalidate
42
+ X-Request-Id:
43
+ - 4c97b069-a150-4e57-a26f-429af72c15d7
44
+ X-Runtime:
45
+ - '0.018406'
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"response":[{"id":19298251174317440,"vehicle_id":1817902171,"vin":"5YJSA1E41GF167745","display_name":"Nikola
49
+ 2.0","option_codes":"MDLS,RENA,AF02,APF1,APH2,APPB,AU01,BC0R,BP00,BR00,BS00,CDM0,CH05,PBCW,CW00,DCF0,DRLH,DSH7,DV4W,FG02,FR04,HP00,IDBA,IX01,LP01,ME02,MI01,PF01,PI01,PK00,PS01,PX00,PX4D,QTVB,RFP2,SC01,SP00,SR01,SU01,TM00,TP03,TR00,UTAB,WTAS,X001,X003,X007,X011,X013,X021,X024,X027,X028,X031,X037,X040,X044,YFFC,COUS","color":null,"tokens":["8d219a2e09242e02","b12ead7cd34f97da"],"state":"online","in_service":false,"id_s":"19298251174317440","calendar_enabled":true,"api_version":4,"backseat_token":null,"backseat_token_updated_at":null}],"count":1}'
50
+ http_version:
51
+ recorded_at: Tue, 11 Dec 2018 03:44:57 GMT
52
+ - request:
53
+ method: post
54
+ uri: https://owner-api.teslamotors.com/api/1/vehicles/19298251174317440/command/charge_port_door_close
55
+ body:
56
+ encoding: UTF-8
57
+ string: ''
58
+ headers:
59
+ User-Agent:
60
+ - github.com/timdorr/tesla-api v:1.3.0
61
+ Authorization:
62
+ - Bearer <TESLA_API_TOKEN>
63
+ response:
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ headers:
68
+ Server:
69
+ - nginx
70
+ Date:
71
+ - Tue, 11 Dec 2018 03:44:57 GMT
72
+ Content-Type:
73
+ - application/json; charset=utf-8
74
+ Content-Length:
75
+ - '40'
76
+ Connection:
77
+ - keep-alive
78
+ X-Frame-Options:
79
+ - SAMEORIGIN
80
+ - SAMEORIGIN
81
+ X-Xss-Protection:
82
+ - 1; mode=block
83
+ X-Content-Type-Options:
84
+ - nosniff
85
+ X-Txid:
86
+ - c09dc914f843986f904fd37003063934
87
+ Etag:
88
+ - W/"f67eec105dd6522783a1f1bacc52723a"
89
+ Cache-Control:
90
+ - max-age=0, private, must-revalidate
91
+ X-Request-Id:
92
+ - 3e178497-b115-450c-9c89-602dc7e5a505
93
+ X-Runtime:
94
+ - '0.214039'
95
+ body:
96
+ encoding: UTF-8
97
+ string: '{"response":{"reason":"","result":true}}'
98
+ http_version:
99
+ recorded_at: Tue, 11 Dec 2018 03:44:57 GMT
100
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,103 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://owner-api.teslamotors.com/api/1/vehicles
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - github.com/timdorr/tesla-api v:1.3.0
12
+ Authorization:
13
+ - Bearer <TESLA_API_TOKEN>
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - nginx
21
+ Date:
22
+ - Tue, 11 Dec 2018 03:36:25 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '659'
27
+ Connection:
28
+ - keep-alive
29
+ X-Frame-Options:
30
+ - SAMEORIGIN
31
+ - SAMEORIGIN
32
+ X-Xss-Protection:
33
+ - 1; mode=block
34
+ X-Content-Type-Options:
35
+ - nosniff
36
+ X-Txid:
37
+ - f5858ba54b27bda29431e24f84f7dc79
38
+ Etag:
39
+ - W/"b26b5170c82c57684330e746935a0a44"
40
+ Cache-Control:
41
+ - max-age=0, private, must-revalidate
42
+ X-Request-Id:
43
+ - e76970d8-dd26-47ea-bd34-f6f79a0b1388
44
+ X-Runtime:
45
+ - '0.021069'
46
+ body:
47
+ encoding: UTF-8
48
+ string: '{"response":[{"id":19298251174317440,"vehicle_id":1817902171,"vin":"5YJSA1E41GF167745","display_name":"Nikola
49
+ 2.0","option_codes":"MDLS,RENA,AF02,APF1,APH2,APPB,AU01,BC0R,BP00,BR00,BS00,CDM0,CH05,PBCW,CW00,DCF0,DRLH,DSH7,DV4W,FG02,FR04,HP00,IDBA,IX01,LP01,ME02,MI01,PF01,PI01,PK00,PS01,PX00,PX4D,QTVB,RFP2,SC01,SP00,SR01,SU01,TM00,TP03,TR00,UTAB,WTAS,X001,X003,X007,X011,X013,X021,X024,X027,X028,X031,X037,X040,X044,YFFC,COUS","color":null,"tokens":["8d219a2e09242e02","b12ead7cd34f97da"],"state":"online","in_service":false,"id_s":"19298251174317440","calendar_enabled":true,"api_version":4,"backseat_token":null,"backseat_token_updated_at":null}],"count":1}'
50
+ http_version:
51
+ recorded_at: Tue, 11 Dec 2018 03:36:25 GMT
52
+ - request:
53
+ method: get
54
+ uri: https://owner-api.teslamotors.com/api/1/vehicles/19298251174317440/data
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ''
58
+ headers:
59
+ User-Agent:
60
+ - github.com/timdorr/tesla-api v:1.3.0
61
+ Authorization:
62
+ - Bearer <TESLA_API_TOKEN>
63
+ response:
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ headers:
68
+ Server:
69
+ - nginx
70
+ Date:
71
+ - Tue, 11 Dec 2018 03:36:31 GMT
72
+ Content-Type:
73
+ - application/json; charset=utf-8
74
+ Content-Length:
75
+ - '4454'
76
+ Connection:
77
+ - keep-alive
78
+ X-Frame-Options:
79
+ - SAMEORIGIN
80
+ - SAMEORIGIN
81
+ X-Xss-Protection:
82
+ - 1; mode=block
83
+ X-Content-Type-Options:
84
+ - nosniff
85
+ X-Txid:
86
+ - ee819e52b1e0dfe4e9f1f51c0dd9a1e5
87
+ Etag:
88
+ - W/"4f099b5aee5cb3f957cdec4009e0a670"
89
+ Cache-Control:
90
+ - max-age=0, private, must-revalidate
91
+ X-Request-Id:
92
+ - d5fbfd6b-543a-4827-874e-96fa5bddad2c
93
+ X-Runtime:
94
+ - '5.414298'
95
+ body:
96
+ encoding: UTF-8
97
+ string: '{"response":{"id":19298251174317440,"user_id":1023,"vehicle_id":1817902171,"vin":"5YJSA1E41GF167745","display_name":"Nikola
98
+ 2.0","option_codes":"MDLS,RENA,AF02,APF1,APH2,APPB,AU01,BC0R,BP00,BR00,BS00,CDM0,CH05,PBCW,CW00,DCF0,DRLH,DSH7,DV4W,FG02,FR04,HP00,IDBA,IX01,LP01,ME02,MI01,PF01,PI01,PK00,PS01,PX00,PX4D,QTVB,RFP2,SC01,SP00,SR01,SU01,TM00,TP03,TR00,UTAB,WTAS,X001,X003,X007,X011,X013,X021,X024,X027,X028,X031,X037,X040,X044,YFFC,COUS","color":null,"tokens":["8d219a2e09242e02","b12ead7cd34f97da"],"state":"online","in_service":false,"id_s":"19298251174317440","calendar_enabled":true,"api_version":4,"backseat_token":null,"backseat_token_updated_at":null,"vehicle_config":{"can_accept_navigation_requests":true,"can_actuate_trunks":true,"car_special_type":"base","car_type":"models2","charge_port_type":"US","eu_vehicle":false,"exterior_color":"White","has_air_suspension":true,"has_ludicrous_mode":false,"motorized_charge_port":true,"perf_config":"P2","plg":true,"rear_seat_heaters":0,"rear_seat_type":0,"rhd":false,"roof_color":"None","seat_type":2,"spoiler_type":"None","sun_roof_installed":2,"third_row_seats":"None","timestamp":1544499391151,"trim_badging":"p90d","wheel_type":"AeroTurbine19"},"drive_state":{"gps_as_of":1544499390,"heading":5,"latitude":33.979812,"longitude":-84.469132,"native_latitude":33.979812,"native_location_supported":1,"native_longitude":-84.469132,"native_type":"wgs","power":-9,"shift_state":null,"speed":null,"timestamp":1544499391157},"gui_settings":{"gui_24_hour_time":false,"gui_charge_rate_units":"mi/hr","gui_distance_units":"mi/hr","gui_range_display":"Rated","gui_temperature_units":"F","timestamp":1544499391160},"climate_state":{"battery_heater":false,"battery_heater_no_power":false,"driver_temp_setting":21.1,"fan_status":0,"inside_temp":15.0,"is_auto_conditioning_on":false,"is_climate_on":false,"is_front_defroster_on":false,"is_preconditioning":false,"is_rear_defroster_on":false,"left_temp_direction":150,"max_avail_temp":28.0,"min_avail_temp":15.0,"outside_temp":4.5,"passenger_temp_setting":21.1,"right_temp_direction":150,"seat_heater_left":false,"seat_heater_rear_center":false,"seat_heater_rear_left":false,"seat_heater_rear_left_back":0,"seat_heater_rear_right":false,"seat_heater_rear_right_back":0,"seat_heater_right":false,"side_mirror_heaters":false,"smart_preconditioning":false,"steering_wheel_heater":false,"timestamp":1544499391160,"wiper_blade_heater":false},"vehicle_state":{"api_version":4,"autopark_state_v2":"standby","autopark_style":"standard","calendar_supported":true,"car_version":"2018.42.2
99
+ 19e7e44","center_display_state":0,"df":0,"dr":0,"ft":0,"homelink_nearby":true,"is_user_present":false,"last_autopark_error":"no_error","locked":true,"media_state":{"remote_control_enabled":true},"notifications_supported":true,"odometer":36656.637738,"parsed_calendar_supported":true,"pf":0,"pr":0,"remote_start":false,"remote_start_supported":true,"rt":0,"software_update":{"expected_duration_sec":6000,"status":"available"},"speed_limit_mode":{"active":false,"current_limit_mph":50.0,"max_limit_mph":90,"min_limit_mph":50,"pin_code_set":false},"sun_roof_percent_open":0,"sun_roof_state":"unknown","timestamp":1544499391160,"valet_mode":false,"valet_pin_needed":true,"vehicle_name":"Nikola
100
+ 2.0"},"charge_state":{"battery_heater_on":false,"battery_level":73,"battery_range":187.18,"charge_current_request":40,"charge_current_request_max":40,"charge_enable_request":true,"charge_energy_added":14.32,"charge_limit_soc":90,"charge_limit_soc_max":100,"charge_limit_soc_min":50,"charge_limit_soc_std":90,"charge_miles_added_ideal":58.0,"charge_miles_added_rated":46.0,"charge_port_door_open":true,"charge_port_latch":"Engaged","charge_rate":28.1,"charge_to_max_range":false,"charger_actual_current":39,"charger_phases":1,"charger_pilot_current":40,"charger_power":9,"charger_voltage":243,"charging_state":"Charging","conn_charge_cable":"SAE","est_battery_range":157.31,"fast_charger_brand":"\u003cinvalid\u003e","fast_charger_present":false,"fast_charger_type":"\u003cinvalid\u003e","ideal_battery_range":233.97,"managed_charging_active":false,"managed_charging_start_time":null,"managed_charging_user_canceled":false,"max_range_charge_counter":0,"not_enough_power_to_heat":false,"scheduled_charging_pending":false,"scheduled_charging_start_time":null,"time_to_full_charge":1.5,"timestamp":1544499391155,"trip_charging":false,"usable_battery_level":73,"user_charge_enable_request":null}}}'
101
+ http_version:
102
+ recorded_at: Tue, 11 Dec 2018 03:36:31 GMT
103
+ recorded_with: VCR 4.0.0