A fonte é esta: https://tesla-api.timdorr.com/
Há uns videos no YouTube para quem quiser começar, como para mim não foi trivial, deixo um cábula do que uso para recolher informação, usando qualquer OS linux com o curl instalado.
O processo é o seguinte:
(1) - Com o username e password pede-se um token
(2) - Com o token recebe-se os ID's de cada veiculo
(3) - Com o token + ID de um veiculo podem-se executar comandos no carro, tal e qual como a APP.
Em mais detalhe:
(1) Extrair token: é preciso colocar o as credenciais da conta da tesla, username onde aparece "USERNAMETELSA" e password onde aparece PASSWORDTESLA
Código: Selecionar todos
curl --include --data "grant_type=password&client_id=81527cff06843c8634fdc09e8ac0abefb46ac849f38fe1e431c2ef2106796384&client_secret=c7257eb71a564034f9419ee651c7d0e5f7aa6bfbd18bafb5c5c033b093bb2fa3&email=USERNAMETELSA&password=PASSWORDTESLA" --request POST 'https://owner-api.teslamotors.com/oauth/token'
A resposta vai incluir o seguinte:
Código: Selecionar todos
{
"access_token" : "aaaaaaaaaaaaaaabbbbbbbbbbbbbbbbcccccccccccccccddddddddddeeeeeeee",
}
Este valor vai ser usado em todos os pedidos seguintes
(2) recolher ID do veiculo: basta substituir OMEUTOKEN com o token recebido em cima
Código: Selecionar todos
curl --request GET --header 'Authorization: Bearer OMEUTOKEN' 'https://owner-api.teslamotors.com/api/1/vehicles'
Código: Selecionar todos
{
"response": {
"id": 1111222233334444,
...
}
(3) Get Vehicle State
Código: Selecionar todos
curl --include --header "Authorization: Bearer OMEUTOKEN" --header "user-agent: 007" 'https://owner-api.teslamotors.com/api/1/vehicles/OMEUIDDOVEICULO/data_request/vehicle_state'
Código: Selecionar todos
curl --include --request POST --header "Authorization: Bearer OMEUTOKEN" --header "user-agent: 007" 'https://owner-api.teslamotors.com/api/1/vehicles/OMEUIDDOVEICULO/wake_up'
Por agora para mim apenas me interessa acordar o carro para carregar quando há sol. o meu EVSE decide sozinho quando há sol suficiente para carregar e liga-se, no entanto o tesla quando está adormecido não responde a nenhum EVSE a querer dar carga. com esta API consigo acordar o carro e inicar a carga com eletrões exclusivamente solares.
