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
@@ -1,130 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://owner-api.teslamotors.com/oauth/token
6
- body:
7
- encoding: UTF-8
8
- string: grant_type=password&client_id=<TESLA_CLIENT_ID>&client_secret=<TESLA_CLIENT_SECRET>&email=<TESLA_EMAIL>&password=<TESLA_PASS>
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Wed, 17 Dec 2014 01:38:51 GMT
25
- Content-Type:
26
- - application/json; charset=utf-8
27
- Transfer-Encoding:
28
- - chunked
29
- Connection:
30
- - keep-alive
31
- Status:
32
- - 200 OK
33
- Cache-Control:
34
- - no-store
35
- Pragma:
36
- - no-cache
37
- X-Ua-Compatible:
38
- - IE=Edge,chrome=1
39
- X-Request-Id:
40
- - 12b0aba8309866e30530a78509372916
41
- X-Runtime:
42
- - '0.628918'
43
- body:
44
- encoding: UTF-8
45
- string: '{"access_token":"7479ba220bc87989e331317e4fe0826162c4a486d8b720b2b1b91fdf940b1671","token_type":"bearer","expires_in":7776000}'
46
- http_version:
47
- recorded_at: Wed, 17 Dec 2014 01:38:53 GMT
48
- - request:
49
- method: get
50
- uri: https://owner-api.teslamotors.com/api/1/vehicles
51
- body:
52
- encoding: US-ASCII
53
- string: ''
54
- headers:
55
- Authorization:
56
- - Bearer 7479ba220bc87989e331317e4fe0826162c4a486d8b720b2b1b91fdf940b1671
57
- response:
58
- status:
59
- code: 200
60
- message: OK
61
- headers:
62
- Server:
63
- - nginx
64
- Date:
65
- - Wed, 17 Dec 2014 01:38:52 GMT
66
- Content-Type:
67
- - application/json; charset=utf-8
68
- Content-Length:
69
- - '446'
70
- Connection:
71
- - keep-alive
72
- Status:
73
- - 200 OK
74
- X-Ua-Compatible:
75
- - IE=Edge,chrome=1
76
- Etag:
77
- - '"c52908b8db9336f89e7a1602f3b2a458"'
78
- Cache-Control:
79
- - max-age=0, private, must-revalidate
80
- X-Request-Id:
81
- - 77fbac9eddfa2d00da94d232272c9ff4
82
- X-Runtime:
83
- - '0.109701'
84
- body:
85
- encoding: UTF-8
86
- string: '{"response":[{"color":null,"display_name":"Nikola","id":1514029006966957156,"option_codes":"MS01,RENA,TM00,DRLH,PF00,BT85,PBCW,RFPO,WT19,IBMB,IDPB,TR00,SU01,SC01,TP01,AU01,CH00,HP00,PA00,PS00,AD02,X020,X025,X001,X003,X007,X011,X013,COUS","vehicle_id":490215852,"vin":"5YJSA1CN5CFP01657","tokens":["b1278e37b13e8df2","b2fd1ad42f706a73"],"state":"online","remote_start_enabled":true,"calendar_enabled":true,"notifications_enabled":true}],"count":1}'
87
- http_version:
88
- recorded_at: Wed, 17 Dec 2014 01:38:54 GMT
89
- - request:
90
- method: post
91
- uri: https://owner-api.teslamotors.com/api/1/vehicles/1514029006966957156/command/sun_roof_control
92
- body:
93
- encoding: UTF-8
94
- string: state=comfort
95
- headers:
96
- Authorization:
97
- - Bearer 7479ba220bc87989e331317e4fe0826162c4a486d8b720b2b1b91fdf940b1671
98
- response:
99
- status:
100
- code: 200
101
- message: OK
102
- headers:
103
- Server:
104
- - nginx
105
- Date:
106
- - Wed, 17 Dec 2014 01:38:53 GMT
107
- Content-Type:
108
- - application/json; charset=utf-8
109
- Content-Length:
110
- - '40'
111
- Connection:
112
- - keep-alive
113
- Status:
114
- - 200 OK
115
- X-Ua-Compatible:
116
- - IE=Edge,chrome=1
117
- Etag:
118
- - '"f67eec105dd6522783a1f1bacc52723a"'
119
- Cache-Control:
120
- - max-age=0, private, must-revalidate
121
- X-Request-Id:
122
- - 990fdfa3928222ce8e13cd13bdcfd393
123
- X-Runtime:
124
- - '0.210502'
125
- body:
126
- encoding: UTF-8
127
- string: '{"response":{"reason":"","result":true}}'
128
- http_version:
129
- recorded_at: Wed, 17 Dec 2014 01:38:55 GMT
130
- recorded_with: VCR 2.9.3
@@ -1,130 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://owner-api.teslamotors.com/oauth/token
6
- body:
7
- encoding: UTF-8
8
- string: grant_type=password&client_id=<TESLA_CLIENT_ID>&client_secret=<TESLA_CLIENT_SECRET>&email=<TESLA_EMAIL>&password=<TESLA_PASS>
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Wed, 17 Dec 2014 01:37:32 GMT
25
- Content-Type:
26
- - application/json; charset=utf-8
27
- Transfer-Encoding:
28
- - chunked
29
- Connection:
30
- - keep-alive
31
- Status:
32
- - 200 OK
33
- Cache-Control:
34
- - no-store
35
- Pragma:
36
- - no-cache
37
- X-Ua-Compatible:
38
- - IE=Edge,chrome=1
39
- X-Request-Id:
40
- - 2a472a2d92b75a359e54d320c448e342
41
- X-Runtime:
42
- - '0.489640'
43
- body:
44
- encoding: UTF-8
45
- string: '{"access_token":"176193015e95404364d9ec03d9939d589ba7b8f9d60d4561adc302895800f7af","token_type":"bearer","expires_in":7776000}'
46
- http_version:
47
- recorded_at: Wed, 17 Dec 2014 01:37:34 GMT
48
- - request:
49
- method: get
50
- uri: https://owner-api.teslamotors.com/api/1/vehicles
51
- body:
52
- encoding: US-ASCII
53
- string: ''
54
- headers:
55
- Authorization:
56
- - Bearer 176193015e95404364d9ec03d9939d589ba7b8f9d60d4561adc302895800f7af
57
- response:
58
- status:
59
- code: 200
60
- message: OK
61
- headers:
62
- Server:
63
- - nginx
64
- Date:
65
- - Wed, 17 Dec 2014 01:37:33 GMT
66
- Content-Type:
67
- - application/json; charset=utf-8
68
- Content-Length:
69
- - '446'
70
- Connection:
71
- - keep-alive
72
- Status:
73
- - 200 OK
74
- X-Ua-Compatible:
75
- - IE=Edge,chrome=1
76
- Etag:
77
- - '"c52908b8db9336f89e7a1602f3b2a458"'
78
- Cache-Control:
79
- - max-age=0, private, must-revalidate
80
- X-Request-Id:
81
- - d4764fa01664a9cdba0ae55d93bff5ff
82
- X-Runtime:
83
- - '0.166348'
84
- body:
85
- encoding: UTF-8
86
- string: '{"response":[{"color":null,"display_name":"Nikola","id":1514029006966957156,"option_codes":"MS01,RENA,TM00,DRLH,PF00,BT85,PBCW,RFPO,WT19,IBMB,IDPB,TR00,SU01,SC01,TP01,AU01,CH00,HP00,PA00,PS00,AD02,X020,X025,X001,X003,X007,X011,X013,COUS","vehicle_id":490215852,"vin":"5YJSA1CN5CFP01657","tokens":["b1278e37b13e8df2","b2fd1ad42f706a73"],"state":"online","remote_start_enabled":true,"calendar_enabled":true,"notifications_enabled":true}],"count":1}'
87
- http_version:
88
- recorded_at: Wed, 17 Dec 2014 01:37:35 GMT
89
- - request:
90
- method: post
91
- uri: https://owner-api.teslamotors.com/api/1/vehicles/1514029006966957156/command/sun_roof_control
92
- body:
93
- encoding: UTF-8
94
- string: state=open
95
- headers:
96
- Authorization:
97
- - Bearer 176193015e95404364d9ec03d9939d589ba7b8f9d60d4561adc302895800f7af
98
- response:
99
- status:
100
- code: 200
101
- message: OK
102
- headers:
103
- Server:
104
- - nginx
105
- Date:
106
- - Wed, 17 Dec 2014 01:37:34 GMT
107
- Content-Type:
108
- - application/json; charset=utf-8
109
- Content-Length:
110
- - '40'
111
- Connection:
112
- - keep-alive
113
- Status:
114
- - 200 OK
115
- X-Ua-Compatible:
116
- - IE=Edge,chrome=1
117
- Etag:
118
- - '"f67eec105dd6522783a1f1bacc52723a"'
119
- Cache-Control:
120
- - max-age=0, private, must-revalidate
121
- X-Request-Id:
122
- - 62d71473830c3e1ac22485d57ecfa6e7
123
- X-Runtime:
124
- - '0.597655'
125
- body:
126
- encoding: UTF-8
127
- string: '{"response":{"reason":"","result":true}}'
128
- http_version:
129
- recorded_at: Wed, 17 Dec 2014 01:37:36 GMT
130
- recorded_with: VCR 2.9.3
@@ -1,130 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://owner-api.teslamotors.com/oauth/token
6
- body:
7
- encoding: UTF-8
8
- string: grant_type=password&client_id=<TESLA_CLIENT_ID>&client_secret=<TESLA_CLIENT_SECRET>&email=<TESLA_EMAIL>&password=<TESLA_PASS>
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Wed, 17 Dec 2014 01:40:41 GMT
25
- Content-Type:
26
- - application/json; charset=utf-8
27
- Transfer-Encoding:
28
- - chunked
29
- Connection:
30
- - keep-alive
31
- Status:
32
- - 200 OK
33
- Cache-Control:
34
- - no-store
35
- Pragma:
36
- - no-cache
37
- X-Ua-Compatible:
38
- - IE=Edge,chrome=1
39
- X-Request-Id:
40
- - 1e1e761e30ea14aae5b80afd6b98608e
41
- X-Runtime:
42
- - '0.422430'
43
- body:
44
- encoding: UTF-8
45
- string: '{"access_token":"a7a873c933af61e99c6c0c28a5b6d5a7a49f3d439bc908040e73b4ed5673ba71","token_type":"bearer","expires_in":7776000}'
46
- http_version:
47
- recorded_at: Wed, 17 Dec 2014 01:40:43 GMT
48
- - request:
49
- method: get
50
- uri: https://owner-api.teslamotors.com/api/1/vehicles
51
- body:
52
- encoding: US-ASCII
53
- string: ''
54
- headers:
55
- Authorization:
56
- - Bearer a7a873c933af61e99c6c0c28a5b6d5a7a49f3d439bc908040e73b4ed5673ba71
57
- response:
58
- status:
59
- code: 200
60
- message: OK
61
- headers:
62
- Server:
63
- - nginx
64
- Date:
65
- - Wed, 17 Dec 2014 01:40:42 GMT
66
- Content-Type:
67
- - application/json; charset=utf-8
68
- Content-Length:
69
- - '446'
70
- Connection:
71
- - keep-alive
72
- Status:
73
- - 200 OK
74
- X-Ua-Compatible:
75
- - IE=Edge,chrome=1
76
- Etag:
77
- - '"c52908b8db9336f89e7a1602f3b2a458"'
78
- Cache-Control:
79
- - max-age=0, private, must-revalidate
80
- X-Request-Id:
81
- - 54865176718b5415b5a6b0a137639d15
82
- X-Runtime:
83
- - '0.142764'
84
- body:
85
- encoding: UTF-8
86
- string: '{"response":[{"color":null,"display_name":"Nikola","id":1514029006966957156,"option_codes":"MS01,RENA,TM00,DRLH,PF00,BT85,PBCW,RFPO,WT19,IBMB,IDPB,TR00,SU01,SC01,TP01,AU01,CH00,HP00,PA00,PS00,AD02,X020,X025,X001,X003,X007,X011,X013,COUS","vehicle_id":490215852,"vin":"5YJSA1CN5CFP01657","tokens":["b1278e37b13e8df2","b2fd1ad42f706a73"],"state":"online","remote_start_enabled":true,"calendar_enabled":true,"notifications_enabled":true}],"count":1}'
87
- http_version:
88
- recorded_at: Wed, 17 Dec 2014 01:40:44 GMT
89
- - request:
90
- method: post
91
- uri: https://owner-api.teslamotors.com/api/1/vehicles/1514029006966957156/command/sun_roof_control
92
- body:
93
- encoding: UTF-8
94
- string: state=move&percent=0
95
- headers:
96
- Authorization:
97
- - Bearer a7a873c933af61e99c6c0c28a5b6d5a7a49f3d439bc908040e73b4ed5673ba71
98
- response:
99
- status:
100
- code: 200
101
- message: OK
102
- headers:
103
- Server:
104
- - nginx
105
- Date:
106
- - Wed, 17 Dec 2014 01:40:43 GMT
107
- Content-Type:
108
- - application/json; charset=utf-8
109
- Content-Length:
110
- - '40'
111
- Connection:
112
- - keep-alive
113
- Status:
114
- - 200 OK
115
- X-Ua-Compatible:
116
- - IE=Edge,chrome=1
117
- Etag:
118
- - '"f67eec105dd6522783a1f1bacc52723a"'
119
- Cache-Control:
120
- - max-age=0, private, must-revalidate
121
- X-Request-Id:
122
- - 9f31cdba266166cb046501eaf29692d6
123
- X-Runtime:
124
- - '0.208602'
125
- body:
126
- encoding: UTF-8
127
- string: '{"response":{"reason":"","result":true}}'
128
- http_version:
129
- recorded_at: Wed, 17 Dec 2014 01:40:44 GMT
130
- recorded_with: VCR 2.9.3
@@ -1,130 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://owner-api.teslamotors.com/oauth/token
6
- body:
7
- encoding: UTF-8
8
- string: grant_type=password&client_id=<TESLA_CLIENT_ID>&client_secret=<TESLA_CLIENT_SECRET>&email=<TESLA_EMAIL>&password=<TESLA_PASS>
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Wed, 17 Dec 2014 01:40:21 GMT
25
- Content-Type:
26
- - application/json; charset=utf-8
27
- Transfer-Encoding:
28
- - chunked
29
- Connection:
30
- - keep-alive
31
- Status:
32
- - 200 OK
33
- Cache-Control:
34
- - no-store
35
- Pragma:
36
- - no-cache
37
- X-Ua-Compatible:
38
- - IE=Edge,chrome=1
39
- X-Request-Id:
40
- - 827deaa940e4b8b79523cc6441c47f7a
41
- X-Runtime:
42
- - '0.629224'
43
- body:
44
- encoding: UTF-8
45
- string: '{"access_token":"e0ed6d64c51d9418da74757a6822782d3685514a540aaafc268740e58b6b731e","token_type":"bearer","expires_in":7776000}'
46
- http_version:
47
- recorded_at: Wed, 17 Dec 2014 01:40:23 GMT
48
- - request:
49
- method: get
50
- uri: https://owner-api.teslamotors.com/api/1/vehicles
51
- body:
52
- encoding: US-ASCII
53
- string: ''
54
- headers:
55
- Authorization:
56
- - Bearer e0ed6d64c51d9418da74757a6822782d3685514a540aaafc268740e58b6b731e
57
- response:
58
- status:
59
- code: 200
60
- message: OK
61
- headers:
62
- Server:
63
- - nginx
64
- Date:
65
- - Wed, 17 Dec 2014 01:40:22 GMT
66
- Content-Type:
67
- - application/json; charset=utf-8
68
- Content-Length:
69
- - '446'
70
- Connection:
71
- - keep-alive
72
- Status:
73
- - 200 OK
74
- X-Ua-Compatible:
75
- - IE=Edge,chrome=1
76
- Etag:
77
- - '"c52908b8db9336f89e7a1602f3b2a458"'
78
- Cache-Control:
79
- - max-age=0, private, must-revalidate
80
- X-Request-Id:
81
- - 44801fa116a7bd505f8e0e1657483c53
82
- X-Runtime:
83
- - '0.157919'
84
- body:
85
- encoding: UTF-8
86
- string: '{"response":[{"color":null,"display_name":"Nikola","id":1514029006966957156,"option_codes":"MS01,RENA,TM00,DRLH,PF00,BT85,PBCW,RFPO,WT19,IBMB,IDPB,TR00,SU01,SC01,TP01,AU01,CH00,HP00,PA00,PS00,AD02,X020,X025,X001,X003,X007,X011,X013,COUS","vehicle_id":490215852,"vin":"5YJSA1CN5CFP01657","tokens":["b1278e37b13e8df2","b2fd1ad42f706a73"],"state":"online","remote_start_enabled":true,"calendar_enabled":true,"notifications_enabled":true}],"count":1}'
87
- http_version:
88
- recorded_at: Wed, 17 Dec 2014 01:40:24 GMT
89
- - request:
90
- method: post
91
- uri: https://owner-api.teslamotors.com/api/1/vehicles/1514029006966957156/command/sun_roof_control
92
- body:
93
- encoding: UTF-8
94
- string: state=move&percent=100
95
- headers:
96
- Authorization:
97
- - Bearer e0ed6d64c51d9418da74757a6822782d3685514a540aaafc268740e58b6b731e
98
- response:
99
- status:
100
- code: 200
101
- message: OK
102
- headers:
103
- Server:
104
- - nginx
105
- Date:
106
- - Wed, 17 Dec 2014 01:40:24 GMT
107
- Content-Type:
108
- - application/json; charset=utf-8
109
- Content-Length:
110
- - '40'
111
- Connection:
112
- - keep-alive
113
- Status:
114
- - 200 OK
115
- X-Ua-Compatible:
116
- - IE=Edge,chrome=1
117
- Etag:
118
- - '"f67eec105dd6522783a1f1bacc52723a"'
119
- Cache-Control:
120
- - max-age=0, private, must-revalidate
121
- X-Request-Id:
122
- - d5828e1e3c07cad9359b8365b930f5f0
123
- X-Runtime:
124
- - '1.571879'
125
- body:
126
- encoding: UTF-8
127
- string: '{"response":{"reason":"","result":true}}'
128
- http_version:
129
- recorded_at: Wed, 17 Dec 2014 01:40:26 GMT
130
- recorded_with: VCR 2.9.3