Como consultar um Tesla com PowerShell

Como alguns de vocês devem saber, eu precisava substituir meu carro, então o substituí por um Tesla Model 3 (modelo básico). Há uma longa história sobre por que eu queria ver quais informações eu poderia consultar do meu Tesla e que não vou entrar. O que vou dizer é que ao pesquisar este tópico, descobri que poderia consultar um Tesla com o PowerShell! É legal o que você pode fazer com um Tesla por meio da API. Neste post, estou lhe dando meu script, para que você também possa consultar seu Tesla com o PowerShell. Abaixo estão as etapas que você precisa seguir.

API Tesla

Até onde eu sei, não há uma lista oficial de APIs para Tesla. A documentação não oficial da API, no entanto, pode ser encontrada em https://tesla-api.timdorr.com/. Com base no documento API não oficial, você pode determinar coisas como o modelo e a cor do carro e até mesmo aplicar atualizações de software ao carro remotamente!

Módulos Tesla PowerShell

Existem dois módulos PowerShell diferentes:

JonnMsft
andylyonette

Para o propósito desta postagem do blog, estou usando o módulo JonnMsft.

Instalando um Módulo Tesla PowerShell

Comece a instalar o módulo executando uma interface elevada do PowerShell.

Tesla do Módulo de Instalação

Tesla com PowerShell - Repositório não confiável

Se você ver o Repositório não confiável mensagem, basta clicar no sim botão para continuar. Depois que o módulo estiver instalado, feche o PowerShell e reabra-o.

Provedor NuGet

Tesla com PowerShell - provedor NuGet

Se você receber um aviso sobre um provedor NuGet ausente ou desatualizado, atualize o provedor NuGet primeiro e, em seguida, instale o módulo Tesla.

Use este código para atualizar o provedor NuGet.

[Net.ServicePointManager] :: SecurityProtocol = [Net.SecurityProtocolType] :: Tls12
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

Mensagens de erro

Tesla com PowerShell - Mensagem de erro

Se você receber uma mensagem de erro semelhante à acima, certifique-se de definir SecurityProtocoltype como TLS12 antes de tentar instalar o módulo.

[Net.ServicePointManager] :: SecurityProtocol = [Net.SecurityProtocolType] :: Tls12

Scripts desativados

Tesla com PowerShell - Scripts Desabilitados

Existem algumas maneiras de resolver essa mensagem de erro, mas a maneira mais simples é alterar sua política de execução para o seguinte:

Set-ExecutionPolicy -ExecutionPolicy Bypass

Tesla com PowerShell - Alteração da política de execução

Clique sim quando solicitado.

Módulo Tesla

Agora que você tem o provedor NuGet mais recente e lidou com todas as mensagens de erro, verá que o módulo Tesla tem três comandos.

• Connect-Tesla
• Get-Tesla
• Set-Tesla

Cada um dos comandos Get e Set possui subcomandos. Não vou entrar em nenhum deles, então, se você quiser saber mais, aqui está o link nos documentos para o Módulo onde você pode ver exemplos.

Código

Abaixo está um script simples que recupera detalhes sobre o seu Tesla. Observe que a primeira seção está comentada. Para executar o script repetidamente, você pode incorporar seu nome de usuário e senha, MAS isso não é uma boa prática. É por isso que comentei a primeira seção. O comando Connect-Tesla solicita seu nome de usuário e senha de maneira segura. Isso é ótimo para uma consulta única.

#
# $username = “conta tesla”
# $password = “senha tesla”
#
# $secstr = New-Object -TypeName System.Security.SecureString
# $password.ToCharArray () | ForEach-Object {$secstr.AppendChar ($_)}
# $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
# Connect-Tesla -Credencial $cred
#

Connect-Tesla

$vehicles = Get-Tesla -Command Vehicles
$charge_state = Get-Tesla -Command charge_state
$climate_state = Get-Tesla -Command clima_state
$drive_state = Get-Tesla -Command drive_state
$gui_settings = Get-Tesla -Command gui_settings
$vehicle_state = Get-Tesla -Command vehicle_state
$vehicles
$charge_state
$climate_state
$drive_state
$gui_settings
$vehicle_state

Resultados

Desnecessário dizer que existem alguns detalhes interessantes que você pode obter com seu Tesla. Não vou entrar em todos eles, mas aqui estão algumas configurações.

Tesla com PowerShell - Configurações

Você pode até obter informações de latitude e longitude sobre a localização atual do carro! O que, no meu caso, mostraria que meu carro está estacionado no escritório. 😊

Como consultar um Tesla com PowerShell Resumo

Por que eu quero fazer isso? Bem, há outro projeto em que estou trabalhando. Este projeto POC precisava capturar detalhes de uma fonte externa. Usar os resultados do meu carro foi um exemplo tão bom quanto qualquer outra coisa. Como funcionou, estou usando este script como fonte externa para meu outro projeto. Mais por vir sobre o projeto POC quando estiver concluído. Se você tiver alguma dúvida sobre como consultar um Tesla com PowerShell, sinta-se à vontade para entrar em contato comigo @GarthMJ ou você pode me procurar aqui: https://myredtesla.com/.

Veja como Right Click Tools está mudando a forma como os sistemas são gerenciados.

Aumente imediatamente a produtividade com o nosso limitado e gratuito, Community Edition.

Comece com Right Click Tools hoje:

Suporte

  • Este campo é para fins de validação e não deve ser alterado.

Contato

  • Este campo é para fins de validação e não deve ser alterado.

Ao enviar este formulário, você entende que o Recast Software pode processar seus dados conforme descrito no Recast Software Política de Privacidade.

pt_BRPortuguese