Come interrogare una Tesla con PowerShell

Come alcuni di voi sapranno, avevo bisogno di sostituire la mia auto, quindi l'ho sostituita con una Modello Tesla 3 (modello base). C'è una lunga storia sul motivo per cui volevo vedere quali informazioni potevo richiedere alla mia Tesla in cui non ho intenzione di entrare. Quello che ti dirò è che durante la ricerca su questo argomento, ho scoperto che potevo interrogare una Tesla con PowerShell! È fantastico quello che puoi fare con una Tesla tramite l'API. In questo post, ti do il mio script, in modo che tu possa interrogare la tua Tesla anche con PowerShell. Di seguito sono riportati i passaggi che è necessario eseguire.

API Tesla

Per quanto ne so, non esiste un elenco API ufficiale per Tesla. La documentazione API non ufficiale, tuttavia, può essere trovata su https://tesla-api.timdorr.com/. Sulla base del documento API non ufficiale, puoi determinare cose come il modello e il colore dell'auto e persino applicare aggiornamenti software all'auto da remoto!

Moduli Tesla PowerShell

Esistono due diversi moduli PowerShell:

JonnMsft
andylyonette

Ai fini di questo post sul blog, sto utilizzando il modulo JonnMsft.

Installazione di un modulo Tesla PowerShell

Avviare l'installazione del modulo eseguendo un'interfaccia PowerShell con privilegi elevati.

Modulo di installazione tesla

Tesla con PowerShell - Repository non attendibile

Se vedi il Repository non attendibile messaggio, è sufficiente fare clic su pulsante per continuare. Una volta installato il modulo, chiudi PowerShell e poi riaprilo.

Provider NuGet

Tesla con PowerShell - Provider NuGet

Se ricevi una notifica relativa a un provider NuGet mancante o obsoleto, aggiorna prima il provider NuGet e quindi installa il modulo Tesla.

Usa questo codice per aggiornare il provider NuGet.

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

Messaggio di errore

Tesla con PowerShell - Messaggio di errore

Se ricevi un messaggio di errore simile a quello sopra, assicurati di impostare SecurityProtocoltype su TLS12 prima di provare a installare il modulo.

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

Script disabilitati

Tesla con PowerShell - Script disabilitati

Esistono un paio di modi per risolvere questo messaggio di errore, ma il modo più semplice è modificare la politica di esecuzione come segue:

Set-ExecutionPolicy -ExecutionPolicy Bypass

Tesla con PowerShell - Modifica della politica di esecuzione

Clic quando richiesto.

Modulo Tesla

Ora che hai l'ultimo provider NuGet e hai gestito tutti i messaggi di errore, vedi che il modulo Tesla ha tre comandi.

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

I comandi Get e Set hanno ciascuno dei sottocomandi. Non ho intenzione di entrare in nessuno di essi, quindi invece, se vuoi saperne di più, ecco il link nei documenti al Modulo dove puoi vedere degli esempi

Codice

Di seguito è riportato un semplice script che recupera i dettagli sulla tua Tesla. Notare che la prima sezione è commentata. Per eseguire lo script più e più volte, puoi incorporare nome utente e password, MA non è una buona pratica. Ecco perché ho commentato la prima sezione. Il comando Connect-Tesla richiede il nome utente e la password in modo sicuro. Questo è ottimo per una query una tantum.

#
# $username = “account tesla”
# $password = “password 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 -Credenziale $cred
#

Connect-Tesla

$vehicles = Get-Tesla -Veicoli di comando
$charge_state = Get-Tesla -Command charge_state
$climate_state = Get-Tesla -Comando clima_state
$drive_state = Get-Tesla -Comando drive_state
$gui_settings = Get-Tesla -Comando gui_settings
$vehicle_state = Get-Tesla -Comando veicolo_state
$veicoli
$charge_state
$clima_state
$drive_state
$gui_settings
$vehicle_state

Risultati

Inutile dire che ci sono alcuni dettagli interessanti che puoi ottenere dalla tua Tesla. Non ho intenzione di entrare in tutti loro, ma qui ci sono alcune impostazioni.

Tesla con PowerShell - Impostazioni

Puoi persino ottenere informazioni su latitudine e longitudine sulla posizione attuale dell'auto! Il che, nel mio caso, dimostrerebbe che la mia macchina è parcheggiata in ufficio. ?

Come interrogare una Tesla con il riepilogo di PowerShell

Perché volevo farlo? Bene, c'è un altro progetto a cui sto lavorando. Questo progetto POC doveva acquisire i dettagli da una fonte esterna. Usare i risultati della mia macchina è stato un buon esempio come qualsiasi altra cosa. Dal momento che ha funzionato, sto usando questo script come fonte esterna per il mio altro progetto. Più a venire su quel progetto POC quando sarà completato. Se hai domande su come interrogare una Tesla con PowerShell, non esitare a contattarmi @GarthMJ oppure puoi cercarmi qui: https://myredtesla.com/.

Scopri come Right Click Tools sta cambiando il modo in cui vengono gestiti i sistemi.

Aumenta immediatamente la produttività con la nostra Community Edition limitata e gratuita.

Inizia oggi con Right Click Tools:

Supporto

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Contatti

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Inviando questo modulo, comprendi che Recast Software può elaborare i tuoi dati come descritto nel Recast Software politica sulla riservatezza.

it_ITItalian