tesla_api 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/apiary.apib +0 -710
- data/docs/SUMMARY.md +9 -5
- data/docs/api-basics/vehicles.md +2 -0
- data/docs/miscellaneous/README.md +9 -0
- data/docs/miscellaneous/endpoints.md +407 -0
- data/docs/vehicle/commands/README.md +45 -4
- data/docs/vehicle/commands/alerts.md +24 -0
- data/docs/vehicle/commands/charging.md +97 -0
- data/docs/vehicle/commands/climate.md +46 -0
- data/docs/vehicle/commands/doors.md +24 -0
- data/docs/vehicle/commands/media.md +92 -0
- data/docs/vehicle/commands/navigation.md +33 -0
- data/docs/vehicle/commands/remotestart.md +17 -0
- data/docs/vehicle/commands/softwareupdate.md +30 -0
- data/docs/vehicle/commands/speedlimit.md +74 -0
- data/docs/vehicle/commands/sunroof.md +19 -0
- data/docs/vehicle/commands/trunk.md +17 -0
- data/docs/vehicle/commands/valet.md +35 -0
- data/docs/vehicle/commands/wake.md +26 -0
- data/docs/vehicle/optioncodes.md +4 -0
- data/docs/vehicle/state/README.md +5 -1
- data/docs/vehicle/state/chargestate.md +35 -36
- data/docs/vehicle/state/climatestate.md +19 -20
- data/docs/vehicle/state/data.md +122 -108
- data/docs/vehicle/state/drivestate.md +7 -8
- data/docs/vehicle/state/guisettings.md +4 -5
- data/docs/vehicle/state/nearbychargingsites.md +12 -0
- data/docs/vehicle/state/vehiclestate.md +10 -7
- data/lib/tesla_api/vehicle.rb +25 -0
- data/lib/tesla_api/version.rb +1 -1
- data/spec/cassettes/vehicle-cancel_software_update.yml +100 -0
- data/spec/cassettes/vehicle-charge_port_door_close.yml +100 -0
- data/spec/cassettes/vehicle-data.yml +103 -0
- data/spec/cassettes/vehicle-navigation_request.yml +100 -0
- data/spec/cassettes/vehicle-nearby_charging_sites.yml +95 -0
- data/spec/cassettes/vehicle-schedule_software_update.yml +100 -0
- data/spec/lib/tesla_api/vehicle_spec.rb +47 -22
- metadata +18 -13
- data/spec/cassettes/vehicle-sun_roof_control-comfort.yml +0 -130
- data/spec/cassettes/vehicle-sun_roof_control-open.yml +0 -130
- data/spec/cassettes/vehicle-sun_roof_move-0.yml +0 -130
- data/spec/cassettes/vehicle-sun_roof_move-100.yml +0 -130
- data/spec/cassettes/vehicle-sun_roof_move-50.yml +0 -130
@@ -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:52:42 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
|
+
- 133482a0eb21b88a3bbb970d365529f5
|
38
|
+
Etag:
|
39
|
+
- W/"0d85a34aa9e150f718d20dc8c7a68fb1"
|
40
|
+
Cache-Control:
|
41
|
+
- max-age=0, private, must-revalidate
|
42
|
+
X-Request-Id:
|
43
|
+
- cec88ce0-2eee-40c6-9f7b-4ae66fa0770b
|
44
|
+
X-Runtime:
|
45
|
+
- '0.018938'
|
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:52:42 GMT
|
52
|
+
- request:
|
53
|
+
method: post
|
54
|
+
uri: https://owner-api.teslamotors.com/api/1/vehicles/19298251174317440/command/navigation_request
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: type=share_ext_content_raw&locale=en-US×tamp_ms=1544500362&value[android.intent.extra.TEXT]=1180%20W%20Peachtree%20St%2C%20Atlanta%2C%20GA%2030309
|
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:52:43 GMT
|
72
|
+
Content-Type:
|
73
|
+
- application/json; charset=utf-8
|
74
|
+
Content-Length:
|
75
|
+
- '43'
|
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
|
+
- 0f96fb719f1b87111da5f4809ca3e19a
|
87
|
+
Etag:
|
88
|
+
- W/"6c93a9ca22c89240ebbffee93abe0348"
|
89
|
+
Cache-Control:
|
90
|
+
- max-age=0, private, must-revalidate
|
91
|
+
X-Request-Id:
|
92
|
+
- 1b4238b5-00f7-4187-8f85-e45da6124c05
|
93
|
+
X-Runtime:
|
94
|
+
- '0.459076'
|
95
|
+
body:
|
96
|
+
encoding: UTF-8
|
97
|
+
string: '{"response":{"result":true,"queued":false}}'
|
98
|
+
http_version:
|
99
|
+
recorded_at: Tue, 11 Dec 2018 03:52:43 GMT
|
100
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,95 @@
|
|
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 04:01:43 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
|
+
- c21a79d3bc8fbefa118a466bd7841dbb
|
38
|
+
Etag:
|
39
|
+
- W/"0b0233c8e9ab2c7fcdba390a757e034a"
|
40
|
+
Cache-Control:
|
41
|
+
- max-age=0, private, must-revalidate
|
42
|
+
X-Request-Id:
|
43
|
+
- d7a6f72b-9737-4697-8240-5fb746579067
|
44
|
+
X-Runtime:
|
45
|
+
- '0.018695'
|
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":["921c1c9a2f2b479a","08f5098517a10231"],"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 04:01:43 GMT
|
52
|
+
- request:
|
53
|
+
method: get
|
54
|
+
uri: https://owner-api.teslamotors.com/api/1/vehicles/19298251174317440/nearby_charging_sites
|
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: 400
|
66
|
+
message: Bad Request
|
67
|
+
headers:
|
68
|
+
Server:
|
69
|
+
- nginx
|
70
|
+
Date:
|
71
|
+
- Tue, 11 Dec 2018 04:01:44 GMT
|
72
|
+
Content-Type:
|
73
|
+
- application/json; charset=utf-8
|
74
|
+
Content-Length:
|
75
|
+
- '67'
|
76
|
+
Connection:
|
77
|
+
- keep-alive
|
78
|
+
X-Frame-Options:
|
79
|
+
- SAMEORIGIN
|
80
|
+
X-Xss-Protection:
|
81
|
+
- 1; mode=block
|
82
|
+
X-Content-Type-Options:
|
83
|
+
- nosniff
|
84
|
+
Cache-Control:
|
85
|
+
- no-cache
|
86
|
+
X-Request-Id:
|
87
|
+
- e01a24c4-d7b3-445e-a628-3f37c8bc1cfb
|
88
|
+
X-Runtime:
|
89
|
+
- '0.185555'
|
90
|
+
body:
|
91
|
+
encoding: UTF-8
|
92
|
+
string: '{"response":null,"error":"invalid_endpoint","error_description":""}'
|
93
|
+
http_version:
|
94
|
+
recorded_at: Tue, 11 Dec 2018 04:01:44 GMT
|
95
|
+
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:59:52 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
|
+
- 7ba6b0ffa0a12110ff272668fe5654cd
|
38
|
+
Etag:
|
39
|
+
- W/"0d85a34aa9e150f718d20dc8c7a68fb1"
|
40
|
+
Cache-Control:
|
41
|
+
- max-age=0, private, must-revalidate
|
42
|
+
X-Request-Id:
|
43
|
+
- 5d47f7df-9017-4222-8c17-af1670dcdb47
|
44
|
+
X-Runtime:
|
45
|
+
- '0.020096'
|
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:52 GMT
|
52
|
+
- request:
|
53
|
+
method: post
|
54
|
+
uri: https://owner-api.teslamotors.com/api/1/vehicles/19298251174317440/command/schedule_software_update
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: offset_sec=7200
|
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:53 GMT
|
72
|
+
Content-Type:
|
73
|
+
- application/json; charset=utf-8
|
74
|
+
Content-Length:
|
75
|
+
- '159'
|
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
|
+
- 619c829cb360874596a6326d3e950279
|
87
|
+
Etag:
|
88
|
+
- W/"842860ac949644ddb069883f17553de5"
|
89
|
+
Cache-Control:
|
90
|
+
- max-age=0, private, must-revalidate
|
91
|
+
X-Request-Id:
|
92
|
+
- d61d0bfc-9895-477f-9759-6ea5a31fc51a
|
93
|
+
X-Runtime:
|
94
|
+
- '0.701839'
|
95
|
+
body:
|
96
|
+
encoding: UTF-8
|
97
|
+
string: '{"response":{"expected_duration_sec":6000,"reason":"","result":true,"scheduled_time_ms":1544500793459,"status":"scheduled","warning_time_remaining_ms":120000}}'
|
98
|
+
http_version:
|
99
|
+
recorded_at: Tue, 11 Dec 2018 03:59:53 GMT
|
100
|
+
recorded_with: VCR 4.0.0
|
@@ -25,12 +25,29 @@ RSpec.describe TeslaApi::Vehicle do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
describe '#data', vcr: {cassette_name: 'vehicle-data'} do
|
29
|
+
context 'data about the vehicle\'s overall state' do
|
30
|
+
subject { vehicle.data }
|
31
|
+
|
32
|
+
it { should include('display_name') }
|
33
|
+
it { should include('drive_state') }
|
34
|
+
it { should include('vehicle_state') }
|
35
|
+
it { should include('charge_state') }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
28
39
|
describe '#mobile_enabled', vcr: {cassette_name: 'vehicle-mobile_enabled'} do
|
29
40
|
it 'indicates if mobile app access is enabled' do
|
30
41
|
expect(vehicle.mobile_enabled).to eq(true)
|
31
42
|
end
|
32
43
|
end
|
33
44
|
|
45
|
+
describe '#nearby_charging_sites', vcr: {cassette_name: 'vehicle-nearby_charging_sites'} do
|
46
|
+
pending 'returns a list of nearby charging sites' do
|
47
|
+
expect(vehicle.nearby_charging_sites).to eq([])
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
34
51
|
describe '#gui_settings', vcr: {cassette_name: 'vehicle-gui_settings'} do
|
35
52
|
context 'details for a GUI built on the API' do
|
36
53
|
subject { vehicle.gui_settings }
|
@@ -161,6 +178,18 @@ RSpec.describe TeslaApi::Vehicle do
|
|
161
178
|
end
|
162
179
|
end
|
163
180
|
|
181
|
+
describe '#charge_port_door_open', vcr: {cassette_name: 'vehicle-charge_port_door_open'} do
|
182
|
+
it 'opens the charge port door' do
|
183
|
+
expect(vehicle.charge_port_door_open['result']).to eq(true)
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
describe '#charge_port_door_close', vcr: {cassette_name: 'vehicle-charge_port_door_close'} do
|
188
|
+
it 'closes the charge port door' do
|
189
|
+
expect(vehicle.charge_port_door_close['result']).to eq(true)
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
164
193
|
describe '#charge_start', vcr: {cassette_name: 'vehicle-charge_start'} do
|
165
194
|
it 'starts charging' do
|
166
195
|
expect(vehicle.charge_start['result']).to eq(true)
|
@@ -220,10 +249,6 @@ RSpec.describe TeslaApi::Vehicle do
|
|
220
249
|
end
|
221
250
|
|
222
251
|
describe '#sun_roof_control' do
|
223
|
-
it 'opens the sun roof', vcr: {cassette_name: 'vehicle-sun_roof_control-open'} do
|
224
|
-
expect(vehicle.sun_roof_control('open')['result']).to eq(true)
|
225
|
-
end
|
226
|
-
|
227
252
|
it 'closes the sun roof', vcr: {cassette_name: 'vehicle-sun_roof_control-close'} do
|
228
253
|
expect(vehicle.sun_roof_control('close')['result']).to eq(true)
|
229
254
|
end
|
@@ -231,24 +256,6 @@ RSpec.describe TeslaApi::Vehicle do
|
|
231
256
|
it 'vents the sun roof', vcr: {cassette_name: 'vehicle-sun_roof_control-vent'} do
|
232
257
|
expect(vehicle.sun_roof_control('vent')['result']).to eq(true)
|
233
258
|
end
|
234
|
-
|
235
|
-
it 'sets the sun roof to the comfort (80%) setting', vcr: {cassette_name: 'vehicle-sun_roof_control-comfort'} do
|
236
|
-
expect(vehicle.sun_roof_control('comfort')['result']).to eq(true)
|
237
|
-
end
|
238
|
-
end
|
239
|
-
|
240
|
-
describe '#sun_roof_move' do
|
241
|
-
it 'moves the sun roof to 100% open', vcr: {cassette_name: 'vehicle-sun_roof_move-100'} do
|
242
|
-
expect(vehicle.sun_roof_move(100)['result']).to eq(true)
|
243
|
-
end
|
244
|
-
|
245
|
-
it 'moves the sun roof to closed', vcr: {cassette_name: 'vehicle-sun_roof_move-0'} do
|
246
|
-
expect(vehicle.sun_roof_move(0)['result']).to eq(true)
|
247
|
-
end
|
248
|
-
|
249
|
-
it 'moves the sun roof to 50% open', vcr: {cassette_name: 'vehicle-sun_roof_move-50'} do
|
250
|
-
expect(vehicle.sun_roof_move(50)['result']).to eq(true)
|
251
|
-
end
|
252
259
|
end
|
253
260
|
|
254
261
|
describe '#remote_start_drive', vcr: {cassette_name: 'vehicle-remote_start_drive'} do
|
@@ -292,4 +299,22 @@ RSpec.describe TeslaApi::Vehicle do
|
|
292
299
|
expect(vehicle.clear_speed_limit_pin('1234')['result']).to eq(true)
|
293
300
|
end
|
294
301
|
end
|
302
|
+
|
303
|
+
describe '#navigation_request', vcr: {cassette_name: 'vehicle-navigation_request'} do
|
304
|
+
it 'makes a request to navigate to a new address' do
|
305
|
+
expect(vehicle.navigation_request('1180 W Peachtree St, Atlanta, GA 30309')['result']).to eq(true)
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
describe '#schedule_software_update', vcr: {cassette_name: 'vehicle-schedule_software_update'} do
|
310
|
+
it 'cancels a pending software update' do
|
311
|
+
expect(vehicle.schedule_software_update(7200)['result']).to eq(true)
|
312
|
+
end
|
313
|
+
end
|
314
|
+
|
315
|
+
describe '#cancel_software_update', vcr: {cassette_name: 'vehicle-cancel_software_update'} do
|
316
|
+
it 'cancels a pending software update' do
|
317
|
+
expect(vehicle.cancel_software_update['result']).to eq(true)
|
318
|
+
end
|
319
|
+
end
|
295
320
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tesla_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Dorr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -171,6 +171,8 @@ files:
|
|
171
171
|
- docs/SUMMARY.md
|
172
172
|
- docs/api-basics/authentication.md
|
173
173
|
- docs/api-basics/vehicles.md
|
174
|
+
- docs/miscellaneous/README.md
|
175
|
+
- docs/miscellaneous/endpoints.md
|
174
176
|
- docs/vehicle/autopark.md
|
175
177
|
- docs/vehicle/commands/README.md
|
176
178
|
- docs/vehicle/commands/alerts.md
|
@@ -195,6 +197,7 @@ files:
|
|
195
197
|
- docs/vehicle/state/drivestate.md
|
196
198
|
- docs/vehicle/state/guisettings.md
|
197
199
|
- docs/vehicle/state/mobileenabled.md
|
200
|
+
- docs/vehicle/state/nearbychargingsites.md
|
198
201
|
- docs/vehicle/state/vehiclestate.md
|
199
202
|
- docs/vehicle/streaming.md
|
200
203
|
- lib/tesla_api.rb
|
@@ -208,8 +211,10 @@ files:
|
|
208
211
|
- spec/cassettes/vehicle-activate_speed_limit.yml
|
209
212
|
- spec/cassettes/vehicle-auto_conditioning_start.yml
|
210
213
|
- spec/cassettes/vehicle-auto_conditioning_stop.yml
|
214
|
+
- spec/cassettes/vehicle-cancel_software_update.yml
|
211
215
|
- spec/cassettes/vehicle-charge_max_range-twice.yml
|
212
216
|
- spec/cassettes/vehicle-charge_max_range.yml
|
217
|
+
- spec/cassettes/vehicle-charge_port_door_close.yml
|
213
218
|
- spec/cassettes/vehicle-charge_port_door_open.yml
|
214
219
|
- spec/cassettes/vehicle-charge_standard-twice.yml
|
215
220
|
- spec/cassettes/vehicle-charge_standard.yml
|
@@ -218,6 +223,7 @@ files:
|
|
218
223
|
- spec/cassettes/vehicle-charge_stop.yml
|
219
224
|
- spec/cassettes/vehicle-clear_speed_limit_pin.yml
|
220
225
|
- spec/cassettes/vehicle-climate_state.yml
|
226
|
+
- spec/cassettes/vehicle-data.yml
|
221
227
|
- spec/cassettes/vehicle-deactivate_speed_limit.yml
|
222
228
|
- spec/cassettes/vehicle-door_lock.yml
|
223
229
|
- spec/cassettes/vehicle-door_unlock.yml
|
@@ -226,10 +232,13 @@ files:
|
|
226
232
|
- spec/cassettes/vehicle-gui_settings.yml
|
227
233
|
- spec/cassettes/vehicle-honk_horn.yml
|
228
234
|
- spec/cassettes/vehicle-mobile_enabled.yml
|
235
|
+
- spec/cassettes/vehicle-navigation_request.yml
|
236
|
+
- spec/cassettes/vehicle-nearby_charging_sites.yml
|
229
237
|
- spec/cassettes/vehicle-open_frunk.yml
|
230
238
|
- spec/cassettes/vehicle-open_trunk.yml
|
231
239
|
- spec/cassettes/vehicle-remote_start_drive.yml
|
232
240
|
- spec/cassettes/vehicle-reset_valet_pin.yml
|
241
|
+
- spec/cassettes/vehicle-schedule_software_update.yml
|
233
242
|
- spec/cassettes/vehicle-set_charge_limit-1.yml
|
234
243
|
- spec/cassettes/vehicle-set_charge_limit-100.yml
|
235
244
|
- spec/cassettes/vehicle-set_charge_limit-50.yml
|
@@ -239,12 +248,7 @@ files:
|
|
239
248
|
- spec/cassettes/vehicle-set_temps-75-65.yml
|
240
249
|
- spec/cassettes/vehicle-set_valet_mode.yml
|
241
250
|
- spec/cassettes/vehicle-sun_roof_control-close.yml
|
242
|
-
- spec/cassettes/vehicle-sun_roof_control-comfort.yml
|
243
|
-
- spec/cassettes/vehicle-sun_roof_control-open.yml
|
244
251
|
- spec/cassettes/vehicle-sun_roof_control-vent.yml
|
245
|
-
- spec/cassettes/vehicle-sun_roof_move-0.yml
|
246
|
-
- spec/cassettes/vehicle-sun_roof_move-100.yml
|
247
|
-
- spec/cassettes/vehicle-sun_roof_move-50.yml
|
248
252
|
- spec/cassettes/vehicle-vehicle_state.yml
|
249
253
|
- spec/cassettes/vehicle-wake_up.yml
|
250
254
|
- spec/cassettes/vehicle.yml
|
@@ -272,7 +276,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
272
276
|
version: '0'
|
273
277
|
requirements: []
|
274
278
|
rubyforge_project:
|
275
|
-
rubygems_version: 2.7.
|
279
|
+
rubygems_version: 2.7.8
|
276
280
|
signing_key:
|
277
281
|
specification_version: 4
|
278
282
|
summary: A wrapper for the Tesla JSON API
|
@@ -282,8 +286,10 @@ test_files:
|
|
282
286
|
- spec/cassettes/vehicle-activate_speed_limit.yml
|
283
287
|
- spec/cassettes/vehicle-auto_conditioning_start.yml
|
284
288
|
- spec/cassettes/vehicle-auto_conditioning_stop.yml
|
289
|
+
- spec/cassettes/vehicle-cancel_software_update.yml
|
285
290
|
- spec/cassettes/vehicle-charge_max_range-twice.yml
|
286
291
|
- spec/cassettes/vehicle-charge_max_range.yml
|
292
|
+
- spec/cassettes/vehicle-charge_port_door_close.yml
|
287
293
|
- spec/cassettes/vehicle-charge_port_door_open.yml
|
288
294
|
- spec/cassettes/vehicle-charge_standard-twice.yml
|
289
295
|
- spec/cassettes/vehicle-charge_standard.yml
|
@@ -292,6 +298,7 @@ test_files:
|
|
292
298
|
- spec/cassettes/vehicle-charge_stop.yml
|
293
299
|
- spec/cassettes/vehicle-clear_speed_limit_pin.yml
|
294
300
|
- spec/cassettes/vehicle-climate_state.yml
|
301
|
+
- spec/cassettes/vehicle-data.yml
|
295
302
|
- spec/cassettes/vehicle-deactivate_speed_limit.yml
|
296
303
|
- spec/cassettes/vehicle-door_lock.yml
|
297
304
|
- spec/cassettes/vehicle-door_unlock.yml
|
@@ -300,10 +307,13 @@ test_files:
|
|
300
307
|
- spec/cassettes/vehicle-gui_settings.yml
|
301
308
|
- spec/cassettes/vehicle-honk_horn.yml
|
302
309
|
- spec/cassettes/vehicle-mobile_enabled.yml
|
310
|
+
- spec/cassettes/vehicle-navigation_request.yml
|
311
|
+
- spec/cassettes/vehicle-nearby_charging_sites.yml
|
303
312
|
- spec/cassettes/vehicle-open_frunk.yml
|
304
313
|
- spec/cassettes/vehicle-open_trunk.yml
|
305
314
|
- spec/cassettes/vehicle-remote_start_drive.yml
|
306
315
|
- spec/cassettes/vehicle-reset_valet_pin.yml
|
316
|
+
- spec/cassettes/vehicle-schedule_software_update.yml
|
307
317
|
- spec/cassettes/vehicle-set_charge_limit-1.yml
|
308
318
|
- spec/cassettes/vehicle-set_charge_limit-100.yml
|
309
319
|
- spec/cassettes/vehicle-set_charge_limit-50.yml
|
@@ -313,12 +323,7 @@ test_files:
|
|
313
323
|
- spec/cassettes/vehicle-set_temps-75-65.yml
|
314
324
|
- spec/cassettes/vehicle-set_valet_mode.yml
|
315
325
|
- spec/cassettes/vehicle-sun_roof_control-close.yml
|
316
|
-
- spec/cassettes/vehicle-sun_roof_control-comfort.yml
|
317
|
-
- spec/cassettes/vehicle-sun_roof_control-open.yml
|
318
326
|
- spec/cassettes/vehicle-sun_roof_control-vent.yml
|
319
|
-
- spec/cassettes/vehicle-sun_roof_move-0.yml
|
320
|
-
- spec/cassettes/vehicle-sun_roof_move-100.yml
|
321
|
-
- spec/cassettes/vehicle-sun_roof_move-50.yml
|
322
327
|
- spec/cassettes/vehicle-vehicle_state.yml
|
323
328
|
- spec/cassettes/vehicle-wake_up.yml
|
324
329
|
- spec/cassettes/vehicle.yml
|