.. | ||
cached | ||
src | ||
.gitignore | ||
Cargo.toml | ||
README.md |
API Coverage
A tool designed to compare the API calls between teslatte
and the publicly documented Tesla APIs.
Note: This tool is bespoke to the build of teslatte
and is not intended for publishing on crates.io.
This project does (or will do) the following:
- Scrape the teslatte project for what has been implemented.
- Scrape the Fleet API for its list of endpoints.
- Scrape the Command Mode SDK sources for its list of endpoints: https://github.com/teslamotors/vehicle-command/blob/main/cmd/tesla-control/commands.go
- Scrape timdorr/tesla-api's endpoints file: https://github.com/timdorr/tesla-api/blob/master/ownerapi_endpoints.json
- Combine the results into a single list of endpoints.
- Has a configuration on how to merge the endpoints, e.g. if an endpoint name is different, how to resolve it.
- Output a table of endpoints that are implemented or not, maybe in Markdown.
API.md output
- Update API.md in the root.
- Look for
<!-- tesla_api_coverage start table -->
and<!-- tesla_api_coverage end table -->
and generate the table in between. - Use timdorr's API as the source of truth for the list of endpoints because it is the oldest and longest!
Brainstorm
Combined format idea:
{
"honk_horn": {
// If owner-api vs fleet-api methods are different, they should have different entries,
// otherwise call it "rest":
"rest": {
"method": "POST",
"endpoint": "/vehicles/{vehicle_id}/command/honk_horn"
},
"vehicle-command": {
"endpoint": "honk"
}
"timdorr-endpoints-file": true,
"teslatte": true,
"owners-api": true,
"fleet-api": true,
}
}