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
Si ves el Repositorio que no es de confianza mensaje, simplemente haga clic en el sí para continuar. Una vez que el módulo esté instalado, cierre PowerShell y luego vuelva a abrirlo.
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
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
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
Hacer clic sí 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.
¡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: