Cómo consultar un Tesla con PowerShell

Como algunos de ustedes sabrán, necesitaba reemplazar mi auto, así que lo reemplacé con un Tesla Model 3 (modelo base). Hay una larga historia sobre por qué quería ver qué información podía consultar de mi Tesla en la que no voy a entrar. Lo que les diré es que mientras investigaba este tema, ¡descubrí que podía consultar un Tesla con PowerShell! Es genial lo que puedes hacer con un Tesla a través de la API. En esta publicación, le doy mi script, para que también pueda consultar su Tesla con PowerShell. A continuación se muestran los pasos que debe seguir.

API de Tesla

Hasta donde yo sé, no existe una lista oficial de API para Tesla. La documentación no oficial de la API, sin embargo, se puede encontrar en https://tesla-api.timdorr.com/. Según el documento API no oficial, puede determinar cosas como el modelo y el color del automóvil, e incluso aplicar actualizaciones de software al automóvil de forma remota.

Módulos Tesla PowerShell

Hay dos módulos de PowerShell diferentes:

JonnMsft
andylyonette

Para los propósitos de esta publicación de blog, estoy usando el módulo JonnMsft.

Instalación de un módulo Tesla PowerShell

Comience a instalar el módulo ejecutando una interfaz de PowerShell elevada.

Módulo de instalación tesla

Tesla con PowerShell: repositorio que no es de confianza

Si ves el Repositorio que no es de confianza mensaje, simplemente haga clic en el para continuar. Una vez que el módulo esté instalado, cierre PowerShell y luego vuelva a abrirlo.

Proveedor NuGet

Tesla con PowerShell - Proveedor NuGet

Si recibe un aviso sobre un proveedor NuGet faltante o desactualizado, actualice primero el proveedor NuGet y luego instale el módulo Tesla.

Utilice este código para actualizar el proveedor de NuGet.

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

Error de mensajes

Tesla con PowerShell - Mensaje de error

Si recibe un mensaje de error similar al anterior, asegúrese de configurar SecurityProtocoltype en TLS12 antes de intentar instalar el módulo.

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

Secuencias de comandos deshabilitadas

Tesla con PowerShell - Scripts deshabilitados

Hay un par de formas de resolver este mensaje de error, pero la forma más sencilla es cambiar su política de ejecución a la siguiente:

Set-ExecutionPolicy -ExecutionPolicy Bypass

Tesla con PowerShell - Cambio de política de ejecución

Hacer clic Cuando se le solicite.

Módulo Tesla

Ahora que tiene el último proveedor de NuGet y se ocupó de los mensajes de error, verá que el módulo de Tesla tiene tres comandos.

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

Los comandos Get y Set tienen subcomandos. No voy a entrar en ninguno de ellos, así que, en cambio, si desea obtener más información, aquí está el enlace en los documentos a la Módulo donde puedes ver ejemplos.

Código

A continuación se muestra un script simple que recupera detalles sobre su Tesla. Observe que la primera sección está comentada. Para ejecutar el script una y otra vez, puede incrustar su nombre de usuario y contraseña, PERO esa no es una buena práctica. Por eso comenté la primera sección. El comando Connect-Tesla le solicita su nombre de usuario y contraseña de forma segura. Esto es ideal para una consulta única.

#
# $username = "cuenta tesla"
# $password = "contraseña tesla"
#
# $secstr = Nuevo-objeto -TypeName System.Security.SecureString
# $password.ToCharArray () | Para cada objeto {$secstr.AppendChar ($_)}
# $cred = nuevo-objeto -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
# Connect-Tesla -Credential $cred
#

Conectar-Tesla

$vehicles = Get-Tesla -Command vehículos
$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 = Obtener-Tesla -Command vehicle_state
1TP2Vehículos
$charge_state
$climate_state
$drive_state
$gui_settings
$vehicle_state

Resultados

No hace falta decir que hay algunos detalles interesantes que puede obtener de su Tesla. No voy a entrar en todos ellos, pero aquí hay algunas configuraciones.

Tesla con PowerShell - Configuración

¡Incluso puede obtener información de latitud y longitud sobre la ubicación actual del automóvil! Lo cual, en mi caso, mostraría que mi auto está estacionado en la oficina. 😊

Cómo consultar un Tesla con PowerShell Resumen

¿Por qué quise hacer esto? Bueno, hay otro proyecto en el que estoy trabajando. Este proyecto de POC necesitaba capturar detalles de una fuente externa. Usar los resultados de mi automóvil fue un ejemplo tan bueno como cualquier otra cosa. Como funcionó, estoy usando este script como fuente externa para mi otro proyecto. Más por venir sobre ese proyecto POC cuando esté terminado. Si tiene alguna pregunta sobre cómo consultar un Tesla con PowerShell, no dude en ponerse en contacto conmigo @GarthMJ o puedes buscarme aquí: https://myredtesla.com/.

Vea cómo Right Click Tools está cambiando la forma en que se administran los sistemas.

Aumente la productividad de inmediato con nuestra versión limitada y gratuita de la edición Community.

Comience con Right Click Tools hoy:

Compartir este:

Ayuda

  • Este campo es para fines de validación y no debe modificarse.

Contacto

  • Este campo es para fines de validación y no debe modificarse.
es_MXSpanish